Click here to close now.

Welcome!

MICROSERVICES Authors: Carmen Gonzalez, Elizabeth White, John Wetherill, Lori MacVittie, David Sprott

Related Topics: Cloud Expo, Java, XML, Wireless, MICROSERVICES, Virtualization, SDN Journal

Cloud Expo: Article

Accelerate Mobile Application Development within Healthcare

Using API Management and Governance

Slide Deck from Gene Dragotta and Sachin Agarwal's Cloud Expo Presentation: A Peek into the Future of Mobile-Enabled Health Care

While unprecedented technological advances have been made in healthcare in areas such as genomics, digital imaging and Health Information Systems, access to this information has not been easy for both the healthcare provider and the patient themselves. Regulatory compliance and controls, information lock-in in proprietary Electronic Health Record systems and security concerns have made it difficult to share data across health care providers.

The opportunities inherent in mobile technology are dramatically changing the way healthcare business gets done. Healthcare provider professionals are adopting mobile devices and tablets as an alternative to desktops/laptops and using mobile applications to augment gaps in existing patient management system capabilities. Developing mobile applications for the healthcare industry has some unique challenges, particularly protecting your backend data services while making them available to mobile application frameworks and SDKs.

Mobile applications utilize messaging patterns similar to the client/server and AJAX patterns, however unlike desktop clients, mobile devices have to minimize client side processing to maximize battery life and also keep network chatter to a basic minimum. This is achieved by using RESTful APIs with machine-readable formats like JSON. The availability, reliability and performance of these API-based services are critical to the successful deployment and operating of your application.  Now add some healthcare domain requirements (encryption, security, etc.,) to this environment and there is a lot of work to do in addition to the actual coding of your mobile application.  An API management system will simplify exposing and consuming backend healthcare services through a variety of different channels. To successfully implement an API, you will need a tool that will enable simple enforcement of API controls, continuous monitoring capabilities, performance management, and assurance of high availability.

An API management system will typically provide capabilities for creating and registering service as follows:

  • Secure API Services
  • Manage API Lifecycles
  • Mediate and Virtualize Services
  • Govern Access to Services
  • Integrate Services and their Data
  • Support Authentication and Authorization for all APIs and Services, including OAuth, OpenID, SAML, Kerberos, WS-Security, LDAP and XACML
  • Support for all Major Security Standards, including WS*and WS-I

The focus of this article is to discuss how a unified API management and SOA governance platform can accelerate your organization's ability to deliver reliable, scalable and secure mobile applications for healthcare providers. First we will begin with the major technical challenges encountered when deploying healthcare-based mobile applications. Then we will discuss API management and governance platform expectations that can help you overcome these challenges such as the following:

  • Data Encryption
  • Access Control - Role and Application-based Access
  • Integration / Orchestration of data from Multiple Provider Systems
  • Mediation
  • Quality of Service Control
  • Usage Analytics / Event Management

Security - Encryption, Authentication and Authorization
A PKI facilitates users, applications and systems to exchange insecure data safely by encrypting it prior to transmission. Unlike traditional cryptography that uses private keys also known as symmetric cryptography, the public key infrastructure utilizes public key cryptography or asymmetric cryptography. This is used to authenticate a user or manage message encryption.

With asymmetrical cryptography, a public and private key are created simultaneously using the same algorithm (such as RSA) by the certificate authority. The private key is given to the requesting party and the public key is made publicly available (embedded within the certificate) in a location that all parties can access. The private key is used to decrypt text that has been encrypted with the public key. The certificate is used to authenticate the user.

Typically a PKI provides:

  • A certificate authority (CA) who issues and verifies the digital certificate. A certificate includes the public key or information about the public key
  • A registration authority (RA) acts as the verifier for the certificate authority before a digital certificate is issued to a requestor
  • Persistent storage of the certificates and keys
  • A certificate management system (creation, import, export, revocation, etc.)

In addition to authenticating with a validated digital certificate, using SAML, an SSO token, basic HTTP authentication, an X.509 certificate, an application token or a third-party IAM system are all popular approaches that can be used to securely connect your mobile application to back-end systems and data services residing with the HIE enterprise.

When health provider personnel authenticate themselves on systems that access patient health records; it's likely that different employees will require and qualify for various levels of data access based on their job description. For this reason, a role-based authentication / authorization framework is recommended. For example, the front office personnel may only have a need to see basic information such as patient demographics, insurance and medication information and a nurse might be required to have access to the entire patient's medical record. Having a framework for implementing role-based access will easily help filter and mask patient data attributes from un-authorized use.

Mediation and Service Orchestration
Where are your patient's medical records, how many sources of data needed to be aggregated, transformed and merged to assemble them, what formats of data do these sources of patient record fragments support etc.? Architects and developers typically face these questions when working with multiple systems both internally and externally to assemble a patient's holistic and contiguous health history or continuity of care document (HL7 CCD). Often developer are using integration engines such as Rhapsody, Mirth, etc., to transform HL7 messages, legacy EDI messages, database data, along with other source of patient information into in XML and usually exposed via a SOAP service.

Most mobile UX frameworks support some form of a model-view-controller runtime design pattern or at a minimum provide a way to perform an XMLHttpRequest to retrieve data. Whether using an MVC pattern or a lower-level URL request, REST is the preferred method (over SOAP) primarily for the simplicity of setting up the request. A SOAP service will return an XML document. When using a JavaScript-based framework such as Sencha Touch, using JSON for data objects is usually preferred. The mobile app framework's data store component prefers the use of a REST service and the data it returns to be in JSON format. With this approach, the integration engine is providing a SOAP/XML service, unless we re-write and convert the SOAP service to a REST service, the mobile application will need to mediate between the SOAP and REST protocols and XML and JSON object formats.

In addition to mediation, service orchestration and the creation of compound services are a common requirement for health care oriented mobile applications. As an example, in order to create a patient's HL7 CCD, patient data usually resides within multiple systems, data service requests (primitives) to these systems will need to be orchestrated to form the resulting CCD dataset. In some cases, data returned from some of the primitive service requests may require some transformation or may be used as input to a subsequent request. Encapsulating and abstracting multiple primitive requests and any associated logic into a single composite service operation will reduce overall mobile application implementation complexity and message traffic between the mobile device and the HIE data center.

Policy-based Governance Controls for API Services
In most cases, we probably want different licenses with different levels of service (and access) to the backend APIs that enable our mobile applications. The levels of service could be measured in throughput, the bandwidth consumed over time, concurrency and availability.

Within the realm of health care you might want to have some specific controls or governance policies regarding the use of the HIE's back-end system services or APIs. Below are some QoS and SLA examples.

  • Allow APIs to be called no more than 10 times per minute per device
  • Allow devices to consume no more than 100MB per hour
  • Prevent devices from outside the trusted country list (user-defined)
  • Allow devices with this IP address range x.x.x.x-x.x.x.x to access the service layer
  • Prevent Denial-of-Service attacks with quota management and white/blacklisting
  • Only allow certain APIs to be called by specific user roles

The back-end services within the HEI should be deployed within an infrastructure that can provide a similar level of API governance.

Usage Analytics
In order to understand how your HEI back-end service layer is performing and being utilized by its application consumers, the API management platform should provide access to real-time API usage statistics, API status and event and SLA violation monitoring. These analytics can be used for troubleshooting, performance tuning, threat detection and various usage reports.

Most enterprises utilize a dashboard and reporting system that ingests telemetry data from a variety of systems within the enterprise. Data from these systems are combined to create a complete picture of enterprise system activity. Therefore it may become important to have a capability that can export or publish API management system telemetry data to an enterprise activity monitoring system or reporting data warehouse.

Conclusion
Healthcare-focused mobile applications contain complex use cases and have strict operational requirements. Security models, message protocol mediation services, service usage statistic collection, data transformations and service orchestration functions are all features that can easily be added to your mobile application by leveraging and integrating an API management and governance system with your service oriented architecture.

More Stories By Gene Dragotta and Sachin Agarwal

Gene Dragotta is a senior software developer and architect with 20 years of experience building distributed systems for the finance, insurance, government, military and the health care sector domains. Mr. Dragotta recently completed and deployed a mobile solution that utilizes the HL7 messaging protocol to remotely manage emergency battlefield dialysis treatments from a mobile device. Additionally Gene spent 3 years as a Tibco / Data Synapse Cloud Computing solutions architect building private and hybrid cloud computing infrastructures and migrating applications to those environments.

Sachin Agarwal is Vice President of Product Marketing and Strategy at SOA Software. He possesses more than 17 years of enterprise and startup experience focussing on using disruptive technologies to drive business growth. His expertise spans from infrastructure technologies like security and middleware to business centric applications like social, digital marketing, and analytics. At SOA Software he drives product marketing, strategy and customer adoption for API Management solutions. Prior to SOA Software, he held senior management roles in Product Management and Development at Oracle, Oblix and Infosys.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@MicroservicesExpo Stories
The world's leading Cloud event, Cloud Expo has launched Microservices Journal on the SYS-CON.com portal, featuring over 19,000 original articles, news stories, features, and blog entries. DevOps Journal is focused on this critical enterprise IT topic in the world of cloud computing. Microservices Journal offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. Follow new article posts on T...
Hosted PaaS providers have given independent developers and startups huge advantages in efficiency and reduced time-to-market over their more process-bound counterparts in enterprises. Software frameworks are now available that allow enterprise IT departments to provide these same advantages for developers in their own organization. In his workshop session at DevOps Summit, Troy Topnik, ActiveState’s Technical Product Manager, will show how on-prem or cloud-hosted Private PaaS can enable organ...
It's 2:15pm on a Friday, and I'm sitting in the keynote hall at PyCon 2013 fidgeting through a succession of lightning talks that have very little relevance to my life. Topics like "Python code coverage techniques" (ho-hum) and "Controlling Christmas lights with Python” (yawn - I wonder if there's anything new on Hacker News)...when Solomon Hykes takes the stage, unveils Docker, and the world shifts. If you haven't seen it yet, you should watch the video of Solomon's Pycon The Future of Linux C...
OmniTI has expanded its services to help customers automate their processes to deliver high quality applications to market faster. Consistent with its focus on IT agility and quality, OmniTI operates under DevOps principles, exploring the flow of value through the IT delivery process, identifying opportunities to eliminate waste, realign misaligned incentives, and open bottlenecks. OmniTI takes a unique, value-centric approach by plotting each opportunity in an effort-payoff quadrant, then work...
For those of us that have been practicing SOA for over a decade, it's surprising that there's so much interest in microservices. In fairness microservices don't look like the vendor play that was early SOA in the early noughties. But experienced SOA practitioners everywhere will be wondering if microservices is actually a good thing. You see microservices is basically an SOA pattern that inherits all the well-known SOA principles and adds characteristics that address the use of SOA for distribut...
Microservice architectures are the new hotness, even though they aren't really all that different (in principle) from the paradigm described by SOA (which is dead, or not dead, depending on whom you ask). One of the things this decompositional approach to application architecture does is encourage developers and operations (some might even say DevOps) to re-evaluate scaling strategies. In particular, the notion is forwarded that an application should be built to scale and then infrastructure sho...
SYS-CON Events announced today the IoT Bootcamp – Jumpstart Your IoT Strategy, being held June 9–10, 2015, in conjunction with 16th Cloud Expo and Internet of @ThingsExpo at the Javits Center in New York City. This is your chance to jumpstart your IoT strategy. Combined with real-world scenarios and use cases, the IoT Bootcamp is not just based on presentations but includes hands-on demos and walkthroughs. We will introduce you to a variety of Do-It-Yourself IoT platforms including Arduino, Ras...
Microservices are the result of decomposing applications. That may sound a lot like SOA, but SOA was based on an object-oriented (noun) premise; that is, services were built around an object - like a customer - with all the necessary operations (functions) that go along with it. SOA was also founded on a variety of standards (most of them coming out of OASIS) like SOAP, WSDL, XML and UDDI. Microservices have no standards (at least none deriving from a standards body or organization) and can be b...
Our guest on the podcast this week is Jason Bloomberg, President at Intellyx. When we build services we want them to be lightweight, stateless and scalable while doing one thing really well. In today's cloud world, we're revisiting what to takes to make a good service in the first place. Listen in to learn why following "the book" doesn't necessarily mean that you're solving key business problems.
Right off the bat, Newman advises that we should "think of microservices as a specific approach for SOA in the same way that XP or Scrum are specific approaches for Agile Software development". These analogies are very interesting because my expectation was that microservices is a pattern. So I might infer that microservices is a set of process techniques as opposed to an architectural approach. Yet in the book, Newman clearly includes some elements of concept model and architecture as well as p...
This month I want to revisit supporting infrastructure and datacenter environments. I have touched (some would say rant) upon this topic since my post in April 2014 called "Take a Holistic View of Support". My thoughts and views on this topic have not changed at all: it's critical for any organization to have a holistic, comprehensive strategy and view of how they support their IT infrastructure and datacenter environments. In fact, I believe it's even more critical today then it was a year ago ...
Even though it’s now Microservices Journal, long-time fans of SOA World Magazine can take comfort in the fact that the URL – soa.sys-con.com – remains unchanged. And that’s no mistake, as microservices are really nothing more than a new and improved take on the Service-Oriented Architecture (SOA) best practices we struggled to hammer out over the last decade. Skeptics, however, might say that this change is nothing more than an exercise in buzzword-hopping. SOA is passé, and now that people are ...
Microservices, for the uninitiated, are essentially the decomposition of applications into multiple services. This decomposition is often based on functional lines, with related functions being grouped together into a service. While this may sound a like SOA, it really isn't, especially given that SOA was an object-centered methodology that focused on creating services around "nouns" like customer and product. Microservices, while certainly capable of being noun-based, are just as likely to be v...
SYS-CON Events announced today the DevOps Foundation Certification Course, being held June ?, 2015, in conjunction with DevOps Summit and 16th Cloud Expo at the Javits Center in New York City, NY. This sixteen (16) hour course provides an introduction to DevOps – the cultural and professional movement that stresses communication, collaboration, integration and automation in order to improve the flow of work between software developers and IT operations professionals. Improved workflows will res...
You hear the terms “subscription economy” and “subscription commerce” all the time. And with good reason. Subscription-based monetization is transforming business as we know it. But what about usage? Where’s the “consumption economy”? Turns out, it’s all around us. When most people think of usage-based billing, the example that probably comes to mind first is metered public utilities — water, gas and electric. Phone services, especially mobile, might come next. Then maybe taxis. And that’s ab...
Containers and microservices have become topics of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 16th Cloud Expo at the Javits Center in New York June 9-11 will find fresh new content in a new track called PaaS | Containers & Microservices Containers are not being considered for the first time by the cloud community, but a current era of re-consideration has pushed them to the top of the cloud agenda. With the launch ...
As a group of concepts, DevOps has converged on several prominent themes including continuous software delivery, automation, and configuration management (CM). These integral pieces often form the pillars of an organization’s DevOps efforts, even as other bigger pieces like overarching best practices and guidelines are still being tried and tested. Being that DevOps is a relatively new paradigm - movement - methodology - [insert your own label here], standards around it have yet to be codified a...
An explosive combination of technology trends will be where ‘microservices’ and the IoT Internet of Things intersect, a concept we can describe by comparing it with a previous theme, the ‘X Internet.' The idea of using small self-contained application components has been popular since XML Web services began and a distributed computing future of smart fridges and kettles was imagined long back in the early Internet years.
SOA Software has changed its name to Akana. With roots in Web Services and SOA Governance, Akana has established itself as a leader in API Management and is expanding into cloud integration as an alternative to the traditional heavyweight enterprise service bus (ESB). The company recently announced that it achieved more than 90% year-over-year growth. As Akana, the company now addresses the evolution and diversification of SOA, unifying security, management, and DevOps across SOA, APIs, microser...
The 16th Cloud Expo has added coverage containers and microservices to its program for New York, to be held June 9-11 at the Jacob Javits Convention Center. Cloud Expo has long been the single, independent show where delegates and technology vendors can meet to experience and discuss the entire world of the cloud. This year will be no different. Containers are an old concept that saw renewed life with the emergence of Docker in 2013. Then late in 2014, CoreOS shook up the cloud-computing w...