CompuwareCorporation Business Driven SOA Edwin Schumacher

335 views
309 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
335
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • COPYRIGHT © 2005 Compuware Corporation March 17, 2005 IDC – Service Oriented Architecture Conference 2005
  • COPYRIGHT © 2005 Compuware Corporation March 17, 2005 IDC – Service Oriented Architecture Conference 2005
  • COPYRIGHT © 2005 Compuware Corporation March 17, 2005 IDC – Service Oriented Architecture Conference 2005 2 2 2
  • COPYRIGHT © 2005 Compuware Corporation March 17, 2005 IDC – Service Oriented Architecture Conference 2005
  • COPYRIGHT © 2005 Compuware Corporation March 17, 2005 IDC – Service Oriented Architecture Conference 2005
  • 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: http://www.omg.org/mda/presentations.htm 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: http://www.eds.com/thought/thought_leadership_agility_model_arch.pdf </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>

    ×