cross border health exchange with switchyard
DESCRIPTION
TRANSCRIPT
Cross border health exchange with SwitchYard
Jakob Munih
Agenda
• - Who we are?• - Brief introduction to health interoperability• - Brief introduction to out system• - What we used to develop our solution• - Migration to SwichYard• - Dozer additions to SwichYard published Github• - Questions
About Parsek
www.parsek.com
Eu markets7 %
Eu markets7 %
Austria & italy
28 %
Austria & italy
28 %
Domestic market47 %
Domestic market47 %
Adriatic region
18 %
Adriatic region
18 %
Market position
Technology & Organization
a
Parsek's »Healthcare« service bus
● An ESB driven platform for storing, exchanging and transforming health data
● Connects legacy systems with standard gateways etc
● Uses health standard services (mostly IHE)
HSB Structure
HSB infrastructure
Healthcare Service Bus
lIferay
JBoss rules / jBPM
SwitchYard (Cloud ready)
JBoss AS
Oracle/ MySQL/ Progres/ PostgreSQL
Linux / Windows
VMware
Open source standards-compliant portal server
Open source standards-compliant rule engine
Open source Enterprise Service Bus
Open source JEE6-compliant application server
Database independent
Operating system independent
Virtualization environment
Routing and integration in detailI/O
ESB Orchestration
Abstract Orchestration
Soap / soaps MLLP
JMS FTP
http / https REST
Tcp / tcps JPA / DB
SCA Mail
BPEL BPM
Pipe line Apache camel
Integrating Healthcare Enterprise
● IHE promotes the coordinated use of established standards to address specific clinical needs in support of optimal patient care
● Enable seamless and secure access to health information whenever and wherever needed.
● IHE Profiles describe the solution to a specific integration problem, and document the system roles (Actors), standards and design details for implementers to develop systems that cooperate to address that problem.
Most common IHE Profiles
● IT Infrastructure Profiles: document repository document registry, patient demographics query....
● Laboratory Profiles: Laboratory Barcode Labeling....
● Radiology Profiles......● …...
Parsek's »Healthcare« service bus
● ESB controlled flows of IHE services● ESB gateways handles the communications
(web-services, TCP, UTP etc)● ESB transformers handles the differences of
the data structure source and target systems
HSB cross-border health exchange
Parsek's Health Service Bus
● We stared with jBoss AS 5.1 and ESB 4.10● Started testing with SwichYard 0.5● First working installation with SwichYard 0.8● Now working with SwichYard 1.0
Differences between ESB and SY
● Google it :)● JUDCon 2012 in Boston:
– Future of the Enterprise Service Bus at Jboss– Enterprise Services Made Easy
Disadvantages of using ESB
● Old technology – developing a legacy system● No CDI or any EE6 goodies● Consuming a lot of resources● Really slow redeployment times● Needed to restart server every few deploys● Hard to run real tests
Benefits of SwichYard
● EE6 based (CDI etc)● Runs on AS7● Deploy only what you need● Fast redeployments● Easy to write tests● Really good design tooling
How to start porting an application?
● API changed, so actions must be re-written, but how to maintain a common code base?
How to start porting an application?
● Move all ESB Actions logic to EJBs– an ESB Action looks up for an EJB– SY service inject it
● Move from jBoss 5.1 to jBoss 6.x if possible– EJB3.1, CDI, JPA2
What with transformers?
● SY provides: Java, JAXB XSLT, JSON, Smooks● Smooks
– SY tooling uses the last version of Eclipse– There is no Smooks UI for last versions of Eclipse– Smooks is not being updated for 2 years
Let's Introduce Dozer
● Java Bean to Java Bean mapper● Automatically copy data if property names on
both objects are the same● Automatically converting between types● Mapping is bi-directional● Working Eclipse plug-in
Dozer UI
Adding Dozer to SY
● Add Dozer to SY parent pom.xml● SY tooling uses Eclipse Modeling Framework Project (EMF) for
GUI generation– Add EMF models– Add Dozer to the list of known transformers
● SY core– Modify schema– A little bit of code to call Dozer with the passed configuration
● Publish to GitHub
Get it from GitHub
● https://github.com/parsek-doo/parent● https://github.com/parsek-doo/core● https://github.com/parsek-doo/tools● Author: Uroš Krivec● To be included in SwichYard 2.0
Questions
Thanks