Service-oriented architecture lets you respond quickly to demands for new and improved processes
In business, agility is everything. Mergers and acquisitions, new regulations and heightened customer expectations mean your company must become more responsive to changing demands. Mega-applications such as enterprise resource planning (ERP) and customer relationship management (CRM) have enhanced efficiency, but they have also created new IT stovepipes that reduce a company's ability to cope with change. You must coordinate, automate and optimize the activities of users and diverse business systems scattered across the enterprise in continually changing business processes. In short, you need business process management (BPM).
But to achieve agility without breaking the bank, you can't simply rip and replace. You must break down legacy stovepipes into modular components that can be reused in multiple business processes. That's precisely the promise of a new style of software development called service-oriented architecture. With SOA, applications are no longer built as monoliths. Instead, they're composed by assembling modular services. Think of a service as a single software function, such as GetAccountBalance or CancelOrder, that can be executed on request by any system, regardless of its operating system platform, programming language or geographic location.
SOA isn't new conceptually, but its current implementation in the form of Web services is revolutionizing software development. While previous generations of distributed software architecture promised agility and component reuse, there was always a catch: To allow integration, all components had to use a common object model or programming language. Web services remove these requirements and interoperate across barriers separating Microsoft from Unix or .Net from J2EE. Just as Web page retrieval works the same on any platform, program-to-program interactions can be platform-independent if Web services leverage universal standards.
The Power of SOA
In SOA, developers build composite applications by interconnecting or orchestrating services in a process flow, which itself can be exposed as a service. What a business analyst sees as an executable business process, IT understands as just another composite application supported by the SOA infrastructure. By making process concepts a natural part of application development, SOA is bringing BPM into the IT mainstream, and in so doing it is shaking up the BPM software landscape.
SOA's ability to compose processes by assembling standard service building blocks is central to BPM's promise of agility. Standard SOA design tools make the task of building a service orchestration model as fast and easy as drawing a flowchart of services. The same tools then turn the model into an executable business process.
The XML language for orchestration, called Business Process Execution Language (BPEL), has itself been standardized. BPEL is endorsed, with varying caveats and qualifications, by BPM vendors and most platform infrastructure vendors and enterprise application integration (EAI) vendors. Thus, SOA also implies portability of process models, executable across infrastructure platforms and maintained using vendor-independent design tools.
Orchestration is obviously agile, but where do the services themselves come from?
One way to create services is to code them from scratch. Today, application servers from infrastructure vendors such as IBM, Microsoft, BEA and Oracle compete largely on the basis of their tools for rapidly creating custom code that can be deployed as reusable Web services. An equally important alternative, however, is to "wrap" existing systems with middleware components called integration adapters, exposing their functionality as Web services without custom code. A third way to create services is to buy them from the enterprise application vendors. New versions of enterprise apps such as SAP and Siebel are being packaged as collections of native Web services, ready for out-of-the-box orchestration. Finally, you can access third-party services over the Web using registries. Or you can combine services implemented in all of these ways in an orchestrated business process. That's the power of SOA.
By attracting mainstream IT infrastructure and enterprise application providers to what was once a specialty niche, SOA is changing the BPM vendor landscape. All these vendors now stress service orchestration as a key part of what they offer, but each emphasizes a different source of the services themselves: Application server vendors want you to code them, integration server vendors want you to wrap them and enterprise application vendors want you to buy them.
The Agile ArchiveWhen it comes to managing data, donít look at backup and archiving systems as burdens and cost centers. A well-designed archive can enhance data protection and restores, ease search and e-discovery efforts, and save money by intelligently moving data from expensive primary storage systems.
2014 Analytics, BI, and Information Management SurveyITís tried for years to simplify data analytics and business intelligence efforts. Have visual analysis tools and Hadoop and NoSQL databases helped? Respondents to our 2014 InformationWeek Analytics, Business Intelligence, and Information Management Survey have a mixed outlook.
Join us for a roundup of the top stories on InformationWeek.com for the week of December 14, 2014. Be here for the show and for the incredible Friday Afternoon Conversation that runs beside the program.