Monday, August 3, 2015

MSIS has a new strategic objective as part of our FY16 strategy called Strengthen and Commit to Service Oriented Architecture (SOA). While SOA is not new in the IT industry it is relatively new to MSIS.

SOA Strategy.jpg

BACKGROUND

In some circles, SOA is spoken about as if it were a large complex technology partly due to vendors that have created software suites designed to execute a SOA. SOA is not a technology but rather a style of developing applications such that it can be integrated with other applications right from the start. It involves an industry standard design methodology.
Service is a term that is used a lot within MSIS especially related to ITIL so let’s define service as it pertains to SOA. Think of the most basic definition of service such - something that a provider does for a consumer. In the context of SOA, the provider and consumer might be software applications communicating with one another. A service is the endpoint of a connection and has some type of underlying computer system that supports the connection offered.
HOW IT WORKS
A service oriented architecture is essentially a collection of services which communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed. The technology of Web Services is the most likely connection technology of service-oriented architectures. The following figure illustrates a basic service-oriented architecture. It shows a service consumer at the right sending a service request message to a service provider at the left. The service provider returns a response message to the service consumer. The request and subsequent response connections are defined in some way that is understandable to both the service consumer and service provider. How those connections are defined is explained in Web Services Explained.
Screen Shot 2015-07-27 at 9.34.04 AM.png
Traditional applications deliver pages/screens to the human users. But all the hard work of assembling data from the back-end systems got lost while rendering the user interface. SOA capitalizes on this lost opportunity by surfacing the data in a simple machine-consumable text format such as XML or JSON. Think of it as the world wide web for the applications. Just like how any web application can be consumed with any browser, any application can consume any SOA service as long as it is available on the network. The below figure illustrates the extraction of a SOA service that can then be reused by other applications.
Screen Shot 2015-07-31 at 9.43.11 AM.png

This figure also illustrates that by having a single service, logic changes need only to be made to the service and not in all applications.

SOA IN MSIS
MSIS currently has SOA services currently in place including, Biospecimen (LabVantage) Service and Wave Form Service with two others in-work and planned (Research Attestation and Person Service).   

Also worth mentioning is our Research MedBus which is a SOA platform that implements several core SOA components. Among these components, MedBus implements a “service bus” which allow both internal and external services to be uniformly plugged into the framework. This complements rather than compete with existing solutions. MedBus enables two of our 9 SOA design principles: loose coupling of services and service discoverability. In other words, MedBus enables SOA but it's not mandatory for SOA.

WHAT TO EXPECT

We know from others that SOA is a journey and there is a lot to learn about the design methodology. In the end, we’re confident that MSIS will become more agile by reusing services that already exist.

Using the verb “commit” to SOA services in the name of our strategic objective was no accident. By committing, we will be devoting resources to SOA starting with education and training. There will be lunch and learn sessions devoted to SOA and roles closely involved in the development and support of SOA will receive training.

Commit also means that we are also be holding teams accountable to reuse services where they exist. Since the SOA services will be reused by numerous applications it’s imperative that we design these services collaboratively with all critical stakeholders.

Expect to see additional blog posts on the nine principles of SOA recently adopted by the MSIS Architecture Working Group (AWG).

Authored by:
Amitava Shee
Dave Roberts

0 comments :

Post a Comment