19
VSA Integration with Apache VistA SOA Update Edward Ost 07/20/2022

VSA Integration with Apache

Embed Size (px)

DESCRIPTION

VSA Integration with Apache. VistA SOA Update. Edward Ost 5/20/2014. Purpose. Identify differences between VA and Community use of VSA Understand lifecycle impacts of VSA on OSEHRA Platform Align and leverage with VSA. Agenda. Quick Overview of Apache Camel - PowerPoint PPT Presentation

Citation preview

Page 1: VSA Integration with Apache

VSA Integration with ApacheVistA SOA Update

Edward Ost

04/19/2023

Page 2: VSA Integration with Apache

Purpose

➜ Identify differences between VA and Community use of VSA

➜ Understand lifecycle impacts of VSA on OSEHRA Platform

➜ Align and leverage with VSA

Page 3: VSA Integration with Apache

Agenda

➜ Quick Overview of Apache Camel➜ Applying Apache Camel for VSA Architecture➜ Camel-RPC connector for VistA➜ Using Spring Dynamic Proxies with Camel➜ Next Steps

Page 4: VSA Integration with Apache

Principles

➜ Apply separation of concerns to technology stack

➜ Open Standards – interoperability➜ Open Architecture – pluggable solution stack➜ Open Business Model – robust supply chain

➜ Promote rapid evolution by minimizing client impact

➜ Managed variation across VA and Community

Page 5: VSA Integration with Apache

What Stays the Same

➜ Same emphasis on VistA as provider of Services

➜ Same emphasis on coarse grained Managed Services

➜ Same emphasis on VSA as tooling to facilitate Managed Services compliant with Governance

➜ Same external interoperable transport

VSA provides a Vista Platform Service Development Kit (SDK) to embed Governance into Development

Page 6: VSA Integration with Apache

VA SOA Runtime View

VistA Service Assembler 6

Enterprise 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

CacheWS-* in M

E$B not in Community

No RPC Support for Existing

Clients

VistA SOA ServicesVistA Service Assembler (VSA)Conceptual and Technical OverviewVSA Development Team April 2014

Page 7: VSA Integration with Apache

OSEHRA VistA Platform

VistA Service Assembler 7

Legacy App(managed)

Managed Application

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

RPC(logical VMRCS layer)

Optional

Platform

Support and Migration of

Existing Clients

Hybrid Environment

RPC

VistA Service Backplane

Ente

rpris

e In

fras

truc

ture

Page 8: VSA Integration with Apache

Client Requirements

➜ Many existing RPC Clients

➜ Impacts on Clients slows rollout

➜ Low risk migration path

➜ Manage a hybrid client environment

Page 9: VSA Integration with Apache

Service Backplane Integration

➜ No ESB in OSEHRA Community deployments

➜ Responsibilities of ESB can be delegated / integrated VistA Federated Service Platform

➜ Service backplane should integrate with existing community infrastructure

➜ Lightweight, open source solution

Page 10: VSA Integration with Apache

Differences – Operations

➜ Legacy Client Support

➜ Manage Legacy Clients

➜ Zero-touch Deployment

Legacy App(managed)

Site N

M Code and Data

M Routines for Progress Notes

M Routines for Outpatient Meds

M Routines for Allergies

VistA Service Backplane

Page 11: VSA Integration with Apache

Differences – Technical

➜ VSA• Compose low level RPC into high level Managed Services

➜ VMRCS• Implemented in process in M• Logical layer to compose internal services• Manage connection and session state• Enforce RBAC• Less IPC and marshalling overhead

➜ RPC rather than SOAP for intra-Platform communication

Page 12: VSA Integration with Apache

Differences – Supply Chain

➜ No WS-* implementation in M

➜ Multiple OSS vendors for integration

➜ No required custom built integration

➜ Leverage existing RPC bindings

Page 13: VSA Integration with Apache

What Stays the Same

➜ VistA trusts the identity communicated by the Service Backplane via secure transport

➜ Service Backplane has pluggable Identity consistent with Enterprise Infrastructure (e.g. VA ESB)

➜ Responsibility for coarse grained enforcement of Access Control is in the Service Backplane

➜ Privacy and other concerns may require propagation of identity and access control policies to VistA

Page 14: VSA Integration with Apache

OSS Supply Chain

➜ Don’t forget the maintenance tail!

➜ Good software is software you don’t need to maintain

➜ Leverage the Apache OSS community for technology

➜ KPI : [lines of business code] / [lines of tech code]

➜ Don’t build applications, build components

Page 15: VSA Integration with Apache

Technical Challenges

➜ RPC currently has 32k payload limit

➜ Need to build an appropriate Connection model for the Service Backplane to VRCS

➜ Need to capture the Identity and Access Control mechanisms and points of enforcement

Page 16: VSA Integration with Apache

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 Services 16

VistA

HealtheVet VistANotes

ServiceRx

Service

Ordering Service CP&E

ServiceConsumers

Atomization / Re-Hosting

Encapsulation / Encasement

MDWS/VIA

Consumers

VistANotes

RxOrdering

CP&EVistA SOA ServicesVistA Service Assembler (VSA)Conceptual and Technical OverviewVSA Development Team April 2014

Page 17: VSA Integration with Apache

Architecture Risk Management

Risk Mitigation Strategy

Perpetuates shortcomings and dependencies on legacy systems

VSA extends governance to design phase, OSS allows client refactoring

Inhibits individual application replacement

Composition layer in VistA enables incremental refactoring

Granular logic, “chatty” communications exacerbated by the middleware layer

Coarse grained services composed directly in VistA

Major retooling and investment Non-invasive, zero-touch deloyment

Subjective interpretation Common policies expressed declaratively in VSA at design time, and enforced at runtime by VistA Service Backplane

Inability to anticipate future consumers Layered composition of fine grained VistA services provides flexibility, EIP in Service Backplane allow choreography

Tendency to build too much, to build too little

Build a little, test a little, deploy incrementally, rapid feedback; service maturity cycle

Page 18: VSA Integration with Apache

Summary

➜ VistA Federated Service Platform➜ Accelerate Adoption• Minimize impact on existing clients• Supporting existing RPC clients• Manage existing clients within new framework

➜ Support Community operations without ESB➜ No dependency on Cache➜ No need to build and maintain WS-* in M➜ Option for EWD➜ Separation of Concerns focuses VistA M stack on data

and domain logic rather than tech stack.

Page 19: VSA Integration with Apache

Next Steps

➜ Demo VistA integration with Medical Devices using VistA Service Backplane

➜ Pluggable Camel transport for VSA• Apache Camel Proxy to WS• Apache Camel Proxy to RPC