CONNECT 4.0 Technical Webinar

farrierlimpingInternet and Web Development

Oct 31, 2013 (3 years and 11 months ago)

70 views

CONNECT 4.0

Technical Deep Dive

February
19,
2013

Introduction

Brian Humphrey

CONNECT
Architect


Matt Weaver

CONNECT
Lead Developer

2

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 using

CONNECT 4.0?

Questions + answers

appear
in chat window

CONNECT 4.0

New Features


I
ncreased 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

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


5

Updated Tech
S
tack


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

6

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
.


g
it

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



7

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

Patient

Discovery

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

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.


9

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

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


11

State Diagram

for
I
nbound
M
essage

12

State Diagram

for
O
utbound
M
essages

13

Event Class Diagram

14

EventLogger

Class
D
iagram

15

Event Configuration

16

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
"
/>

17

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

“Lightweight Gateway”


Reduction of endpoints


“Entity” now called

“Standard”

(“Pass
-
through” remains)


Configurable

19

Document Query Provided Interfaces

20

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
>


21

applicationContext.xml

(continued)

<
bean
id
=
"
nhinDQ


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


<
property
name
=
"
inboundDocQuery
"
>


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


</
property
>

</
bean
>


22

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



23

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

24

Direct Deployment

25

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 63

Web:
https://
arkadin.webex.com
/
arkadin
/
j.php?J
=703876882

(
meeting id 703 876 882)

Upcoming Events


February 11, 2013

CONNECT 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

More Details on CONNECT

https://
developer.connectopensource.org
/display/CON
NECT40


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:

Discussion

Questions?

29

Comments?

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 using

CONNECT 4.0?

Contact Information

Please post questions on
the CONNECT Release
Webinars Forum:

http://www.connectopensource.org/de
veloper
-
resources/forums



CONNECT Inbox

connect@hhs.gov

31

Important Links

Webinar Recording, Q & A, Slides:

http://www.connectopensource.org/about/events/con
nect
-
webinar
-
v4
-
021913


CONNECT Forums:

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


32

Thank you for
participating.