Presentation is loading. Please wait.

Presentation is loading. Please wait.

VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview VSA Development Team April 2014.

Similar presentations


Presentation on theme: "VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview VSA Development Team April 2014."— Presentation transcript:

1 VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview VSA Development Team April 2014

2 The VSA “Narrow Focus” “How is VistA supposed to integrate with external systems / applications in the Service Oriented Architecture (SOA) environment?” VistA SOA Services2

3 Common Legacy SOA Interpretations – Major retooling and investment – Subjective interpretation – Inability to anticipate future consumers – Tendency to build too much, to build too little – Perpetuates shortcomings and dependencies on legacy systems – Inhibits individual application replacement – Granular logic, “chatty” communications exacerbated by the middleware layer VistA SOA Services3 VistA HealtheVet VistA Notes Service Rx Service Ordering Service CP&E Service Consumers Atomization / Re-Hosting Encapsulation / Encasement MDWS/VIA Consumers VistA Notes Rx Ordering CP&E

4 VSA precepts VistA Service Assembler (VSA) is not an “adaptor”. It positions VistA as a direct provider of SOA web services. This is a paradigm shift in VistA system integration approach VSA is not a collection of ‘services’, it is a set of utilities that facilitate the structured creation of VistA-based, SOA compatible services With minimal technical orientation, VSA facilitates the automated creation of VistA based web services to support system integration and the implementation of SOA in the VA 4VistA SOA Services

5 VSA Objectives and Outcomes Technical— Position VistA as a direct provider of SOA services – Maintain/enhance existing security, auditing and role based access – Ensure implementation of the ‘user identity communication’ design pattern, generalizable for all VistA connectivity middleware solutions – Maintain VistA data integrity and VistA application-based provision/interpretation of data – Ensure SOA architectural principles (e.g. authoritative services, non- redundancy, loose coupling) – Standardize VistA SOA service design to support improved maintainability and sustainability Organizational— Facilitate effective and reliable VistA SOA development – Simplify organizational orientation related to development that involves both legacy VistA and OO environments – Facilitate VistA SOA service development efficiency through automation – Enable community development participation and VSA product utilization (e.g. ‘open source’) VistA SOA Services5

6 Major Elements of the VSA Solution VistA SOA service infrastructure – VistA Service Assembler Wizard – Service descriptors database – Federating platform and federating logic – M environment components for ‘service’ execution Definition of Policy and Process – VSA infrastructure distribution – VistA SOA service distribution External component integration and implementation** – VistA SOA ‘reference implementation’ services – VSA “Pre/Post” action logic components **Collaboration with/contribution by external groups 6VistA SOA Services

7 Enterprise Service Bus (ESB) Registry and Repository (Websphere Registry and Repository) Registry and Repository (Websphere Registry and Repository) Core ESB (Websphere Message Broker) Core ESB (Websphere Message Broker) VistA VistA SOA Federating Services Platform - Regional (Java) VistA SOA Federating Services Platform - Regional (Java) MUMPS Hosting Platform (Intersystems Caché or Open Source Platform (ie. Graystone)) MUMPS Hosting Platform (Intersystems Caché or Open Source Platform (ie. Graystone)) VistA Service Assembler (VSA) High Level 7 VistA Service Assembler Wizard VistA SOA Service Registry Entries VistA SOA Service Proxies Consumers Consuming Applications ‘Open Source’ connectivity VA integration approach VistA Service Assembler SOA Service Descriptors (generated by the Assembler Wizard) 6 6 6a 1 1 A M Developer or System Integrator identifies existing or new M routine(s) to be called by a new or existing VistA SOA Service. 2 2 The M Developer or System Integrator executes the Assembler Wizard providing required information such as operation names, mumps routines to be called, and parameter mappings. 3 3 A VistA SOA Service descriptor is generated and stored in the VistA SOA Federating Service Platform. 4 4 A new VistA SOA Service is auto-generated and published. 5 5 Organizations using VSA as an ‘open source’ solution can engage VSA services directly if SOA infrastructure (e.g. ESB) is not implemented. VA integration approach – ESB is deployed to production Registry entries and service proxies created for the VistA SOA Services. 6a 6b 6 6 6a The Consuming Applications integrate with the VistA SOA Service proxies published on the ESB and the direct connection to the VistA SOA Services published on VistA are retired. 6b M Hosting Platforms (Intersystems Caché or open source platform (ie. GT.M), 130+ instances in production in VA) M Hosting Platforms (Intersystems Caché or open source platform (ie. GT.M), 130+ instances in production in VA) M Code and Data All Other Packages Routines Site Specific VistA M Routine Calling Service (VMRCS) 1 1 3 3 2 2 VSA Package Site Specific VistA M Routine Calling Adapter (VMRCA) VistA SOA Services (generated by the Assembler Wizard) VistA SOA Services (generated by the Assembler Wizard) VistA SOA Services (generated by the Assembler Wizard) VistA SOA Services (generated by the Assembler Wizard) 4 4 5 5 Private Interface

8 Consuming Applications VSA core logic “Pre” logic “Post” logic “Pre” logic “Post” logic ESB / eMI VistAs & RPCs SOA Services Environment VistA M Environment VSA “Pre/Post” Logic (Future Implementation) 5. 1. 3. 2. 4. 6. 7. 8. 9. 10.

9 Solution Attributes Cost Effective – Able to rapidly expose broad VistA functionality as ‘services’ – Rapid development and incremental approach – Minimal retooling of VistA applications or retraining developers – Low impact organizationally Addresses SOA objectives – Security and system performance – Semantic and syntactic compatibility – Reusability and non-redundancy – System maintainability, sustainability and replaceability – Provides value before full SOA infrastructure is in place – Complete integration and compliance with SOA architecture Enables major consumers (e.g. mobile computing) Alleviates ‘vendor dependence’ concerns while exponentially expanding VistA extensibility and ‘open source’ product development opportunities VistA SOA Services9

10 Current Status VSA ‘proof of concept’ delivered December 2014 VSA ‘design time’/’run time’ components are operational, development underway to complete “essential” functionality features and prototype deployment Major dependencies include ESB/eMI implementation, ‘user identity’ design pattern (incl. ‘user provisioning’), multiple “user” types, ‘consuming application’ authentication, service consumption governance, etc. VSA Phase II (Feb. – January 2015)— Increment 1 – Development focused, initial implementation Increment 2 – Implementation focused, remaining development Collaboration with ConnectedHealth effort Implementation of actual business use cases related to VPS Kiosk, etc. Non-production/”production ready” implementation of VSA ‘run time’ capabilities targeted NLT summer 2014 10VistA Service Assembler

11 Navigate to a directory location and select or create a Service Descriptor file.

12

13

14 Service Descriptor File ZzMkoMyService soap 1.0.1 http://gov.va.med.zzmko zzmko.med.va.gov tiuLongListClinprocTitles TIU LONG LIST CLINPROC TITLES json from string dir string ZzMkoMyService soap 1.0.1 http://gov.va.med.zzmko zzmko.med.va.gov tiuLongListClinprocTitles TIU LONG LIST CLINPROC TITLES json from string dir string

15 Testing the Deployed Service

16 Test Results

17 Example of a RESTful service invoking the same RPC

18 Questions / Comments 18VistA SOA Services

19 Backup Slides VistA SOA Services19

20 Paradigm Shift: VistA as an SOA Service Provider VistA SOA Services 20 Encased VistA is encased as a system to isolate and then replace in the future Adapter Integration ‘Consumer applications’ are integrated with adapters that encase VistA Fine Grained Chattiness due to business logic in adaptors, fine grained VistA methods Built from ‘scratch’ SOA services, environment and governance built “from the ground up” Rip and Replace Legacy VistA is encased with adaptors as a monolithic system, then replaced Leveraged VistA packages are leveraged and extended as building blocks for legitimate SOA services Service Integration ‘Consumer applications’ are integrated with SOA services exposed by ‘provider applications’ Coarse Grained All business logic positioned in VistA applications to produce coarse grained service logic modules Built from existing components Existing VistA methods and data used to build SOA services, reducing development, testing, etc. Plug and Play VistA applications expose SOA services, allowing application-by-application replacement

21 VistA SOA Services Runtime View VistA Service Assembler21 Enterprise Service Bus (ESB) Registry and Repository (Websphere Registry and Repository) Registry and Repository (Websphere Registry and Repository) Core ESB (Websphere Message Broker) Core ESB (Websphere Message Broker) Progress Notes Service Registry Entry Progress Notes Service Registry Entry Progress Notes Service Proxy Consumers Consuming Applications Outpatient Meds Service Registry Entry Outpatient Meds Service Registry Entry Allergies Service Registry Entry Allergies Service Registry Entry Outpatient Meds Service Proxy Allergies Service Proxy Allergies Service Proxy VistA VistA SOA Federating Services Platform - Regional (Java) VistA SOA Federating Services Platform - Regional (Java) Progress Notes Service Outpatient Meds Service Allergies Service Site 1 M Code and Data M Routines for Progress Notes VMRCS VMRCA M Routines for Outpatient Meds M Routines for Allergies Site N M Code and Data M Routines for Progress Notes VMRCS VMRCA M Routines for Outpatient Meds M Routines for Allergies

22 VSA National Production Deployment Configuration VistA Service Assembler 1 1 Federated VistA SOA Services communicate with each other to produce a national view of information. 2 2 Chatty communication within an RDC is optimized on high speed network. 22 WSRR = WebSphere Registry and Repository WMB = WebSphere Message Broker ESB = Enterprise Service Bus SOA = Service Oriented Architecture VMRCA = Site Specific Generic Mumps Routine Calling Adapter VMRCS = Site Specific Generic Mumps Routine Calling Service Region 1 RDC VistA WSRR VistA SOA Service Registry Entries VistA SOA Service Registry Entries WMB VistA SOA Service Proxies VistA SOA Service Proxies 2 2 VistA SOA Federating Services Platform VistA SOA Services Site 1 to M M Code and Data M Routines VMRCS VMRCA Region 2 RDC VistA WSRR VistA SOA Service Registry Entries VistA SOA Service Registry Entries WMB VistA SOA Service Proxies VistA SOA Service Proxies 2 2 VistA SOA Federating Services Platform VistA SOA Services Site M+1 to N M Code and Data M Routines VMRCS VMRCA Region 3 RDC VistA WSRR VistA SOA Service Registry Entries VistA SOA Service Registry Entries WMB VistA SOA Service Proxies VistA SOA Service Proxies 2 2 VistA SOA Federating Services Platform VistA SOA Services Site N+1 to O M Code and Data M Routines VMRCS VMRCA Region 4 RDC VistA WSRR VistA SOA Service Registry Entries VistA SOA Service Registry Entries WMB VistA SOA Service Proxies VistA SOA Service Proxies 2 2 VistA SOA Federating Services Platform VistA SOA Services Site O+1 to P M Code and Data M Routines VMRCS VMRCA 1 1 1 1 1 1

23 VSA Security Integration VistA Service Assembler23 Enterprise Service Bus (ESB) Registry and Repository (Websphere Registry and Repository) Registry and Repository (Websphere Registry and Repository) Core ESB (Websphere Message Broker) Core ESB (Websphere Message Broker) VistA SOA Service Registry Entries VistA SOA Service Proxies Consuming Applications VistA VistA SOA Federating Services Platform VistA SOA Services Site 1-N M Code and Data VMRCS VMRCA M Routines Supporting VistA SOA Services https Ensures user authentication and audit logging. Authorization is handled by application M routines. In process communication

24 VistA Service Assembler (VSA) High Level Component Descriptions VSA ComponentDescription VistA Service Assembler WizardJava web application - auto generates VistA SOA Services VistA SOA Federating Services PlatformJava application server such as Tomcat or WebLogic, to which VistA SOA Services are deployed M Hosting PlatformA runtime system supporting ANSI standard M such as Intersytems Caché or GT.M VistA SOA ServiceAn SOA compliant service generated by the VistA Service Assembler Wizard with federating capabilities. Implemented in the Java Spring Framework. VistA Service Assembler SOA Service Descriptors Meta data XML document created by the VistA Service Assembler Wizard used to auto generate VistA SOA Services Site Specific VistA M Routine Calling Service (VMRCS) A REST/SOAP web service deployed to each site that delegates requests to run M routines to VMRCA. Implemented in vendor specific technologies.. Site Specific VistA M Routine Calling Adapter (VMRCA) VSA M routines that handle M routine calling VistA SOA Service Registry EntryEntry in the Registry and Repository used to govern a specific VistA SOA Service VistA SOA Service ProxyProxy on the ESB used to abstract the service endpoint. VistA Service Assembler24

25 VSA Deployment and Rollout System ComponentVA Deployment and Rollout MechanismNo Issues Foreseen Site Specific VistA M Routine Calling Adapter (VMRCA) Standard VA M patch release process via KIDS VSA Site Specific Generic Mumps Routine Calling Service (VMRCS) VMRCS is deployed in its own Caché database file at each site deployed to a region. M routines from other packages Standard VA M patch release process via KIDS VistA Service Assembler Wizard and Service Descriptors Deployed to development and not production. Service descriptors are versioned in source control. VistA SOA ServicesEach service is packaged as a WAR file. The service provider promotes a service through development, test and production environments. Service Registry Entries and Proxies ESB registry entry and proxy creation processes defined by operations are followed. VistA Service Assembler25

26 VSA Technology Stack (VA vs. Open Source) System ComponentVA Technology StackOpen Source Technology StackVA/Open Source Integration Issues? VSA Site Specific Generic Mumps Routine Calling Adapter (VMRCA) ANSI Standard MUMPS hosted on Caché ANSI Standard MUMPS hosted on Caché or GT.M M routines from other packages ANSI Standard MUMPS hosted on Caché ANSI Standard MUMPS hosted on Caché or GT.M VistA SOA Services, VistA Service Assembler Wizard and Service Descriptors Java/Spring Framework/Open Source Web Technologies deployed to WebLogic Java/Spring Framework/Open Source Web Technologies deployed to Tomcat or JBoss VSA Site Specific Generic Mumps Routine Calling Service (VMRCS) Caché Server Pages (CSP) and Caché Objects hosted on Caché, CSP Gateway hosted on IIS Enterprise Web Developer (EWD) hosted on Apache/IIS/CSP and Caché stack or on Node.js and GT.M stack 26 VistA Service Assembler


Download ppt "VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview VSA Development Team April 2014."

Similar presentations


Ads by Google