Promoting Service Re-use with
API Management
Chris Haddad
@cobiacomm on Twitter
Read more about WSO2 API Manager at
http://wso2.com/products/api-manager
Read more about promoting service re-use with APIs at
http://wso2.com/whitepapers/promoting-service-reuse-within-your-enterprise-and-
maximizing-soa-success/
Your Service Oriented Architecture
Goals
• Enhance Agility
– by increasing service re-use
– with faster integration
– efficiently upgrading service subscribers
• Reduce Technical Debt
– Eliminate redundancy and duplication within
service portfolio [re-wire apps to standard service]
– Track adoption
Have you reached your destination?
Service Adoption(Challenges)
Often difficult to offer your business capabilities as a re-usable service
• Delivery Concerns
• Potential consumers do not trust service stability, reliability, availability,
or performance
• Providers have scalability concerns and lack an ability to manage
consumption
• Security risks prevent publishing and offering open access
• Poor Re-use
• Difficult to manage requirements from multiple consumers and
coordinate release schedule
• Few consumers adopting service
• Inability to configure service per consumer
• Business return requires service metering usage rates, and billing
Return(Service Sprawl);
Teams re-build rather than re-use
• Services proliferate (100s of services) and are minimally re-used
• Minimal communication and coordination
• Who is consuming service?
• Who is writing re-usable service?
• Prevalent SOA Anti-patterns
• Not Invented Here (NIH)
• Tight Coupling and Build again
• Shared service invisibility
• Teams do not know about service
• Non-functional and functional requirements are not well documented
• Teams can not easily map service to needed business capability
Refactor the portfolio and processes
• How can I identify technical debt?
• What is preventing service re-use, and how
can I encourage service consumption?
– When do consumers not know about a service?
– Why do services not meet consumer
requirements?
Promoting Service
Adoption and Re-use
Requires
• A published service catalogue and service tiers
• Demand and capacity management
• Lifecycle management and workflow
• Continuous provisioning and deployment
• Service level management
• Collaboration channels
Service Transformation
• An API (or a service) is a business capability delivered
over the Internet to internal or external consumers
• Network accessible function
• Available using standard web protocols
• With well-defined interfaces
• Designed for access by third-parties
• A Managed API (or a managed service) is:
 Actively advertised and subscribe-able
 Exhibits high Quality of Service (QoS)
 Available with Service Level Agreements (SLAs)
 Secured, authenticated, authorized and protected
 Monitored and monetized with analytics
OtherService
Containers
External API
(Demand)
API Façade
Mediation /
Service Virtualization /
Orchestration
Service
Platforms
API Facade Pattern within a
Services Architecture
Service Re-use Dashboard
Extending Service Governance
with API Governance
Best Practice Integration (SOA)
Use Cases and Roles
•API Creator
• Builds, manages, and versions API
• Understand business and technical requirements
• Cares about usage and scaling
• Seeks feedback, ratings, usage
•API Publisher
• Publishes, Promotes and encourages consumers to adopt APIs
• Determines usage patterns and how to best monetize asset
• Monitors and secures
•API Consumer
• Understands the interface definition
• Subscribes and connects application to API
• Monitors own usage and cost basis
• Provides feedback and ratings
API Consumer Role
API Publisher and Creator Role
Roadmap
1. Define roles and responsibilities
2. Extend SOA Governance and service run-time
policy into external API design, development,
and consumption activities
3. Establish on-demand self-service API
consumption channel
1. Analyze service dashboards and identify subscription
trends
2. Relentlessly reduce technical debt through service
re-use rather than re-build
lean . enterprise . middleware
References
Product Page
•http://wso2.com/products/api-manager/
Getting Started Guide http://d.content.wso2.com/files/WSO2APIManager-v1.0.0-
GettingStarted.pdf
White Papers
Promoting service re-use within your enterprise and maximizing SOA success
WSO2 API Manager Comparison
Blogs
•http://sanjiva.weerawarana.org/2012/08/api-management-missing-link-for-soa.html
•http://techfeast-hiranya.blogspot.com/search/label/api%20management
•http://sumedha.blogspot.com/search/label/API
•http://blog.cobia.net/cobiacomm

Promoting Service Reuse within your Organization and Encouraging-SOA Success

  • 1.
    Promoting Service Re-usewith API Management Chris Haddad @cobiacomm on Twitter Read more about WSO2 API Manager at http://wso2.com/products/api-manager Read more about promoting service re-use with APIs at http://wso2.com/whitepapers/promoting-service-reuse-within-your-enterprise-and- maximizing-soa-success/
  • 2.
    Your Service OrientedArchitecture Goals • Enhance Agility – by increasing service re-use – with faster integration – efficiently upgrading service subscribers • Reduce Technical Debt – Eliminate redundancy and duplication within service portfolio [re-wire apps to standard service] – Track adoption
  • 3.
    Have you reachedyour destination?
  • 4.
    Service Adoption(Challenges) Often difficultto offer your business capabilities as a re-usable service • Delivery Concerns • Potential consumers do not trust service stability, reliability, availability, or performance • Providers have scalability concerns and lack an ability to manage consumption • Security risks prevent publishing and offering open access • Poor Re-use • Difficult to manage requirements from multiple consumers and coordinate release schedule • Few consumers adopting service • Inability to configure service per consumer • Business return requires service metering usage rates, and billing
  • 5.
    Return(Service Sprawl); Teams re-buildrather than re-use • Services proliferate (100s of services) and are minimally re-used • Minimal communication and coordination • Who is consuming service? • Who is writing re-usable service? • Prevalent SOA Anti-patterns • Not Invented Here (NIH) • Tight Coupling and Build again • Shared service invisibility • Teams do not know about service • Non-functional and functional requirements are not well documented • Teams can not easily map service to needed business capability
  • 6.
    Refactor the portfolioand processes • How can I identify technical debt? • What is preventing service re-use, and how can I encourage service consumption? – When do consumers not know about a service? – Why do services not meet consumer requirements?
  • 7.
    Promoting Service Adoption andRe-use Requires • A published service catalogue and service tiers • Demand and capacity management • Lifecycle management and workflow • Continuous provisioning and deployment • Service level management • Collaboration channels
  • 8.
    Service Transformation • AnAPI (or a service) is a business capability delivered over the Internet to internal or external consumers • Network accessible function • Available using standard web protocols • With well-defined interfaces • Designed for access by third-parties • A Managed API (or a managed service) is:  Actively advertised and subscribe-able  Exhibits high Quality of Service (QoS)  Available with Service Level Agreements (SLAs)  Secured, authenticated, authorized and protected  Monitored and monetized with analytics
  • 9.
    OtherService Containers External API (Demand) API Façade Mediation/ Service Virtualization / Orchestration Service Platforms API Facade Pattern within a Services Architecture
  • 11.
  • 12.
  • 13.
    Best Practice Integration(SOA) Use Cases and Roles •API Creator • Builds, manages, and versions API • Understand business and technical requirements • Cares about usage and scaling • Seeks feedback, ratings, usage •API Publisher • Publishes, Promotes and encourages consumers to adopt APIs • Determines usage patterns and how to best monetize asset • Monitors and secures •API Consumer • Understands the interface definition • Subscribes and connects application to API • Monitors own usage and cost basis • Provides feedback and ratings
  • 14.
  • 15.
    API Publisher andCreator Role
  • 16.
    Roadmap 1. Define rolesand responsibilities 2. Extend SOA Governance and service run-time policy into external API design, development, and consumption activities 3. Establish on-demand self-service API consumption channel 1. Analyze service dashboards and identify subscription trends 2. Relentlessly reduce technical debt through service re-use rather than re-build
  • 17.
    lean . enterprise. middleware
  • 18.
    References Product Page •http://wso2.com/products/api-manager/ Getting StartedGuide http://d.content.wso2.com/files/WSO2APIManager-v1.0.0- GettingStarted.pdf White Papers Promoting service re-use within your enterprise and maximizing SOA success WSO2 API Manager Comparison Blogs •http://sanjiva.weerawarana.org/2012/08/api-management-missing-link-for-soa.html •http://techfeast-hiranya.blogspot.com/search/label/api%20management •http://sumedha.blogspot.com/search/label/API •http://blog.cobia.net/cobiacomm

Editor's Notes

  • #2 API management is a strategic component within your Service Oriented Architecture initiative. Many development teams publish services, yet struggle to create a service architecture that is widely shared, re-used, and adopted across internal development teams. SOA governance programs often fall far short of encouraging consumer adoption, tracking service consumption, and illustrating business value. Too often, there is little or no insight into: How to enable business functionality as an API. Who is writing re-usable APIs and services. Who is consuming APIs and services. How APIs and services are being used. In this session Chris will describe benefits gained by: Publishing managed APIs for consumption within your organization. Establishing API manager and publisher roles to foster API adoption. Extending the service governance registry to encourage cross-team (or cross-department) communication, coordination and collaboration. Overcoming common SOA anti-patterns of ‘Not Invented Here’ (NIH) and ‘Build, and Build Again’ by using an API Store. Following an API roadmap focused on increasing service re-use and enhancing IT business value.
  • #3 Picture of
  • #6 Several teams operate independently, and there is a need to improve communication and coordination. Hundreds of people write services; few people know who is consuming services, who is writing re-usable services, and how services are being used. Difficult to offer your business capabilities as an API Potential consumers do not trust API stability, reliability, availability, or performance Providers have scalability concerns and lack an ability to manage consumption Security risks prevent publishing and offering open access Difficult to manage requirements from multiple consumers and coordinate release schedule Inability to configure API per consumer Business return requires API metering usage rates, and billing
  • #8 Automated Governance Governance is a practice, which defines policies, people, and processes. Effective governance mitigates risks, improves performance, and facilitates correct actions. Automated governance enables application and infrastructure services to efficiently scale across numerous consumers and providers while effectively monetizing, maintaining, and securing assets and consumer-provider interactions. By publishing a service catalogue offering tiered levels of service, teams can promote standard offerings that meet customer requirements. By streamlining access and approval, automated governance encourages customers to choose standard offerings and reduce cost. Scaling a Cloud environment while right-sizing available capacity is non-trivial, and the infrastructure must support demand management and capacity management activities. When organizations move beyond their first Cloud service release, automated lifecycle management becomes a predominant concern. To effectively manage the service lifecycle, the infrastructure must report on service versions, subscribed consumers, and usage trends. In the run-time environment, an infrastructure authority component makes resource allocation decisions, which are enforced by service level management components.  
  • #12 Integrate with Business Activity Monitor to provide analytics, monitoring and business intelligence including custom KPIs Service performance metrics Usage, billing, and monetization metrics Track Cloud service expense against business value