compuware corporation business driven soa edwin schumacher director of product management...
TRANSCRIPT
CompuwareCorporation Page 2
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)
CompuwareCorporation
Faster DevelopmentThrough a Model-Driven Architecture based approach
CompuwareCorporation Page 4
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’
CompuwareCorporation Page 5
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
CompuwareCorporation Page 6
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
CompuwareCorporation Page 7
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
CompuwareCorporation Page 8
Model-Driven Architecture based Development
Translate toArchitecture
Translate toCode
Automation through
Transformationpatterns
Increaseconsistency
Improvemanageability
Ensurealignment
Business Model• Business-centric • No technology details
• Standards based (UML)
Architecture Model• Implementation technology • Blueprint• J2EE/.NET
Code Model• Complete executable results • Protect generated code• Enable customization
Business changes by Business Analysts
Architecture changesby Architects
Code changesby developers
Separation ofconcerns
CompuwareCorporation
Ability to ChangeThrough a Business Driven Service Oriented Architecture
CompuwareCorporation Page 10
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
CompuwareCorporation Page 11
Architecture ModelStep Two
• 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.
BusinessModel
CodeModel
Architecture Model
DesignPatterns
DesignPatterns
CompuwareCorporation Page 12
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
TransformationPatterns
Business Model
CodeModel
Architecture Model
CodePatterns
CodePatterns
TechnologyPatternsTechnology
Patterns
CompuwareCorporation Page 13
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
CodeModel
Architecture Model
DesignPatterns
DesignPatterns
CodePatterns
CodePatterns
• CICS
• IMS/TM
• Java, EJB
• Web Services
• SAP
• DBMS
• Corba
• Monolithic
• MQSeries, JMS
Import
Re-DesignPatterns
Re-DesignPatterns
CompuwareCorporation Page 14
A Service Oriented ArchitectureIncreases the ability to change - flexibility
Data
DataDataStorageStorage
• Create new databaseCreate new database• Upload existing databaseUpload existing database
DataDataLogicLogic
• Automatically generatedAutomatically generated• DistributedDistributed• Manage persistencyManage persistency
BusinessBusinessLogicLogicA
pp
licati
on
• Contains business logicContains business logic• Integration layerIntegration layer• Exposable as Web ServiceExposable as Web Service
PresentationPresentationLogicLogic
• Web-basedWeb-based• Java Server PagesJava Server Pages
CompuwareCorporation
Closing the Gap between Business and IT
Business Process Automation leveraging SOA
CompuwareCorporation Page 16
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 Architecturebased Development• Improved productivity• Services by design - architecture
The Evolution of Enterprise Application Development
Dev
elop
men
t par
adig
m
Business – IT alignment
CompuwareCorporation Page 17
Business Process Automation The next step after SOA
Data
DatabasesDatabases• Create new databaseCreate new database• Upload existing databaseUpload existing database
DataDataAccessAccessServicesServices
• GeneratedGenerated• DistributedDistributed• Manage data integrityManage data integrity
BusinessBusinessLogicLogicServicesServicesA
pp
licati
on
• Contain business logicContain business logic• Manage the transactionManage the transaction• Integration layerIntegration layer
PresentationPresentationServicesServices
• Web-basedWeb-based• Client-ServerClient-Server• WirelessWireless
Enter Order
ShipOrderBusinessBusiness
ProcessProcess
• Organisational modelOrganisational model• Actors and RolesActors and Roles• Process modelProcess model
CheckCustomer
Send Message
Pro
cess
CompuwareCorporation Page 18
Business Process Management
Sal
es
Pro
du
ctio
n
Sh
ipp
ing
task task task
cu
sto
me
r
cu
sto
me
r
• Process focus• Goals-driven• Customer orientation• Monitor performance indicators• Tuning by workflow & business rules
Continuous Monitoring & Tuning
Change
CompuwareCorporation Page 19
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