U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC...
-
Upload
judith-simpson -
Category
Documents
-
view
215 -
download
1
Transcript of U.S. General Services Administration George Thomas, GSA Enterprise Chief Architect, FCIOC-AIC...
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
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
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
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
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…
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
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.
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
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
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
George Thomas, GSA EA Group Mar 8, 2008
11
FM Discipline: Enterprise Roles
George Thomas, GSA EA Group Mar 8, 2008
12
RA Enterprise Role: Work Roles
George Thomas, GSA EA Group Mar 8, 2008
13
Billing Work Role: Activities
George Thomas, GSA EA Group Mar 8, 2008
14
Establish Billing Activity: Sub Activities
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
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>
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
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>
George Thomas, GSA EA Group Mar 8, 2008
19
ADM - Flow of NEAR Modules
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
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
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
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
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
George Thomas, GSA EA Group Mar 8, 2008
25
Receivables Management Activities
Received eventReceived event
ActivityActivity Sent eventSent event
Information flowInformation flow
George Thomas, GSA EA Group Mar 8, 2008
26
Establish Unfilled Customer Order Subactivities
SubactivitySubactivityInput parametersInput parameters
Output parameter
Output parameter
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!)
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>
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
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
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
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
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