This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Session

From HL7Wiki
Revision as of 15:28, 20 September 2006 by Miroslav (talk | contribs)
Jump to navigation Jump to search

Definition: A Session establishes, maintains and terminates end-to-end connections (sessions) between Source and Destination. A Session lives in the Messaging Infrastructure Layer and may include one to many HL7 interactions being transmitted.

Note

This is the first attempt to define a Session in the HL7 world. The main aim is to introduce a definition that will bring value to HL7 standard development (especially HL7 Dynamic_Model), and not have yet another term that is ambiguous and nobody will use.

  • (Rene Spronk) If Session is a MIL issue, then it is explcitely not aware of any HL7 semantics. HL7 is just "payload". The HL7 Dynamic model is bewteen a Sender and a Receiver, so how does it map onto a Session? Rene spronk 10:01, 19 September 2006 (CDT)
  • (Miroslav Koncar) You are absolutely right, with this definition Session is not aware of HL7 semantics. The real question is however, do we need to have a Session defined between Sender and Receiver, given the diversity of implementation environments? My recommendation would be that we use the Session as something which Source and Destination would use to transfer the message once all the business rules and configuration parameters have been defined by the Senders and Receivers. Note that the Senders and Receivers include Messaging Adapters as well, which means that it can be mapped to the Session at the MIL layer, if we use the definition as elaborated above. E.g. in case of the ebXML MIL, the Sender includes both the Message Producer and the Messaging Adapter, that will use the pipe to deliver one to many messages, based on business rules, semantics of the message exchange, priority etc.
  • (Miroslav Koncar) However, the definition above is just a suggestion. It would make sense that we have the "Session" between Senders and Receivers, if we stay with the requirement that all the MIL's need to implement reliable messaging (or better formulatted, when any of the delivery assurances (such as guaranteed delivery) are requested) --Miroslav Koncar 03:09, 20 September 2006 (CDT)


Open Issues

The following list enumerates open issues, additional information, and well known defintions in the other reference models and technologies.

  • OSI Reference Model Session (5th Layer) Definition: Session establishes, maintains and terminates end-to-end connections (sessions) between two applications on two network nodes. It controls the dialogue between the source and destination node, which node can send when and how long. Also provides error reporting for the Application, Presentation and Session layer. Protocols/API's that operate on this layer include: RPC, SQL, NETBIOS.
  • Session in the HL7 dynamic model does not have a value if it is established in between two network nodes. It needs to encompass Source to Destination message delivery
  • There is no sense to introduce a Session between two HL7 applications. In the Messaging Architecture as recognized by the HL7 specifications, the communication between HL7 applications can be very diverse, depending on various factors such as distributed/point-to-point communication, tight vs. loosely coupled system architectures, the Messaging Infrastructure Layer functionality etc.
  • How many messages get exchanged in the single Session is an implementors decision, and falls out of the scope of the HL7 definitions
  • Open Issue - it might make sense to connect the Session to the term "pipe" as it is used in the ebMS world. The value proposition -
    1. defintion of the transfer mode based on the user request (e.g. polling);
    2. this can be connected to inOrder delivery assurance
  • Open Issue - how this relates to the terms asynchronous / synchronous messaging?
  • Open Issue - how this relates to request/response MEP?