Transport_Design_v1_2

flashypumpkincenterΛογισμικό & κατασκευή λογ/κού

14 Δεκ 2013 (πριν από 3 χρόνια και 9 μήνες)

92 εμφανίσεις




M
ODULAR
P
ILOT
D
ESIGN

T
RANSPORT
M
ODULE





Office of the National Coordinator for Health Information Technology

Version
1
.2


June
30
, 2011






P
repared By:

ONC S&I RI/DP Team



DISTRIBUTION STATEMENT

The
Transport

Module
Design
is to be used by the Refer
ence Impleme
ntation designers and
developers to design and develop the
main components of the
transport

layer that can be
composed to provide the specified services in a scalable, extensible and reliable manner
.




I


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011

D
OCUMENT
C
HANGE
H
ISTORY

Version

Date

Changed

By

Items Changed Since Previous Version

1
.
0

05
/
04
/2011

Lockheed Martin

First Draft

1.1

06/
28
/2011

Lockheed Martin

Post Implementation Updates

1.2

06/30/2011

Lockheed Martin

Incorporated Internal review feedback






I


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011

T
ABLE OF
C
ONTENTS

1.0

OBJECTIVE/PURPOSE
................................
................................
................................
...................

1

2.0

REQUIREMENTS/GOALS

................................
................................
................................
..............

1

3.0

CONSTRAINTS AND ASSU
MPT
IONS

................................
................................
.............................

1

3.1

C
ONSTRAINTS

................................
................................
................................
................................
...

1

3.2

A
SSUMPTIONS

................................
................................
................................
................................
..

2

4.0

DEPENDENCIES

................................
................................
................................
............................

2

5.0

CODE RE
-
USE

................................
................................
................................
...............................

2

6.0

ARCHITECTURE

................................
................................
................................
............................

3

6.1

D
ESIGN
D
IAGRAMS

................................
................................
................................
............................

3

6.2

S
EQUENCE
D
IAGRAMS

................................
................................
................................
........................

4

6.3

I
NTERFACES

................................
................................
................................
................................
....

10

6.3.1

Transport Facade Interf
ace

................................
................................
................................
....

10

6.3.2

State Handler Interface

................................
................................
................................
..........

10

7.0

REFERENCES

................................
................................
................................
..............................

10


L
IST OF
F
IGURES

F
IGURE
1.

P
ACKAGE
D
IAGRAM

................................
................................
................................
................................
...

3

F
IGURE
2.

T
RANSPORT
C
ORE
S
YNCHRONOUS
R
EQUEST
-

I
NITIATING
G
ATEWAY

................................
................................
...

4

F
IGURE
3.

T
RANSPORT
C
ORE
S
YNCHRONOUS
R
EQUEST
-

R
ESPONDING
G
ATEWAY

................................
................................

5

F
IGURE
4.

T
RANSPORT
C
ORE
-

D
EFERRED WORKFLOW
-

I
NITIATING
G
ATEWAY

................................
................................
....

6

F
IGURE
5.

T
RANSPORT
C
ORE
-

D
EFERRED WORKFLOW
-

R
ESPONDING
G
ATEWAY
-

S
END
A
CKNOWLEDGEMENT

.........................

7



1


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011

1.0

OBJECTIVE/PURPOSE

This document provides a high
-
level design of the Reference Implementation
(RI) Transport
Module Core components. These components are used by Request and Response Orchestrator
components of RI Gateway to address the requirements of the Transport Module specification.

Specifically, these components are used by the initiating RI
Gateway to validate t
he incoming
request information, add WS
-
Addressing headers and persist the request
/response
messages. On
the Responding RI Gateway, these components are used to validate the WS
-
Addressing headers
information and persist the request and

response messages.


On the Responding RI Gateway, the transport core components are used to validate the request
(general conformance), validate the namespaces, validate the WS
-
Addressing heade
rs

and

persist
the request/response messages
.

2.0

REQUIREMENTS/GOA
LS

The goals of the Transport Core design are to:



Provide a design to address the functional requirements of Transport module.



Identify and define components for non
-
overlapping functionalities of Transport
Module.



Code to interfaces, not implementations.



Promote code reuse.



Achieve ease of integration.



Be extensible.



Couple loosely with other components.



Achieve ease of Unit testing and Integration testing.

3.0

CONSTRAINTS AND ASSU
MPTIONS

3.1

CONSTRAINTS



The Transport Module is required to support two central arch
itectural principles of
the Nationwide Health Information Network:



Use the public Internet


The Nationwide Health Information Network is not a
separate physical network, but a set of protocols and standards that enable secure
health information exchange v
ia the public Internet.



Be platform
neutral


The Nationwide Health Information Network has adopted a
stack (web services) that can be implemented using many operating systems and
programming languages.


2


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011



The Transport Module will be based on Simple Object
Access Protocol (SOAP) 1.2
messages over HyperText Transport Protocol (HTTP). All higher
-
level messaging
elements and attachments must be bound to a SOAP message. This excludes the use of
incompatible transport protocols such as Health Level Seven (HL7) Mi
nimal Lower
Layer Protocol (MLLP) for National Health Information Organization (NHIO)
-
to
-
NHIO
messaging.



The NHIN Messaging Specification restricts the use of the WS
-
Addressing
ReplyTo

and
FaultTo

elements to the predefined anonymous endpoint reference.



R
eliable messaging should be available to support specific information exchanges, but
it is not a requirement for every NHIN service.



The cipher suite recommendation from the Organization for the Advancem
e
nt of
Structured Information Standards (OASIS) commi
ttee for SAML2.0 over the Transport
Layer Security (TLS) protocol was for forward
-
looking applications to implement
TLS_RSA_WITH_AES_128_CBC_SHA, which has both speed and security strength.

This
translates to the Basic128 algorithm suite as defined in the
WS
-
SecurityPolicy

and is
declared within the

sp:AlgorithmSuite assertion.

3.2

ASSUMPTIONS



Each NHIO is responsible for the authentication and authorization of its users.



X.509 certificates will be used by all NHIOs, following a process defined by the Office
o
f the National Coordinator for Health Information Technology (ONC). The fact that all
certificates are issued by following the same process will serve as the basis of trust
an
d authentication between NHIOs
.

Note: It is anticipated that there will be change

to
this assumption. There is a possibility of multiple certificate authorities involved.



Transport Module does not have to define any custom SOAP faults. It is the
responsibility of the other NHIN specifications that use the Transport Module.

4.0

DEPENDENCIES

The Transport core

components will use the RI Common

components like Logging, Exception
Handling, Data Access Object (DAO), Utilities, etc.

5.0

CODE RE
-
USE

The
Transport Module
components
will be reused by all the services on
the Nationwide Health
Information

Network
to create secure message exchange.


3


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011

6.0

ARCHITECTURE

The intent of this design is to identify and define the interfaces the Transport Core exposes, the
interfaces the Transport Core

uses
, and to expand upon the high
-
level components defined in the
Tra
nsport Module Architecture document.

TransportFacade is the interface with which other modules communicate with the Transport
Core subsystem. The default implementation interacts with the other classes within the subsystem
for addressing necessary function
ality. This default implementation can be extended by other
variants of Transport Core implementation.

Transport Core subsystem relies on
RI Common

components for logging, exception handling,
utilities, etc. Appropriate interfaces of
RI Common

will be used

by Transport Core.

6.1

DESIGN DIAGRAMS

The following diagram shows the packages where the Transport Core components reside and the
dependencies with other packages of the RI Gateway.


Figure
1
. Package Diagram


4


Modular Pilot
Design


Transport Module

v1.2


June 30
, 2011

6.2

SEQUENCE DIAGRAMS

The
following diagram shows the sequence of operations that are performed using the Transport
core components as part of initiating a request from the Gateway.


Figure
2
.

Transport Core Synchronous Request
-

Initiating Gateway




5


Modular Pilot
Design

Transport

Module

v1.2


June 30, 2011


The f
ollowing diagram shows the sequence of operations that are performed using the Transport core components as part of respondin
g
to a request on the Responding Gateway.



Figure
3
.

Transport Core Synchronous Request
-

Responding Ga
teway




6


Modular Pilot
Design

Transport

Module

v1.2


June 30, 2011


The following diagram shows the sequence of operations that are performed using the Transport core components as part of init
iating a
request on the Initiating Gateway in Deferred request/response mode.


Figure
4
.

Transport

Core
-

Deferred workflow
-

Initiating Gateway




7


Modular Pilot
Design

Transport

Module

v1.2


June 30, 2011


The following diagram shows the sequence of operations that are performed using the Transport core components as part of an
acknowledgement to a request on the Responding Gateway in Deferred request/response m
ode.


Figure
5
. Transport Core
-

Deferred workflow
-

Responding Gateway
-

Send Acknowledgement




8


Modular Pilot
Design

Transport

Module

v1.2


June 30, 2011


The following diagram shows the sequence of operations that are performed using the Transport core components as part of init
iating a
request (this request is actually a response to an earlier deferred request) on the Responding Gateway in Deferred request/re
sponse mode.


Figure

6.

Transport Core
-

Deferred Workflow
-

Responding Gateway
-

Send Response




9


Modular Pilot
Design

Transport

Module

v1.2


June 30, 2011


The following diagram shows the s
equence of operations that are performed using the Transport core components as part of
acknowledging to a request on the Initiating Gateway in Deferred request/response mode.


Figure
7
. Sequence Diagram
-

Transport Core Deferred Response
-

Initiating Ga
teway
-

Receive Response




10


Modular P
ilot Design

Transport
Module

v1.2


June 30, 2011


6.3

INTERFACES

6.3.1

T
RANSPORT
F
ACADE
I
NTERFACE

This interface is the primary interface used by other modules to communicate with the Transport
Core subsystem. It provides a means to validate requests, build headers, etc.

6.3.2

S
TATE
H
ANDLER
I
NT
ERFACE

Transport Core uses this interface internally. The default implementation will persist the
requests/responses and the states of the messages

in an object
-
oriented database, db4o.

This
interface can be extended to provide a different implementation.

7.0

REFERENCES

The following references were used to produce this document:

1.

Modular Specifications Pilot Requirements Traceability Matrix.

2.

Nationwide Health Information Network
Messaging Platform Specification document
(Production)
.

3.

Modular Pilot Architectur
e Transport Module
.