116
06/23/22 23:59 SAEAF Education Series 2: SAEAF Behavioral Framework April 2009 HL7 Services-Aware Enterprise Architecture Framework (SAEAF)

SAEAF Education Series 2: SAEAF Behavioral Framework April 2009

  • Upload
    rhona

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

SAEAF Education Series 2: SAEAF Behavioral Framework April 2009. HL7 Services-Aware Enterprise Architecture Framework (SAEAF). SAEAF Education Series (1). The SAEAF Education Series includes the following: 1: Introduction and Overview SAEAF Value Proposition: Working Interoperability - PowerPoint PPT Presentation

Citation preview

Page 1: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

04/21/23 18:17

SAEAF Education Series

2: SAEAF Behavioral Framework

April 2009

SAEAF Education Series

2: SAEAF Behavioral Framework

April 2009

HL7 Services-Aware

Enterprise Architecture Framework

(SAEAF)

Page 2: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 2

SAEAF Education Series (1) SAEAF Education Series (1)

• The SAEAF Education Series includes the following:

– 1: Introduction and Overview

• SAEAF Value Proposition: Working Interoperability

• SAEAF Structural Components

– Behavioral Framework

– Enterprise Conformance/Compliance Framework

– Governance Framework

• SAEAF Organizational Implications

– Education

– Change Management

– Alpha Projects

Page 3: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 3

SAEAF Education Series (2) SAEAF Education Series (2)

• The SAEAF Education Series includes the following:

– 2: Behavioral Framework

• Contracts, Roles, Collaborations

• Mapping to HL7 Dynamic Model

• Relationship to the Unified Field Theory

• Examples

Page 4: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 4

SAEAF Education Series (3) SAEAF Education Series (3)

• The SAEAF Education Series includes the following:

– 3: Enterprise Conformance/Compliance Framework (ECCF)

• A multi-dimensional world

– Conformance

– Compliance

– Consistency

– Certification

– Traceability

– Jurisdiction

– Provenance

• The SAEAF Specification Stack and the ECCF

• ECCF and Governance

Page 5: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 5

SAEAF Education Series (4) SAEAF Education Series (4)

• The SAEAF Education Series includes the following:

– 4: SAEAF Governance

• Definitions

• The Governance Challenge

• Contextualizing Governance

• Governance Perspectives

• Types of Governance

• Putting it all together

• Summary

Page 6: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 6

SAEAF Education Series (5) SAEAF Education Series (5)

• The SAEAF Education Series includes the following:

– 5: SAEAF Examples

• Service Interoperability Paradigm

• Message Interoperability Paradigm

• Document Interoperability Paradigm

• More topics possible as deck is developed (Feb 09)

Page 7: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 7

SAEAF Series Part 2:SAEAF Behavioral Framework

SAEAF Series Part 2:SAEAF Behavioral Framework

• Mandatory Pre-requisites

– Knowledge of SAEAF Education Series Parts 1

• Part 1: Introduction and Overview

• Optional Pre-Requisites (some concepts overlap)

– Part 3, SAEAF ECCF

• HL7 Behavioral Framework and ECCF are intimately linked via…

– Traceability and Levels of Conformance

– Scope of Collaboration

– Specification Stack Topic

– Part 4, SAEAF Governance

• Service-oriented behavioral models insist on boundaries and separations of concerns, which leads to notions of jurisdiction and provenance

Page 8: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 8

SAEAF Series Part 2:SAEAF Behavioral Framework (2)

SAEAF Series Part 2:SAEAF Behavioral Framework (2)

• Outcomes

– Understanding and application of primary Behavioral concepts

• Service Roles, Collaborations, Contracts

– What Behavioral Models are (and why they are important) in the context of Working Interoperability (WI)

• Conformance

• Compliance

– Ways to use Behavioral Concepts

• In a Standards Development Organization

• As an Implementer

Page 9: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 9

SAEAF Value Proposition (1):Working Interoperability

SAEAF Value Proposition (1):Working Interoperability

Interoperability Paradigm (Messages, Documents, Services): specifications which enable two or more (HL7) trading partners to collaborate in the context of a specific business interaction

– No assumptions of size, character, or identity of parties

• Nations, Enterprises, Departments, Individual, Systems, etc.

– No assumptions of exchange details (What, Why, How, etc.)

Page 10: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 10

SAEAF Value Proposition (2):Working Interoperability

SAEAF Value Proposition (2):Working Interoperability

• Interoperability: the deterministic exchange of data/information in a manner that preserves shared meaning

•Two parties interoperate based on a certified “level of shared compliance” to interoperability specifications/standards

• Certified “level of conformance” determine degree of automated interoperability that is possible and/or the difficulty of the transformations that are required to enable interoperability

Agree on “Reference” view

Agree on “Conceptual” view

Agree on“Platform-Independent” view

Agree on“Platform -Specific” viewA

B

DC

F

Component Component

E

Page 11: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 11

SAEAF Value Proposition (3):Working Interoperability

SAEAF Value Proposition (3):Working Interoperability

• Achieving WI is a matter of assembling certain building blocks.

• These building blocks describe

– when information flows across data interchange points,

– how those interchange points are described,

– who or what those interchange points represent

– how the information is bound to data flows,

– interdependencies between separate data flows,

– other aspects of control flow that ensure that data is flowing properly over the course of the interaction and in such a way as to support the business function from which the service specification is derived.

Page 12: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 12

OutlineOutline

• Introduction

• Contracts

• Defining a Service Role

• Examples:

– A Degenerate Collaboration and implicit Contract

• A Richer Collaboration Model

• Examples:

– A more explicit Contract and a rich Collaboration

• Service Classifications

• The Unified Field Theory

• The Legacy HL7 Dynamic Model

• SOA ML

Page 13: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 13

IntroductionIntroduction

Page 14: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 14

Definitions (1): Behavior (1)

Definitions (1): Behavior (1)

• From the Merriam-Webster Dictionary;

– The manner of conducting oneself

– The way in which something functions or operates

• Common Synonyms:

– Protocol; Custom; Pattern; Mores

• Common IT Synonyms

– Conversation (between whom?)

– Sequence (when?, of what?)

– Collaboration (to accomplish something …)

Page 15: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 15

Behavioral Framework (BF)Behavioral Framework (BF)

• The Behavioral Framework deals with the way that you describe the computational aspects of distributed systems

• The Framework is a top-down means of expressing the integration from two different perspectives:

– The global view of interactions – conversations between various parties endeavoring to fulfill a business purpose or mission, which the Behavioral Framework calls Collaborations.

• A system implementation may be an orchestration, collaboration, or choreography

– The business capability view – analytical business roles exposing sets of behaviors, which the Behavioral Framework calls a Service Role

• A system implementation of which is known simply as a Service.

Page 16: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 16

The Fundamental Use CaseStairway to Heaven: Two parties which to exchange meaningful

information

The Fundamental Use CaseStairway to Heaven: Two parties which to exchange meaningful

information

Agree to Agree

Agree on Concepts

Agree on Models

Same Platform

•Two parties who wish to integrate build things to achieve “Working Interoperability.”

•Interoperability is the deterministic exchange of meaningful information

•Interoperability broaches the “system of systems” viewpoint – it is not a single system architecture

•Understanding where A,B,C,D, and E are requires an Enterprise Architecture

A

B

DC

E

Page 17: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 17

The role of the BF in WI (1)The role of the BF in WI (1)

• The essence of the Stairway of Heaven is that the participants work via Contracts

– A SOA analysis of a distributed systems’ environment yields a decomposed set of business-oriented capabilities. These capabilities are advertised and exposed through explicit interface specifications called services*.

– Composing these services together to support common business functionality within a domain is accomplished, at least nominally, through the idea of a contract.

* Note that Services may be realized using Documents and Messages

Page 18: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 18

The Role of BF in WI (2)The Role of BF in WI (2)

• The BF is an attempt to explicitly capture the contractual nature of integration by dealing separately and in detail with the notions of

– Services (denoted as Service Roles)

– Compositions of Service Roles for a Business Purpose (denoted as Collaborations)

– Contracts that bind Service Roles to Collaborations

• It allows for a technically neutral specification stack to be implemented in a variety of ways.

Page 19: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 19

Behavioral Framework and Behavioral ModelsBehavioral Framework and Behavioral Models

• The BF generates instances of Behavioral Models that are specific to a given business purpose

– HL7 has historically dealt with a Dynamic Model, including Application Roles, Interactions, and Trigger Events

– The BF is an abstraction away from a single model for capturing interactions towards a comprehensive means of capturing the semantics of system collaborations

• Flexible – not technology specific

• Specific – describe semantics precisely and appropriately

• Layered – according to the ECCF specification stack

Page 20: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 20

The BF and ConformanceThe BF and Conformance

• Layered - The BF is layered according to the ECCF’s Specification Stack

• Flexible - Both Collaborations and Service Roles are specified independently of any given technology

– They serve as a testable architecture for interoperability for systems (via exposed Services) and between systems (via realized Collaborations).

– This is another way of saying that a given Behavioral Model provides requirements for interoperating with specific components to achieve a business purpose

– Collaborations and Service Roles have Conceptual Components that describe Behavior independently of any Interoperability Paradigm

• Specific – Capable of capturing integration semantics – specifically the computational aspects – at various levels of abstraction, providing provenance, traceability, and consistency.

Page 21: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 21

Standardization and the BFStandardization and the BF

• The BF within the SAEAF includes two types of artifacts that follow the familiar specification and constraint pattern

• The table shows semantics captured by each specification

Specification Enterprise / Business VP

Information VP

Computational VP Engineering VP

Service Role Specification

Policy, Business Context

Parameters Operations, Interface

Specifications, Taxonomy, Focal

Class State

Performance, availability, Deployment

Context

Collaboration Specification

Policy, Business Context

Parameters, Error

Management

Collaborations, Logical Message

Control, Dependencies, Proxies, Shared

State

Deployment and

Implementation Patterns,

Encapsulation Boundaries

• These can be balloted to support various domain needs both separately and together

– Contracts are not ballotable, but their format will eventually be fixed by HL7 to

support local implementation as needed

Page 22: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 22

ContractsContracts

Page 23: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 23

Contracts (1)Contracts (1)

• Etymology: Middle English, from Anglo-French, from Latin contractus, from contrahere to draw together

• The term contract is used colloquially in technical circles both to describe the specification of the behavior of one party in a collaboration (e.g., a WSDL for a web service) or for the sum conversation as a whole (i.e., a collaboration).

• The term contract within the SAEAF explicitly means the artifact scoped to the overarching sets of interactions that support a business purpose and binds together the various participants.

– An artifact that serves to centrally capture essential computational viewpoint semantics (or references to them) for management and reuse

Page 24: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 24

Contracts (2)Contracts (2)

• The central organizing principle of the SAEAF’s Behavioral Framework is the notion of integration mediation through contract.

– Bertrand Meyer’s “Design by Contract”

– Martin Fowler’s Accountability Pattern (http://martinfowler.com/apsupp/apchap2.pdf)

• Commissioning Agent

• Responsible Agent

– The goal is that each party designs the contract by which others engage with their component

• This interoperability drives all other system design

Page 25: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 25

Contracts (3)Bridging between Design- and Run-Time

Contracts (3)Bridging between Design- and Run-Time

• Contracts serve to provide a binding between design time requirements and constraints and run-time components, facilitating exchanges of information

– May be pre-defined or implicit (that is, defined but not created as an artifact)

– Design-time constraints include:

• Integration semantics

• Required Roles

• Required Participations

• Legal issues

• Quality-of-service

• Jurisdictional

• Policy components

Page 26: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 26

Contracts (4)Contracts (4)

Agree on “Reference” view

Agree on “Conceptual” view

Agree on“Platform-Independent” view

Agree on“Platform -Specific” viewA

B

DC

F

Component Component

E

•The participants on the Stairway must work together via agreed contracts (real or implicit)•The basis of each contract is a collaboration that binds together roles. •Some participants will be playing a defined business role to support the collaboration

•Each participant playing a business role is variably conformant to a specification

•There are likely multiple Stairways to any given collaboration

Page 27: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 27

Contracts (5)Contracts (5)

• The BF provides a way to talk about

– Business Roles (aka Service Roles)

– Collaborations

– Participations in those collaborations

• In some cases, these participations are playing both a business role and a run-time role

Page 28: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 28

Contracts (6): Roles and Participations

Contracts (6): Roles and Participations

Page 29: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 29

Contracts (7): Roles and Participations

Contracts (7): Roles and Participations

• Note the separation of business roles and run-time roles

– Business Roles are roughly equivalent to HL7 Legacy Application Roles (more on that later)

– Run-time roles are of two types

• Commissioning Agent – requesting some capability

• Responsible Agent – providing some capability

– Contracts bind the different parties and their capabilities / needs to patterns of behavior

Page 30: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 30

Contracts (8): Roles and Participations Example

Contracts (8): Roles and Participations Example

• Commissioning Agent

– Needs to create a lab order; needs to provide sufficient semantics to create the lab order

• Responsible Agent

– Service Role: Lab Order Service being used as a Lab Order Manager

– Participation: has the responsibility to create a new lab order when provided appropriate information

• The Contract defines the roles, their participations, the interactions, and the goals.

Page 31: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 31

Contracts (9): More ….

Contracts (9): More ….

• Contracts can also deal with some platform-independent and platform-specific elements of behavior

– Platform – Independent: behaviors, behavior groupings, shared state machines, pre-defined interactions, nested behaviors, and references to relevant Collaboration Specifications

– Platform – Specific: Deployed components, defined operations, parameter format, quality of service, service level agreements, identified instances, shared tokens

Page 32: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 32

Contracts (10)Summary (1)

Contracts (10)Summary (1)

• Contracts serve to provide context in the form of quality and functional requirements around deployment of components involved in interoperability scenarios

– Describe the logical pieces (Collaboration, Service Role dependencies … more later)

– Describe performance expectations and agreements

– Provide traceability to industry standards

– Provide a testable set of components that validates the conditions of interoperability

• The conformance statements of the specifications are asserted to have been met at the Interchange points

Page 33: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 33

Contracts (11)Summary (2)

Contracts (11)Summary (2)

• The Behavioral Framework helps to answer …

– Who

– What

– When

– How

• The essential question is …

• Who does What ….. When and How?|

Service Roles|

Collaborations| |

________Contracts________

Page 34: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 34

• Perhaps most importantly, contracts offer another place to capture essential integration semantics

– In some paradigms like services, binding a service interface to a commissioning agent early is inappropriate

• contracts provide a means to describe the essentials of interactions without creating siloed, one-off interfaces

– Contracts may be nested (that is, referenced by commissioning agents) to provide fulfillment

• Notice that Responsible Agents may reference a Contract

• Like a Purchase Order or a Gift Card

• Avoids “hard wiring” components into pre-configured spaghetti

Contracts (12)Summary (3)

Contracts (12)Summary (3)

Page 35: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 35

Defining a Service RoleDefining a Service Role

Page 36: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 36

Defining a Service Role(1)Defining a Service Role(1)

• Service Roles provide a domain-focused way of defining a given capability (called a topic) and their relevant semantics that are essential and business relevant

– A capability – exposed as an instance of a service - may be described in terms of the semantics required to integrate that capability into some larger behavioral pattern

• Adopting / adapting a Service Role Specification is the key to outlining sets of reusable and durable business capabilities for an organization

• Note: There is a body of work that preceded the SAEAF in this regard …

– HSSP’s SFM

– HL7 SOA WG’s SOA4HL7

– HL7 SOA WG’s SOA Interoperability Paradigm’s Methodology

Page 37: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 37

Defining a Service Role(2):Essential Semantics

Defining a Service Role(2):Essential Semantics

• Organized by Topic

• Enterprise Viewpoint:

– Scope of the Service, Policy Considerations

– Relationships with other Roles and Collaborations

• Information

– Domain Concepts Parameters for Operations Schema / Objects

– State Machine for Focal Class (Optional)

• Computation

– Functional Profiles, Interface Specifications

• Business Operations Logical Operations Functions

– State Transitions for Focal Class (Optional)

– Other Collaborations

• Engineering

– Deployment Considerations

– Libraries

Page 38: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 38

Defining a Service Role(3):Essential Concepts for Specification

Defining a Service Role(3):Essential Concepts for Specification

Page 39: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 39

Defining a Service Role(4): Notes on the Model

Defining a Service Role(4): Notes on the Model

• Service Role Specifications include the following essential components:

– Behavioral Specifications (via BehaviorTypes)

• Business Operations Logical Operations Functions

– Behavior Groups (via BehaviorProfileTypes)

• Functional Profiles, Interface Specifications

– Collaboration Participations, either as ….

• informational examples of Responsible Agents (to other members of one or more Collaborations)

• as the Commissioning Agent (defining its own Collaboration Type and nested Contracts) via actual exchanges of information (via ExchangeTypes and InteractionTypes).

– Explcitly part of the “realization” part of the specification, and not exposed in the interface itself.

Page 40: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 40

Defining a Service Role(5):Notes on Deployment

Defining a Service Role(5):Notes on Deployment

• It is simplest to think of a service = web service

– A deployed piece software component that does something

• ... But a Service Specification may be deployed by multiple systems in multiple places, or even by the same system multiple times for multiple clients

– An organization may want ONE Source of Record for X Data, and then there needs to be a single URL to get that Data

• …. But even then, there are likely multiple deployed service components to aid with performance, etc.

• … And there may be multiple “Write” interfaces that need to be coordinated to insure data integrity

– Example: An organization may want each of it’s hospitals to deploy a common service specification to help with reporting

• NCI: Each Cancer Center deploys commonly specified reporting interfaces to support accrual reporting

Page 41: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 41

Service Roles (6)Incremental approach to defining WI through Conformance:

Service Roles (6)Incremental approach to defining WI through Conformance:

•Two parties who wish to integrate build on the Specification Stack to achieve “Working Interoperability” centered around a single topic

•C and D have the easiest time interoperating because they agree on interoperable components based on a platform-specific specification. This is most desirable, but not a precondition to interoperability. (They still have work to do …)

•Should B wish to interoperate with D, B will need to write adapters that provide semantic interchanges for policy, behavior, and information, and technology, which would be derived from examining the related specification.

•B and F can interoperate by agreeing on a Conceptual Specification, but F will have to write adapters to provide semantic interchanges (as above).

•A has the farthest to go to interoperate with anyone else. Adapters will have to be written to accommodate constraints from several layers

Reference

Conceptuals

Platform-Independent

Platform -SpecificA

B

DC

F

Component Component

E

Service Role (Capability) Topic

Page 42: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 42

Service Roles (6)Summary(1)

Service Roles (6)Summary(1)

• Service Roles provide a means of specifying core capabilities that are important to a domain

• They represent a governable structure (see Governance) that encapsulates essential semantics of integration

• They represent a commonly defined capability that may be adopted or adapted by an organization to either achieve WI (or to come into some level of compliance)

Page 43: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 43

Service Roles (7)Summary(2)

Service Roles (7)Summary(2)

• Service Roles provide for the explicit solution to a particular topic

• They are intended to provide an encapsulation barrier behind which something happens

– …. But they don’t infringe on contract semantics or on Collaborations between other services

– They are durable, reusable components that support a unity of purpose. They exist in the context of other durable, reusable components that support other purposes.

Page 44: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 44

A Degenerate Behavioral ModelA Degenerate Behavioral Model

Page 45: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 45

The Degenerate Behavioral Model (1):Service Roles and Relationships

The Degenerate Behavioral Model (1):Service Roles and Relationships

• When specifying behavior for a Service Role, notional (or better) clients are considered

– For Example, Lab Order Manager Service needs a Lab Order Placer

– The BF refers to these as RoleRelationships

• RoleRelationships are the first place where we see the Interoperability Paradigms appear

– Messaging – RoleRelationships are Well Defined, Normative

– Services – RoleRelationships are Informative at best

• RoleRelationships provide the basis for top-down analysis to support a Service Role Specification

Page 46: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 46

The Degenerate Behavioral Model (2): From EIS Conceptual Model

The Degenerate Behavioral Model (2): From EIS Conceptual Model

7 User Scenario Interaction Details7.1 Create a new patient7.2 Link/Merge entities7.3 Update demographics7.4 Inactivate entity from general searches7.5 Activate (inactive) entity to general searches7.6 Unlink entity7.7 Look up a patient7.8 Unattended Encounter7.9 Remove entity from the system7.10 Look up patient across regional network7.11 Look up a patient specifying a specific external organization7.12 Link entities across regions within an organization

… This TOC is from the EIS Conceptual Model ….

• These entries in the Table of Contents are the lists of Business-level interactions and operations that are defined for EIS

•They represent the sum of behaviors that are considered relevant for Identification Management

}

Page 47: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 47

The Degenerate Behavioral Model (3): Example … Summary

The Degenerate Behavioral Model (3): Example … Summary

EIS (North)

XEIS (Solar System)

Find Entity With Traits(Person, Frank)

Find Entity by Traits (Patient, Frank, Solar System)

Return Frank

HIS (Jupiter)

Return Frank

PabloSearch (Frank)

Find Entity by Traits(Patient, Frank)

No match

Search (Frank, Solar System)

Return Frank

CreateEntity

Link Entity

Service Role Service Role Service Role

RoleRelationshipRoleRelationship

RoleRelationship

CommissioningResponsible

Page 48: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 48

The Degenerate Behavioral Model (4): Example … Focus on Role Relationships

The Degenerate Behavioral Model (4): Example … Focus on Role Relationships

EIS (North)

XEIS (Solar System)

Find Entity With Traits(Person, Frank)

Find Entity by Traits (Patient, Frank, Solar System)

Return Frank

HIS (Jupiter)

Return Frank

PabloSearch (Frank)

Find Entity by Traits(Patient, Frank)

No match

Search (Frank, Solar System)

Return Frank

CreateEntity

Link Entity

Service Role Service Role Service Role

RoleRelationshipRoleRelationship

RoleRelationship

Page 49: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 49

The Degenerate Behavioral Model (5): Example … Focus on Commissioning and Responsible Agents

The Degenerate Behavioral Model (5): Example … Focus on Commissioning and Responsible Agents

EIS (North)

XEIS (Solar System)

Find Entity With Traits(Person, Frank)

Find Entity by Traits (Patient, Frank, Solar System)

Return Frank

HIS (Jupiter)

Return Frank

PabloSearch (Frank)

Find Entity by Traits(Patient, Frank)

No match

Search (Frank, Solar System)

Return Frank

CreateEntity

Link Entity

Service Role Service Role Service Role

CommissioningResponsible

Page 50: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 50

The Degenerate Behavioral Model (6):Notes on the Example

The Degenerate Behavioral Model (6):Notes on the Example

• The union of these sequences of interactions form the behavioral model that is expressed in the ECCF’s specification stack for a Service Role

– Specifically the conceptual and platform independent specifications for a Service or Message

• Only one RoleRelationship in the example (Identity Requester to Identity Manager) that is logically repeated between different instances of the Service, and only a few in the Service Role Specification

• This is very simple

– Only one relevant RoleRelationship to accomplish any particular business purpose

– One Service Role

– Several (but not many) Behavioral Groups to identify logically consistent sets of behavior

Page 51: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 51

The Degenerate Behavioral Model (7):The Contract Revisited

The Degenerate Behavioral Model (7):The Contract Revisited

• In this degenerate example, the contract is implicit and pretty simple

– It is simple because the Collaborations needed to fulfill the business purpose rely on a single Service Roles Behavioral Groups

– The Responsible Agent is commonly specified (that is pretty much why we define service roles – so that we can encapsulate repetitive behavior)

• We would expect the portion of the contract to be well defined by a WSDL as a part of the overall contract

• The commissioned goals are simple (for example, “identify person given x demographic data”)

• Only one RoleRelationship involved to achieve any given goal (note, though, that the instances of that relationship may be nested, as in the example)

– A single business role played both Commissioning and Responsible Agent

• Nested Commissioning behavior to the right was hidden from Commissioning Agents to the left

– The Service Role is managing all states of domain objects, if there are any at all

• The deployed service would link, merge, create, delete, etc various identities

• Errors from these behaviors are straightforward

Page 52: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 52

Collaboration SpecificationsCollaboration Specifications

Page 53: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 53

Collaboration Specifications (1)Towards a richer way of specifying behaviors

Collaboration Specifications (1)Towards a richer way of specifying behaviors

• So what do we do if …..

– there are multiple RoleRelationships involved in achieving a business goal?

– there are shared states and / or shared objects among systems?

– There is the need to proxy behaviors or control behaviors using decision logic?

• For example, Complex Error Management

• For example, multi-site clinical trial registration

– There are multiple Service Roles defined as dependencies?

Page 54: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 54

Collaboration Specifications (2)Service Roles and Collaborative Behaviors

Collaboration Specifications (2)Service Roles and Collaborative Behaviors

• Roles have behaviors that support certain collaborations, and collaborations require certain role’s behaviors to fulfill their purpose.

– These things may be bound explicitly or implicitly, at run time or design time, through the use of contracts.

– “Inside looking out”

• Collaborations are sets of specified behavior that serve some particular business need. They embody some of the semantics of a given business process, but in the context of the Behavioral Framework, may explicitly depend on and support the integration semantics embodied in Service Role Specifications.

– Rely on specified Services to perform certain functions (which may in turn be collaborations in which the services perform the role of the Commissioning Agent) or to expose certain information.

– “Outside looking in”

Page 55: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 55

Collaboration Specifications (3)Computational Viewpoint

Collaboration Specifications (3)Computational Viewpoint

• The Collaboration Specification stacks are primarily computational constructs (from the Computational Viewpoint in the SAEAF).

– Informed heavily by Enterprise / Business and Information Viewpoints

• The Collaboration Specification takes a top-down view of what the distributed system is trying to accomplish, captures the semantics for integration, names dependencies

– Named Business purposes

– Error management

– Message sequence dependency

– Shared States / Objects

– Quality of interoperability

• The Collaboration Specification is an abstraction away from “3 tier design” to thinking about interoperability first

– Design by Contract (Meyer)

Page 56: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 56

Collaboration Specifications (4)Essential Semantics (1)

Collaboration Specifications (4)Essential Semantics (1)

• Activity Types - . Activity Types may have a relationship with similar Activity Types. They may also contain a Trigger Type that will describe a derived Activity Relationship. Any Activity Type may be exposed by a Behavior Type.

– Collaboration Types

– Work Unit Types

– Interaction Types

– Exchange Types

Page 57: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 57

Collaboration Specifications (5)Essential Semantics (2)

Collaboration Specifications (5)Essential Semantics (2)

• Collaboration Types are the highest level of encoded Activity Types.

– They contain descriptions and may reference certain milestones.

– Scoped to a particular business process.

• Work Unit Types are logical collections of Interaction Types.

– They may reference composite Milestones (that is, collections of milestones that represent an intermediate step in fulfilling a business process).

Page 58: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 58

Collaboration Specifications (6)Essential Semantics (3)

Collaboration Specifications (6)Essential Semantics (3)

• Interaction Types are sets of exchanges scoped by a single Commissioning Agent and a single Responsible Agent.

– Interaction Type is the concrete, granular representation of a service’s participation in a given business context.

– They fulfill a particular milestone in the business process that is encoded by the Collaboration Type.

Page 59: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 59

Collaboration Specifications (7)Essential Semantics (4)

Collaboration Specifications (7)Essential Semantics (4)

• Exchange Types capture the finest grained components of behavior exchanging information that go back and forth between a Commissioning Agent and a Responsible Agent.

• Exchange Types may have a relationship to other Exchange Types (because they are specializations of the Activity Type) so that they may be either synchronous, asynchronous, or long running.

• Exchange Types may (should) express an exception condition between information sharing partners that flowed from an exception condition tied to a Service’s behavior. Exchange Types call on Behaviors Types to pass information or to expose capabilities.

Page 60: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 60

Collaboration Specifications (8)Collaboration Specifications (8)

Page 61: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 61

Collaboration Specifications (9)Notes on the Model

Collaboration Specifications (9)Notes on the Model

• The BehaviorType class is from the Service Role Specification

– It is tied explicitly to other ActivityTypes in this model, since you can expose complicated behaviors through a Service Behavior

– More importantly, it is tied directly to ExchangeTypes, since Collaborations rely on underlying services for essential functionality to fulfill their Milestones

Page 62: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 62

Collaboration Specifications (10)Notes on the Model (2)

Collaboration Specifications (10)Notes on the Model (2)

• Channel Type expresses the ability of a deployed component to pass information for some business purpose.

– At the Conceptual Design level, these express a constraint on the ways information might be thus passed. For example, radiological images may imply the need to share information via a File Transfer Protocol.

– At the platform-independent and platform-specific levels, they represent actual channels

• Trigger Types, roughly synonymous with HL7’s Trigger Event, are not only present for backwards compatibility, but because the invocation of a given Activity Type may imply the need for subsequent Activity Types.

– More Later

Page 63: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 63

Collaboration Specifications (11)A Portion of an Instance Model

Collaboration Specifications (11)A Portion of an Instance Model

• Quasi - Instance Models (without run-state) are helpful to see what an actual Collaboration Specification looks like

• The Collaboration’s ties to Service Roles is through Interaction Types

– Define specifically how the Service is being used and what for.

– A single interaction is scoped by a Commissionign Agent and a Responsible Agent

– Services Roles play the Responsible Agents in a SOA

Page 64: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 64

Summary of the Three EssentialsSummary of the Three Essentials

Page 65: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 65

Summary of the Three Essentials… (1) All of the pieces

Summary of the Three Essentials… (1) All of the pieces

• The Behavioral Framework has defined three pieces necessary to capture integration scenarios

– Contracts

– Collaborations

– Service Roles

Page 66: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 66

Summary of the Three Essentials… (2)The Lifecycle of a Standard

Summary of the Three Essentials… (2)The Lifecycle of a Standard

• These three things can be used in combination or singularly to define behavior through various parts of the lifecycle of a standard

Service Role Collaboration Contract

Domain WG Define Core business capability (with unity of purpose) and essential Business / Information Viewpoint semantics

Define Core Collaborations (with Dependencies) and essential Business Viewpoint semantics

N/A

Foundation WG

Elaborate on Computational and Engineering Viewpoints; provide the definition of the encapsulation boundary for the core capability

Elaborate on inter-system behavior; define classification of dependencies (services)

Craft Contract parts to reflect Computational and Engineering viewpoint concerns

Implementing Organization

Adopt / Adapt / Deploy Service Role Specification to provide standardized mechanisms for exposing and accessing organizational capabilities that align well with industry standards

Utilize Collaboration Specifications as implementation guides for constructing interoperability architectures, understanding dependencies, and aligning organizational structures with industry standards

Create, Publish, and advertise contracts to manage interoperability responsibilities and dependencies

Page 67: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 67

Incremental approach to defining WI through Conformance:Commonly Specified Collaborations

Incremental approach to defining WI through Conformance:Commonly Specified Collaborations

•Two parties who wish to work together to achieve a business purpose can work from a common Collaboration Specification

•If this Collaboration Specification is based on Service Role Specifications, then the effort to achieve WI can be mapped (at least theoretically) by examining each integration point and accumulating how many “steps” need to be traversed per Capability Topic

•The Collaboration Specification, in addition to naming structural dependencies, contains important semantics of its own

•Quality of interoperability

•Named Business purposes

•Error management

•Message sequence dependency

Reference

Conceptual

Platform-Independent

Platform -Specific

AB

DC

FComponent Component

E

Collaboration Topic

Reference

Conceptual

Platform-Independent

Platform -Specific

AB

DC

FComponent Component

E

Reference

Conceptual

Platform-Independent

Platform -Specific

AB

DC

FComponent Component

E

Reference

Conceptual

Platform-Independent

Platform -Specific

AB

DC

FComponent Component

E

Reference

Conceptual

Platform-Independent

Platform -Specific

AB

DC

FComponent Component

E

Page 68: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 68

Example: A more explicit Contract and a rich Collaboration

Example: A more explicit Contract and a rich Collaboration

Page 69: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 69

Example: A more explicit Contract and a rich Collaboration (1)

Example: A more explicit Contract and a rich Collaboration (1)

• The National Cancer Institute (NCI) supports Cancer Clinical Trials

• Transcend is an architecture model that identifies various capabilities (Service Roles) and creates Collaborations between them to facilitate a Clinical Trial’s management for a Study Coordinator

Page 70: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 70

Example (2)Transcend

Example (2)Transcend

• The Transcend Integration Architecture binds together the following logical components:

– Clinical Data Management System (CDMS)

– Electronic Clinical Health Record (eCHR)

– Specimen Management Capability

– Treatment Plan Management Capability

– Imaging Management Capability

– Adverse Event Management Capabilities

– Protocol and ARM Management Capabilities

– Subject Management Capabilities

Page 71: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 71

Example (3)Transcend Integration Architecture Behavioral Packages

Example (3)Transcend Integration Architecture Behavioral Packages

• The Blue Packages represent Collaborations focused on Imaging and Specimen Management

• The Green Packages are Collaborations that directly support clinical workflow

Page 72: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 72

• Conceptual Collaboration for Enrollment in Transcend

– It is not platform-independent yet because there is no error management

• Note the exposed interfaces on Services and collaborations for different capabilities

• The sequencing of messages is vital

• Note the logical component roles being played by different systems

– This shows a given configuration … other systems could realize those roles

Example (4)Example (4)

Page 73: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 73

Example (5)Transcend Summary

Example (5)Transcend Summary

• A few things to note about Transcend

– It is system agnostic, but tightly coupled to capability

– It has “in house” components that play several logical roles (Note: This is not uncommon in legacy scenarios)

– Different stakeholders

• For the NCI, Transcend is a set of patterns with dependencies

– Implementation

– Design

• For Cancer Centers, Transcend must be transparent working system

• Transcend is using CDA / Forms

– …. But those “Forms” call multiple subsystems for fulfillment

– …. a lot of behavior is hidden behind fairly simple mechanisms

Page 74: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 74

Service ClassificationsService Classifications

Page 75: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 75

Service Classifications (1)Introduction (1)

Service Classifications (1)Introduction (1)

• The purpose of a service classification scheme is to provide a framework that simplifies the effort of integration.

• A service classification context should not be a monolithic construct that muddies the waters of service development.

– Should be consistent with a set of principles that provide architectural and design guidance on the usage and crafting of services. 

– Should provide an easily understood and consistent set of guidelines that provide clarity and reusability.

• Ultimately, the Service Classification System describes certain patterns

– defines certain limits based on experience, best practice, engineering / design. and the architecture

– constrain and extend the otherwise green-field of software engineering in the context of standardized services

Page 76: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 76

Service Classifications (2)Introduction (2)

Service Classifications (2)Introduction (2)

• Service Classifications are common practice for an organization

– a scheme for services that establishes

• defined patterns of conduct

• reusable business rules

• layers of commonality

• architectural and design patterns for building solutions

• It is a hierarchical set of classifications that represent common patterns of implementation and usage, providing sets of rules that cover such issues as

– peer communication

– Referencing

– Granularity

– Separation of concerns

Page 77: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 77

Service Classifications (3)Classifications

Service Classifications (3)Classifications

• Classifications

– Process

– Capability

– Core

– Utility

• These classifications are heavily borrowed from different classification systems

– CBDI

– Thomas Erl

Page 78: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 78

Service Classifications (4)Process Services (1)

Service Classifications (4)Process Services (1)

• Virtualized business processes that represent reusable patterns of behavior

– Realized sets of business rules that an organization has agreed upon

– Generally not concerned with the states of domain entities other than insofar as they affect the state of the process as a whole.

• Tend to be coarsely granulated

– Limiting the number of external calls

• Enhances performance

• Allow for the business process in question to be appropriately scoped

• By definition, they are usually “stateful” services (though that may be implemented in a number of ways).

Page 79: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 79

Service Classifications (5)Process Services (2)

Service Classifications (5)Process Services (2)

• External behavioral specification exposes some type of behavior as laid out in a collaboration specification, acting as a Commissioning Party for certain behaviors.

• When these Collaborations revolve around some shared state for the business process (which may be thought of as a transaction state), that state may be exposed through the interface.

• May nest contracts and Collaborations

– Can describe a dependency on a particular profile of a Service Role, though it would not be appropriate to discuss the technical details of its implementation.

Page 80: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 80

Service Classifications (6)Capability Services (1)

Service Classifications (6)Capability Services (1)

• Well-specified domains such as healthcare often define focal classes (or domain classes or business objects) that represent some domain concept.

– Generally are characterized in part by some series of information models that are tied to a state machine.

Page 81: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 81

Service Classifications (7)Capability Services (2)

Service Classifications (7)Capability Services (2)

• Capability Services expose states of instances of these focal classes through run-time constructs that realize their external behavioral specifications.

• Role as a Responsible Party in a given Collaboration is bound to a focal class and its state machine

– How that state machine traverses its states is a matter of implementation, not standardization.

Page 82: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 82

Service Classifications (8)Core Services (1)

Service Classifications (8)Core Services (1)

• Core Services expose information models without regard for the complexities of the underlying states of the information

– A publishing model for core domain concepts / objects

– Publishing may coincide with a single state on a more complex state machine

– Built to service various queries that need authoritative information

• Responsible Agent Alignment of ECCF with work of Frank Oemig (as well as other HL7 conformance testing work).

Page 83: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 83

Service Classifications (9)Utility Services (1)

Service Classifications (9)Utility Services (1)

Page 84: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 84

The Unified Field TheoryThe Unified Field Theory

Page 85: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 85

The Unified Field Theory (2)The Unified Field Theory (2)

• The Unified Field Theory is a comprehensive approach to dealing with healthcare interoperability standards that included implementations using documents, messages, and services either in combination or singularly.

• The BF supports the Unified Field Theory by providing the ability to capture the computational semantic differences that are the result of choosing one paradigm over another for a particular business usage

– In some ways, the easiest way to choose one paradigm over another is to look at computational semantics (or the computational semantics implied by a pre-set deployment (for example, message oriented middleware or an ESB))

– Most importantly, the BF denotes three places to capture behavioral semantics and defines their relationship to each other

• Improves the chances of reusability and explicitness in implementation

Page 86: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 86

The Unified Field Theory (3)The Unified Field Theory (3)

• Three Interoperability Paradigms

– Messages - the transmission of semantically rigorous, contextually self-contained information structures according to pre-determined trigger conditions along well known interaction paths

– Documents - a business-oriented container that becomes the focal class that may be exposed through a service interface (for administration, querying, and manipulation), or transmitted via a

message

– Services - a structured behavioral interface being exposed that provided fine grained control of some capability, often a focal class such as an order or a transactional process. These capabilities would, in turn, be invoked through smaller, function-oriented message structures that retain the semantic rigor of HL7 models without realizing the entirety of the semantic in the message structure.

Page 87: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 87

The Unified Field Theory (4):A Common Conceptual Specification

The Unified Field Theory (4):A Common Conceptual Specification

• It should be emphasized that Conceptual Specifications (either Service or Collaboration) are agnostic with regards to these paradigms.

– A given Conceptual Specification provides a basis for conformance regardless of ultimate implementation.

– This includes both Service Roles and Collaborations

Page 88: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 88

The Unified Field Theory (5):Services

The Unified Field Theory (5):Services

• Services provide structures to handle certain aspects of interoperability

– Synchronous v Asynchronous

– Defined Interface Specifications

– Evolved error and behavior control

• Services allow for a domain-relevant capability to be exposed in a durable and extensible manner in an organization and managed

• Services provide reasonable ways of addressing some difficult topics

– Querying, shared state management,

• In the BF, no pre-determined Service Role acting as Commissioning Agent

Page 89: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 89

The Unified Field Theory (6):Messages

The Unified Field Theory (6):Messages

• Messaging as a paradigm involves coarsely granulated messages that align well with event-oriented, pre-configured business triggers.

– These are specializations of Collaboration Types

– Well defined Service Roles as both Commissioning and Responsible Agent

– Well-defined by legacy HL7 Interactions, but can benefit from the richer behavioral groups that the BF brings

Page 90: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 90

The Unified Field Theory (7):Documents

The Unified Field Theory (7):Documents

• Define a business-oriented container that becomes the focal class that may be exposed through a service interface

– Administration, querying, and manipulation

– Optionally transmitted via a message.

• The Documents “paradigm” provides an effective mapping from real-world scenarios to information constructs, especially via a stack of increasingly constrained specifications, allowing a simplified behavioral interface that aligns well with real world behaviors.

Page 91: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 91

Unified Field Theory (8):Notes on the following models

Unified Field Theory (8):Notes on the following models

• The model details an instance of a contract, binding two logical service role types together into a collaboration type that would be realized with messages.

– The Collaboration Specification is an attribute of the Contract

– The Service Role Specifications are attributes of the Commissioning and Responsible Agents

Page 92: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 92

The Unified Field Theory (9):A Contract in a Messaging Environment

The Unified Field Theory (9):A Contract in a Messaging Environment

Page 93: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 93

The Unified Field Theory (10):Notes on a Contract in a Messaging Environment (1)

The Unified Field Theory (10):Notes on a Contract in a Messaging Environment (1)

• In a Messaging environment, it is likely that both roles will be bound early in the analysis through to run time, though the roles themselves have no physical corollary

– that is, there is no deployed physical Service, for example, that plays the actual role

• Thus the message contains its own context

– This binding happens through Message Managers (which handles message receiving, parsing, dispatching, port management, and so on) and Handlers (that handle management of the semantics)

Page 94: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 94

The Unified Field Theory (11):Notes on a Contract in a Messaging Environment (2)

The Unified Field Theory (11):Notes on a Contract in a Messaging Environment (2)

• Implementing with Managers and Handlers has several consequences:

– This early binding means that the Contract deployed in a Messaging Paradigm says that only certain Business Roles may bind with other Business Roles (an Order Placer with an Order Manager, for example).

– The diagram shows that what is testable (the Interchange Point) depends on things that are implicitly defined. This obfuscates traceability since what is traceable is not directly tied to the contract.

– The MessageHandlers realize BehaviorTypes, but it is not clear (except through introspection) how and to what extent the Behaviors align with the Collaboration Specification inherent in a contract.

Page 95: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 95

The Unified Field Theory (12):A Contract in a Services Environment

The Unified Field Theory (12):A Contract in a Services Environment

Page 96: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 96

The Unified Field Theory (13):Notes on a Contract in a Services Environment (1)

The Unified Field Theory (13):Notes on a Contract in a Services Environment (1)

• The model details an instance of a contract, binding two logical service role types together into a collaboration type that would be realized with messages.

– The Collaboration Specification is an attribute of the Contract; The Service Role Specifications are attributes of the the Commissioning and Responsible Agents

• In a Services environment, only the Contract’s Responsible Agent will be bound early to a Service Role. The Commissioning Agent has certain characteristics that may optionally be specified (a Behavior to manage asynchronous communications, for example, or a particular Quality of Service arrangement).

• However, even with services, Contracts can embody essential characteristics of behaviors and the requirements for the end-state. As a consequence, Contracts can serve both to embody the requirements for commissioning a capability exposed by a service and for describing the notion of nested capabilities virtualized by a responsible agent.

Page 97: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 97

The Unified Field Theory (14):Notes on a Contract in a Services Environment (2)

The Unified Field Theory (14):Notes on a Contract in a Services Environment (2)

• Note several characteristics of the Services environment:

– The deployed Service is a physical corollary to the logical RoleType discussed in the Contract.

– What is testable regarding integration semantics (behavior, information type) is realized as an Interchange Point that is a primary element. That is, the Interchange Point directly and traceably realizes a Contract Role of Commissioning Agent or Responsible Agent.

– The deployed Service, because of its expression mechanisms and the late binding of the Commissioning Agent, makes its integration semantics more accessible to more varied consumers

– Because of the more explicit integration semantics, the Service Contracts may reference other Contracts explicitly (the Responsible Agent may refer to other Contracts).

Page 98: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 98

• The BF is meant to be a framework for semantics

– rich when you need richness

• PSMs of Collaborations

• Specifications for implementing at an organization

– skinny when you don’t need much at all

• Conceptual Collaborations, Service Role elaborations

– Contextualizes Service Roles, Contracts, and Collaborations and makes explicit their relationship to each other.

The Unified Field Theory (15):Implementing the BF

The Unified Field Theory (15):Implementing the BF

Service Roles Collaborations| |

________Contracts________

Page 99: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 99

The Unified Field Theory (16):Implementing the BF (2)

The Unified Field Theory (16):Implementing the BF (2)

• It is duly noted that the richer parts of the BF are not intended to be used in every situation

– Sometimes it’s enough to build a Service Role and know that some of the integration semantics are intended to be held in other components (contract or collaboration specification)

– There are still pieces that are extremely verbose

• A fully specified collaboration is extensive and explicit for an implementation and deployment team

Page 100: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 100

The Unified Field Theory (17):Implementing the BF (3)

The Unified Field Theory (17):Implementing the BF (3)

• Service Role Patterns

– Publishing a state transition

• ADT messages, clinical report stream

– Managing a state machine

• EIS, registries

– Request / Fulfillment

• Orders, prescriptions, dispensing

– Query

• RLUS, Decision Support

– Publish Business Process

Page 101: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 101

The Unified Field Theory (18):Implementing the BF (4)

The Unified Field Theory (18):Implementing the BF (4)

• Content Models vs Messaging Models

• Legacy HL7 defined a different content model for every interaction in v2 and v3

– Business Process is bound early by a unique combination of interaction + content

• The SAEAF’s approach supports Legacy HL7, but Services decouple business models from implementations

– Business Process is bound late(r) by unique content and multi-purpose interactions

• potentially combined with no human intervention at run time

– CDA’s are a special case

• Vision (r3) is that there is a single content model for all interactions

• All of these have their place and purpose, and should be used appropriately

Page 102: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 102

The Unified Field Theory (19):Implementing the BF (5)

The Unified Field Theory (19):Implementing the BF (5)

• Services provide for the ability to find engineering and design efficiencies in several parts of the architecture

– Call out more granular building blocks

– More reusable solutions that have durability because of Service Classification Schemes

– Adaptable to many contexts

• Messages as a paradigm are manufactured solutions that are fully appropriate for a single purpose in a single context

– They rely on an organization adapting to that manufactured context since it is bound so early

Page 103: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 103

The Legacy HL7 Dynamic ModelThe Legacy HL7 Dynamic Model

Page 104: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 104

The Legacy HL7 Dynamic Model (1)The Legacy HL7 Dynamic Model (1)

class Behav ioral Model

Storyboard

artifactIdnamenarrative

Interaction

artifactIDnamenarrativestructuredNameinteractionType

ApplicationRole

artifactIDnamedescriptionstructuredName

SendingApplicationRole

::ApplicationRoleartifactIDnamedescriptionstructuredName

Reciev ingApplicationRole

::ApplicationRoleartifactIDnamedescriptionstructuredName

TriggerEv ent

artifactIDnamedescriptiontypestructuredName

InteractionBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

StateTransitionBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

UserRequestBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

StaticModel

artifactIDnametype

Receiv erResponsibility

reason

Application

ConformanceStatement

StoryboardExample

narrative

InformationStructure

disjoint = false

1..*

1..*

sends

sender 1

1..*

receives

receiver 1

1..* {ordered} 0..*contains

1

0..*

0..*

0..*

0..*

fulfi l ls

1

0..*

invokes

0..1

0..*

invokes

0..1

0..*

fulfi l ls

0..*

0..*

0..*

intiates

1

Name:Package:Version:Author:

Behavioral ModelBehavioral Modelv01r04AbdulMalik Shakir

Page 105: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 105

The Legacy HL7 Dynamic Model (2)The Legacy HL7 Dynamic Model (2)

• These concepts from the HL7 Dynamic Model have corollaries in the Behavioral Framework

Legacy Dynamic Model SAEAF Behavioral Framework

Interaction maps to …. Exchange Type

Application Role maps to …. Interchange Point in an instance, or to a Role Type conceptually

Receiver Responsibility maps to …. Goal, Milestone, Collaboration State Machine

Trigger Event maps to …. Trigger Type

Information Structure maps to …. Information Model referred to by the Static Information Model Reference

Storyboard maps to …. Collaboration

Application maps to …. Candidate Component

Page 106: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 106

The Legacy HL7 Dynamic Model (3)The Legacy HL7 Dynamic Model (3)

The mappings appear as stereotypes in the model.

class Behav ioral Model

«Interaction»Storyboard

artifactIdnamenarrative

«Exchange»Interaction

artifactIDnamenarrativestructuredNameinteractionType

«InterchangePoint»ApplicationRole

artifactIDnamedescriptionstructuredName

«ProviderInterchangePoi...SendingApplicationRole

::ApplicationRoleartifactIDnamedescriptionstructuredName

«ConsumerInterchangePoint»Reciev ingApplicationRole

::ApplicationRoleartifactIDnamedescriptionstructuredName

TriggerEv ent

artifactIDnamedescriptiontypestructuredName

InteractionBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

StateTransitionBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

UserRequestBasedTriggerEv ent

::TriggerEventartifactIDnamedescriptiontypestructuredName

«ConstrainedInformationMod...StaticModel

artifactIDnametype

Receiv erResponsibility

reason

«SoftwareUnit»Application

ConformanceStatement

StoryboardExample

narrative

«ImplementableInformationModel»InformationStructure

disjoint = false

1..*

1..*

sendssender 1

1..*

receives

receiver 1

1..* {ordered} 0..*contains1

0..*

0..*

0..*

0..*

fulfi l ls

1

0..*

invokes

0..1

0..*

invokes

0..1

0..*

fulfi l ls

0..*

0..*

0..*

intiates

1

Name:Package:Version:Author:

Behavioral ModelBehavioral Modelv01r04AbdulMalik Shakir

Page 107: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 107

SOA Modeling Language (1) :An Alternative to Modeling Services

SOA Modeling Language (1) :An Alternative to Modeling Services

• OMG Standard to provide a UML Profile for Describing Services

• Discussed at length by the ArB during the Summer Sessions (2008) as a potential way forward to modeling some / all of services.

Page 108: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 108

SOA Modeling Language (2) :Introduction

SOA Modeling Language (2) :Introduction

• OMG Standard to provide a UML Profile for Describing Services

• Discussed at length by the ArB during the Summer Sessions (2008) as a potential way forward to modeling some / all of services.

• This section is a brief summary comparison of the concepts presented in the HL7 Behavioral Framework and SoaML. It should be construed as a work in progress to facilitate an eventual formal mapping.

Page 109: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 109

SOA Modeling Language (3):Summary

SOA Modeling Language (3):Summary

• There is some overlap, but the purposes are different.

– SoaML focuses on representing a Service as it is physically implemented in software

– Little explicit differentiation across the different stages of specification and development

• The HL7 Behavioral Framework is heavily focused on the Specification of Services and Collaborations at three well defined layers (Analysis, Conceptual Design and Implementation Design).

– Supports different Interoperability Paradigms

• It also explicitly represents the specification artifacts in the model, which SoaML does not.

Page 110: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 110

SOA Modeling Language (4):Summary (2)

SOA Modeling Language (4):Summary (2)

• There is several areas of alignment

– The notion of defining a collaboration, interface, channel, milestone

Page 111: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 111

SOA Modeling Language (5):Concept Comparison (1)

SOA Modeling Language (5):Concept Comparison (1)

SoaML SAEAF Behavioral Model Comments

Service Service Mapping is approximate.SoaML defines a Service as a “port on a participant”

which is a very run time physical view and limited.

HL7-BF defines a Service as an abstract specification.

Service Contract Collaboration Contract Collaboration Specification:

- Conceptual- Design- ImplementableISRS

SoaML defines the notion of a Service Contract in terms of binding a Service Consumer to a Service Provider. This is limited in that it does not seem to explicitly recognize the separation of the specification of the service itself vs the specification of uses of the service in collaborations. It also has no separation of the different stages of specification.

Collaboration Collaboration Type Collaboration is used in the generic UML sense for SoaML. This equates close enough with the HL7 BF notion of Collaboration Type

Collaboration Use Collaboration Participation SoaML: Candidate component fulfills role/contract.HL7 BF defines a Collaboration Participation which is

effectively the same.

Page 112: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 112

SOA Modeling Language (6):Concept Comparison (2)

SOA Modeling Language (6):Concept Comparison (2)

SoaML SAEAF Behavioral Model Comments

Service Interface SoaML:

Includes both required and provided interface operations.

Text seems to confuse realization and interface

The text in SoaML is unclear to me on the distinction between a required interface on a Service Provider vs a required interface on a Service Consumer. I cannot make much sense of this approach. I believe that for specification purposes, provided interfaces along with Collaboration specifications are sufficient and clearer.

UML Interface Behavior Group

Interface

External Behavior Specification

In SoaML, a UML Interface is a “provided” interface. This equates to the HL7 BF notion of Interface (or the more abstract Behavior Group)

Page 113: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 113

SOA Modeling Language (7):Concept Comparison (3)

SOA Modeling Language (7):Concept Comparison (3)

SoaML SAEAF Behavioral Model Comments

Participant Participant

Application / Software Unit

Role Type

Candidate Component

The SoaML notion of Participant seems to cover both the abstract notion of role and the actual participant playing the role. HL7-BF has made these separate constructus explicit.

Service Role Specification:

- Analysis Spec

- Design Spec

- Implementable Design Spec

The actual Service Specification is not explicitly identified in SoaML.

Behavior SoaML does not explicitly define the individual operation level.

Service Realization Specification

Not really covered in SoaML. Can represent component structures and behavior using activity diagrams etc, but not really described

Page 114: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 114

SOA Modeling Language (8):Concept Comparison (4)

SOA Modeling Language (8):Concept Comparison (4)

SoaML SAEAF Behavioral Model Comments

Service Point Responsible Agent

Interchange Point

SoaML: Provided Interface

Again HL7 BF differentitates the “role” notions from the actual points.

Request Point Commissioning Agent

Interchange Point

SoaML: Required Interface

Again HL7 BF differentitates the “role” notions from the actual points.

Port Interchange Point HL7 BF does not explicitly represent ports since this is at the implementation level.

Work Unit Type HL7 BF does not explicitly represent ports since this is at the implementation level.

Interaction Type HL7 BF does not explicitly represent ports since this is at the implementation level.

Role Relationship Type No real structure of collaborations represented in SoaML. It is partially dealt with in the notion of the Collaboration and the Service Point and the Request Point.

Page 115: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 115

SOA Modeling Language (9):Concept Comparison (5)

SOA Modeling Language (9):Concept Comparison (5)

SoaML SAEAF Behavioral Model Comments

Exchange Type No real structure of collaborations represented in SoaML

Service Channel Channel Equivalent

Message Type CIM/LIM Equivalent

Domain Analysis Model No representation of information model in SoaML

Attachment Not explicit Technology Viewpoint issue, not covered in HL7 BF except as “payload” and “payload type”

Capability Service (Conceptual layer)

SoaML: business abstraction of a Service

Milestone Milestone SoaML: identifies a place for instrumentation to measure fulfillment of behavioral goals in an ordinal fashion. HL7 BF identifies a milestone as a goal of an interaction within the scope of a logical work unit.

Page 116: SAEAF Education Series 2:  SAEAF Behavioral Framework April 2009

Page 116