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

1,092 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

×