connect 4.0 technical deep dive february 19, 2013

33
CONNECT 4.0 Technical Deep Dive February 19, 2013

Upload: hugo-jordan

Post on 11-Jan-2016

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONNECT 4.0 Technical Deep Dive February 19, 2013

CONNECT 4.0Technical Deep Dive

February 19, 2013

Page 2: CONNECT 4.0 Technical Deep Dive February 19, 2013

Introduction

Brian Humphrey

CONNECT Architect

Matt Weaver

CONNECT Lead Developer

2

Page 3: CONNECT 4.0 Technical Deep Dive February 19, 2013

Webinar Technical Details

3

During discussion time, “raise

hand” to speak

Type questions in advance; click send

What is the largest file size I can stream usingCONNECT 4.0?

Questions + answers appear in chat window

Page 4: CONNECT 4.0 Technical Deep Dive February 19, 2013

CONNECT 4.0New Features

① Increased throughput targeting increased numbers of PD, QD, RD, AD, and DS transactions

② Exchange and process large payload sizes of up to 1 GB

③ Run CONNECT on additional application servers such as IBM WebSphere and Oracle WebLogic to meet their environment needs

④ More comprehensive event logging and metric data

⑤ Ability to determine the state of a transaction across messages in order to better review and analyze the operation of CONNECT and adopters’ trading partners

⑥ Minimize deployment load by supporting a lightweight gateway which allows smaller server footprint and use of system resources

⑦ Support Direct messages to allow for greater adoption and exchange

4

Page 5: CONNECT 4.0 Technical Deep Dive February 19, 2013

5

Agenda

• Updated tech stack

- Enables:

+ increased throughput,

+ large payload sizes, and

+ multi-app support

• Improved performance

• Large payloads

• Event logging

- How it works and how you can use it

• Transaction logging

• “Lightweight gateway”

- Current users – changes to be noted

- Direct

Page 6: CONNECT 4.0 Technical Deep Dive February 19, 2013

6

Updated Tech Stack

• Support for WebLogic, WebSphere, and GlassFish application servers

– Deploy via an Enterprise Archive

• Web service stack introduced to expand CONNECT’s capabilities

– Apache CXF replaces Metro

• Source code now at GitHub

– Simplified code contribution process

• Build with maven

– Better dependency management

– Replaces ant

– Easier project setup

Page 7: CONNECT 4.0 Technical Deep Dive February 19, 2013

7

Start developing

• Get the CONNECT 4 Source– Checkout source:

git clone https://github.com/CONNECT-Solution/CONNECT.git.

– Alternatively, create a fork of our repo and clone your fork: git clone https://github.com/<your_git_hub_username>/CONNECT.git.

– git checkout 4.0.0

• Compile Source– Mvn clean install

• Request Enhancements or Log Issues– https://issues.connectopensource.org

• Submit Code– https://codereview.connectopensource.org/

Follow the “how to contribute code” wiki page:https://developer.connectopensource.org/x/DwBcB

Page 8: CONNECT 4.0 Technical Deep Dive February 19, 2013

Increased Throughput

8

Achieved through:• Reduction in memory usage

• ApacheCXF & OpenSAML

• Reduced number of static classes

• Fewer number of web services running

• Removed redundant and duplicative code flows

*These numbers are based on the same testing methodology performed during the CONNECT benchmark testing for release 3.3.

Document Submission

PatientDiscovery

Document Retrieve

Document Query

0 5 10 15 20 25 30 35 40 45 50

Messages per Second

CONNECT 4.0

CONNECT 3.3

CONNECT 3.2.1

CONNECT 3.1

Page 9: CONNECT 4.0 Technical Deep Dive February 19, 2013

9

Large Payloads

• Using Streaming Web Services using HTTP “Chunking”

– Minor wsdl file change – does not affect interoperability.

– “Over the wire” message is unchanged

• File size limited only by network and server capabilities

– No longer limited by memory available to the server

• Backwards compatible

– Up to limitations of partner gateway.

Page 10: CONNECT 4.0 Technical Deep Dive February 19, 2013

Event Logging

Goals and Data Points

Two formal high level business goals:

CONNECT provides the ability to count and produce durations for the following values:

• Number of a given transaction type (PD, QD, RD, etc.)

• Number of a given transaction group

• Number of transactions from a specific gateway

• Total duration for given transaction type

• Total duration for a given transaction group

CONNECT can track and report on the following data points:

• Error

• Performance

• Transaction Type

• Payload

• Error Messages log (without PHI data)10

Page 11: CONNECT 4.0 Technical Deep Dive February 19, 2013

11

Event Logging

• CONNECT captures lifecycle events for inbound and

outbound messages

• Event logging framework can be extended to:

– Add new event types

– Record events in different manners

– Customized what details are recorded

Page 12: CONNECT 4.0 Technical Deep Dive February 19, 2013

12

State Diagram for Inbound Message

Page 13: CONNECT 4.0 Technical Deep Dive February 19, 2013

13

State Diagram for Outbound Messages

Page 14: CONNECT 4.0 Technical Deep Dive February 19, 2013

14

Event Class Diagram

Page 15: CONNECT 4.0 Technical Deep Dive February 19, 2013

15

EventLogger Class Diagram

Page 16: CONNECT 4.0 Technical Deep Dive February 19, 2013

16

Event Configuration

Page 17: CONNECT 4.0 Technical Deep Dive February 19, 2013

17

EventFactoryConfig.xml

<bean name="eventmanager" class="gov.hhs.fha.nhinc.event.EventManager" factory-method="getInstance" />

<alias alias="eventfactory" name="baseeventfactory"/>

<bean name="baseeventfactory" class="gov.hhs.fha.nhinc.event.EventFactory"/>

Page 18: CONNECT 4.0 Technical Deep Dive February 19, 2013

Transaction Logging

Transaction Logging Example

18

Database and log output for a related transaction chain (Patient Discovery, Document Query, and Document Retrieve messages as a single transaction)

Note that there are two transaction entries logged for each service

The response Nhin message ID was logged based on its RelatesTo message ID

Page 19: CONNECT 4.0 Technical Deep Dive February 19, 2013

19

“Lightweight Gateway”

• Reduction of endpoints

• “Entity” now called “Standard” (“Pass-through” remains)

• Configurable

Page 20: CONNECT 4.0 Technical Deep Dive February 19, 2013

20

Document Query Provided Interfaces

Page 21: CONNECT 4.0 Technical Deep Dive February 19, 2013

21

applicationContext.xml

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”>

<property name="ignoreResourceNotFound" value="true"/>

<property name="locations”>

<list>

<value>classpath:documentquery.properties</value>

<value>file:///${nhinc.properties.dir}/gateway.properties</value>

<value>classpath:documentquery-test.properties</value>

</list>

</property>

</bean>

Page 22: CONNECT 4.0 Technical Deep Dive February 19, 2013

22

applicationContext.xml (continued)

<bean id="nhinDQ”

class="gov.hhs.fha.nhinc.docquery._20.nhin.DocQuery”>

<property name="inboundDocQuery">

<bean class=“{docquery.inboundDocQuery}" />

</property>

</bean>

Page 23: CONNECT 4.0 Technical Deep Dive February 19, 2013

23

Property files

• gateway.properties:

# docquery.inboundDocQuery=\ gov.hhs.fha.nhinc.docquery.inbound.PassthroughInboundDocQuery

• src/main/resources/docquery.properties:

docquery.inboundDocQuery=\

gov.hhs.fha.nhinc.docquery.inbound.StandardInboundDocQuery

Page 24: CONNECT 4.0 Technical Deep Dive February 19, 2013

24

Direct

SMTP message transaction

CONNECT leveraged Direct Project RI

How to use CONNECT Direct:– Configure your own organization’s mail server

– Use your regular mail client

– Or your EMR’s mail client

– Or, use SOAP+XDR

Tool for Stage 2 Meaningful Use

Page 25: CONNECT 4.0 Technical Deep Dive February 19, 2013

Direct Deployment

25

Page 26: CONNECT 4.0 Technical Deep Dive February 19, 2013

Join Us for Sprint Review + Planning

26

Join us for sprint review and planning sessions, every other Monday, 10am-noon ET.

The CONNECT product team will share the work of the last sprint for community review and feedback. We’ll then transition into a high-level planning session to set the themes for the coming sprint, in the context of the product roadmap. Community input and insights are welcome, so please join us!

The meeting will start with a review of the work accomplished during the past sprint which leads into a planning discussion for the upcoming sprint, we flow from one topic to another based on content, questions and conversation.

Sprint Review + Planning: Every other Monday 10am-12pm ET (next one: Feb 24)Tel: 646-216-4772 866-946-0485 Participant Code: 922 914 63Web: https://arkadin.webex.com/arkadin/j.php?J=703876882 (meeting id 703 876 882)

Page 27: CONNECT 4.0 Technical Deep Dive February 19, 2013

Upcoming Events

February 11, 2013CONNECT Release 4.0

February 25, 2013 (10am ET)Next Sprint Review + Planning meeting

March 4 - 7, 2013 HIMSS Interoperability Showcase demo

Spring 2013 (date to come, D.C. area)CONNECT User Group Meeting

27

4.0

Page 28: CONNECT 4.0 Technical Deep Dive February 19, 2013

More Details on CONNECT

https://developer.connectopensource.org/display/CONNECT40

https://github.com/CONNECT-Solution/CONNECT/tree/4.0.0

http://issues.connectopensource.org

http://www.connectopensource.org/developer-resources/forums/developer-forum

28

Release info:

GitHub:

JIRA:

Forums:

Page 29: CONNECT 4.0 Technical Deep Dive February 19, 2013

29

Discussion

Questions?

Comments?

Page 30: CONNECT 4.0 Technical Deep Dive February 19, 2013

Webinar Technical Details

30

Type questions in advance; click send

Questions + answers appear in chat window

During discussion time,

“raise hand” to speak

What is the largest file size I can stream usingCONNECT 4.0?

Page 31: CONNECT 4.0 Technical Deep Dive February 19, 2013

31

Contact Information

Please post questions on the CONNECT Release Webinars Forum: http://www.connectopensource.org/developer-resources/forums

CONNECT [email protected]

Page 32: CONNECT 4.0 Technical Deep Dive February 19, 2013

Important Links

Webinar Recording, Q & A, Slides:http://www.connectopensource.org/about/events/connect-webinar-v4-021913

CONNECT Forums:http://www.connectopensource.org/developer-resources/forums

32

Page 33: CONNECT 4.0 Technical Deep Dive February 19, 2013

Thank you for participating.