vista soa services vista service assembler (vsa) conceptual and technical overview ess architecture...

21
VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

Upload: howard-gray

Post on 23-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

 VistA SOA ServicesVistA Service Assembler (VSA)

Conceptual and Technical Overview

ESS Architecture WorkgroupAugust 2013

Page 2: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 2

VA Healthcare SOA

“One of the major focuses of VA system integration is the healthcare domain.”

“The majority of VA healthcare computing involves VistA and applications integrated with VistA.”  

• The VA healthcare SOA challenge—– Efficiently expose existing VistA methods and data– Decouple consuming systems from the implementation details of VistA– Solve the “organizational gap” of coding multiple technologies

Page 3: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 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 through middleware layer

VistA

HealtheVet VistANotes Service

Rx Service

Ordering Service CP&E 

ServiceConsumers

Atomization / Re-Hosting

Encapsulation / Encasement

MDWS/VIA

Consumers

VistANotes

RxOrdering

CP&E

Page 4: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 4

Providing a Better Way:VistA as an SOA service provider

• Leverage proven assets– Existing application methods, data, application integration methods 

and governance– ‘Provider application’ SME and technical knowledge and 

documentation

• Improve management of the IT solution (development and sustainment)

• VistA applications and services become– Economically extensible, maintainable and individually replaceable– VSA generated VistA SOA services are fully compliant with SOA

architecture and compatible with VA SOA infrastructure

Page 5: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 5

VistA SOA Service Formats• Legacy VistA SOA compatible service designs– HL7 messaging

• Mature VA implementation• Data model driven

– Web Services• Offer various efficiencies• Suitable for certain integrations • “Composable” as coarse grained functionality

VSA is focused on the creation of VistA based web services to support the implementation of SOA

Page 6: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 6

The VistA Service Assembler (VSA) Solution

• Provides both a technical and organizational solution– Technical solution

• Legacy VistA integration compatibility• Technical abstraction across disparate technical environments• SOA implementation integration and compliance• Leveraging of existing VistA “service assets”

– Organizational solution• A solution that crosses technical boundaries• Accommodates staff skill set / technical orientation limitations• Provides standardized SOA implementation direction• Reduces investment, improves ‘time to market’• Minimizes organizational impact related to SOA implementation

Page 7: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

Paradigm Shift:VistA as an SOA Service Provider

VistA SOA Services 7

EncasedVistA 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 GrainedChattiness 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 ReplaceLegacy VistA is encased with adaptors as a monolithic system, then replaced

LeveragedVistA 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 GrainedAll business logic positioned in VistA applications to produce coarse grained service logic modules 

Built from existing componentsExisting VistA methods and data used to build SOA services, reducing development, testing, etc.

Plug and PlayVistA applications expose SOA services, allowing application-by-application replacement

Page 8: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 8

Major Elements of the Solution• VistA SOA service infrastructure– VistA Service Assembler Wizard– Service descriptors database– M environment components for ‘service’ execution– Federating platform and federating logic

• VistA SOA ‘reference implementation’ services– Per ‘service needs’ of VA stakeholder initiatives

• Definition of Policy and Process– VSA infrastructure distribution– VistA SOA service distribution

Page 9: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 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

Page 10: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

Enterprise Service Bus (ESB)

Registry and Repository(Websphere Registry and 

Repository)

Core ESB(Websphere Message 

Broker)

VistA

VistA SOA Federating Services Platform - Regional

(Java)MUMPS Hosting Platform (Intersystems Caché or Open Source 

Platform (ie. Graystone))

VistA Service Assembler (VSA) High Level

10

VistA Service Assembler Wizard

VistA SOA Service Registry Entries

VistA SOA Service Proxies

ConsumersConsuming Applications

Near Term Integration

To-be Integration

VistA Service Assembler SOA Service Descriptors (generated by the Assembler 

Wizard)6

6a

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 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 A VistA SOA Service descriptor is generated and stored in the VistA SOA Federating Service Platform.

4 A new VistA SOA Service is auto-generated and published.

5 Consuming Applications can interface with the new VistA SOA Service directly (NEAR TERM ONLY).

TO BE – The ESB is deployed to production

Registry entries and service proxies created for the VistA SOA Services. 

6a

6b 66a

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  Code and Data

All Other Packages

Routines

Site Specific VistA M Routine Calling Service 

(VMRCS)

13

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)

4

5

Private Interface

Page 11: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 11

VistA Service Assembler (VSA) High Level Component Descriptions

VSA Component Description

VistA Service Assembler Wizard Java web application - auto generates VistA SOA Services

VistA SOA Federating Services Platform Java application server such as Tomcat or WebLogic, to which VistA SOA Services are deployed

M Hosting Platform A runtime system supporting ANSI standard M such as Intersytems Caché or GT.M

VistA SOA Service An 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 Entry Entry in the Registry and Repository used to govern a specific VistA SOA Service

VistA SOA Service Proxy Proxy on the ESB used to abstract the service endpoint.

Page 12: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 12

VistA Service Assembler Wizard

• Web application accessible via browser• Define Service name• Define Operations• Federation• Site lookup is selectable• Used in design and development sandbox• VistA SOA Service operation payload transformations include XML, JSON transforms

Page 13: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 13

VistA SOA Services Runtime ViewEnterprise Service Bus (ESB)

Registry and Repository(Websphere Registry and 

Repository)

Core ESB(Websphere Message Broker)

Progress Notes ServiceRegistry Entry

Progress Notes Service Proxy

ConsumersConsuming Applications

Outpatient Meds ServiceRegistry Entry

Allergies ServiceRegistry Entry

Outpatient Meds Service Proxy

Allergies ServiceProxy

VistA

VistA SOA Federating Services Platform - 

Regional(Java)

Progress Notes Service

Outpatient Meds Service

Allergies Service

Site 1

M  Code and DataM Routines  for Progress Notes

VMRCS

VMRCA

M Routines  for Outpatient Meds

M Routines  for Allergies

Site N

M  Code and DataM Routines  for Progress Notes

VMRCS

VMRCA

M Routines  for Outpatient Meds

M Routines  for Allergies

Page 14: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VSA National Production Deployment Configuration

VistA Service Assembler

1 Federated VistA  SOA Services communicate with each other to produce a national view of information.

2 Chatty communication within an RDC is optimized on high speed network. 14

WSRR = WebSphere Registry and RepositoryWMB = WebSphere Message BrokerESB = Enterprise Service BusSOA = Service Oriented ArchitectureVMRCA = Site Specific Generic Mumps Routine Calling AdapterVMRCS = Site Specific Generic Mumps Routine Calling Service

Region 1 RDC

VistA

WSRR

VistA SOA Service Registry Entries

WMB

VistA SOA Service Proxies

2

VistA SOA Federating Services Platform

VistA SOA ServicesVistA SOA Services

Site 1 to M

M  Code and DataM Routines

VMRCS

VMRCA

Region 2 RDC

VistA

WSRR

VistA SOA Service Registry Entries

WMB

VistA SOA Service Proxies

2

VistA SOA Federating Services Platform

VistA SOA ServicesVistA SOA Services

Site M+1 to N

M  Code and DataM Routines

VMRCS

VMRCA

Region 3 RDC

VistA

WSRR

VistA SOA Service Registry Entries

WMB

VistA SOA Service Proxies

2

VistA SOA Federating Services Platform

VistA SOA ServicesVistA SOA Services

Site N+1 to O 

M  Code and DataM Routines

VMRCS

VMRCA

Region 4 RDC

VistA

WSRR

VistA SOA Service Registry Entries

WMB

VistA SOA Service Proxies

2

VistA SOA Federating Services Platform

VistA SOA ServicesVistA SOA Services

Site O+1 to P

M  Code and DataM Routines

VMRCS

VMRCA

1 1 1

Page 15: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VSA Deployment and RolloutSystem Component VA Deployment and Rollout Mechanism No 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 Services Each 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 Assembler 15

Page 16: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 16

VSA Security Integration

Enterprise Service Bus (ESB)

Registry and Repository

(Websphere Registry and Repository)

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

httpshttps

https

Ensures user authentication and audit logging.

Authorization is handled by application M routines.

In process communication

Page 17: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 17

VA/Open Source Integration• VA to Open Source

Release– VistA SOA Service artifacts released to OSEHRA

– M patches including VMRCA released to OSEHRA

– VMRCS code released to OSEHRA

• Open Source Integration into VA– Open Source VistA SOA Service artifacts validated and approved by VA

– M patches are validated and approved by VA

– OSEHRA governs name spacing

Page 18: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler

VSA Technology Stack (VA vs. Open Source)System Component VA Technology Stack Open Source Technology Stack VA/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

18

Page 19: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 19

Summary• VSA solution is cost effective

– VSA Wizard enables rapid assembly of existing VistA functionality as SOA compliant “services” by non-programmers

– Provides a rapid development and incremental approach

• VSA solution has low organizational impact– Crosses technical boundaries (i.e. MUMPS and Java)– Accommodates current staff skill set/technical orientation limitations

• VSA solution has minimal vendor dependence– Expands VistA extensibility and ‘open source’ product development 

opportunities. – Enables open source technology integration (Java Spring Framework and 

GT.M). A minimal Caché dependent gateway implementation can be ported to EWD in support of the open source community. When EWD is deemed TRM compliant in the future that implementation can ported within the VA to EWD.

Page 20: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA Service Assembler 20

Current Status

• High level architectural design artifacts have been created and reviewed by ASD architects and the VSA development team.

• Initial development of VSA tooling (service generation wizard) is underway.

• Roadmap and schedule for VSA releases is being developed.

Page 21: VistA SOA Services VistA Service Assembler (VSA) Conceptual and Technical Overview ESS Architecture Workgroup August 2013

VistA SOA Services 21

Questions / Comments