Model-Driven Architecture & OptimalJ Roland T. Craddolph
Summary Model-Driven Architecture Overview OptimalJ Review Examples
What is Model-Driven Architecture? “Applications on your chosen middleware platform can be made to interoperate smoothly with those of your other departments, your customers, your suppliers, and everyone else you to business with, regardless of the middleware architectures that they choose and use.” (OMG)OMG
Key Standards Unified Modeling Language (UML) Meta-Object Facility (MOF) –The common meta-model for all of OMG's modeling specifications; it also defines a standard repository for meta-models and other models XML Meta-Data Interchange (XMI) –An XML-based interchange format for UML metamodels and other models Common Warehouse Meta-model (CWM) –Standardizes a complete, comprehensive metamodel that enables data mining across database boundaries at an enterprise
How are technology laid out? Platform-Independent Models –Express business functionality and behavior Platform-Specific Models –specify activation patterns –persistence –transactional –security level –some configuration information
Benefits UML Diagrams can be updated when application is updated Allows for applications to be used by more than one middleware Companies/user are not limited to certain technologies Broader use of programming languages and technology
What tool can I use to for MDA? OptimalJ from CompuwareCompuware –Accelerates J2EE development by generating working applications directly from visual models. Through the power of patterns and model-driven application design, OptimalJ decreases the need for extensive coding and design skills, and delivers high productivity and consistency
What can OptimalJ do? Create UML models for applications Links with Ecplise to allow for code development Capability to create models/diagrams for databases Allows support for J2EE applications (for now) Support for JBoss, Tomcat, and other DB’s/middleware Comes with Dreamweaver to allow for web page development
Who can use OptimalJ? Developers Edition –Code is guarded, meaning developer can only add more code Professional/Business Edition –Creates models and generate code Architectures Editions –Create more patterns for OptimalJ, create models, and generate code
Example Using MDA and OptimalJ BankHOST develops Gateway using Model Driven Architecture –To create a flexible Internet banking platform to deliver international banking services FOR MORE INFO... BankHOSTstory.htm
Problem International banking services are difficult to deliver profitably. Customers expect a wide range of products, a high level of service, and rapid, error-free transaction processing. These requirements can only be met profitably with a high level of automation and a strong technology platform. Functionality and integration are especially important with client-access products Unexpected delays or issues
Solution Gateway –An application that encapsulates our decades of international business experience with banks such as Bank of America and its predecessors. MDE, PIM –Captured the business logic of BankHOST Gateway in a Platform Independent Model (PIM) using UML. –Visual representation of flow charts, making it easy for technical and non-technical personnel to understand the business logic. Implementation –Microsoft’s application server (Windows DNA and soon to be.Net) –Application servers meeting Sun’s J2EE specifications.
Overall Benefits Functionality suitable for large corporate customers, but with an easy installation and customization process Functionality includes integrated Purchase Order processing, batch uploads, and a collaborative processing environment BankHOST Gateway is modular, both from a systems architecture and business processes perspective The MDA development approach using MDE allows us to quickly and economically customize Gateway to the exact business and technology requirements of our customers
Resources “Developing in OMG’s Model-Driven Architecture” Jon Siegel and the OMG Staff Strategy Group. November, 2001 Revision 2.6 –ftp://ftp.omg.org/pub/docs/omg/ pdfftp://ftp.omg.org/pub/docs/omg/ pdf Compuware JavaCentral – OptimalJ – BankHost – BankHOSTstory.htm