U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC...

33
U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee The Role of Modernization at GSA OMG Gov Info Days, 3/11/08

Transcript of U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC...

Page 1: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

U.S. General Services Administration

George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee

The Role of Modernization at GSAOMG Gov Info Days, 3/11/08

Page 2: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

2

This Presentation

• Overall– Modernization Context

– Top down MDA and bottom up ADM strategy

• Yesterday– Service Oriented Business Architecture

– Architecture Driven Modernization Summary

• Today– Service Component Reference Architecture

– Platform Specific Model Transformations

– Service Oriented Infrastructure

Page 3: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

3

Modernization Context

• GSA has 8 SSO’s– FAS, PBS, OCFO, OCAO, OCIO, OCSC, OGP, OCHCO– ~13,000 people across the country (globe)

• Some localization of the ‘back office’, but numerous ‘feeder systems’ and multiple back offices...

• Business and IT SME’s– Systems heterogeneity– Lossy expertise outsourcing

» Functionality unknown, forgotten, lost, out of date, or otherwise unavailable!

• ~$600M in mostly care and feeding of existing IT– Not good business coverage, but (massively) redundant IT

• Insert other b/f/c slogan here…

• OMG to the rescue!– Make $200 per person day become $20 at a cost of X over Y

• eGov dogfood - including all your customers!

– MDA toddler, ADM new born• 5 years into MDA, one ADM project

– FMEA– NEAR

Page 4: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

4

Architecture Driven Modernization (ADM)

MDA Top Down - ADM Bottom Up

Model Driven Architecture (MDA)

Aspects of system detail discovery, and

generation of technology platform implementation are

automated

Page 5: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

5

FMEA Support Team and Tools

• OCIO and OCFO on FMEA for FMLoB– Model Driven Solutions

• MDA, One GSA EA, ComponentX, SOAPro specialists

– Logistics Management Institute• GSA EA and FM domain (including JFMIP-FSIO) specialists

– Tactical Strategy Group• ADM, Transformation specialist

– Allen Systems Group• Becubic and additional support

• Overall FMEA ADM effort– From a Pilot, to NEAR critical

• Enabled the identification of modules and programs that are still active (86 modules, 728 programs, 342 copybooks, 735,000 lines of code)

– Tag (annotation framework) code segments, relate to other code segments

– Offers query, reporting, sorting capabilities that are very useful for the extraction of business rules

• ~3 FTE person months - 422 out of 728 reviewed, 636 business rules extracted

• Only ADM’ing the COBOL stuff…

Page 6: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

6

SOBA: “One GSA” Discipline Segmentation

Financial Management

Policy

Acquisition

Human Resources Marketing

Property ManagementSolutions

Business Intelligence

Focus of FMEA

Page 7: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

7

SOBA: FM Discipline: Enterprise Roles

Receivables Accounting

Funds Management Payables Accounting

Asset Accounting

Financial Planning

General Ledger

Cost AllocationCash Management

Financial Reporting

Financial Reporting collects financial data from all other enterprise roles.

Page 8: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

8

Service Oriented BA Models: Grammar and Visualization

ROLE 1ROLE 1

P1

ROLE 2

P2

ROLE 3

P4P3

CoI (G2G, B2B, B2G, G2C, A2A)

• EDOC as Service Oriented Architecture Domain Specific Language– Collaborative Role Interactions (CRI), standard graphic notation

• ‘Systems of systems’, a recursive functional decomposition of roles– BP is a composition of choreographed and orchestrated Services– In/Out-sourced, Org/Geo boundary crossing

LoB Service

Consumer

LoB Service

Provider

Mediation

Service

Page 9: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

9

SOBA: Decomposition Conventions

Work RoleWork Role

ProtocolProtocol

ActivityActivity

Sub activitySub activity

Information FlowInformation Flow

Enterprise RoleEnterprise Role

Page 10: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

10

EDOC and BPMN = Choreography + Orchestration

+

+

Receiv

ab

les

Accou

nti

ng Billin

gO

ther

RA

W

ork

R

ole

Acq

uis

itio

n

Acq

uis

itio

n W

ork

R

ole

The Protocol between Acquisition and Receivables Accounting Service Component Orchestrations

Page 11: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

11

FM Discipline: Enterprise Roles

Page 12: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

12

RA Enterprise Role: Work Roles

Page 13: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

13

Billing Work Role: Activities

Page 14: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

14

Establish Billing Activity: Sub Activities

Page 15: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

15

EDOC Protocols = Service Interface Specification

The Protocol interaction is initiated by a message from the Service Consumer

The Protocol interaction is initiated by a message from the Service Consumer The Service Provider responds to

the Consumer with success or failure message ‘callbacks’

The Service Provider responds to the Consumer with success or failure message ‘callbacks’

Each message in a Protocol is an event that the Service Provider responds to

Each message in a Protocol is an event that the Service Provider responds to

Page 16: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

16

Protocols Are Used To Generate WSDL (SA/PSM, TRM)

<portType name=“ChargeEstablishmentRequestInterface"><operation name=“sendChargeEstablishment">

<input name=“ChargeEstablishment" message="tns:ChargeEstablishment" />

</operation></portType>

<portType name=“ChargeEstablishmentResponseInterface"><operation name=“sendChargeEstablished">

<input name=“ChargeEstablished" message="tns:ChargeEstablished" />

</operation><operation name=“sendChargeRejected">

<input name=“ChargeRejected" message="tns:ChargeRejected" />

</operation></portType>

Page 17: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

17

Business Transaction Message Model (DTO Assembler)

“panoptic” inheritance of “namesakes”“panoptic” inheritance of “namesakes”

NamesakeNamesake

“restricted” inheritance allows for explicit inclusion and exclusion of attributes and associations

“restricted” inheritance allows for explicit inclusion and exclusion of attributes and associations

MessageMessage

Page 18: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

18

Generated DTO in XML is the SOBA IEP

<CustomerOrderEstablishment> <Inter-Work-RoleTransaction> <inter-work-roleTransactionID> … </inter-work-

roleTransactionID> … </Inter-Work-RoleTransaction> <newOrder> <orderingCustomer> <customerID> … </customerID> </orderingCustomer> <controllingSalesInstrument> <salesInstrumentId> … </salesInstrumentId> </controllingSalesInstrument> <customerOrderAmount> … </customerOrderAmount> … <lineItems> … </lineItems> </newOrder></CustomerOrderEstablishment>

Page 19: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

19

ADM - Flow of NEAR Modules

Page 20: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

20

NEAR Sunset SequencingConstruct Program

Flow

Derive Module Flow

Replace loops with super-modules

Identify simple paths of acyclical Module flow

Compute degrees of modules

Compute path redundancies and sort

paths

Select path with the lowest redundancy and a module of degree 1

Add modules of degree 1 to the turn-off

sequence

Eliminate selected path from set of paths

Set of paths has more than 1

element ?

Yes

Replace super- modules with their

modules in the

End

Start

No

• Becubic enabled us to discover NEAR data exchanges and module dependencies– “Simple Path” from system inputs to system

output can be derived (graph theory)• Functionality of modules belonging to the same

path should be transitioned simultaneously• Priority is given to Simple Paths of which

nodes (modules) belong to the smallest number of other Simple Paths

• Turn off a module when it does not belong to another Simple Path

• A Turn Off sequence of NEAR Modules was derived from the files exchanged between programs inside modules per service and per functional area

• This sequence allows evaluation of feeder systems based on service presentation, e.g. asset accounting

Page 21: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

21

Record Unfilled Customer Order - Functional Spec

• Receive CustomerOrderEstablishment • Let newOrder =

CreateCustomerOrder(CustomerOrderEstablishment.newOrder).data • Send GeneralLedgerTransaction to increase Unfilled Customer Orders

and decrease Anticipated Reimbursements • Send newOrder as RecurrentCustomerOrder

(Note: EstablishRecurringReceivables will check if there are actually any creation triggers.)

• Send CustomerOrderEstablished

• Receive CustomerOrderEstablishment • Let newOrder =

CreateCustomerOrder(CustomerOrderEstablishment.newOrder).data • Send GeneralLedgerTransaction to increase Unfilled Customer Orders

and decrease Anticipated Reimbursements • Send newOrder as RecurrentCustomerOrder

(Note: EstablishRecurringReceivables will check if there are actually any creation triggers.)

• Send CustomerOrderEstablished

Page 22: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

22

Service Components from Service Architectures

The Plays Role dependency specifies the

interfaces of a service component by declaring how it is to participate in

the business architecture

The Plays Role dependency specifies the

interfaces of a service component by declaring how it is to participate in

the business architecture

The Service Component gets a port corresponding to each roles played by the indicated participant

The Service Component gets a port corresponding to each roles played by the indicated participant

Page 23: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

23

Participants at this level could roughly be individual people or

system functions

Participants at this level could roughly be individual people or

system functions

Internal interactions needed to carry out

the required business services

Internal interactions needed to carry out

the required business services

Business service provided and consumed by Receivables Accounting

Business service provided and consumed by Receivables Accounting

Receivables Accounting SOBA

Page 24: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

24

Receivables Accounting Reference Architecture

User of a consumed service by

multiple internal

parts

User of a consumed service by

multiple internal

parts

Page 25: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

25

Receivables Management Activities

Received eventReceived event

ActivityActivity Sent eventSent event

Information flowInformation flow

Page 26: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

26

Establish Unfilled Customer Order Subactivities

SubactivitySubactivityInput parametersInput parameters

Output parameter

Output parameter

Page 27: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

27

Record Unfilled Customer Order Behavior

Control flowControl flow

• Can be specified using basic UML Activity Diagrams

– Or use BPMN (not part of UPMS) for BPMS (from left to right!)

Page 28: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

28

Example Web Services Generation

<wsdl:portType name=“BillSubmission.BillSubmissionReceiverInterface">

<wsdl:operation name=“submitBill"> <wsdl:input message="tns:BillSubmissionCluster“ name=“billSubmission"> </wsdl:input> </wsdl:operation> </wsdl:portType>

<wsdl:portType name=“BillSubmission.BillSubmissionSubmitterInterface">

<wsdl:operation name=“notifyBillDelivered"> <wsdl:input message="tns:BillDeliveredCluster“ name=“billDelivered"> </wsdl:input> </wsdl:operation> <wsdl:operation name=“notifyBillReturned"> <wsdl:input message="tns:BillReturnedCluster“ name=“billReturned"> </wsdl:input> </wsdl:operation> </wsdl:portType>

Page 29: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

29

Financial System Specification

Service Interfaces

Service ComponentsService Manager Components

Behavioral Specifications

Message SpecificationsData Manager Components

Persistent Data Specifications

Financial System Specification

Service Interfaces

Service ComponentsService Manager Components

Behavioral Specifications

Message SpecificationsData Manager Components

Persistent Data Specifications

From Reference Architecture to Reference Implementation

Financial System Implementation

Web Services

Service FaçadesPlatform (JEE) Components

Language Functions

XML SchemasData Bases

Data Base Schemas

Financial System Implementation

Web Services

Service FaçadesPlatform (JEE) Components

Language Functions

XML SchemasData Bases

Data Base Schemas

Logical System Architecture (ZIFA) =

Platform Independent Model (MDA) =

Segment Architecture (FEA) =

Reference Architecture

Physical Technology Architecture (ZIFA) =

Platform Specific Model (MDA) =

Solution Architecture (FEA) =

Reference Implementation

Page 30: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

30

Software Factories

• Platform Specific Model (PSM)– More stereotyping

and tagging• generate code

from this PSM

• <<Provision>>– To JEE tiers;

• Integration– HTTP, JMS

• Services– MDB, SSB, etc.

• Data– SQL, DDL, etc.

• jar/war/ear

• modeldriven.org– Transformations

• PIM/PSM to PSI

Page 31: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

31

Solution Architecture, Target J2EE Technology Platform

TransactionalServices Tier

Adapter Tier Integration Tier (ESB)

J2EE Application Server JMS Broker

Request QueuesRequest Queues

J2EE Application Server

TransactionManagerFile

Adapters

Files

DataManager

JMS

Feeder Systems

JMS

SOAP/HTTPFTP

WebServiceAdapter

RMI

JAX-WS

EJB

Result TopicsResult Topics

EJB

GL System

SOAP/JMS

Oracle XML DBJDBC

Server-SidePresentation

Meta Data Repository

XSLT XSD XMI WSDL

HTTP/WebDAV

Directory

LDAPJMX

Management Console

Page 32: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

32

Same Source (PIM) For New JEE/JBI SA Target (PSM)

Transactional Service Tier

EJB Container

Adapter Tier Integration Tier

JBI Runtime

JMS Broker

ESB Centralized Management Server

Queue

Topic

JBI Runtime

JMSBC

JMSBC

Normalized Message Router Normalized Message Router

FileBC

Files

JEESE

JMS

JBI Runtime

NMR JMSBC

HTTPBC

Feeder Systems

JMS

SOAP/HTTP

XSLTSE

TransformScript

FTP

RMI

BPELSE

AdapterProcess JMX JMX

SOAP/JMS

JMS

JAX-WS

Server-SidePresentation

TransactionManager

DataManager

SA Now Targeting Service Units and Service AssembliesSU

SA SU SA SUSA SU

Page 33: U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC Service Subcommittee Co-chair, OMG GovDTF Steering Committee.

George Thomas, GSA EA Group Mar 8, 2008

33

Questions, Discussion

• Thank You for your time!

– This presentation can be found here;• https://george-thomas.info/08/omg/adm

[email protected] - 202.219.1979

– General Services Administration• Office of the Chief Information Officer, Enterprise Chief Architect

– Federal CIO Council• Architecture and Infrastructure Committee Services Subcommittee co-

chair

– Object Management Group• Government Domain Task Force Steering committee

– USDA Graduate School• EA Certificate Program SOA Instructor