BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Designing service oriented architectures is a tried and true approach to creating flexible and manageable enterprise systems, but new trends in technology and consumerization has put new demands on older SOA based systems. If organizations that currently leverage service oriented architectures hope to stay current with a system that will continue to meet the needs of both users and stakeholders, SOA based architectures must be able to meet the demands placed on them by mobile and social media, while at the same time be capable of adapting to and incorporating cloud based technologies.
Rising up to the demands of social media
Before social media sprang onto the scene, it was permissible for enterprises to take a somewhat laid back approach to client generated content and user to user communications. Sure, there was the odd web forum or wiki for the more tech savvy organization. A big company might even have a fairly mature, online helpdesk function implemented using Jive, SharePoint or some other collaboration platform. Historically, collaboration occurred at a sedate and reasonable pace, with conversations taking place over a period of hours or days, rather than minutes.
But in this new age of collaboration, you can't swing a cat without hitting a new social media platform that's inveigled its way into the corporate world. The workload is out of control and SOA is struggling to keep up. The enterprise middleware stack is very capable when it comes to handling large chunks of data, but the fine grained bits of information that fly about in the social media world with enormous speed and volume pose different challenges. SOA must be able to simplify this world and make integration feasible in order to remain effective.
Adapting to the demands of social media
Matt Brasier, head of consulting at C2B2 Consulting Ltd., and coauthor of the Oracle SOA Suite 11g Performance Cookbook, described how handheld devices are changing how users interact with applications, causing the demands placed on current infrastructures to skyrocket. In a discussion with TheServerSide, Brasier uses the public transportation industry as an example, explaining how before the advent of smartphones, a typical commuter might check in on the train schedule once or twice a day. Today, those same users will have their mobile app set to ping the system every five minutes, all day long, so they can get an alert if the schedule changes or if there are delays. "Suddenly someone who was sending maybe 15 requests a week is now well into the thousands. That creates a huge change in the workload," said Brasier.
In this scenario, over the period of a month, each user might be making thousands of calls to the system. Multiply that by the percentage of commuters who carry a smart device, and you can see how the workload on an application might increase by several orders of magnitude. For some apps, the spikes might be intermittent. For others, demand may rise and remain high due to automated usage patterns. Either way, service oriented architectures must be prepared to deal with the increased workload to which mobile applications will expose them.
Cloud based computing
So how are organizations expected to keep up with the increasing demands placed on both their infrastructure and development teams? According to David Hurwitz, SVP of Worldwide Marketing at Serena Software, enterprises of all kinds are using customer-facing applications to increase revenue, which means more applications must be managed, and as a result, more test and release cycles are required. "It's not like the IT of old. The speed with which the business can do new things and respond to competitor threats is tied to the speed with which IT can enhance and deliver new functionality into those mobile revenue applications. That's driving greater use of cloud resources."
In fact, the cloud continues to beckon enterprises to let go of the old way of doing things and branch out with a more scalable infrastructure. Smart architects are adapting to the changes by having their SOA based systems support virtualization and various cloud based services. According to IBM's 2013 market report, "Cloud computing amplifies SOA's impact. And the converse is also true, i.e., having SOA helps deliver better and a wider variety of services using the cloud environment." As the demands placed on SOA based systems increase, more and more organizations and finding out that cloud based computing is an effective way to meet these new demands.
Service orientation has proven itself to be an effective way to develop and design a modern, enterprise architecture. However, like all maturing design concepts, it also faces substantial challenges when trying to keep up with advances with surrounding technologies. To continue to be effective, modern SOA based systems must be ready to meet the demands that will inevitably be placed on them by the proliferation of mobile applications and user's love of social media platforms. But by continuing to simplify difficult problems by breaking them down into manageable pieces, and leverage new cloud computing technologies that allow applications to scale when new demand thresholds are exceeded, service oriented architectures will continue to successfully service the needs of stakeholders and clients.'
How has mobile and social media impacted your SOA based systems? Let us know.