Presentation on theme: "PHINMS: Application Integration Raja Kailar, Ph.D. The findings and conclusions in this presentation are those of the author and do not necessarily represent."— Presentation transcript:
PHINMS: 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.
Overview PHINMS – brief overview and history Application Integration View Summary
What is PHINMS? (Business Perspective) Secure, reliable message transport Used by PH agencies to send data to CDC Applications using PHINMS include: BioSense, ELR, LRN, NBS, HCN, NHSN Some states using PHINMS internally: NYS, NYC, MN, OK, CA 4-year old product deemed mission critical by CDC
What is PHINMS? (Technical Perspective) CDCs implementation of the ebXML 2.0 messaging standards Runs on Windows, Linux, Solaris (platform independent) Can be used by any application that can write and read database tables (language independent)
Overview Provide guidelines for business and technical decisions on messaging Analyze application interfacing considerations Explore ways to leverage messaging infrastructure to satisfy new data sharing needs
Data Sharing Models ModelProsCons Centralized Repository Accuracy (real time updates)Scalability Single point of failure Security Distributed Repositories with Query/Response Accuracy Autonomy (data ownership) Privacy Application level tight coupling Reliability Distributed Repositories with Messaging Application level loose coupling Autonomy, Privacy Data latency
To Message Or Not To Message? When to message? Periodic, un-attended data exchange Data latency acceptable When not to message? Data latency not acceptable (synchronization needed) Manual confirmation is necessary
What 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)?
Is PHINMS the Right Tool For You? Requirement: Secure, Reliable Messaging over Internet OptionProsCons BuildFull control over product, direction, intellectual property 1) Expensive and time consuming 2) Custom implementations may not interoperate 3) Product maintenance and support burden Buy1) Quick return on investment 2) No product support burden 1) Cost 2) No control over product life cycle/direction 3) Proprietary implementations may not interoperate with other products Use freeware (e.g., PHINMS) 1) Low investment, high returns 2) No product support burden 3) Proven solution Reduced control over product life cycle/direction
Sending Side - Interfacing Steps Sending Interface Usage Database Queue Create Database Record in transport-queue with Payload and Meta-data File Descriptors 1) Drop file in outgoing directory 2) Create file descriptor File-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
Sending Interface Considerations Sending Interface Option ProsCons Database Queue (preferred) 1) Ease of maintenance 2) Queue Viewer (Console) 1) Dependency on DBMS 2) Requires ODBC/JDBC programming File descriptors1) DBMS not needed 2) Simpler programming 1) Harder to manage File-system folders (new) 1) DBMS not needed 2) No added programming 1) Queue management more complex 2) Higher disk space use
Receiving Interface Considerations Receiving Mode ProsCons Synchronous (e.g., Servlet) Processing level response on same connection (no delays) Not reliable (timeouts) Harder to trouble-shoot / maintain Asynchronous (e.g., DBMS or JMS Queue) Reliable, Scalable, Easier to trouble- shoot/maintain No processing level response
PHINMS - Messaging Models ModelProsConsSending Application Interface Gateway 1) Single security model 2) Simple deployment 3) More dynamic collaborations 1) Scalability 2) Single point of failure 3) Asynchronous only 1) Address information of Gateway and Recipient 2) Encryption with Recipient key (not gateway key) Peer-to-Peer 1) Scalable 2) Private 3) More reliable 4) Synchronous and Asynchronous models 1) Complexity 2) Many security models, infrastructures 3) Static collaborations Address/encryption information of Peer node Messaging Gateway (Route-not-Read) Peer-to-Peer (Direct- Send)
Leveraging Existing PHINMS For New Data Sharing
Summary Data sharing needs determine suitability of messaging, architecture and tools PHINMS is a pluggable component that enables secure/reliable data sharing Many public health organizations have PHINMS Can leverage infrastructure for new data sharing As usage goes up, need to scale up your infrastructure