Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
© Agilex Technologies, Inc. www.agilex.com
Integrated Requirements DesignA practical methodology for SOA
Wendell Ocasio, MDChief Medical Officer, Agilex Technologies
SOA in Healthcare Conference 2009
2© Agilex Technologies, Inc. www.agilex.com
The Problem
Everybody wants “a SOA” for their organization
It is no longer controversial or hard to convince leadership to embrace “SOA”
But…what does it mean?“SOA” has become an almost meaningless buzzwordHow to actually accomplish something that brings value?
First question should be: What is the value?
3© Agilex Technologies, Inc. www.agilex.com
What is needed
Practical techniques that allow you to:Define the expected valueUnderstand your particular challenges (“requirements”)Apply SOA principles that result in IT systems that provide the desired value (“design”)
4© Agilex Technologies, Inc. www.agilex.com
What is Integrated Requirements Design?
Traditionally, the activity of eliciting and analyzing requirements is done separately from the design of the solutions
Different teams -> requirements thrown “over the fence”Solutions that meet requirements but do not provide the value that users expect
IRD recognizes that an integrated team must address these two aspects together
5© Agilex Technologies, Inc. www.agilex.com
SOA Myths / misconceptions
You can get/buy/acquire/build SOASOA is:
SOA means Enterprise Service BusSOA is all about the businessSOA improves runtime performanceStart by identifying “common services”
6© Agilex Technologies, Inc. www.agilex.com
Inadequate SOA analogy
SOA is like the roads, telephone lines, electrical lines needed to build a new housing development
We already have the Internet (or IP-based communications)
7© Agilex Technologies, Inc. www.agilex.com
Thoughts on ESB
Enterprise Service Buses (ESBs)Do not equal SOAAre not really busesAre not a prerequisite for service orientationYou do not need to standardize ESBs across your entire enterprise
8© Agilex Technologies, Inc. www.agilex.com
So…what is SOA?
SOA is an organizational principleValue is most apparent in:
Complex environmentsMultiple disparate IM/IT resourcesFrequent change
Better analogy: a marketStock market efficiently relates investors and industrySOA relates consumers and producers of IM/IT resources
9© Agilex Technologies, Inc. www.agilex.com
So…what is a service then?
A mechanism that brings together a provider of a capability with potential consumers of that capabilityCorollary:
Understanding needs and capabilities of the enterprise needs to occur before you can define mechanismsDo not start by identifying services
10© Agilex Technologies, Inc. www.agilex.com
How do I organize my enterprise?
1. Understand needs
2. Establish capabilities
3. Implement the mechanisms
11© Agilex Technologies, Inc. www.agilex.com
Hardest aspect of SOA
Scoping the capability (Goldilocks)
Mergers are not always goodExample: orders
Just because we can generalize between clinical orders and medical logistics orders, it does not follow that a large “orders” service covering the two is a good idea
12© Agilex Technologies, Inc. www.agilex.com
Mechanics of IRD Methodology
Top-downArchitecture principlesManagement RepositoryGovernance
Bottom-upDefine InitiativesUnderstand business processesDefine service specifications and components
13© Agilex Technologies, Inc. www.agilex.com
Examples of Architectural Principles
Understand information requirements firstEnterprise dataAuthoritative sourcesSeparation of presentation from logicSeparation of data from services
14© Agilex Technologies, Inc. www.agilex.com
Integrated Management Repository
Enterprise-wide repository of:RequirementsInformation exchangesBusiness process models & use casesSystem architectureService specifications and contracts
Integration allows for traceability
15© Agilex Technologies, Inc. www.agilex.com
Governance
The ability to make and enforce decisions at an enterprise level:
TechnologyService definitionsInformation semanticsStandardsEtc…
May take many forms (not mutually exclusive):CommunitiesArchitecture / Investment Review BoardsEtc…
16© Agilex Technologies, Inc. www.agilex.com
Bottom-up analysis
Based on analysis of each initiativeMust have well-defined scope and purpose
Lack of defined scope is primary cause of long delays throughout the lifecycleLack of defined purpose is primary cause of solutions that “meet the requirements”but are not valuable to the users
17© Agilex Technologies, Inc. www.agilex.com
Overarching Description Document
Other names:Vision DocumentConcept of Operations
Main Goal:Clearly define scope and purpose of initiative
It is the single most important IRD artifact
18© Agilex Technologies, Inc. www.agilex.com
Overarching Description Document
Recommended sections:Problems
Do not say “lack of automation in…”
CustomersHigh level functional descriptionBusiness valueScope clarificationAssumptions/preconditionsConstraintsRisks
19© Agilex Technologies, Inc. www.agilex.com
Informal architecture diagrams
System
TransactionRepository
XYZ
DB A
DB B
Data Warehouse
DB X
Correspondence
Application data plus
attachments
enrollmentInformation
ServiceInformation
AcademicInstitution
Information
EligibleDependents
/End User
Applicants /Claimants
APP B
-facing UI
Manage claim status
DB C
Educational BenefitHistory
Staff-facing UI
SNAIL MAIL TOVETS/SCHOOLS
FinancialInformation
Choice TBD
Treasury
SNAIL MAIL TOVETS/SCHOOLS
Choice TBD
SNAIL MAIL TOVETS/SCHOOLS
Choice TBD
SNAIL MAIL/
Manage claims
adjudication
Choice TBD
Other
Reports
Rules Engine
Workflow Engine
Staff
Corporate DB
EnterpriseData
Attribute-basedSecurity
DB F
RulesEngine
FinancialTransactions
Attribute-based
Security/Access
EducationData Source(s)
DoDData Source(s)
EnterpriseData Source(s)
InternalV
A UI
Claim
antSelf Service
InstitutionSelf Service
WorkflowEngine Other Services
…
FinancialService
InstitutionsData Source(s)
Chapter 33Specific
SPAWAR
VA
External
RulesEngine
FinancialTransactions
Attribute-based
Security/Access
EducationData Source(s)
ExternalData Source(s)
EnterpriseData Source(s)
InternalU
IC
laimant
Self ServiceInstitution
Self Service
WorkflowEngine Other Services
…
FinancialService
InstitutionsData Source(s)
DatabaseSpecific
ORG A
ORG B
ExternalFET
TIMS
BET WEAMSWAVE BDN
VAONCE
VIS
ECAPCorporate
VADIR
DataWarehouse
PCGLVONAPP
Claimant
UI
Institutions
Job Aids
Treasury
APP H
APP F
APP E APP DAPP H APP I
APP J
APP a
APP xAPP Y
APP B
DataWarehouse
APP CAPP G
Claimant
A
Institutions
Job Aids
Treasury
20© Agilex Technologies, Inc. www.agilex.com
Behavioral models
Define the business processesMore detail – specify how the functional actors interact with technical actorsSeparate processes within separate spans of control via poolsShow explicit information exchanges via Message Flows
Map to an information modelExpand the graphical model with textual business rules
Preferred standard: Business Process Modeling Notation (www.bpmn.org)
21© Agilex Technologies, Inc. www.agilex.com
Behavioral model notation
22© Agilex Technologies, Inc. www.agilex.com
Structural Models
Show the parts of the solution and their interrelationshipsExplicitly separate the concepts of:
Abstract service or system function specificationsSoftware componentsNodes (physical servers and execution environments)
Preferred approach:Derived from CBDI Forum Service Architecture & Engineering meta model for SOAhttp://www.cbdiforum.com/public/meta_model_v2.php
23© Agilex Technologies, Inc. www.agilex.com
Architectural layers
Help separate the partsRules determine the dependencies between members of each layerNo standard list of layers – decide based on your enterprise principlesExample list of layers:
ApplicationLegacy / Departmental systemsProcess ServicesEntity ServicesUtility ServicesData Sources
24© Agilex Technologies, Inc. www.agilex.com
Specification diagrams
Show the different system functions across layers and their dependencies System functions:
Are equivalent to the technical actors in the behavioral modelsCan be applications, legacy systems, services, or data sources
Services are specified by operationsMessages (input/output)Pre- and post-conditionsService Level Agreements
Requires specification information beyond what is shown in the picture
25© Agilex Technologies, Inc. www.agilex.com
Specification Diagram notation o b j e c t E R C C R S p e c i f i c a t i o n M o d l e
P ro c e ss C o n t ro l L a y e r
A p p l i c a t i o n
C o re S e rv i c e L a y e r
U t i l i t y L a y e r
D a t a L a y e r
A l e r t H a n d l e r M a n a g e r
+ C re a t e A l e r t ( )+ S e n d A l e r t ( )
P r o v i d e r D o c u m e n t V i e w e r
+ P r i n t ( )+ R e t r i e v e ( )+ S o r t ( )+ V i e w ()
S to r a g e C D R T r a d i n g P a r tn e r R e g i s tr y S to r a g e
9 9 7 P r o c e s s M a n a g e r
+ A c c e p t ( )+ C re a t e ( )+ R e j e c t ( )+ S t o re ( )
M a n u a l E x c e p t i o n H a n d l e r
+ R e so l v e E x c e p t i o n ( )+ R e t r i e v e E x c e p t i o n ( )+ S o r t E x c e p t i o n ( )
T r a d i n g P a r tn e r S e r v i c e M a n a g e r
+ A d d (B u si n e ss I n f o rm t i o n , I D ) : S t r i n g+ D e l e t e ( )+ R e t r i e v e ( )+ U p d a t e ( )+ V e r i f y ( )
X 1 2 M e s s a g e P r o c e s s o r
+ P ro c e ss X 1 2 ()
P r o v i d e r A l e r t M a n a g e r
+ R e t r i e v e A l e r t ( )
2 7 5 M e s s a g e P r o c e s s o r
+ P ro c e ss 2 7 5 ( )C D A R 2 M e s s a g e
M a n a g e r
+ P ro c e ss C D A R 2 ( )
C D R S to r a g e M a n a g e r
+ A d d ()+ A p p e n d ()+ R e t r i e v e ( )+ S t a t u s( )+ U p d a t e ( )
A u d i t F u n c t i o n M a n a g e r
N a m e : E R C C R S p e c i f i c a t i o n M o d l eA u t h o r : I R D F S W GV e rs i o n : 2 . 0C re a t e d : 3 / 5 / 2 0 0 8 9 : 0 8 : 3 7 P MU p d a t e d : 3 / 1 5 / 2 0 0 8 1 2 : 2 2 : 4 4 P M
C L R T r a n s m i t te r
X 1 2 E n v e l o p e M o d u l e
S to r a g e C D R (L o c a l )
26© Agilex Technologies, Inc. www.agilex.com
Implementation diagrams
Show the specific software components that will implement the system functionsComponents:
May be decomposed into sub-componentsMay act as both service providers and service consumers
27© Agilex Technologies, Inc. www.agilex.com
Implementation Diagram notation c m p E RCCR Im ple m e nta tion M ode l
L e g e n d
ALTHA Clin ic a l Da ta Re s pos itory (CDR)
S tor a geS to r a g eCDR
Com p one nt1
P ro v id e dIn te r fa ce
Com po ne nt2
Re q u i re dIn te r fa ce
Na m e : E RCCR Im p l e m e n ta t i o n M o d e lA u th o r: FS WGV e rsio n : 2 .0Cre a te d : 3 /5 /2 0 0 8 9 :2 9 :0 0 A MUp d a te d : 3 /2 4 /2 0 0 8 1 :0 3 :5 6 P M
Re q u i re d i n te rfa ce i s a se rvi ce co n su m e r
P ro v id e d i n te rfa ce i s a se rvi ce p ro vi d e r.
A l l Fu n cti o n w i l l ca l l M a n u a l P ro ce ss Ha n d le r i f n e ce ssa ry
T h i s co m p o n e n t e xp o se s a n i n te rfa ce fo r o th e r co m p o n e n ts to u se . T h e i n te rfa ce i s a co n tra ct to p ro vid e sp e ci fi c b e h a vio r to o th e r co m p o n e n ts th a t re q u i re th a t se rvi ce .
T h i s co m p o n e n t n e e d s th e se rvi ce s o f a n o th e r co m p o n e n t to p e rfo rm i ts re q u i re d wo rk.
AHLTA Us e r Inte rfa c e
P roiv i de r A le rt M od ule
Doc um e nt M odule
Ale rt Ha ndle r
A le rtHa n d le rM a n a g e r
AHLTA S tora ge M od ule
CDR S t o ra g eM a n a g e r
M HS G a te w a y (Agnos itic )
X 1 2 M e s s a ge P roc e s s or
X 1 2 E nv e lope M od ule
2 7 5 M odule2 7 5 M e ssa g eP ro ce sso r
9 9 7 M odule9 9 7 P ro ce ssM a n a g e r
CDA R2 M oduleCDA R2M e ssa g eM a n a g e r
Tra ding P a rtne r
Tra ding P a rtne r M a na ge rT ra d in g P a rtn e r
S e rv i ceM a n a g e r
Tra ding P a rtne r Re gis try
T ra d in gP a rtn e rRe g i stryS to ra g e
:M a nua l P ro c e s s Ha nd le r
M a n u a lE xce p ti o nHa n d le r
Audit M odule
A d u i t Fu n cti o nM a n a g e r
ALTHA Clin ic a l Da ta Re s pos itory (CDR)
S tora ge L oc a l
S to ra g e CDR(L o ca l )
28© Agilex Technologies, Inc. www.agilex.com
Deployment Diagram
Show the nodes in which the software components will be deployedNodes can be:
Servers (in a particular location or virtualized in a cloud)Execution environments within servers
Examples: web servers, app servers, ESBs
29© Agilex Technologies, Inc. www.agilex.com
Deployment diagram notation deployment ERCCR Deployment Model
MCSC
Data Center
AHLTA Clinical Work Station
ALTHA Local Cache
Nam e: ERCCR Deplo yment ModelAuthor: FS WGVersion: 2.0Crea ted: 3/5/2008 9:52:13 AMUpda ted: 3/15/2008 12:14:19 PM
MTF
AHLTA Front End Processor
CLR S ender
MHS Gateway
AHLTA Superdome
:AHLTA User Inter face
:ALTHA Clinical Data Resposi tory
(CDR)
:Trading Partner
:Manua l Process Handler
:AHLTA Storage Module
:Audit Module
X12 Me ssage Proce ssor
:Alert Handler:ALTHA Clinical
Data Resposi tory (CDR) Storage Local
MTF LAN
WAN
PECC LAN
MTF LAN
WAN
Internet
30© Agilex Technologies, Inc. www.agilex.com
Lessons learned from IRD
Don’t create a wall between requirements and designGet scope and purpose right earlyBusiness needs comes before service definitionDetermine how to make and enforce decisions
31© Agilex Technologies, Inc. www.agilex.com
Questions
32© Agilex Technologies, Inc. www.agilex.com
Wendell Ocasio, MDChief Medical [email protected](703) 889-3899