Promoting the reuse of Open Government Data through the Open ...
Promoting service reuse with api manager
Transcript of Promoting service reuse with api manager
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
• Reduce Technical Debt
– Eliminate redundancy and duplication within service portfolio [re-wire apps to standard service]
Questions to Ask
• 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?
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
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
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
API Management transforms services into re-usable assets
• Create API back-end service
• WSO2 Application Server, Data Services Server and Enterprise Service Bus
• Publish, find and subscribe to APIs
• API Store and Governance
• Manage, secure and protect APIs
• API Management and Gateway
• Monitor and Monetize APIs
• API Monitoring and Analytics
• Develop, host and run API-based applications in a Platform-as-a-Service
• WSO2 Stratos and Cloud Development Platform
• Create an API Cloud
WSO2 API Manager
Service Transformation
API Facade Pattern
External Format (Demand)
Façade
Mediation
Backend Services
Oth
er
Serv
ice
Con
tain
ers
External API
(Demand)
API Façade
Mediation /
Service Virtualization /
Orchestration
Service
Platforms
API Facade Pattern within a Services Architecture
Why not use an Enterprise Service Bus?
Run-time policy enforcement usually disconnected from design and on-demand consumption
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
Service Re-use Dashboard
Roadmap
• Define roles and responsibilities • Extend SOA Governance and service run-time
policy into external API design, development, and consumption activities
• Establish on-demand self-service API consumption channel
• Analyze service dashboards and identify subscription trends
• 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