connect 4.0 technical deep dive february 19, 2013
TRANSCRIPT
![Page 1: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/1.jpg)
CONNECT 4.0Technical Deep Dive
February 19, 2013
![Page 2: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/2.jpg)
Introduction
Brian Humphrey
CONNECT Architect
Matt Weaver
CONNECT Lead Developer
2
![Page 3: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/12.jpg)
12
State Diagram for Inbound Message
![Page 13: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/13.jpg)
13
State Diagram for Outbound Messages
![Page 14: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/14.jpg)
14
Event Class Diagram
![Page 15: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/15.jpg)
15
EventLogger Class Diagram
![Page 16: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/16.jpg)
16
Event Configuration
![Page 17: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/20.jpg)
20
Document Query Provided Interfaces
![Page 21: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/25.jpg)
Direct Deployment
25
![Page 26: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/29.jpg)
29
Discussion
Questions?
Comments?
![Page 30: CONNECT 4.0 Technical Deep Dive February 19, 2013](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062314/56649e215503460f94b0d6e9/html5/thumbnails/33.jpg)
Thank you for participating.