© The Middleware Company SOA Blueprints


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

© The Middleware Company SOA Blueprints

  1. 1. SOA Blueprints Learning Best Practices and Sample Applications for SOA Steve Wilkes Senior Middleware Maven 7 THE MIDDLEWARE COMPANY 09.22.2004
  2. 2. AGENDA <ul><li>Why are we doing this? </li></ul><ul><li>What are the goals? </li></ul><ul><li>SOA Concepts </li></ul><ul><li>The Reference Example </li></ul><ul><li>The Specification </li></ul><ul><li>Implementations </li></ul>
  3. 3. Why are we doing this? <ul><li>SOA is the new old thing </li></ul><ul><ul><li>The concept has been around for years </li></ul></ul><ul><ul><li>The practical realization has only recently materialized </li></ul></ul><ul><li>J2EE had the PetStore </li></ul><ul><ul><li>Initially a Patterns application without specification </li></ul></ul><ul><ul><li>Very successful as a learning tool </li></ul></ul><ul><ul><li>In some ways too successful – people learned architectural anti-patterns in addition to the technology that was shown </li></ul></ul><ul><li>SOA needs a PetStore not The PetStore </li></ul><ul><ul><li>Demonstrating SOA best practice requires many applications </li></ul></ul><ul><ul><li>Industry focus on (inter) communication not eCommerce </li></ul></ul>
  4. 4. What are the goals? <ul><li>Part of a long term project, SOA Blueprints aims to: </li></ul><ul><ul><li>Define a baseline standardized set of enterprise applications </li></ul></ul><ul><ul><li>Focus on SOA principles </li></ul></ul><ul><ul><li>Highlight SOA design patterns and best practices </li></ul></ul><ul><ul><li>Encourage SOA adoption </li></ul></ul><ul><ul><li>Be industry agnostic </li></ul></ul><ul><ul><li>Be applicable to as many organizations as possible </li></ul></ul><ul><li>The specification will lead to: </li></ul><ul><ul><li>An agreement on SOA terminology </li></ul></ul><ul><ul><li>A reference open source implementation </li></ul></ul><ul><ul><li>An implementation by vendors </li></ul></ul><ul><ul><li>Additional modules with particular industry focus </li></ul></ul>
  5. 5. SOA Concepts <ul><li>SOA Much More Than Web Services </li></ul><ul><li>Common SOA Terms </li></ul><ul><li>Patterns </li></ul><ul><li>SOA Platform Requirements </li></ul><ul><li>Standards </li></ul><ul><li>Glossary </li></ul>
  6. 6. SOA Much More than Web Services <ul><li>Service definition does not include protocol or wire format </li></ul><ul><li>How many protocols in your organization? </li></ul><ul><li>WSDL could be the key </li></ul><ul><li>Service providers should concentrate on the service </li></ul><ul><li>Service consumers just want to use the service </li></ul><ul><li>It’s the SOA that allows providers and consumers to communicate </li></ul>
  7. 7. Common SOA Terms <ul><li>Common SOA Terms (the specification includes those highlighted in blue) </li></ul>
  8. 8. SOA Terms (cont) <ul><li>Synchronous and Asynchronous Services </li></ul><ul><li>Component Services </li></ul><ul><li>Data Services </li></ul><ul><li>Composite (Business) Services </li></ul><ul><li>Conversational (Workflow) Services </li></ul><ul><li>Publish-Subscribe Services </li></ul><ul><li>Service Brokers </li></ul><ul><li>Exception Handling And Compensating Services </li></ul><ul><li>Service Security </li></ul><ul><li>Interception And Extensibility </li></ul><ul><li>Interoperability </li></ul>
  9. 9. SOA Patterns <ul><li>Initial patterns will include: </li></ul><ul><li>Service Registry and Static Binding </li></ul><ul><li>Service Registry and Dynamic Binding </li></ul><ul><li>Service Broker </li></ul><ul><li>Distributed Service Broker </li></ul><ul><li>Service Bus </li></ul><ul><li>Distributed Service Bus </li></ul>
  10. 10. SOA Anti-Patterns <ul><li>Overly granular business services </li></ul><ul><li>Remote access to local services </li></ul><ul><li>Overuse of XML </li></ul><ul><li>Use of loose coupling where tight coupling is required </li></ul>
  11. 11. SOA Granularity
  12. 12. SOA Development Requirements <ul><li>Target implementation environments should provide: </li></ul><ul><li>Definition of services independent of implementation, location or use </li></ul><ul><li>Implementation and hosting of services as a provider </li></ul><ul><li>Location and usage of services as a consumer </li></ul><ul><li>Assembly of services from other services and business rules </li></ul><ul><li>Support for synchronous, asynchronous and conversational services </li></ul><ul><li>Orchestration of application presentation built on services and rules </li></ul><ul><li>Automated data transformation between disparate data structures </li></ul><ul><li>Provisioning of local and remote services </li></ul><ul><li>Support for simulating, testing and debugging of services </li></ul>
  13. 13. Standards <ul><li>Standards being considered for inclusion include: </li></ul><ul><li>WS-I </li></ul><ul><li>BPEL4WS </li></ul><ul><li>WS-Security </li></ul><ul><li>WS-Notification </li></ul><ul><li>Jini </li></ul><ul><li>WSRP </li></ul><ul><li>WS-Manageability </li></ul>
  14. 14. Reference Example <ul><li>Common Enterprise Applications (the specification includes those highlighted in blue) </li></ul>
  15. 15. The Specified Applications <ul><li>Based around fictitious enterprise - GeneriCo </li></ul><ul><li>A distributed enterprise wide security mechanism </li></ul><ul><li>An employee self service portal providing: </li></ul><ul><ul><li>Authentication </li></ul></ul><ul><ul><li>Organization Browser </li></ul></ul><ul><ul><li>Task List Management </li></ul></ul><ul><ul><li>Expense Reporting </li></ul></ul><ul><ul><li>Employee Reviews </li></ul></ul><ul><li>A Product data service </li></ul><ul><li>Some payroll & supply chain functions as required by the specification </li></ul><ul><li>A basic HR application for management of employees and departmental structure </li></ul>
  16. 16. The Security Mechanism <ul><li>Provide security for: </li></ul><ul><ul><li>New Applications </li></ul></ul><ul><ul><li>Legacy Applications </li></ul></ul><ul><li>Provide indentity management </li></ul><ul><li>Automate employee security </li></ul>
  17. 17. The Employee Portal
  18. 18. Employee Portal <ul><li>Utilizes Security Adaptor Services </li></ul><ul><li>Provide Login / Logout Capabilities </li></ul><ul><li>Enable Password Change </li></ul><ul><li>Provide roles based access </li></ul><ul><ul><li>to pages </li></ul></ul><ul><ul><li>to portlets </li></ul></ul><ul><ul><li>to actions </li></ul></ul>Authentication
  19. 19. Employee Portal <ul><li>Search for Employees </li></ul><ul><li>Browse Departments </li></ul><ul><li>Get Department Details </li></ul><ul><li>Get Employee Details </li></ul>Organization Browser
  20. 20. Employee Portal <ul><li>View Task List </li></ul><ul><li>See Task Details </li></ul><ul><li>Add Tasks </li></ul><ul><li>Update Tasks </li></ul><ul><li>Link to Expenses </li></ul><ul><li>Link to Reviews </li></ul>Task List Management
  21. 21. Employee Portal <ul><li>View Report List </li></ul><ul><li>See Report Details </li></ul><ul><li>Add Report </li></ul><ul><li>Update Report </li></ul><ul><li>Authorize Report </li></ul><ul><li>Pay Report </li></ul><ul><li>Utilization of Pay Roll Services </li></ul>Expense Reporting
  22. 22. Employee Portal <ul><li>View Review List </li></ul><ul><li>See Review Details </li></ul><ul><li>Add Review </li></ul><ul><li>Update Review </li></ul><ul><li>Validate Review </li></ul><ul><li>Add Ratings </li></ul><ul><li>Finalize Review </li></ul><ul><li>Utilization of Pay Roll Services </li></ul>Employee Reviews
  23. 23. Product Data Services <ul><li>Two Product Databases </li></ul><ul><li>Different Schemas </li></ul><ul><li>Want single data service to access product information </li></ul><ul><li>Enable category listing </li></ul><ul><li>Enable product listing </li></ul><ul><li>Needs to generate unique keys </li></ul><ul><li>Add missing information </li></ul><ul><li>Query across sources </li></ul>
  24. 24. Message Definition <ul><li>Messages are defined within the specification in a platform agnostic fashion: </li></ul>
  25. 25. Process Definition <ul><li>Processes are also defined in an agnostic way: </li></ul>
  26. 26. Implementation Guidelines <ul><li>Specification is platform agnostic </li></ul><ul><li>Database schema will be supplied </li></ul><ul><li>WSDL will be provided for all services </li></ul><ul><li>Service testing will be provided by PushToTest </li></ul><ul><li>Transport protocols must be adhered to </li></ul><ul><li>Use of Portal server is recommended </li></ul><ul><li>Web design should follow guidelines </li></ul><ul><li>Standards should be adhered to where stated </li></ul>
  27. 27. Vendor Implementations <ul><li>Currently have commitment from the following vendors to provide implementations of the reference example: </li></ul><ul><li>BEA Systems </li></ul><ul><li>Diamelle Technologies </li></ul><ul><li>IONA Technologies </li></ul><ul><li>Microsoft </li></ul><ul><li>Oracle </li></ul><ul><li>Pramati </li></ul><ul><li>Sun Microsystems </li></ul><ul><li>Rogue Wave Software </li></ul>
  28. 28. Open Source Implementation <ul><li>Looking to build open source team </li></ul><ul><li>Currently have a number of committed members </li></ul><ul><li>Technologies we’re hoping to use include: </li></ul><ul><ul><li>Hibernate for persistence </li></ul></ul><ul><ul><li>Spring as a lightweight container </li></ul></ul><ul><ul><li>Axis for web service provisioning </li></ul></ul><ul><ul><li>eXo as an enterprise portal </li></ul></ul><ul><ul><li>Twister as a BPEL4WS engine </li></ul></ul><ul><ul><li>Maven for build and management </li></ul></ul><ul><li>Will become reference implementation for SOA </li></ul>
  29. 29. Possible Interesting Things <ul><li>An additional 10 or so vendors want to enhance the spec </li></ul><ul><li>Service management (Qos) an interesting add-on </li></ul><ul><li>Jini message board talking about an implementation </li></ul><ul><li>Some vendors considering CORBA implementation </li></ul><ul><li>Would like to include Mobility component </li></ul><ul><li>WSRP seems natural extension to Portal specification </li></ul><ul><li>Including more standards is a must </li></ul><ul><li>Launching an SOA Blueprints Wiki very soon </li></ul><ul><li>Open Source Implementation home announced soon </li></ul>
  30. 30. Next Steps <ul><li>Q & A </li></ul><ul><li>Goto soablueprints .com </li></ul><ul><li>Download the specification </li></ul><ul><li>Send us feedback </li></ul><ul><li>Get involved in open source implementation </li></ul>
  31. 31. TheServerSide.com TheServerSide.NET MiddlewareRESEARCH.com Steve Wilkes Senior Middleware Maven 7