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