Title: Business Driven SOA
1Edwin Schumacher Director of Product
Management edwin.schumacher_at_compuware.com
2Development 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)
3Faster DevelopmentThrough a Model-Driven
Architecture based approach
4Productivity 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/presen
tations.htm Title MDA Productivity
Study, June 2003
5Study 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
6EDS 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/th
ought_leadership_agility_model_arch.pdf
7Study 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
8Model-Driven Architecture based Development
9Ability to ChangeThrough a Business Driven
Service Oriented Architecture
10Business 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
11Architecture 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
12Code 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
13Service 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
14A 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
15Closing the Gap between Business and ITBusiness
Process Automation leveraging SOA
16The Evolution of Enterprise Application
Development
Development paradigm
Business IT alignment
17Business Process Automation The next step after
SOA
- Organisational model
- Actors and Roles
- Process model
Process
Enter Order
Business Process
Ship Order
Check Customer
Send Message
- 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
18Business Process Management
- Process focus
- Goals-driven
- Customer orientation
task
customer
customer
Shipping
Production
Sales
19Conclusion
- 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
20(No Transcript)