530 likes | 544 Views
Model Driven Architecture: Four Years On Richard Mark Soley, Ph.D. Chairman and CEO. Maintenance & Integration: 90%. Are You Spending Wisely?. Analysis, Design, Development, Test & Deployment: 10%. Roadkill on the Info Highway. Doing things “the way we always do them” isn’t the answer.
E N D
Model Driven Architecture:Four Years OnRichard Mark Soley, Ph.D.Chairman and CEO
Maintenance & Integration: 90% Are You Spending Wisely? Analysis, Design, Development, Test & Deployment: 10%
Roadkill on the Info Highway Doing things “the way we always do them” isn’t the answer.
OMG: An Interesting History 2003: UML 2 2001: MDA 1997: UML 1 1996: Vertical specs 1995: CORBA 2 1990: CORBA 1 1989: Founded
Model Driven Architecture • An initiative of the Object Management Group (OMG) • A brand for tools based on OMG’s UML and MOF open standards • A set of specifications defined by OMG’s open worldwide process
OMG’s Vision The Global Information Appliance
Heterogeneity is Permanent • Programming languages • ~3 million COBOL programmers • ~1.6 million VB programmers • ~1.1 million C/C++ programmers • Operating systems • Unix, MVS, VMS, MacOS, Windows, PalmOS, Symbian… • Windows 3.1: it’s still out there! • Embedded devices (mobile, set-top, etc.) • Networks • Ethernet, ATM, IP, SS7, Firewire, USB • Bluetooth, 802.11b, HomeRF
Where Can We Agree? • There will not be consensus on hardware platforms • There will not be consensus on operating systems • There will not be consensus on network protocols • There will not be consensus on programming languages • There must be consensus on models, interfaces and interoperability!
OMG’s Mission Since 1989 • Develop an architecture for (software) integration, with standards focused on: • reusability of components • interoperability & portability • basis in commercially available software • Specifications freely available • Implementations exist • Member-controlled not-for-profit
Who Are OMG? Alcatel AT&T BEA Systems Borland Boeing Cape Clear Codagen Compuware DaimlerChrysler EDS Fraunhofer Fokus Fujitsu Hewlett Packard Hitachi Hyperion IBM IONA io Software Kabira Kennedy Carter John Deere L-3 Lockheed Martin MITRE Motorola NASA NEC Nokia NTT DoCoMo OASIS Object Consulting PRISM Technologies SAP SAS Institute Softeam Sun Microsystems Tata Unisys UTS W3C
How Can We Protect Software Investment? • The problem is • Tracking the next best thing • Protecting your investment in existing software base • Retaining qualified staff • Maintaining existing code base • Integrating what you’ve built • With what you are building • With what you will build!
The Model Driven Architecture • OMG’s Model Driven Architecture (MDATM) initiative is aimed precisely at this problem • You have an opportunity to increase your bottom line by integrating your assets • Industry standards support that goal by future-proofing your application design • The MDA will help you integrate the mix you have today, and give you an architecture to support the unexpected • Focus on integrating legacy applications • Ensure smooth integration of COTS applications • Models are testable and simulatable • The aim: a 20-year software architecture
What is Model Driven Architecture? • A New Way to Specify and Build Systems • Based on modeling with UML • Supports full lifecycle: analysis, design, implementation, deployment, maintenance, evolution & integration with later systems • Builds in Interoperability and Portability • Lowers initial cost and maximizes ROI • Applies directly to the mix you face: • Programming language Network • Operating system Middleware
OMG’s Modeling Suite • Unified Modeling Language • UMLTM remains the world’s only standardized object-oriented modeling language, best-known part of the standard • Common Warehouse Metamodel • CWMTM, the integration of the last two data warehousing initiatives • Meta-Object Facility • MOFTM, the metadata integration standard • Defines metadata & metadata services • Perfect for the movement to DSL’s • XML Metadata Interchange • XMITM, the XML-UML standard • Cornerstone of UML tool interoperability • Actually just a collection of mapping rules XML/MOF
Leveraging UML is Critical • The Unified Modeling Language is the successor to the dozens of OO A&D notations of the early ’90s. • Result of an OMG adoption begun in ’96 and completed in ’97 • Complemented with repository (MOF) and XML Metadata specs (XMI) • Standardization primed the market • Over 200 books, in many languages • Dozens of commercial tools • Widely available training • Supported by an open process • UML 2.0 & MOF 2.0 developed openly
UML Usage Statistics Current use of UML Source: BZ Research, August 2004 Plans for future use use of UML
Why Use UML? Source: BZ Research, August 2004
UML Certification Program • OMG/UTI UML Certification Program • Starts November 2003 • Worldwide (English & Japanese) • Three levels of accomplishment • Focused on UML 2.0 • OMG ENDORSED
MDA FastStart Fast introduction to MDA technologies • Initial project selection and planning • Consulting • Mentoring • Training
Building an MDA Application A Detailed Model, stating Pre- and Post-Conditions in OCL, and Semantics in Action Language Start with a Platform-Independent Model (PIM) representing business functionality and behavior, undistorted by technology details. Platform-Independent Model
CORBA Model Generating Platform-Specific Model Map a PIM to Specific Middleware Technologies via OMG Standard Mappings MDA tool applies a standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Platform-Independent Model
OtherModel XML/SOAPModel Java/EJBModel CORBA Model Mapping to Multiple Deployment Technologies Map a PIM to Many Middleware Technologies via OMG Standard Mappings MDA tool applies an standard mapping to generate Platform-Specific Model (PSM) from the PIM. Code is partially automatic, partially hand-written. Platform-Independent Model
OtherModel XML/SOAPModel Java/EJBModel CORBA Model Other XML/SOAP Java/EJB CORBA Generating Implementations Map PSM to application interfaces, code, GUI descriptors, SQL queries, etc. MDA Tool generates all or most of the implementation code for deployment technology selected by the developer. Platform-Independent Model
OtherModel Other Integrating Legacy & COTS Reverse-engineer existing application into a model and redeploy. MDA Tools for reverse engineering automate discovery of models for re-integration on new platforms. Platform-Independent Model COTS App Legacy App
MDA Benefits • Full support for your “20 year architecture” across the application lifecycle • Smooth integration across intra- and inter-business boundaries (across deployment technologies) • Reduced costs from beginning to end • Reuse of applications, code, training and people • Technology-independent representation of the business • Scalability, robustness & security via generated code • Stable model-based approach maximizes ROI • Rapid inclusion of the next best thing The CIO Problem Solver
MDA is Proven in Software Development • Many excellent proofs-of-concept: • Banks, railroads, trading, insurance, manufacturing, healthcare, etc. • Adopted by UN/CEFACT, SWIFT, ACORD, HL7 and other key standards players • Careful studies prove the point • The Middleware Company (TMC) • Electronic Data Systems (EDS)
The Middleware Company • Two 3-person teams implementing Sun’s Pet Store • Typical 3-tier e-commerce, Sun Java Blueprints • 35% cost savings using MDA tool • Traditional tools: 508 man-hours • MDA tools: 330 man-hours
TMC Conclusions “Based on the results of this case study, The Middleware Company is impressed by the productivity gains our MDA team experienced using the Model-Driven Architecture. We encourage organizations that wish to improve their developer productivity to evaluate MDA-based development tools for their projects, especially those involving enterprise-class applications and web services. While a short introduction to the MDA approach and tools might be necessary for development teams, the productivity benefits gained from the approach - especially for work on subsequent applications - make the effort significantly worthwhile.” Most interesting result: bugs found by traditional team were higher-level – MDA tools allow shakeout of high-level design much earlier in the development process. http://www.compuware.com/dl/MDAComparisonTMCfinal.pdf
Electronic Data Systems study • Three parallel implementations • J2EE: 14,000 hand-coded lines • .Net/C#: 4,000 hand-coded lines • OptimalJ: 600 hand-coded lines • Conversion from J2EE 1.1-2.0 • Projected: several months • Using OptimalJ: 30 minutes
EDS Conclusions “MDA helps organizations achieve agile and adaptable IT so they can overcome ... business challenges. Through this evolutionary approach, collaborative teams can enjoy a wide range of compelling business benefits: • Rapid inclusion of emerging technology benefits into existing systems • Reduced cost throughout the application life cycle • Reduced development time for new applications • Increased return on technology investments • Improved application quality” http://www.eds.com/thought/thought_leadership_agility_model_arch.pdf
MDA in Practice • Several excellent proofs-of-concept: • Wells Fargo (an architecture that has already been resilient through a decade of change) • Lockheed Martin Aeronautics • GCPR in US government • Deutsche Bank Bauspar • Defense Information Systems • Merrill Lynch • Österreichische Bundesbahn • Thales Training & Simulation • Zuercher Kantonal Bank • CGI • Chubb and Son
National Service Industries • Upgrade 30-year-old legacy • Initial proposal >5 years, >US$5MM • Delivered in <1 year, US$1MM • Initial 80% savings http://www.omg.org/mda/mda_files/NationalServicesIndustries.htm
Austrian Railways • Integrated billing application (with scheduling, SAP management) • Immense application (up to 400k EJB’s) • Immediate, initial cost savings 35% http://www.io-software.com/customers/Success_Stories/SuccessStory_OeBB.pdf
CGI/Loto-Québec • Major redevelopment of provincial lottery management for features & performance • Calculated 32.2% cost reduction, 700% ROI • Headcount and specialization savings • 50% code reduction http://www.omg.org/mda/mda_files/Codagen_CGIstory.pdf
Lockheed Martin F-16 • Modular Mission Computer • Cross-platform mission solution • 100% code generation • 20% initial development savings http://www.omg.org/mda/mda_files/LockheedMartin.pdf
Outsourcing: Pros & Cons • MDA supports outsourcing (lowers “cost of agreement” risk)… • …but also removes one of the reasons. • M1 Global Systems: internal app dev’t • $6.2MM expected cost • $2.3MM using MDA • $1.0MM using MDA, outsourced
MDA Four Years On • 2000: initial impetus for initiative • 2001: members carry initiative forward • 2002: initial profiles • 2003: UML 2, MOF 2 • 2004: BPM, Embedded
BPM & Embedded, Huh? • Code generation isn’t the be-all to end-all • The key idea is • Generic metamodeling • Capturing design • Supporting transformation • Reusing tools & expertise
MDA in the Verticals • Finance: Payments Gateways Project • Robotics: Household Robot Applications • Healthcare: Healthcare Records • Justice: Integrated Judicial/Penal Systems • C4I: Geospatial Sensory Webs
MDA is a general pattern • There is a general pattern to MDA: • Discover multiple syntaxes for a single semantic • Derive & design a model which underlies that semantic • Develop transformations between those models
Why Apply MDA? • For vendors, leveraging products into patents, systems engineering, business process… • For end-users, leveraging people, training and process • Discover, derive, design • Retarget as technology changes
Business Process Modeling • Beginning of 2005 will feature new specifications: • Business Process Metamodel • BPM interface standards for interoperability • Business Rules Model
Embedded Systems • Already a major focus for OMG in the CORBA world, Model Integrated Computing focuses on: • Generating embedded implementation from models • Real-time execution • “Executable UML”
MDA in Systems Engineering • Early 2005, a new UML-based specification for Model-Driven Systems Engineering (SE): • Integrated hardware/software design • Integrated planning/engineering