Slides - OSEHRA

advertisement
VistA SOA Services
VistA Service Assembler (VSA)
Conceptual and Technical Overview
ESS Architecture Workgroup
August 2013
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
VistA SOA Services
2
Common Legacy SOA Interpretations
VistA
Encapsulation / Encasement
HealtheVet VistA
Notes
Service
Ordering
Service
Rx
Service
CP&E
Service
Consumers
Atomization / Re-Hosting
– 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
MDWS/VIA
VistA
Notes
Rx
Ordering
Consumers
CP&E
VistA SOA Services
3
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
VistA SOA Services
4
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
VistA SOA Services
5
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
VistA SOA Services
6
Paradigm Shift:
VistA as an SOA Service Provider
Encased
Leveraged
VistA is encased as a system to isolate
and then replace in the future
VistA packages are leveraged and extended as
building blocks for legitimate SOA services
Adapter Integration
Service Integration
‘Consumer applications’ are integrated
with adapters that encase VistA
‘Consumer applications’ are integrated with SOA
services exposed by ‘provider applications’
Rip and Replace
Plug and Play
Legacy VistA is encased with adaptors as
a monolithic system, then replaced
VistA applications expose SOA services, allowing
application-by-application replacement
Fine Grained
Coarse Grained
Chattiness due to business logic in
adaptors, fine grained VistA methods
All business logic positioned in VistA applications
to produce coarse grained service logic modules
Built from ‘scratch’
Built from existing components
SOA services, environment and
governance built “from the ground up”
Existing VistA methods and data used to build
SOA services, reducing development, testing, etc.
VistA SOA Services
7
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
VistA SOA Services
8
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 Services
9
VistA Service Assembler (VSA) High Level
1
2
VistA
A M Developer or System Integrator identifies existing or new
M routine(s) to be called by a new or existing VistA SOA
Service.
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
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).
VistA SOA Federating
Services Platform - Regional
(Java)
2
VistA Service Assembler
Wizard
A VistA SOA Service descriptor is generated and stored in the
VistA SOA Federating Service Platform.
3
4
VistA Service Assembler
SOA Service Descriptors
VSA Package
Site Specific VistA M
Routine Calling
Adapter (VMRCA)
Core ESB
VistA SOA Services
VistA SOAbyServices
(generated
the
(Websphere Registry and
Repository)
(Websphere Message
Broker)
(generated
by the
Assembler
Wizard)
Assembler Wizard)
VistA SOA Service
Registry Entries
VistA SOA Service
Proxies
To-be Integration
6b
Consuming
Applications
Consumers
6a
5
Near Term Integration
Routines
(generated by the Assembler
Wizard)
Registry and Repository
6a
M Code and Data
All Other Packages
6
Enterprise Service Bus (ESB)
M Hosting Platforms
MUMPS Caché
Hosting
Platform
(Intersystems
or open
source
(Intersystems
or Open
platform
(ie. GT.M),Caché
130+ instances
Source
Platform (ie.
in production
in Graystone))
VA)
Private
Interface
Site Specific VistA M
Routine Calling Service
(VMRCS)
6
TO BE – The ESB is deployed to production
6a
Registry entries and service proxies created for the VistA SOA
Services.
6b
1
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.
10
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.
VistA Service Assembler
11
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
VistA Service Assembler
12
VistA SOA Services Runtime View
Enterprise Service Bus (ESB)
VistA
Site 1
M Code and Data
M Routines for
Progress Notes
Registry and Repository
(Websphere Registry and
Repository)
Progress Notes Service
Registry Entry
Outpatient Meds Service
Registry Entry
Allergies Service
Registry Entry
VistA SOA Federating
Services Platform Regional
(Java)
Progress Notes
Service
Outpatient Meds
Service
Consuming
Consumers
Applications
Core ESB
(Websphere Message Broker)
Allergies Service
M Routines for
Outpatient Meds
M Routines for
Allergies
VMRCA
VMRCS
Site N
M Code and Data
M Routines for
Progress Notes
M Routines for
Outpatient Meds
Progress Notes Service
Proxy
M Routines for
Allergies
Outpatient Meds Service
Proxy
VMRCA
Allergies Service
Proxy
VMRCS
VistA Service Assembler
13
VSA National Production Deployment Configuration
Region 1 RDC
2
Region 2 RDC
2
Region 3 RDC
Region 4 RDC
WSRR
WSRR
WSRR
WSRR
VistA SOA Service
Registry Entries
VistA SOA Service
Registry Entries
VistA SOA Service
Registry Entries
VistA SOA Service
Registry Entries
WMB
WMB
WMB
WMB
VistA SOA Service
Proxies
VistA SOA Service
Proxies
VistA SOA Service
Proxies
VistA SOA Service
Proxies
VistA
VistA
VistA
VistA
VistA SOA Federating
Services Platform
VistA SOA Federating
Services Platform
VistA SOA Federating
Services Platform
VistA SOA Federating
Services Platform
1
VistA SOA Services
VistA SOA Services
1
2
VistA SOA Services
VistA SOA Services
1
1
VistA SOA Services
VistA SOA Services
VistA SOA Services
VistA SOA Services
Site 1 to M
Site M+1 to N
Site N+1 to O
Site O+1 to P
M Code and Data
M Routines
M Code and Data
M Routines
M Code and Data
M Routines
M Code and Data
M Routines
VMRCA
VMRCA
VMRCA
VMRCA
VMRCS
VMRCS
VMRCS
VMRCS
Federated VistA SOA Services
communicate with each other to
produce a national view of information.
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
VistA Service Assembler
2
2
Chatty communication within an
RDC is optimized on high speed
network.
14
VSA Deployment and Rollout
System Component
VA Deployment and Rollout Mechanism
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
No Issues Foreseen
15
VSA Security Integration
VistA
Site 1-N
Enterprise Service Bus
(ESB)
M Code and Data
M Routines Supporting
VistA SOA Services
Registry and
Repository
(Websphere Registry
and Repository)
https
Ensures user
authentication
and audit logging.
VistA SOA Service
Registry Entries
VistA SOA Federating
Services Platform
Consuming
Applications
Core ESB
https
(Websphere Message
Broker)
https
VistA SOA Services
VistA SOA Service
Proxies
https
Authorization is
handled by
application M
routines.
VMRCA
In process
communication
VMRCS
VistA Service Assembler
16
VA/Open Source Integration
• VA to Open Source
Release
• Open Source
Integration into VA
– VistA SOA Service
artifacts released to
OSEHRA
– M patches including
VMRCA released to
OSEHRA
– VMRCS code released to
OSEHRA
VistA SOA Services
– Open Source VistA SOA
Service artifacts
validated and approved
by VA
– M patches are validated
and approved by VA
– OSEHRA governs name
spacing
17
VSA Technology Stack (VA vs. Open Source)
System Component
VA Technology Stack
Open Source Technology Stack
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

VistA Service Assembler
VA/Open Source
Integration Issues?
18
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.
VistA Service Assembler
19
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.
VistA Service Assembler
20
Questions / Comments
VistA SOA Services
21
Download