mda reality/implementation · 2013-12-16 · tcp/ip opennet business tcp/ip method servers genesys...
TRANSCRIPT
MDA Reality/Implementation
OMG Model Driven Architecture in the Application Life Cycle
Tony Mallia, CIBER [email protected]
Background• Consultant for CIBER Inc. in Boston, MA• Assist and advise IT organizations on Model
Driven Development• 25 projects in last 5 years over 11 organizations
using CORBA, J2EE, Forté and messaging Nearly all were UML design based
• Developed communications protocols in the 70’s with State Machines and Sequence Diagrams.
This technology has been around
Member Price $99.99
Version 1.0
Model Driven DevelopmentApplication Life Cycle
Best Practices
Software Tools
MDA Standards
LanguageCompliance
UsageAccelerator
Validation Usage
Best PracticesHow to articulate architecture
• Statement of Design Guidelines• Integration Mechanism• Design testability
– Requirements satisfaction– Technical testing
• Technology constraints– Environment support
Integration Mechanism
• Common Partitioned Semantic Model– DataTypes – Profile– Packages
• Collaboration Environment selection– Shared Database– Asynchronous Messaging and Workflow– Service Based Communication
• Design Specification standards for each
Design Specifications
• Pieces of Paper• Electronic Documents in a File• Metadata Repository
A mature industry has a common language
Feedback to the Customer
Illustrations from ChiefArchitect
What would happen if all your subcontractors appeared
without an overall plan
Plat form Independent Model (PIM) PIM Mapping
Techniques
Platform Specific Model (PSM)
PSM Mapping Techniques
RefactoringMapping
MDA Organization
Model Driven Development as Integration Best Practice
• Use the UML model as primary• Generate all other schemas• Wrap legacy subsystems with generated
schemas• Implement Architectural Control
Model Driven Development as Integration Best Practice
Generate Platform Specific Models Build/TestDevelop Platform
Independent Models
UML Tool Evolution
• UML Diagram Editors• UML Model Document Generators• UML to/from Code generators
– UML to IDL– UML to C++/Java
• UML Model Programmatic Access– Custom tool development
Practical Examples
• Wells Fargo – (Enterprise Application Integration) EAI
• Government Computer-Based Patient Record project (GCPR)– (Inter-Enterprise Integration) IEI
Win NT
CIV - MS Visual C++CTI LibOrbLib
BEA ObjectBroker 4.1 BEA ObjectBroker 4.1
Application methodservers
HP UNIX
Wells Fargo Processing Environment
Agent PC
OpenNetTCP/IP
TCP/IPBusinessMethod Servers
Genesys CorpComputerTelephoneIntegration
Periphonics CorpIVRU
MeridianPBX/ACD
CustomerTelephone
Messages to mainframe applicationsvia Tuxedo/Connect and CyberSAFE
Systemsof Record(SORs)
Client Tier Middle Tier Data Tier
AgentTelephone
TCP/IP
BEA ObjectBroker 4.1HP UNIX
CTI ServerTCP/
IP
TCP/IP
TCP/IP
OpenNetTCP/IP
TCP/IP
NetscapeCommerceServer
BEA ObjectBroker 4.1Sun Solaris
Internet ApplicationHitachi with IBM MVS
CustomerInformationApplicationDatabases
HP UNIX
SQL interface to UNIX databases
VLib
IVRU Application
BEA ObjectBroker 4.1Sun Solaris
CTI Lib
Business Service Interface
DomainModel<<PIM>>
C++ CORBA Stub
<<PSM>>BSI C++ Proxy
<<PSM>>
UML to IDL<<PIM to PSM>>
UML to C++<<PIM to PSM>>
Bridge<<PSM mapping technique>>
IDL to CORBA C++<<PSM mapping technique>>
IDL<<PSM>>
Wells Fargo Models
Account<<BusinessObject>>
number : stringrtn : stringbalance : fixed
Debit()Credit()Refresh()Close()
Customer<<BusinessObject>>
0..n+titleHolders 0..n
AccountFactory<<Factory>>
Get()FindForCustomer()Open()
AccountAccess<<Type>>
Business Logic
Servant
SOR Interfaces
COBOL HOGAN XML LDAP SQL
Pers
iste
nce
Business Service Interfaces
CORBABridge
SOAPBridge
DCOMBridge
RMIBridge
Business Service Interfaces
CORBAProxy
SOAPProxy
DCOMProxy
RMI Proxy
Network
Dis
trib
utio
nRDBMS
Mainframe MainframeUNIX Host
Network
System O
fR
ecord
WebApplication
Server
WindowsApplication
InteractiveVoice Response
Unit Client
Business O
bject Servicies
Proxy Generation (C++ & Java)
Bridge Generation
BSI Generation (C++ & Java)
Servant Generation
"Legacy" Object Generation
IDL Generation
UML ModelA Portion of Wells Fargo's Frame
Rational Rose
Wells Fargo Transformations
From Eric Castain - see www.omg.org/mda
Wells Fargo MDA benefits• Acceleration
– Production of Specifications• Originally IDL based• UML supported developers access to BSI• Mapping dictionary
– Generation of IDL (and stubs)– Generation of C++ BSI Proxy
• Asset protection– BSI objects hide the transport
WHAT IS THE GCPR FRAMEWORK?
GCPR
• 1997 PRD 5 • 1998 SOO issued to D/SIDDOMS Primes • August 1998 Contract Award to Litton/PRC • April 1999 First GCPR Delivery order • January 2000 Complete Proof of Concept • March 2000 Complete Prototype Acceptance Test • February 2001 Complete Iteration 2 of Pilot/Core• November 2001 Near Term Solution deployment
EI/DSGCPRNode
DoD
Firewall
VHA
Firewall
Virtual PrivateNetwork
StandardFrameworkInterface
CHCSCHCSCHCSCHCS
VistAVistA
VistAVistA
VistAVistAVistAVistA
VistAVistAVistAVistA
VHAPrimary
Host
CHCSCHCSCHCSCHCSCHCSCHCSCHCSCHCS
CHCSCHCSCHCSCHCS
HL7 &HistoricalMessages
DoD-VHA Shared GCPRData Repository
Location TBD
104 Sites
174 Sites
GCPR Near Term Solution
Normalized RIM,Reference Terminology
and Privacy Controls (ADI)
HL7 2.3Adapter
HL7 v3XML
(future)
PIDSAdapter
COASAdapter
SQLAdapter
HL7v2.2
Adapter
IIOP ODBC CHCSftp
IIOP/CORBA
MLLP/HL7
IIOP/CORBA
HTTP(future)Connectors
Adapters COASAdapter
IIOP
PIDSAdapter
GCPR Framework
Node
Clients
Services
Computation Independent Business Model
<<PIM>>
Domain Profile<<Profile>>
(from Logical View)
Platform Independent Component View
<<PIM>>
Records/Interfaces<<PIM mapping technique>>
imports imports
Datatypes<<PIM>>
imports imports
GCPR Models
Graph<<Root>>
GraphCollection
addGraphs()getSelected(criteria : Selector)getNext()mergeGraphs()getGraph()commit()rollback()done()
GraphCo ll ect ionManager
createGra phColle ct ion(sessi onID, subColl ecti on, sourceDomain, targetDomai n, autocomm it ) : Gra phColle ct ion
PersonGraph<<Root>>PersonGraphCollection
Cli nicalGraph<<Root>>
ClinicalGraphCollectionProxyGraphCollection
GCPR PIM Computational View
Protects implementation from Domain changes
Protects implementation from Platform changes
Adapters and Transformation
• Normalized Representation– Graph to Java objects
• Implicit transformation– Graph to OMG COAS IDL Structures
• Explicit transformation– HL7 2.2 message to Graph– Graph to/from OMG PIDS
PID HL DG PATIENT IDENTIFICATION
TS 1 Date/Time patientData.player.birthDateTime
DateTime value
TS 2 degree of precision
patientData.player.birthDateTime
DateTime accuracyUnit.coding_scheme_id.authority
TS 2 degree of precision
patientData.player.birthDateTime
DateTime accuracyUnit.coding_scheme_id.naming_entity
TS 2 degree of precision
patientData.player.birthDateTime
DateTime accuracyUnit.a_code
Legacy HL7 2.2 message to GraphExplicit mappingElement Type
Component DataType
7 HL DG DATE OF BIRTHElement
Semantic Path Primitive
Message Segment
GCPR MDA Benefits• Accelerators
– Design Document Generation– Data Dictionary generation for mapping– Adaptor metadata loading
• Asset protection– Platform Independent models
• Domain independent of Computational• Computational independent of Domain
– Proxy objects hide protocol
Recommendations• Use today’s tools for UML - Do not wait!• UML Mapping techniques exist to
– J2EE/RMI– CORBA IDL with ValueType– XML DTD/Schema
• Develop custom generators• Work with your vendor• Participate in the evolving standards• It has been done - converging techniques
Model Driven Development
Best Practices
Software Tools
MDA Standards
Application Development
Science
EngineeringTechnology
Construction
Software Discipline
Common Language
Performance
• Boston– 800 Cummings Park
Suite 2000Woburn, MA 01801781/932-9925 phone
• New York City– 5 Marineview Plaza#214
Hoboken, NJ 07030201/795-3601 phone
• Washington DC (Commercial)– 7900 Westpark Drive
Suite A515McLean, VA 22102703/610-6400 phone
• Washington DC (Fed Govt)– 8000 Westpark Drive
Suite 450McLean, VA 22102703/288-6900 phone
• Austin– 12710 Research Blvd Suite 280
Austin, TX 78759888/810-5990 phone
• San Jose– 77 Battery St
San Francisco, CA 94111415/875-1800 phone
30+ US Offices - 4000 Employees