Welcome!

Microservices Expo Authors: Carmen Gonzalez, Mano Marks, Pat Romanski, Yeshim Deniz, JP Morgenthal

Related Topics: @CloudExpo, Java IoT, Industrial IoT, Mobile IoT, Microservices Expo, Containers Expo Blog, SDN Journal

@CloudExpo: 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
Internet of @ThingsExpo, taking place June 6-8, 2017 at the Javits Center in New York City, New York, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo New York Call for Papers is now open.
2016 has been an amazing year for Docker and the container industry. We had 3 major releases of Docker engine this year , and tremendous increase in usage. The community has been following along and contributing amazing Docker resources to help you learn and get hands-on experience. Here’s some of the top read and viewed content for the year. Of course releases are always really popular, particularly when they fit requests we had from the community.
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
SYS-CON Events announced today that Catchpoint Systems, Inc., a provider of innovative web and infrastructure monitoring solutions, has been named “Silver Sponsor” of SYS-CON's DevOps Summit at 18th Cloud Expo New York, which will take place June 7-9, 2016, at the Javits Center in New York City, NY. Catchpoint is a leading Digital Performance Analytics company that provides unparalleled insight into customer-critical services to help consistently deliver an amazing customer experience. Designed ...
Here’s a novel, but controversial statement, “it’s time for the CEO, COO, CIO to start to take joint responsibility for application platform decisions.” For too many years now technical meritocracy has led the decision-making for the business with regard to platform selection. This includes, but is not limited to, servers, operating systems, virtualization, cloud and application platforms. In many of these cases the decision has not worked in favor of the business with regard to agility and cost...
Buzzword alert: Microservices and IoT at a DevOps conference? What could possibly go wrong? In this Power Panel at DevOps Summit, moderated by Jason Bloomberg, the leading expert on architecting agility for the enterprise and president of Intellyx, panelists peeled away the buzz and discuss the important architectural principles behind implementing IoT solutions for the enterprise. As remote IoT devices and sensors become increasingly intelligent, they become part of our distributed cloud enviro...
Containers have changed the mind of IT in DevOps. They enable developers to work with dev, test, stage and production environments identically. Containers provide the right abstraction for microservices and many cloud platforms have integrated them into deployment pipelines. DevOps and containers together help companies achieve their business goals faster and more effectively. In his session at DevOps Summit, Ruslan Synytsky, CEO and Co-founder of Jelastic, reviewed the current landscape of Dev...
DevOps tends to focus on the relationship between Dev and Ops, putting an emphasis on the ops and application infrastructure. But that’s changing with microservices architectures. In her session at DevOps Summit, Lori MacVittie, Evangelist for F5 Networks, will focus on how microservices are changing the underlying architectures needed to scale, secure and deliver applications based on highly distributed (micro) services and why that means an expansion into “the network” for DevOps.
"Plutora provides release and testing environment capabilities to the enterprise," explained Dalibor Siroky, Director and Co-founder of Plutora, in this SYS-CON.tv interview at @DevOpsSummit, held June 9-11, 2015, at the Javits Center in New York City.
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
In his session at @DevOpsSummit at 19th Cloud Expo, Robert Doyle, lead architect at eCube Systems, will examine the issues and need for an agile infrastructure and show the advantages of capturing developer knowledge in an exportable file for migration into production. He will introduce the use of NXTmonitor, a next-generation DevOps tool that captures application environments, dependencies and start/stop procedures in a portable configuration file with an easy-to-use GUI. In addition to captur...
Docker containers have brought great opportunities to shorten the deployment process through continuous integration and the delivery of applications and microservices. This applies equally to enterprise data centers as well as the cloud. In his session at 20th Cloud Expo, Jari Kolehmainen, founder and CTO of Kontena, will discuss solutions and benefits of a deeply integrated deployment pipeline using technologies such as container management platforms, Docker containers, and the drone.io Cl tool...
We call it DevOps but much of the time there’s a lot more discussion about the needs and concerns of developers than there is about other groups. There’s a focus on improved and less isolated developer workflows. There are many discussions around collaboration, continuous integration and delivery, issue tracking, source code control, code review, IDEs, and xPaaS – and all the tools that enable those things. Changes in developer practices may come up – such as developers taking ownership of code ...
"We provide DevOps solutions. We also partner with some key players in the DevOps space and we use the technology that we partner with to engineer custom solutions for different organizations," stated Himanshu Chhetri, CTO of Addteq, in this SYS-CON.tv interview at DevOps at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
@DevOpsSummit at Cloud taking place June 6-8, 2017, at Javits Center, New York City, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long developm...
"We're bringing out a new application monitoring system to the DevOps space. It manages large enterprise applications that are distributed throughout a node in many enterprises and we manage them as one collective," explained Kevin Barnes, President of eCube Systems, in this SYS-CON.tv interview at DevOps at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
I’m told that it has been 21 years since Scrum became public when Jeff Sutherland and I presented it at an Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) workshop in Austin, TX, in October of 1995. Time sure does fly. Things mature. I’m still in the same building and at the same company where I first formulated Scrum.[1] Initially nobody knew of Scrum, yet it is now an open source body of knowledge translated into more than 30 languages[2] People use Scrum worldwide for ...
Thanks to Docker, it becomes very easy to leverage containers to build, ship, and run any Linux application on any kind of infrastructure. Docker is particularly helpful for microservice architectures because their successful implementation relies on a fast, efficient deployment mechanism – which is precisely one of the features of Docker. Microservice architectures are therefore becoming more popular, and are increasingly seen as an interesting option even for smaller projects, instead of being...
As the race for the presidency heats up, IT leaders would do well to recall the famous catchphrase from Bill Clinton’s successful 1992 campaign against George H. W. Bush: “It’s the economy, stupid.” That catchphrase is important, because IT economics are important. Especially when it comes to cloud. Application performance management (APM) for the cloud may turn out to be as much about those economics as it is about customer experience.