Architects recently convened at the WSO2 developers conference in San Francisco to discuss some of the lessons...
learned applying SOA principles to build structures for the future. Among the speakers was Paul Tjapkes, a SOA architect at healthcare provider Spectrum Health, who chronicled the road behind an ambitious SOA initiative.
Spectrum Health's SOA project played a key role in navigating through the Affordable Care Act legislation, according to Tjapkes. "This approach [SOA] has left us in a spot where we can innovate with confidence that we are solving a problem in a different way than traditionally," he said. "We could never have accomplished what we have this year without our prior investment in SOA. Now we can focus on innovation and not how to get data from this system to another."
Use a roadmap to navigate the healthcare system
Creating a SOA architecture is a multiyear endeavor to take existing systems and bring them to a modern message-driven architecture.
SOA architect, Spectrum Health
Creating a roadmap will help organizations devise a plan they can follow and see what they've accomplished, Tjapkes said. A few years ago, Spectrum Health hired a consultant to help create a plan that the healthcare provider reaps the benefits from today.
"Creating a SOA architecture is a multiyear endeavor to take existing systems and bring them to a modern message-driven architecture," Tjapkes said. "It is important to get buy-in from all levels of the organizations, from developers up to the top. Having a plan helps [executives] to understand the benefits and helps manage expectations."
When developing a plan, don't ignore expenses. Enabling service in the infrastructure is not free, Tjapkes noted. Developers should be cognizant of cost in order to build a system correctly, rather than merely throw a script together.
Adhere to basic SOA principles
When thinking about the infrastructure, it's important to adopt SOA principles, even when it creates more work in the short run. For example, implementing contracts into the services can play a key role in a smooth execution. This is not like creating a shared application program interface, where there isn't a guarantee that information will be managed correctly. "With SOA you have a promise," Tjapkes said.
Another piece is getting the granularity right. If services are too coarse, they will not be useful for composability. If services are too small, too many services are needed to get something done.
The initial prioritization, such as delivering a process server, involves finding the line between the service being built and the problems at hand. The functions in an organization and business units can be taken and broken down in terms of what is wanted or needed. Then, these goals can be assigned a score.
Once the tally has been created, it can be evident if a particular function will benefit multiple goals. If so, these can be given higher priority. As new feature requests come in, these can be fed back into the same prioritization process.
Creating distinctions between enterprise services and applications services is something Tjapkes advised. "We find things we don't need on an enterprise basis, but that are deadline driven," he said.
Always keep security in mind
Security presents a significant challenge in healthcare because it brings a lot of complexity. Using SOA would have been simpler if everything could be built using a Hypertext Transfer Protocol without security, Tjapkes said, but in healthcare, security is valued over performance due to HIPAA requirements.
Security is something you want to solve once. Spectrum Health, for example, decided to keep the endpoints locked down and leverage the enterprise service bus to solve the problem. The method provides a standard platform that can be leveraged across new applications as needed.
Security also adds an element of ambiguity; therefore, Tjapkes recommended calling for outside help. Spectrum Health was using WS-Security for Web services and SOAP message transmission optimization mechanism (MTOM) for documents. After struggling for months with the ambiguity the setup created, an outside managed to find a solution in two days.
Build infrastructures with the future in mind
In another presentation, Pranav Patel, vice president of systems development at West Interactive, described the process of creating an infrastructure that can adapt to uncertain business challenges. Patel said organizations need a middleware platform based on SOA principles and a set of technologies and core services that are open, flexible and standards-based.
West Interactive specializes in call center services for leading businesses and 911 emergency service providers. The company is facing challenges in the multiple channels available for customer care, according to Patel. When the business started 25 years ago, telephone was virtually the only way consumers would interact with businesses in real time. Today, enterprises are engaging consumers through mobile applications, email, Web and text-based interactions.
West Interactive supports some of the aforementioned channels, such as automated text notification, but has struggled to efficiently engage with consumers across all platforms. West Interactive has been developing a SOA middleware called West Connect in order to facilitate better communication across all channels.
Improve core competencies
A key element of engaging consumers through multiple channels lies in supporting several types of login and authentication for the end user, Patel said. West Interactive is developing a shared authentication service that will allow consumers to manage access based on any one of their stored IDs, such as phone number, email, login ID or mobile-device ID.
The West Connect platform will allow businesses to manage authentication and provide the context for the data associated with various channels. Business logic rules and event-processing services will then drive predictive and proactive communication.
Improving core competencies and engaging consumers requires new business thinking. Patel recommended that SOA architects engage with their company's business leaders to develop frameworks for monetizing services. Today, an enterprise customer has West Interactive write an IVR solution and pays for the calls made on the platform. If new channels cannibalize the use of existing ones, profits cannot be derived from the investment in the SOA infrastructure.
About the author:
George Lawton is a journalist based near San Francisco. Over the last 15 years, he's written more than 2,000 articles on computers, communications, business and other topics. Find out more at glawton.com.