Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

CompuwareCorporation Business Driven SOA Edwin Schumacher


Published on

  • Be the first to comment

  • Be the first to like this

CompuwareCorporation Business Driven SOA Edwin Schumacher

  1. 1. Business Driven SOA Edwin Schumacher Director of Product Management [email_address]
  2. 2. Development strategies Building dynamic, business-driven applications faster <ul><li>Faster – increase productivity dramatically </li></ul><ul><ul><li>Model-Driven Architecture (MDA) based Development </li></ul></ul><ul><li>Dynamic – ability to change, agility </li></ul><ul><ul><li>Service Oriented Architecture (SOA) </li></ul></ul><ul><li>Business-driven applications – close the gap between business and IT </li></ul><ul><ul><li>Business Process Automation (BPA) </li></ul></ul>
  3. 3. Faster Development Through a Model-Driven Architecture based approach
  4. 4. Productivity Analysis Comparing MDA-based to Code-Centric Development <ul><li>Conducted by The Middleware Company </li></ul><ul><li>Compared two development paradigms </li></ul><ul><ul><li>MDA environment against a traditional code-centric IDE </li></ul></ul><ul><li>Two teams </li></ul><ul><ul><li>Each had 1 architect & 2 developers </li></ul></ul><ul><ul><li>Architected and produced the same J2EE application – one using MDA, the other using a code-centric, enterprise-caliber IDE </li></ul></ul><ul><li>Report available on: Title: ‘MDA Productivity Study, June 2003’ </li></ul>
  5. 5. Study Results The Middleware Company <ul><li>MDA team delivered an error-free application in 330 hours versus 507 hours with the IDE tool, which equates to 35% productivity increase </li></ul><ul><li>One of the programmers expected that the MDA team would have been 10-20% faster were it not for the fact that this was their first project using the tool </li></ul><ul><li>The quality of the code of an application built with an MDA tool is comparable if not better than applications that are built with traditional techniques </li></ul>
  6. 6. EDS Study Driving Business Agility with MDA-based development <ul><li>Background </li></ul><ul><ul><li>Conducted by a SUN Certified J2EE Architect/Developer from EDS </li></ul></ul><ul><li>Compared two development paradigms </li></ul><ul><ul><li>MDA environment against a traditional code-centric IDE </li></ul></ul><ul><li>Approach taken </li></ul><ul><ul><li>Pet Store specification used </li></ul></ul><ul><ul><li>Compared lines of handcrafted code </li></ul></ul><ul><ul><li>Migration from EJB 1.1 to 2.0 </li></ul></ul><ul><li>Report available on: </li></ul>
  7. 7. Study Results EDS <ul><li>Lines of handcrafted code </li></ul><ul><ul><li>J2EE Pet Store using MDA development tool – 610 </li></ul></ul><ul><ul><li>J2EE Pet Store – 14,273 </li></ul></ul><ul><li>On average the developer wrote only one to four lines of Java code manually for each 200 lines generated automatically </li></ul><ul><li>Upgrading to EJB 2.0 </li></ul><ul><ul><li>Took less than 30 minutes to upgrade. This would typically be a manual process, taking several months </li></ul></ul><ul><li>Bottom line </li></ul><ul><ul><li>Significant productivity gains achieved with MDA tool during application development and maintenance </li></ul></ul><ul><ul><li>Clearly demonstrates how MDA protects existing investments </li></ul></ul>
  8. 8. Model-Driven Architecture based Development Translate to Architecture Translate to Code Automation through Transformation patterns Increase consistency Improve manageability Ensure alignment <ul><li>Business Model </li></ul><ul><ul><li>Business-centric </li></ul></ul><ul><ul><li>No technology details </li></ul></ul><ul><ul><li>Standards based (UML) </li></ul></ul><ul><li>Architecture Model </li></ul><ul><ul><ul><li>Implementation technology </li></ul></ul></ul><ul><ul><ul><li>Blueprint </li></ul></ul></ul><ul><ul><ul><li>J2EE/.NET </li></ul></ul></ul><ul><li>Code Model </li></ul><ul><ul><li>Complete executable results </li></ul></ul><ul><ul><li>Protect generated code </li></ul></ul><ul><ul><li>Enable customization </li></ul></ul><ul><ul><li>Business changes </li></ul></ul><ul><ul><li>by Business Analysts </li></ul></ul><ul><ul><li>Architecture changes </li></ul></ul><ul><ul><li>by Architects </li></ul></ul><ul><ul><li>Code changes </li></ul></ul><ul><ul><li>by developers </li></ul></ul>Separation of concerns
  9. 9. Ability to Change Through a Business Driven Service Oriented Architecture
  10. 10. Business Model Step One <ul><li>Expressed in UML </li></ul><ul><ul><li>Structure and behaviour </li></ul></ul><ul><ul><li>Class Model and Service Model </li></ul></ul><ul><li>Develop at a high abstraction level </li></ul><ul><ul><li>Business centric </li></ul></ul><ul><ul><li>Undistorted by technical details </li></ul></ul><ul><ul><li>Focus on application functionality </li></ul></ul><ul><li>Enrich with business rules </li></ul><ul><ul><li>Constraints </li></ul></ul><ul><ul><li>Expressions </li></ul></ul><ul><li>Automated reuse of model definitions and business rules </li></ul><ul><ul><li>Change applications rapidly in the model </li></ul></ul>
  11. 11. Architecture Model Step Two <ul><li>Automatic transformation from Business Model to Architecture Model </li></ul><ul><ul><li>Consistency and quality </li></ul></ul><ul><li>Logically layered components </li></ul><ul><ul><li>Presentation Model </li></ul></ul><ul><ul><ul><li>Data schemas, Web components etc. </li></ul></ul></ul><ul><ul><li>Business Logic Model </li></ul></ul><ul><ul><ul><li>Data schemas, key classes, entity components, session components etc. </li></ul></ul></ul><ul><ul><li>Data Model </li></ul></ul><ul><ul><ul><li>Relational data schema </li></ul></ul></ul><ul><ul><ul><li>Tables, columns, keys etc. </li></ul></ul></ul>Business Model Code Model Architecture Model Design Patterns
  12. 12. Code Model Step Three <ul><li>Automatic transformation from Architecture Model to Code </li></ul><ul><ul><li>Productivity, quality and consistency </li></ul></ul><ul><ul><li>J2EE Core Patterns </li></ul></ul><ul><ul><li>Presentation Tier </li></ul></ul><ul><ul><ul><li>MVC framework (Struts) </li></ul></ul></ul><ul><ul><ul><li>Java Server Pages, Servlets </li></ul></ul></ul><ul><ul><li>Business Logic Tier </li></ul></ul><ul><ul><ul><li>Bean class, home/remote and primary key classes etc. </li></ul></ul></ul><ul><ul><ul><li>According to EJB specification </li></ul></ul></ul><ul><ul><li>Data Access Tier </li></ul></ul><ul><ul><ul><li>SQL scripts for target database </li></ul></ul></ul><ul><ul><li>Application deployment descriptors </li></ul></ul><ul><ul><ul><li>For target application server </li></ul></ul></ul>Transformation Patterns Business Model Code Model Architecture Model Code Patterns Technology Patterns
  13. 13. Service Enablement Coherent Migration to a Service Oriented Architecture <ul><li>SOA is more than just Web services </li></ul><ul><li>Integration Model </li></ul><ul><ul><li>Import WSDL, IDL, COBOL Copybooks (CICS and IMS/TM), Java/EJB signatures, SAP business objects, DBMS, etc. </li></ul></ul><ul><ul><li>Automatic re-design to business model through re-design patterns enabling participation of legacy applications in a SOA </li></ul></ul><ul><ul><li>Reduce complexity through adapter approach </li></ul></ul>Business Model Code Model Architecture Model Design Patterns Code Patterns <ul><li>CICS </li></ul><ul><li>IMS/TM </li></ul><ul><li>Java, EJB </li></ul><ul><li>Web Services </li></ul><ul><li>SAP </li></ul><ul><li>DBMS </li></ul><ul><li>Corba </li></ul><ul><li>Monolithic </li></ul><ul><li>MQSeries, JMS </li></ul>Import Re-Design Patterns
  14. 14. A Service Oriented Architecture Increases the ability to change - flexibility Data Data Storage <ul><li>Create new database </li></ul><ul><li>Upload existing database </li></ul>Data Logic <ul><li>Automatically generated </li></ul><ul><li>Distributed </li></ul><ul><li>Manage persistency </li></ul>Business Logic Application <ul><li>Contains business logic </li></ul><ul><li>Integration layer </li></ul><ul><li>Exposable as Web Service </li></ul>Presentation Logic <ul><li>Web-based </li></ul><ul><li>Java Server Pages </li></ul>
  15. 15. Closing the Gap between Business and IT Business Process Automation leveraging SOA
  16. 16. The Evolution of Enterprise Application Development Development paradigm Business – IT alignment <ul><li>Business Process Automation </li></ul><ul><li>Align application with business process </li></ul><ul><li>Key Performance Indicators </li></ul><ul><li>Service Level Agreements </li></ul><ul><li>Service Oriented Architecture </li></ul><ul><li>Ability to change – agility </li></ul><ul><li>Accelerate integration </li></ul><ul><li>Model-Driven Architecture </li></ul><ul><li>based Development </li></ul><ul><li>Improved productivity </li></ul><ul><li>Services by design - architecture </li></ul>
  17. 17. Business Process Automation The next step after SOA Data Databases <ul><li>Create new database </li></ul><ul><li>Upload existing database </li></ul>Data Access Services <ul><li>Generated </li></ul><ul><li>Distributed </li></ul><ul><li>Manage data integrity </li></ul>Business Logic Services Application <ul><li>Contain business logic </li></ul><ul><li>Manage the transaction </li></ul><ul><li>Integration layer </li></ul>Presentation Services <ul><li>Web-based </li></ul><ul><li>Client-Server </li></ul><ul><li>Wireless </li></ul>Enter Order Ship Order Business Process <ul><li>Organisational model </li></ul><ul><li>Actors and Roles </li></ul><ul><li>Process model </li></ul>Check Customer Send Message Process
  18. 18. Business Process Management Sales Production Shipping task customer customer <ul><li>Process focus </li></ul><ul><li>Goals-driven </li></ul><ul><li>Customer orientation </li></ul>task task <ul><li>Monitor performance </li></ul><ul><li>indicators </li></ul><ul><li>Tuning by workflow </li></ul><ul><li>& business rules </li></ul>Continuous Monitoring & Tuning Change
  19. 19. Conclusion <ul><li>Model-Driven Architecture based development (MDA) </li></ul><ul><ul><li>Focus on automating the translations from Business Model to Architecture to Code as they are the main source of errors – Model Driven Architecture </li></ul></ul><ul><li>Service Oriented Architecture (SOA) </li></ul><ul><ul><li>Make sure Application Services relate to Business Operations </li></ul></ul><ul><ul><li>Web Services are just one implementation of a SOA </li></ul></ul><ul><ul><li>Take an evolutionary approach to SOA implementation </li></ul></ul><ul><li>Business Process Automation (BPA) </li></ul><ul><ul><li>A Service Oriented Architecture is the foundation for Business Process Automation </li></ul></ul><ul><ul><li>Integrate BPA into your application development paradigm – process-oriented application development </li></ul></ul>