sen - University of Connecticut

clappingknaveSoftware and s/w Development

Dec 14, 2013 (3 years and 7 months ago)

57 views

1

CSE


300

Service
-
oriented architectures (SOA) and
their application and usage in healthcare


Herak Sen

CSE300: Topics in Biomedical Informatics

herak.sen@engr.uconn.edu

Computer Science & Engineering Department

The University of Connecticut

371 Fairfield Road, Box U
-
255

Storrs, CT 06269
-
2155

2

CSE


300

Outline


Introduction and Motivation


Role of SOA


Background on SOA


SOA in healthcare:


Connected Health


Connected Health Framework


Microsoft


Health Research Data Network (HRDN)


Modeling Medical e
-
services


Mobile


Bottlenecks

3

CSE


300

Introduction and Motivation (Complexity)


Operate in different environment



Entity focused i.e. built specifically for providers,
patient ,insurance companies etc



Minimum information sharing



Hardly any interaction



Complicated business, legal and ethical rules




4

CSE


300

Introduction and Motivation (Outcome)


Patient suffers


Repeats information to different kinds of entity


No simple way to find information in times of
emergency


Quality


8
th

leading cause of death in US in medical errors


Duplicate patient information may be lead to
repeated testing due to conflicts


1/3 spending on healthcare goes to fix the
duplication


$2.7 trillion estimated expenditure by 2010 but not
number 1 in health care services




5

CSE


300

Introduction and Motivation (Solutions)


Technology


Give the entities especially patients to choose
health services


Adoption of connected computer systems could
reduce error and money


Internet can be used to deliver health information
quickly


Standardize health data exchange


Use the current systems instead of making new
ones


Create a non
-
proprietary “network of networks”
that will support rapid health information flow

6

CSE


300

Role of SOA


Significant work in independent healthcare area


PHR


EMR


Medication Management tool


Chronic disease management tools



Need to connect various systems



Service Oriented Architecture


Provides ways to connect disparate systems


Connect at edge of one system


7

CSE


300

Role of SOA (healthcare)


Common Framework of standards at National Level


Data Exchange


Security and Authorization


Data Integrity


All built as services


Using such services to integrate various existing
systems


No redesigning of existing systems


Secure integration without jeopardizing patients
and providers confidential data






8

CSE


300

Service Oriented Architecture

9

CSE


300

Service Oriented Architecture


Definition


The policies, practices, frameworks that enable
application functionality to be provided and
consumed as sets of services published at a
granularity relevant to the service consumer.


Services can published, discovered and invoked


Abstracted away from the implementation using
standards
-
based form of interfaces.


One can think “functions” in a program as services

1.
Hides the implementation

2.
Discoverable by the library it belongs

3.
Can be invoked to get results

4.
Publishable through a library


10

CSE


300

SOA Motivation


Present systems are across different architectures
networks and even between organizations


Challenge is to find extendible, flexible that fits into
legacy systems


Need to adapt to changing business models without
effecting other parts of systems


Integration


Provide existing business functionalities as services
that can be reused




11

CSE


300

SOA Examples


Yahoo


Flickr


Travel


Google


SOAP search API


Amazon


Amazon Associates Web Service exposes
Amazon's product data and e
-
commerce
functionality


Amazon DevPay is a simple
-
to
-
use billing and
account management service






12

CSE


300

SOA Components


Services


The contract defined between one or more
“published” interfaces exposing well
-
defined
functionalities



Interfaces


Defining services , like header files in C++


Contracts


Published Services


Published services are exposed through network


Public services are exposed within a system





13

CSE


300

SOA Components


Service provider


The software entity that implements a service
specification



Services are just interfaces


Provider provides implementation


There can be many implementations


Its up to the client to select the service provider






14

CSE


300

SOA Components


Clients


The software entity that requests the services


Clients can be an end user application or another
service


Typically they would choose a particular
provider and call the appropriate service







15

CSE


300

SOA Components


Service locator


A specific kind of service provider


Acts as a registry and allows for the lookup of
service provider interfaces and service locations


Identifiers are used to used for clients to
discover the services


Service must be dynamically discovered and
therefore their location should not be hard coded







16

CSE


300

SOA Components


Service broker


A special service provider that can pass on service
requests to one or more additional service providers






Components of SOA

17

CSE


300

SOA Management


Security


Authorize requests, encrypt and decrypt data as
required, and validate information.


Deployment


Allow the service to be moved around the
network to maximize performance or eliminate
redundancy to provide optimum availability.


Logging


Provide auditing and metering capabilities.


Dynamic rerouting



Provide fail
-
over or load
-
balancing capabilities.


Maintenance



Manage new versions of the service.






18

CSE


300

Web Services

19

CSE


300

Web Services


SOA can be implemented in many ways with web
services as the most popular



Definition by The Web Services Architecture
Working Group


“A Web service is a software system identified
by a URI, whose public interfaces and bindings
are defined and described using XML. Its
definition can be discovered by other software
systems. These systems may then interact with
the Web service in a manner prescribed by its
definition, using XML based messages
conveyed by Internet protocols ”






20

CSE


300

Web Service components


Service


Defined using XML based language called Web
Service Descriptor Language (WSDL).


Contains operation performed, data types used
and communication protocol used


Simple Object Access Protocol (SOAP)


Lightweight XML based protocol.


Platform independent


No drawbacks of RPC like security,
compatibility and blocking by firewalls and
proxy servers


Web service may also use other transport
protocol such as HTTP,MIME,SSL,SMTP etc




21

CSE


300

Web Service components


Universal Description, Discovery and Integration
(UDDI)


Web service that manages information about
service providers, implementations and
metadata.


Service providers can advertise their web
services through UDDI


Defined in XML



22

CSE


300

Web Service components



SOAP, HTTP, SSL etc

WSDL

UDDI

23

CSE


300

Web Service Performance and Reliability


Questions?


Can we depend on network


Is it slow


Enterprise system support


Answer


Distributed Architecture solutions


Internal services may use RPC


Load balancing software


Fault tolerant clusters


Wide area load distribution


Replica Management


WS
-

Transactions



24

CSE


300

Web Service Performance and Reliability


Scalability


Asynchronous callbacks to reduce transport
layer overhead


Queues
-

Component that just listens to the
requests


25

CSE


300

Web Service Security


SOAP and XML are text based


WS
-

Security


Integrating security with SOAP


Provides message integrity using XML
signatures


Associates security tokens with messages for
confidentiality


Support multiple security tokens format such as
Username, X.509, SAML, REL Kerberos etc

26

CSE


300

Web Service Security considerations


Message VS Transport layer security


Client authentication VS Sophisticated brokered
solutions, including X.509, Kerberos protocol


Protecting confidentiality of messages.


Detecting tampered messages.


Preventing the processing of replayed messages.


Accessing remote resources and flowing identity
across tiers.


Preventing exceptions from revealing sensitive
implementation details.


Protecting Web services from malformed or
malicious messages.

27

CSE


300

SOA in Healthcare

28

CSE


300

Connected Health


Connecting for health


A private public collaborative organization that
studies various fields of health information
technology


Features


Safeguards privacy


Decentralized


Federated


Network of networks built on Internet


No central repository (e.g. patient medical
records)


Exchange with authorization




29

CSE


300

Connected Health


Common Framework


Ensures interoperability


Secure transport in internet


Reliable authentication


Network software


Common policies


Methodologies


Documents


Use proven data standards


Private
-
public fund




30

CSE


300

Connected Health


Conclusions


Cannot be centralized


Standards and common framework allows easy
interoperability




Service Oriented Architecture

fits in this paradigm

31

CSE


300

Connected Health Framework
-
Microsoft

32

CSE


300

Connected Health Framework
-
Microsoft


Architectural approach following the “Connecting
for health” guidelines


Information system with common definitions both
at technical and business level


Patient as the main entity


Lack of integration services between organization
results in inefficiency


No national health ID


Systems should link at the edges using
authorization


Federated based on data standards, interoperable,
protects patient’s privacy and is built incrementally




33

CSE


300

Connected Health Framework
-
Microsoft

Architectural Description


Service oriented


Modular approach


Reduces dependencies between systems


Use open standards and protocols


Interoperable


Federated data


Data should reside as close as possible to where
it‘s created and administered


Caching at various level (departmental, regional,
national)



34

CSE


300

Connected Health Framework
-
Microsoft


Federated security


Easier management of identities


Delegating aspects of authentication


Delegating role assignments


Trustworthiness


Reliable


Fault tolerant




35

CSE


300

Connected Health Framework
-
Microsoft

Business Pattern for Healthcare

36

CSE


300

Connected Health Framework
-
Microsoft

Architecture

37

CSE


300

Connected Health Framework
-
Microsoft


Alignment of Business and Technical
Architectures

38

CSE


300

Connected Health Framework
-
Microsoft


Advantages


High level architectural


Applicable to various medical domain


Tries to separate stable and volatile processes


Very modular


Provides good integration







Based on Service Oriented Architecture


39

CSE


300

Health Research Data Network
(HRDN)

40

CSE


300

Health Research Data Network (HRDN)


“Collection of software services, connected via high
bandwidth communication infrastructure and
standardized interfaces, enabling use participating
data collection by authorized participants.”


Motivation


Health Researchers constantly need data or their
research and experiments


The data sets though exist but are difficult to
acquire due to their sensitive nature


Data custodian organizations keep such data
though there are ethical and legislative
requirements for accessing those for research
purpose



41

CSE


300

Health Research Data Network (HRDN)


Goal


Minimize the time for researchers to access the
data


Access without violating various requirements


Organizational Requirement


Ethical Requirement


Legislative Requirement


Support collaboration and re
-
use of knowledge
among the HRDN participants



42

CSE


300

Health Research Data Network (HRDN)

Abstract HRDN Architecture

43

CSE


300

Health Research Data Network (HRDN)


Preparing


Collection of data by data custodians


Does not dictate how to collect data.


Storing


Adding software and standards around data held
by data custodians


HRDN does not force data custodian how to
store data.


It provides services to access data from data
custodian’s legacy system



44

CSE


300

Health Research Data Network (HRDN)

Sharing

Allows resources to be discovered and also access to
multiple data sources and other services




Data Services


Accepts a request for data as query and returns
requested data as messages.


Response may also contain some metadata such
as timestamp and volume summary


May invoke security, auditing and logging
services


45

CSE


300

Health Research Data Network (HRDN)

Sharing


Orchestration Services


Responsible for invocation of network
resources.


It takes a series of scenarios or a workflow that
involves invocation of various resources


Planner and Transformation services


Responsible for transformation of data as per
various schemas


Cache Manager


Responsible for the persistent and safe data
storage


It receives requests from clients for standard
data creation, updating, deletion and retrieval

46

CSE


300

Health Research Data Network (HRDN)

Using
:

These services provide the final response to the clients.



Services


Analytical Information Management service


checks whether the given data fits for the request.
Generates metadata relating to the quality of fitness.



Exploratory Data Analysis service provides various
statistical summaries and graphical forms.


Surveillance Analysis service provides some
specialist analysis functions appropriate for health
surveillance.


Statistical Model Building service provides
statistical and decision making services.


47

CSE


300

Health Research Data Network (HRDN)


Describing
:


These services provide metadata management,
such as in sharing layer the metadata can be the
track of information flow or in the preparing and
storing layer metadata such as who created and
stored the data, time etc can be stored.



48

CSE


300

Health Research Data Network (HRDN)


Protecting
:


Member Registration Services provides mean to
authenticate users using membership definitions
policy etc and responds with security token .


Security Token Services generated security
tokens and may form input for other services


Session Initiator that allows user to log on


Agreement Facilitator that validates whether
request matches the custodian requirements etc
are part of this layer



49

CSE


300

Health Research Data Network (HRDN)

HRDN Services

50

CSE


300

Modeling Medical e
-
services

51

CSE


300

Modeling Medical e
-
services


Defines requirements of a Web service based
middleware for the execution of medical e
-
services



Enable building integrated medical applications for
Internet
-
based workflow execution.


The workflows and business logic can be spread
across various organizations.


Web services provides a feasible way to model,
design and implement workflows.


Example of medical information systems, the HIS
(Hospital Information System), the RIS (Radiology
Information System) and the PACS (Picture
Achieving and Communication system)


52

CSE


300

Modeling Medical e
-
services


IHE
-

Integrating the Healthcare Enterprise


Provides framework for integration


Cardiology, Eye Care, IT Infrastructure etc


Integration based in IHE done using traditional
workflow in Intranet based environment


Workflows can span across organizational
boundaries


Web service based workflow model that
implements IHE conformant transactions to provide
medical e
-
services functionality in a mixed Intra
-

net/Internet environment

53

CSE


300

Modeling Medical e
-
services
-
Requirements


HL7 and DICOM (Digital Imaging and
Communications in Medicine) encoding


Attach the original messages to SOAP
messages.


WS
-
Attachments, SOAP Messages with
Attachments


More recently, the it supports base64binary
encoding of data and is currently evolving as the
standard mechanism for transferring binary data
as it doesn’t require additional protocol parsers

54

CSE


300

Modeling Medical e
-
services
-
Requirements


Modeling workflows


BPEL (Business Process Execution Language)


WS
-
BPEL supports business transaction and
defines an interoperable integration model that
should facilitate the expansion of automated
process integration in intra corporate or B2B.

55

CSE


300

Modeling Medical e
-
services
-
Requirements


Web Service Transactions



Application must take care of transaction.


WS
-
Transaction provides a standard for web
service transaction


Web service security


WS
-

security provides many of securing web
services


WS
-
Trust and WS
-

SecureConversation can also
be used


Web service registration and binding


UDDI


Registry of medical services

56

CSE


300

Mobile Healthcare Information
Support

57

CSE


300

Mobile Healthcare Information Support


Wireless devices can provide point of care access to
various health related information


Can build real time care process


Researchers are trying to integrate Health
Information Systems with both wired and wireless
network


Ultimately provide faster access to data



58

CSE


300

Mobile Healthcare Information Support


Different from Desktop


Processor power


Bandwidth


Display


Existing web content suits desktops on wired
network


There is need to adapt content to meet the
constraints mentioned above in small mobile
devices


59

CSE


300

Mobile Healthcare Information Support


Solution


Provide health care information on both wired
and wireless network


Reconfigure web contents according the mobile
devices



Architecture

60

CSE


300

Mobile Healthcare Information Support


Web service are published


Medical information accessed through web service


Desktop application can call the web service to
display the information



Mobile context server accesses information
through web service and applies context to the
contents by using styles, an attribute override, and
templates according to the resources of a given
mobile device.

61

CSE


300

Bottlenecks

62

CSE


300

Bottlenecks


SOA requires expertise in designing


Healthcare domain in very complex


Architects must spend significant amount in
designing the framework of reusable services


Both public
-
private organizations must work
together


Standards


Medical data standards are emerging


Need to determine whether they are sufficient


Interoperable


63

CSE


300

Bottlenecks


Service discovery


Services can be quite complex


Requires considerable human expertise to select
the correct service


Services must be well described


Not well defined health areas


Dosing depends on not very well formed
parameters


Need for researchers in both medicine and SOA
to indentify such areas and find ways of
constructing services


64

CSE


300

Bottlenecks


Real Time


SOA is distributed


Skeptical about SOA in emergency situations


Services must be well described


Promote


Motivate health organization for integrating
their health services


Reluctant sharing information


Commercial services can be profitable


65

CSE


300

Thank You