Introduction to basic tutorials--what is SOA

Source: Internet
Author: User
Tags soap require web services wsdl

For synchronous and asynchronous applications, SOA is a revolution in distributed computing based on request/response patterns. The business logic of an application (business logic) or some individual functionality is modularized and rendered as a service to the consumer or client. The key to these services is their loose coupling characteristics. For example, the service's interface and implementation are independent.

Application developers or system integrators can build applications by combining one or more services without having to understand the underlying implementation of the service. For example, a service can be used. NET or Java EE, and the application that uses the service can be on a different platform, and the language can be used differently.

SOA has the following characteristics

SOA services have a flat, self-describing XML document. The Web Service Description Language (WSDL, Web Services Description Language) is the standard language used to describe the service.

SOA services communicate with messages, which are often defined using XML schemas (also known as XSD, XML Schema definition). Communication between consumers and providers or consumers and services is much more common in environments where providers are not known. Communication between services can also be viewed as a key business document for internal processing within an enterprise.

Within an enterprise, SOA services are maintained through a registry (Registry) that acts as a directory listing (directory listing) role. The application searches for and invokes a service in the registry (Registry). Unified description, definition and integration (UDDI, universal Description, definition, and integration) are standards for service registration.

Each SOA service has a service quality associated with it (QoS, quality for service). Some of the key elements of QoS are security requirements (such as authentication and authorization), reliable communication, which ensures that messages are "only" sent once, filtering for duplicate information. And who can invoke the policy of the service.

Why Choose SOA?

Different kinds of operating systems, application software, system software and application infrastructure (application infrastructure) are intertwined, which is the status quo of it enterprises. Some existing applications are being used to handle the current business process (business processes), so it is impossible to build a new infrastructure from scratch. Companies should be able to respond quickly to changes in the business, leveraging existing applications and application infrastructure (application infrastructure) to address new business needs, providing new channels of interaction for customers, business partners, and suppliers, and presents a framework that can support the organic business (organic business). SOA, by virtue of its loosely coupled nature, enables enterprises to add new services or update existing services in a modular manner to address new business needs, provide choices to provide services through different channels, and can serve as services to existing or established applications of the enterprise, thereby protecting existing IT infrastructure investments.

As shown in the example in Figure 1, an enterprise using SOA can use a set of existing applications to create a supply chain composite application (supply chain composite application), which provides functionality through standard interfaces.

Service architecture

To achieve SOA, the enterprise needs a service architecture, and Figure 2 shows an example:

In Figure 2, a service consumer (consumer) can invoke a service by sending a message. These messages are converted by a service bus to be sent to the appropriate service implementation. This service architecture can provide a business rules engine (business rules engine) that allows business rules to be merged into one service or multiple services. This architecture also provides a service management base (management infrastructure), which is used to manage services, such as audits, lists (billing), and log functions. In addition, the architecture provides a flexible business process for enterprises to better handle control requests (regulatory requirement), such as Sarbanes Oxley (SOX), and can change a service without affecting other services.

SOA infrastructure

To run, manage SOA applications, the enterprise needs an SOA base, which is part of the SOA platform. The SOA base must support all relevant standards and the run-time containers that are required. A typical SOA infrastructure is shown in Figure 3. Each part of the structure is discussed in the next section.

SOAP, WSDL, UDDI

Wsdl,uddi and SOAP are the basic components of the SOA Foundation. WSDL is used to describe services; UDDI is used to register and find services, and soap, as a transport layer, is used to send messages between consumers and service providers. SOAP is the default mechanism for Web services, and other technologies enable other types of bindings to be serviced. A consumer can find a service in the UDDI Registry (registry), obtain a WSDL description of the service, and then invoke the service through SOAP.

WS-I Basic profile

The WS-I Basic profile, provided by the Web Service Interoperability Organization (Web Services Interoperability Organization), is the core component required for SOA service testing and interoperability. The service provider can use the Basic Profile test program to test the interoperability of services on different platforms and technologies.

Java EE and. Net

Despite the Java EE and. NET platform is a common platform for developing SOA applications, but SOA is not limited to this. Platforms such as Java EE provide a platform not only for developers to participate naturally in SOA, but also to introduce scalability, reliability, usability, and performance into the SOA world through their inherent features. New specifications, such as JAXB (Java API for XML Binding), used to navigate XML documents to Java classes; JAXR (Java API for XML Registry) to standardize operations on the UDDI Registry (Registry) ; XML-RPC (Java API for xml-based remote Procedure call) is used in j2ee1.4 to invoke remote services, which makes it easy to develop and deploy Web services that can be ported to standard Java EE containers, while enabling Cross-platform (such as. NET) Service interoperability.

Service Quality

In the enterprise, Mission critical Systems (Mission-critical system) are the key task systems for a system that is critical to the reliability of an organization. For example, the telephone system is a mission-critical system for a telemarketing company, and word processing systems are less critical. To address advanced requirements, such as security, reliability, and things. When an enterprise begins to adopt a service architecture as a tool for developing and deploying applications, basic Web service specifications, such as Wsdl,soap, and UDDI, do not meet these advanced requirements. As mentioned earlier, these requirements are also known as service quality (qos,quality of services). Many of the QoS-related specifications have been presented by some standardization organizations (standards bodies), such as the World Wide Web Consortium and Oasis (the Organization for the Advancement of Structured information standards). Some QoS services and related standards are discussed in the following sections.

Safety

The Web Service security specification is used to secure messages. This specification mainly includes authentication exchange, message integrity and message confidentiality. The specification is attractive because it uses existing security standards, such as SAML (as Security assertion Markup Language), to secure Web service messages. Oasis is working on the development of Web services security specifications.

  Reliable

In a typical SOA environment, there will be several different documents exchanged between the service consumer and the service provider. With such things as "Send only once" (Once-and-only-once delivery), "Send at most once" (At-most-once delivery), "Duplicate Message Filtering" (Duplicate messages Elimination), "Guaranteed Message Delivery" (Guaranteed message delivery), and other feature messages are sent and confirmed, in the mission critical system (Mission-critical systems) becomes very important. Ws-reliability and Ws-reliablemessaging are the two criteria used to solve such problems. These standards are now under the responsibility of Oasis.

Strategy

Service providers sometimes require service consumers to communicate with a certain policy. For example, a service provider may require a consumer to provide a Kerberos security label to obtain a service. These requirements are defined as policy assertions (policy assertions). A policy may contain multiple assertions. Ws-policy is used to standardize policy communications between service consumers and service providers.

Control

When a business is working on a service architecture, services can be used to consolidate data warehouses (silos's), applications, and components. The integration of applications means that process requests such as asynchronous communication, parallel processing, data conversion, and corrections must be standardized. In SOA, processes are created using a set of discrete services. Bpel4ws or Wsbpel (Web service Business Process Execution Language) is the language used to control these services. Wsbpel is also under the responsibility of Oasis.

Management

As Enterprise Services grow, the number of services and business processes used increases, and a management system that allows system administrators to manage all services running in a heterogeneous environment is particularly important. WSDM (Web Services for distributed Management) stipulates that any service implemented according to WSDM can be managed by a WSDM adaptation (wsdm-compliant) management scheme.

Other QoS features, such as the partner's

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.