Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

WSO2 Guest Webinar: How a Complex Healthcare Protocol can be Easily Handled by the WSO2 Platform

1,143 views

Published on

WSO2 Guest Webinar: How a Complex Healthcare Protocol can be Easily Handled by the WSO2 Platform

  1. 1. How a complex Healthcare Protocol can be Easily Handled by the WSO2 Platform Alberto Lagna CTO Biznology srl alberto.lagna@biznology.it
  2. 2. >apropos alberto.lagna •  Computer Science graduate, Telco master •  CTO of Biznology •  Working as software architect / team leader •  Consulting on design and development of enterprise systems mainly based on JavaEE and mobile •  UML, XML, BPM expert •  20 years of working experience in Europe and USA •  JUGTorino member •  Promoting the use of free software and supporting the open source movement
  3. 3. >apropos biznology.it •  Consulting Company •  Defined a SOA at 360° approach: –  Methodology and tools –  Reference Architecture –  Communication –  Integration and Program Management –  Economical Goal and Result Measurement –  Organization Model and Training Plans •  Because Applying the SOA approach is not ONLY using the right technology Methodology and tools Reference Architecture Communicati on Integration and Program Management Economical Goal and Result measurement s Organization Model and Training Plans
  4. 4. Agenda •  Integration architecture •  Description of the SOAP services •  Same Business case on HL7 •  Demo 1 •  Need to have only 1 codeline •  Solution •  Demo2
  5. 5. Adapter b Adapter b Adapter a Integration Architecture •  Regional index for all the Health Record Systems of the hospitals SOAP service AHL7 Service A SOAP service B SOAP service A SOAP service B Regional Index
  6. 6. Intro to wso2 ESB and HL7 •  Vanjikumaran Sivajothy of WSO2
  7. 7. *" Glimpse of Modern Enterprises ๏  Disparate)Systems,)Services,)Protocols) ๏  Diverse)and)dynamic)business)requirements) ๏  No)single)vendor/solu;on)) ๏  On)premise/Cloud)solu;ons))))) *"
  8. 8. *" Point to Point/Spaghetti Integration ๏  Scalability,)maintainability,)troubleshoo;ng)nightmares.))) *"
  9. 9. *" ESB as the Integration Bus ๏  Conquering)integra;on)nightmares)with)WSO2)ESB) *"
  10. 10. *" Introducing WSO2 ESB ๏  A)lightweight,)high)performance)ESB) ๏  Comprehensive)REST,)SOAP,)WS+*)support)) ๏  100%)compliant)with)all)EIPs)(Enterprise)Integra;on) PaJerns)))) ๏  Connectors)(Salesforce,)Twilio)and)many)more))) ๏  SAP,"FIX,"HL7)M)Domain)specific)solu;ons) ๏  Zero)Code/Configura;on)driven))) ๏  Extensible)and)Scalable)) *"
  11. 11. *" ESB Functional Components *"
  12. 12. *" Mediators *"
  13. 13. *" Sequences *"
  14. 14. *" Endpoints *" A)logical)en;ty)to)which)messages)can)be)sent)from)the)ESB) A)service)endpoint)reference)(EPR)) A)JMS)queue) A)FIX)session) ) ) Various)opera;onal)and)QoS)constraints)can)be)engaged)on) an)endpoint) SOAP)version) WSMSecurity)
  15. 15. *" Proxy Services *"
  16. 16. *" APIs *"
  17. 17. *" WSO2 ESB Architecture *"
  18. 18. ๏  A)messaging)standard)for)the)exchange,)integra;on,)sharing)and) retrieval)of)electronic)health)informa;on)) ๏  Non)XML) ๏  Human)readable)(ASCII)) ๏  Uses)segments)and)one)character)delimiters) ๏  Widely)adopted)in)the)Health)Care)Informa;on)Services)Industry) around)the)World)) ๏  Minimum)Lower)Layer)Protocol) ) HL7"Message"Format"
  19. 19. ๏  HL7)Feature)) ) ๏  MLLP)based)Transport)) ) ๏  HL7)Proxy)/)Endpoint) ) ๏  Supports)HL7)2.x)Standard)Messages) ) ๏  Transforma;on) • HL7)EDI)(applica;on/ediMhl7)) • XML) ) ๏  HL7)Message)Valida;on)and)Conformance)Profile)Support) HL7"Support"of"WSO2"ESB"
  20. 20. ๏  HL7)Proxy)) • MLLP)Transport)) • Capable)of)listening)for)HL7)messages) ) ๏  Incoming)messages)converted)into)SOAP)equivalent) • Can)manipulate)HL7)message)using)all)available)ESB)mediators) ) ๏  HL7)Endpoint)) • Capable)of)sending)messages)to)HL7)receivers) ) ๏  Processing)HL7)messages)from)file)system)(using)VFS)) Exchanging"HL7"Messages"
  21. 21. Complex Services •  A lot of services –  Some of them deployed everywere –  Some of them deployed only in some hospitals •  Some of them are really complex –  With a LOT of information to exchange –  With a LOT of (cross) check to be done •  To be sure that in the index we keep the right information associated to the right people •  To be sure that in the index we keep only right information
  22. 22. Complex Services •  A lot of services
  23. 23. Complex Services •  Some message payload is really complex
  24. 24. Complex Services •  Some service business logic is really complex
  25. 25. Complex Services •  Some service business logic is really complex
  26. 26. Same Service on SOAP and HL7 •  Some services need to be exposed using the SOAP or the HL7 protocol –  Depending on the hospital preferred API –  Carrying the same content –  Implementing the same checks and business logic •  The solution: –  Keep checks and business logic in the SOAP service –  Keep only HL7 to SOAP (xsl) transformation in the HL7 service Transformation logic Business logic
  27. 27. Same Service on SOAP and HL7 •  HL7 message
  28. 28. Same Service on SOAP and HL7 •  Equivalent SOAP message (automatically provided by wso2)
  29. 29. Same Service on SOAP and HL7 •  Transform HL7 XML into SOAP XML through XSL –  See xsl •  Use xsl in proxy –  See proxy code
  30. 30. Demo •  in HL7 message => show steps through log •  in soap message => show steps through log
  31. 31. Adapter b Adapter b Adapter a Integration Architecture •  Need to have only 1 codeline, 1 test env, regardless the deployment architecture SOAP service AHL7 Service A SOAP service B SOAP service A SOAP service B Regional Index
  32. 32. Test Adapter Test environment •  Problem: –  Need to have only 1 codeline, 1 test env, regardless the deployment architecture SOAP service AHL7 Service A SOAP service B Regional Index
  33. 33. Test environment •  Solution: –  Call ant script that does the replacements of placeholders –  Call pom to generate CARs •  1 pom for every environment servi ce' service' val'x' placeho lder' val'x' placeholder' service service' service' val'x' placeho lder' val'x' placeholder' service
  34. 34. Demo •  Create 1 CAR for a specific environment
  35. 35. Questions and Answers Alberto Lagna CTO Biznology srl alberto.lagna@biznology.it •  Thanks a lot

×