Service-oriented architecture (SOA) is an information technology (IT) concept that defines the technical architecture used to structure and design the functionality of organizational network operations. SOA consists of
independent sequential units, software processes, and communication agents which relay commands and initiate feedback mechanisms across each other to achieve stipulated business requirements. Therefore, SOA determines the effectiveness of distinct business process functionalities that are interconnected, integrated, and supplemented by either new or existing software applications that include language programming technologies and operating systems.
ADVANTAGES OF SOA
The invention and eventual development of SOA programs was prompted by the need to depart from traditional technologies of data transfer and management such as the modular programming of the 1970s, event-tailored designs of the 1980s, interface-based designs of the 1990s, and local network electronic data interchange, all of which offer less flexibility to both internal and external demands of business processes. The twenty-first century has seen increased adoption of SOA standards by organizations because SOA enhances convenience and flexibility of internal and external access to data through a pooling of business applications and service. Pooling of services helps organizations to achieve flexibility and increased participation of affiliate partners. For example, the reservations system of Budget Rent-a-Car allows users to interact with other reservations systems for hotels and airlines in different parts of the world.
Implementing SOA is an important phase in the process of establishing sufficient organizational network systems and design structures with the capacity to integrate and coordinate business processes efficiently. SOA hastens business processes by consolidating communication procedures and initiating cohesion in IT applications to suit the prevailing business requirements. As such, expertly designed SOA structures hold the key for achieving uniformity in heterogeneous computer environments by initiating efficient interoperability and reusability of IT resources. The interactions among different service units consolidate the functionality of different IT network applications into cohesive structures that are free of hierarchy.
The functionality ability of SOA is determined by the distinctive and networked services which perform separate but coordinated functions. SOA service units are defined by the following distinctive characteristics:
- Compatibility—the service interface is open and accessible to varieties of hardware devices, software applications, and program protocols that enable conveyance of commands and feedback exchange across services.
- Traceability—the service can be readily identified and invoiced, such that one service can query about another service through a service directory; for example, an e-ticketing service can query for the existence of visa authorization service.
- Autonomy—the service is a complete unit with the ability to initiate actions without unauthorized influence of other services, and it responds with results to requests from another service without undergoing status change.
- Compliance—the service complies with the general industry standards as well as the recommended industry-specific standards.
- Reusability—services divide logical objects in the cycle of operations with the aim of facilitating reuse.
- Optimum quality-the service provides high-quality interface capabilities.
- Assembly—the service pools and coordinates functions to form composite capacities.
The distinctive characteristics of SOA determine the effectiveness of system design in identifying, monitoring, and delivering data communication. Microsoft,. NET, and Java are some of the application development approaches that enable interface access via recommended system protocols. Some of the technologies that can be used to implement SOA include simple object access protocol (SOAP), windows communication foundation (WCF), remote procedure call (RPC), distributed component object model (DCOM), representational state transfer (REST), and common object request broker architecture (CORBA). These technological protocols can be applied to SOA either independently or in varied combinations depending on their interface conformity to communicate SOA data specifications. Web service standards are notably the most widely applied service protocol because of its interoperability and security characteristics.
SOA WEB SERVICE APPLICATIONS
SOA achieves much system access and flexibility when implemented through Web-based Internet services. Many organizations are increasingly using Web-based service applications and standards to implement the SOA concept. Web service standards provide the advantage of pooling functional blocks that can be accessed through different open Internet protocols using new or existing software applications tailored to suit system requirements. Moreover, Web standards offer interoperability convenience and functional protection. SOAP is one of the widely accepted Web standards in the industry because of its friendly message exchange interface.
Software applications for Web-based SOA services basically carry out functions that end-users recognize as automated online services such as making payments online, filling out forms, viewing Web statistics, or purchasing tickets online. Web-based protocols are defined in such a way that services communicate to each other according to commands initiated at the user interface through a linking and sequencing process that is designed to meet existing or new business requirements.
Web services standard protocol is prone to myriads of operational challenges because the Web protocol exhibits difficulties of response time, reliability concerns, and human interface complications, especially when the SOA paradigm is applied to real-time systems. Therefore, the success of the Web-service SOA interoperability characteristics is determined by either interactive encounters with users or automated real-time communications across different databases and applications depending on the designs and specifications of a system. A good example of a company that utilizes such Web-service standards is Amazon.com, which executes information exchange with participant merchants via XML using an SOA. Numerous business software applications—including eXtensible markup language (XML), customer relations management (CRM), and electronic business language using eXtensible markup language (ebXML)—draw their basic infrastructure designs from SOA.
SOA GOVERNANCE IN ORGANIZATIONS
Organizations adopt SOA with the principle objective of aligning IT structures and designs with the prevailing business requirements. This is because SOA provides businesses with the mechanisms for responding appropriately to challenges posed by the ever-changing business environment. However, adopting and governing SOA in organizations is a logical and complex undertaking that requires a procedural approach. Moreover, the organizational management must be willing to invest in the process of adopting and integrating the SOA and the subsequent maintenance of the systems in the organization. The SOA Practitioners Guide Part 3: Introduction to Service Lifecycle identifies the traditional lifecycle development approach and the recommended development approach as the two main models of approach that organizations can use to adopt and implement SOA.
TRADITIONAL LIFECYCLE DEVELOPMENT
The traditional approach to developing SOA models in the organization focuses on tasks that the organization needs to accomplish. These tasks can be broken down further into e-business solutions, integration, packaged applications, and infrastructure.
E-Business solutions model. The e-business solutions model is suitable to organizations seeking to achieve competitive advantage by creating collaborative and interactive mechanisms across the entire spectrum of the organization's stakeholders (including employees, customers, suppliers, affiliates, franchisers, and business partners). The organization must identify the best systems architects and designers with the capacity to create, support, and share the accompanying technology, with due recognition to the need for e-business solutions to have simple and friendly user interfaces to facilitate easy access to information by both internal and external stakeholders. Nurturing of in-house expertise must be prioritized to enable the organization to cope with rapid adjustments that may be instituted occasionally in the organization's pursuit to achieve a competitive edge.
Integration model. The integration model is a flexible approach for adopting SOA that involves combining e-business solutions with outsourcing; the objective is to align SOA to the business processes and management requirements of the organization continuously. This model is suitable in situations where organizations aim at reducing the costs of IT operations while increasing the organization's capacity to interact and collaborate with all its internal and external stakeholders efficiently. As such, the organization aims at customizing the vendor's service architecture into the IT structures to enable in-house teams and external customers convenient access to the systems without over-stepping the access boundaries set by the enterprise software vendor.
Packaged applications model. The packaged applications model is a cost-management approach that involves the outsourcing of system management and integration to independent or third-party software vendors. Implementing SOA management through outsourcing to third-party enterprise software providers introduces best practices and cost efficiency in the management of IT in organizations by spreading operational costs of maintaining the IT infrastructure over many organizations and limiting the adoption of SOA structures to prevailing business needs of the organization. Organizations that use third-party software vendors also benefit from the standardized IT practices continuous access to new and emerging IT applications in the industry.
The infrastructure model. The infrastructure model is also a flexible approach that focuses on matching the basic IT structures such as servers, networks, databases, and software programs to the size and level of activities of
the organization. Organizations that adopt this model rely on in-house expertise to implement and manage SOA with the objective of outsourcing the services to third-party vendors after achieving significant growth in size, business activities, and revenues that may become too burdensome for the internal IT team to manage. The infrastructure model aims at achieving efficiency at reduced costs at all times.
The traditional lifecycle approach to adopting SOA is an expensive affair for organizations because of the high frequency of new and emerging IT technologies that quickly convert existing technologies into obsolescence. Therefore, organizations have to incur additional costs of upgrading the existing IT infrastructures. This is a problem that cannot be overcome by outsourcing because even enterprise software vendors will always demand the latest and updated IT infrastructures for their improved applications. It is for this reason that the recommended approach offers better IT prospects for organizations.
THE RECOMMENDED APPROACH
The recommended approach involves creating organizational teams according to technical expertise endowments. According to SOA Practitioners Guide Part 3: Introduction to Service Lifecycle, these teams should include a composition team, user interface (UI) team, services team, and data team. The composition team is tasked with configuring and designing basic architectural frameworks and structures, a phase that is followed closely by the UI team, which configures the interaction and navigation framework of the IT processes. The services team develops and integrates the business logic into the IT framework model before the data team—usually consisting of the organization's in-house employees—finally develops the enterprise model for data management of both the general and special data needs of the business.
In the United States, companies are taking advantage of the incentives offered by the Economic Stimulus Act of 2008 to commit increased investments in acquisition of software and other equipments. Signed into law in February 2008, the act encourages increased business investments in software, firm equipment, and other assets by offering tax incentives that run to billions of U.S. dollars. This legislation provides one of the greatest opportunities for U.S. companies to adopt new SOA structures or improve on the existing SOA structures.
SEE ALSO Service Component Architecture
Chaffey, Dave. E-business and E-commerce Management: Strategy, Implementation and Practice, 3rd ed. Pearson Education, 2007.
Company Overview. SunSystems, 2008. Available from: http://www.sunsystems.com/About_Us/.
Introduction to Services LifeCycle. SOA Practitioners' Guide, part 3. 15 September 2006. Available from: http://www.soablueprint.com/whitepapers/SOAPGPart3.pdf.
Jones, Steve. “Enterprise SOA Adoption Strategies”. infoQ, 2006. Available from: http://www.infoq.com/minibooks/enterprise-soa.
Schroth, Christoph, and Janner Till. “Web 2.0 and SOA: Coverging Concept Enabling the Internet Services.” IT Professional 9, No. 7, (2007): 35-42. Available from: http://www.alexandria.unisg.ch/Publikationen/37270.
“The U.S. Economic Stimulus Act of 2008 and Its Impact on the Near-Term IT Spending.” IDC 2008. Available from: http://www.idc.com/getdoc.jsp;jsessionid=02TGPSCQ0P1EGCQJAFICFGAKBEAUMIWD?containerId=IDC_P17810.
Waters, Richard. “New Architecture or Just New Hype?” FT.com, 7 March 2006. Available from: <http://us.ft.com/ftgateway/superpage.ft?news_id=fto030720061206529857>.