Behavioral Framework Background & Terminology
Behavioral Framework: Introduction Background.. What was the goal..
Behavioral Framework Provides a grammar to enable interoperability in complex, multi- enterprise domains (e.g. healthcare, life sciences, etc.) Captures behavioral metadata that is considered SOA Best Practice A number of public domain SOA models and specifications capture equivalent information Several competing representation standards address the semantics of the BF, e.g. BPMN2, soalML, CDL, etc. Leverages existing standards (especially RM-OPD) Can be extended/localized to address specific behavioral requirements focused on cross-enterprise interoperability Applicable to multiple interoperability paradigms (e.g. services, messages, documents) Formalizes the notion of contract Contracts are currently only implied in most service specifications
BF Concepts: Roles Identifiers for “collections of behavior” -Identify a cohesive set of invokable capabilities, capacities, or competencies Assignable to a system or an object An object or system may have multiple roles Single role may be assumed by multiple objects or systems Examples: Order Mgmt Service, Specimen Mgmt Service, etc. Roles are involved in Interactions Each interaction involves two types of roles Commissioning Agent ( Service Consumer ) Responsible Agent ( Service Provider ) Roles are realized through Service Specifications Role
Interaction 1 Commissioner Agent (Service Consumer) Responsible Agent (Service Provider) Interaction 2 Interaction 3 Obligation Accountability Interactions that realize A business functions Behaviors Role Behavioral Framework: Concepts
BF Concepts: Accountability and Behavior Behaviors in the SAIF BF are realized through service operations & Functional Profiles A defined behavior is realized through an Interaction (a service operation call) Accountability in the SAIF BF is realized through Functional Profiles and logically conjoined Interactions Function Profiles provide accountability by grouping behaviors Accountability example: successful placing of a lab. 1 Commissioner Agent (Lab order placer) Responsible Agent (Lab order fulfiller) 2 3
BF Concepts: Interactions Roles have defined behaviors that can be realized through (internal) Actions and (external) Interactions -The BF is scoped to Interactions only. -Interaction example: Place a lab order Interaction Order a Lab! Promise Lab Order!
BF Concepts: Obligations Obligations Define the scope of Role’s Interaction, i.e. specific “tasks” or “deliverables” that the responsible Role must accomplish over the course of the Interaction
BF Concepts: Contracts Contracts in BF define Interactions between Roles Contracts specify Overall requirements for the two roles in each Interaction Interaction patterns/information flow direction and specifics Accountabilities Permissions Restrictions The BF refers to contracts as “Contract Template” Emphasizes the fact that a contract can be robustly defined before it is involked
The Accountability Pattern and Contracts Aperational level, Expedia issues Joe a ticket to Kyoto Parties: Joe (commissioner) and Expedia (responsible) Accountability: The activities around Expedia acting as a Travel Agent for Joe, i.e. create an account, purchase ticket, deliver ticket, check flight Contracts aggregate Accountability, typecast Parties, and define Actions to support Accountability Types. In other words … contracts bind design time specifications (Knowledge Level) to run time components (Operational Level) Knowledge level: travel agents issue tickets for a traveler through the Accountability Type of Travel Agency
Contracts and Conformance Contracts provide the key to defining conformance -Conformance relies on evaluating the interactions between roles. -Interactions are enabled behavior between two roles that are bound to interfaces that allow them to perform actions to support some goal.
Behavioral Framework Models & Terminology
BF: HL7 Dynamic Model
BF: Contracts Model
BF: CIM Package Description
BF: Packages
BF: Package Description
BF: CIM Package List Code Systems Read Only Invalid Filter Criteria Authenticated None Code System Code System Version Terminology Provider CTS2 Query Profile TU Gets Code Systems: Satisfies UC Terminology Users & Providers None Conceptual Placeholder (Not Modeled in BF) Terminology Services
BF: CIM Package Description
BF: PIM Package LexEVS Query Profile None Service Specification getSupportedCodingSystems() codingScheme None Filter Criteria
BF: PIM Package Description
BF: PSM Package Runtime Package of Services (LexEVS Query Services) Runtime Package of Services (LexEVS Services deployed as Grid Services) getSupportedCodi ngSchemes(Filter Criteria: java.lang.String) Platform Specific Schema: for input parameters
BF: PSM Package Description
BF: Solution Package One Or More Roles One Or More Solutions Specifications One Or More Roles CDL Constructs
BF: Solution Specification Mapping to CIM
BF: Solution Package Description