Introduction to SOA with Web Services
Complexity is a fact of life in information technology (IT). Dealing with the complexity while building new applications, replacing existing applications, and keeping up with all the maintenance and enhancement requests represents a major challenge.
If all applications were to use a common programming interface and interoperability protocol, however, the job of IT would be much simpler, complexity would be reduced, and existing functionality could be more easily reused. After a common programming interface is in place, through which any application can be accessed, existing IT infrastructure can be more easily replaced and modernized.
This is the promise that service-oriented development brings to the IT world, and when deployed using a service-oriented architecture (SOA), services also become the foundation for more easily creating a variety of new strategic solutions, including:
-
Rapid application integration.
-
Automated business processes.
-
Multi-channel access to applications, including fixed and mobile devices.
An SOA facilitates the composition of services across disparate pieces of software, whether old or new; departmental, enterprise-wide, or inter-enterprise; mainframe, mid-tier, PC, or mobile device, to streamline IT processes and eliminate barriers to IT environment improvements.
These composite application solutions are within reach because of the widespread adoption of Web services and the transformational power of an SOA. The Web Services Description Language (WSDL) has become a standard programming interface to access any application, and SOAP has become a standard interoperability protocol to connect any application to any other. These two standards are a great beginning, and they are followed by many additional Web services specifications that define security, reliability, transactions, orchestration, and metadata management to meet additional requirements for enterprise features and qualities of service. Altogether, the Web services standards the best platform on which to build an SOAthe next-generation IT infrastructure.
The Service-Oriented Enterprise
Driven by the convergence of key technologies and the universal adoption of Web services, the service-oriented enterprise promises to significantly improve corporate agility, speed time-to-market for new products and services, reduce IT costs, and improve operational efficiency.
As illustrated in Figure 1-1, several industry trends are converging to drive fundamental IT changes around the concepts and implementation of service orientation. The key technologies in this convergence are:
-
Extensible Markup Language (XML)A common, independent data format across the enterprise and beyond that provides:
-
Standard data types and structures, independent of any programming language, development environment, or software system.
-
Pervasive technology for defining business documents and exchanging business information, including standard vocabularies for many industries.
-
Ubiquitous software for handling operations on XML, including parsers, queries, and transformations.
-
Web servicesXML-based technologies for messaging, service description, discovery, and extended features, providing:
-
Pervasive, open standards for distributed computing interface descriptions and document exchange via messages.
-
Independence from the underlying execution technology and application platforms.
-
Extensibility for enterprise qualities of service such as security, reliability, and transactions.
-
Support for composite applications such as business process flows, multi-channel access, and rapid integration.
-
Service-oriented architecture (SOA)A methodology for achieving application interoperability and reuse of IT assets that features:
-
A strong architectural focus, including governance, processes, modeling, and tools.
-
An ideal level of abstraction for aligning business needs and technical capabilities, and creating reusable, coarse-grain business functionality.
-
A deployment infrastructure on which new applications can quickly and easily be built.
-
A reusable library of services for common business and IT functions.
-
Business process management (BPM)Methodologies and technologies for automating business operations that:
-
Explicitly describe business processes so that they are easier to understand, refine, and optimize.
-
Make it easier to quickly modify business processes as business requirements change.
-
Automate previously manual business processes and enforce business rules.
-
Provide real-time information and analysis on business processes for decision makers.
Figure 1-1 Trends converging to create the service-oriented enterprise.
Individually, each of these technologies has had a profound effect on one or more aspects of business computing. When combined, they provide a comprehensive platform for obtaining the benefits of service orientation and taking the next step in the evolution of IT systems.