Presentation on theme: "PHINMS: Application Integration"— Presentation transcript:
1PHINMS: Application Integration Raja Kailar, Ph.D.The findings and conclusions in this presentation are those of the author and do not necessarily represent the views of the Centers for Disease Control and Prevention/the Agency for Toxic Substances and Disease Registry.
2Overview PHINMS – brief overview and history Application Integration ViewSummary
3What is PHINMS? (Business Perspective) Secure, reliable message transportUsed by PH agencies to send data to CDCApplications using PHINMS include: BioSense, ELR, LRN, NBS, HCN, NHSNSome states using PHINMS internally: NYS, NYC, MN, OK, CA4-year old product deemed “mission critical” by CDC
5What is PHINMS? (Technical Perspective) CDC’s implementation of the ebXML 2.0 messaging standardsRuns on Windows, Linux, Solaris (platform independent)Can be used by any application that can write and read database tables (language independent)
9OverviewProvide guidelines for business and technical decisions on messagingAnalyze application interfacing considerationsExplore ways to leverage messaging infrastructure to satisfy new data sharing needs
10Data Sharing Models Model Pros Cons Centralized Repository Accuracy (real time updates)ScalabilitySingle point of failureSecurityDistributedRepositories withQuery/ResponseAccuracyAutonomy (data ownership)PrivacyApplication level tight couplingReliabilityDistributed Repositories with MessagingApplication level loose couplingAutonomy, PrivacyData latency
11To Message Or Not To Message? When to message?Periodic, un-attended data exchangeData latency acceptableWhen not to message?Data latency not acceptable (synchronization needed)Manual confirmation is necessary
12What Are Your Messaging Requirements? Is there a need for automated B2B data sharing?Is sensitive data being shared via the Internet?Is guaranteed delivery of messages important?Do you have a mix of small / large agencies (some with only “outbound” connections to Internet)?
13Is PHINMS the Right Tool For You? Requirement: Secure, Reliable Messaging over InternetOptionProsConsBuildFull control over product, direction, intellectual property1) Expensive and time consuming2) Custom implementations maynot interoperate3) Product maintenance and support burdenBuy1) Quick return on investment2) No product support burden1) Cost2) No control over product life cycle/direction3) Proprietary implementations may not interoperate with other productsUse freeware (e.g., PHINMS)1) Low investment, high returns3) Proven solutionReduced control over product life cycle/direction
15Sending Side - Interfacing Steps InterfaceUsageDatabase QueueCreate Database Record in transport-queue with Payload and Meta-dataFile Descriptors1) Drop file in “outgoing” directory2) Create file descriptorFile-system Folder (new)1) Create “Folder-Map” (map folder to addressing information)2) Drop file to folder, and transport uses the properties in the Folder map to send file
16Sending Interface Considerations Interface OptionProsConsDatabase Queue (preferred)1) Ease of maintenance2) Queue Viewer (Console)1) Dependency on DBMS2) Requires ODBC/JDBC programmingFile descriptors1) DBMS not needed2) Simpler programming1) Harder to manageFile-system folders(new)2) No added programming1) Queue management more complex2) Higher disk space use
18Receiving Interface Considerations ModeProsConsSynchronous(e.g., Servlet)Processing level response on same connection (no delays)Not reliable (timeouts)Harder to trouble-shoot / maintainAsynchronous(e.g., DBMS or JMS Queue)Reliable, Scalable,Easier to trouble-shoot/maintainNo processing level response
19PHINMS - Messaging Models Peer-to-Peer(Direct-Send)MessagingGateway(Route-not-Read)ModelProsConsSending Application InterfaceGateway1) Single security model2) Simple deployment3) More dynamic collaborations1) Scalability2) Single point of failure3) Asynchronous only1) Address information of Gateway and Recipient2) Encryption with Recipient key (not gateway key)Peer-to-Peer1) Scalable2) Private3) More reliable4) Synchronous and Asynchronous models1) Complexity2) Many security models, infrastructures3) Static collaborationsAddress/encryption information of Peer node
22SummaryData sharing needs determine suitability of messaging, architecture and toolsPHINMS is a “pluggable” component that enables secure/reliable data sharingMany public health organizations have PHINMSCan leverage infrastructure for new data sharingAs usage goes up, need to scale up your infrastructure