mda reality/implementation · 2013-12-16 · tcp/ip opennet business tcp/ip method servers genesys...

31
MDA Reality/Implementation OMG Model Driven Architecture in the Application Life Cycle Tony Mallia, CIBER Inc. [email protected]

Upload: others

Post on 19-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

MDA Reality/Implementation

OMG Model Driven Architecture in the Application Life Cycle

Tony Mallia, CIBER [email protected]

Page 2: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 3: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Member Price $99.99

Version 1.0

Page 4: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Model Driven DevelopmentApplication Life Cycle

Best Practices

Software Tools

MDA Standards

LanguageCompliance

UsageAccelerator

Validation Usage

Page 5: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Best PracticesHow to articulate architecture

• Statement of Design Guidelines• Integration Mechanism• Design testability

– Requirements satisfaction– Technical testing

• Technology constraints– Environment support

Page 6: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 7: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Design Specifications

• Pieces of Paper• Electronic Documents in a File• Metadata Repository

Page 8: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

A mature industry has a common language

Page 9: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Feedback to the Customer

Illustrations from ChiefArchitect

Page 10: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

What would happen if all your subcontractors appeared

without an overall plan

Page 11: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Plat form Independent Model (PIM) PIM Mapping

Techniques

Platform Specific Model (PSM)

PSM Mapping Techniques

RefactoringMapping

MDA Organization

Page 12: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 13: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Model Driven Development as Integration Best Practice

Generate Platform Specific Models Build/TestDevelop Platform

Independent Models

Page 14: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 15: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Practical Examples

• Wells Fargo – (Enterprise Application Integration) EAI

• Government Computer-Based Patient Record project (GCPR)– (Inter-Enterprise Integration) IEI

Page 16: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 17: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 18: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 19: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 20: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

WHAT IS THE GCPR FRAMEWORK?

Page 21: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 22: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 23: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 24: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 25: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 26: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 27: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 28: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 29: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

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

Page 30: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

Model Driven Development

Best Practices

Software Tools

MDA Standards

Application Development

Science

EngineeringTechnology

Construction

Software Discipline

Common Language

Performance

Page 31: MDA Reality/Implementation · 2013-12-16 · TCP/IP OpenNet Business TCP/IP Method Servers Genesys Corp Computer Telephone Integration Periphonics Corp IVRU Meridian PBX/ACD Customer

• 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