What is Service Oriented Architectures?

Service-oriented architecture is a component model that connects different functional units (called services) of an application through well-defined interfaces and contracts between these services. The interface is defined in a neutral way, and it should be independent of the hardware platform, operating system, and programming language that implements the service. This allows services built in a variety of such systems to interact in a uniform and general way.

Service-oriented architecture

Right!
Service-oriented
This feature with a neutral interface definition (without forcing binding to a specific implementation) is called inter-service
Service level abstraction diagram of SOA, as shown in Figure 1 below:
The goal of SOA is to make IT systems more flexible in order to be more flexible and faster to respond to changing enterprise business needs, and to solve the problem of "how to reuse software functions" that has always existed in the software field. Using SOA to build an information platform is undoubtedly the future development direction.
The five basic characteristics of SOA provide solutions for software function reuse.
Services communicate through simple and precisely defined interfaces, without involving the underlying programming interface and communication model.
Coarse-grainedness: Coarse-grained services provide a specific business function. The advantage of using a coarse-grained service interface is that users and the service layer do not have to go back and forth multiple times. One round-trip is sufficient.
Loose coupling: Loose coupling requires that different services in the SOA architecture should maintain a loosely coupled relationship, that is, a relatively independent and independent relationship should be maintained. This benefit has two points. First, it has flexibility. Second, as the internal structure and implementation of the services that make up the entire application change gradually, the system can continue to exist independently. Tight coupling means that the interface between the different components of an application is tightly connected with its functions and structure, so this structure is very fragile when some form of change is required to part or the entire application.
Location transparency: Location transparency requires that all services in the SOA system are location transparent to its callers, that is, the callers of each service only need to know which service they want to call, but It is not necessary to know where the physical location of the called service is.
Protocol independence: Protocol independence requires that each service can be called through different protocols.
In addition, the internal part of many traditional IT systems is hard-wired. This structure makes it difficult for enterprises to respond quickly to market changes. SOA can reuse existing resources of the enterprise, which can reduce the operating costs of the enterprise and improve the resources. Use efficiency, and reduce the workload of enterprise maintenance staff, reduce potential risks and management costs. Brings many advantages in business and IT:
Service brings flexibility to precise business processes;
Use services to improve customer service without having to worry about the underlying complex IT infrastructure;
can quickly create new business processes and complex applications to adapt to market changes;
Become an IT organization with stronger responsiveness with the help of a secure and easy-to-manage integrated environment;
Shorten the development and deployment cycle by using pre-installed, reusable service building modules;
Reduce complexity and maintenance costs by using services;
Enhance rather than replace existing IT systems.
Service-oriented
The need for SOA stems from the need to make business IT systems more flexible to accommodate changes in the business. By allowing strongly defined relationships and specific implementations that are still flexible, IT systems can either leverage the capabilities of existing systems or be prepared to make changes later to meet their interaction needs.
Here is a specific example. A clothing retail organization with 500 international chains often needs to change designs to keep up with fashion trends. This could mean changing not only styles and colors, but even fabrics, manufacturers, and deliverables. If the system between the retailer and the manufacturer is incompatible, the replacement from one supplier to another may be a very complicated software process. By leveraging the operational flexibility of the WSDL interface, each company can keep their existing systems as it is, and just match the WSDL interface and develop new service-level agreements, so that they don't have to completely restructure their

6.1 Overview of Service-Oriented Architecture 6.1

SOA services have platform-independent self-describing XML (a subset of the standard universal markup language) documents. Web Services Description Language (WSDL, WebServicesDescriptionLanguage) is a standard language for describing services.
SOA services communicate with messages, which are usually defined using XMLSchema (also known as XSD, XMLSchemaDefinition). Communication between consumers and providers or between consumers and services is more common in environments where the provider is unknown. Communication between services can also be viewed as key business documents processed internally by the enterprise.
Within an enterprise, SOA services are maintained through a registry that plays the role of directory listing. The application looks for and invokes a service in the Registry. Uniform description, definition and integration (UDDI, UniversalDescription, Definition, and Integration) are the standards for service registration.
Each SOA service has a quality of service (QoS) associated with it. Some of the key elements of QoS have security requirements (such as authentication and authorization), reliable communication.
Why choose SOA?
Different kinds of operating systems, application software, system software and application infrastructure are intertwined, which is the status quo of IT enterprises. Some existing applications are used to handle current business processes, so it is impossible to build a new infrastructure from scratch. Enterprises should be able to respond quickly to business changes, use investments in existing applications and application infrastructure to address new business requirements, and provide new interaction channels for customers, business partners and suppliers. And present a framework that can support organic business. With its loosely coupled nature, SOA enables enterprises to add new services or update existing services in a modular manner to address new business needs, provide choices so that services can be provided through different channels, and the existing enterprise Or existing applications as a service, 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. These existing applications provide functions through standard interfaces.

6.2 Service Oriented Architecture 6.2 Service Architecture

In order to implement SOA, enterprises need a service architecture, and service consumers can call services by sending messages. These messages are converted by a servicebus and sent to the appropriate service implementation. This service architecture can provide a business rules engine (businessrulesengine) that allows business rules to be merged into one service or multiple services. This architecture also provides a service management infrastructure for managing services, similar to auditing, billing, logging and other functions. In addition, the architecture provides enterprises with flexible business processes, better handling of regulatory requirements, such as SarbanesOxley (SOX), and the ability to change a service without affecting other services.

6.3SOA Service-oriented architecture 6.3 SOA infrastructure

To run and manage SOA applications, enterprises need the foundation of SOA, which is part of the SOA platform. The SOA foundation must support all relevant standards and the required runtime containers. Figure 3 shows a typical SOA infrastructure.
SOAP, WSDL, UDDI
WSDL, UDDI and SOAP are the basic building blocks of SOA. WSDL is used to describe services; UDDI is used to register and find services; and SOAP, as a transport layer, is used to transfer messages between consumers and service providers. SOAP is the default mechanism for Web services. Other technologies can implement other types of binding for services. A consumer can look up a service in the UDDI registry, get the WSDL description of the service, and then call the service through SOAP.
WS-IBasicProfile
WS-IBasicProfile, provided by the WebServices Interoperability Organization, is the core building block required for SOA service testing and interoperability. Service providers can use the BasicProfile test program to test the interoperability of services on different platforms and technologies.
J2EE and .Net
Although J2EE and .NET platforms are common platforms for developing SOA applications, SOA is not limited to this. Platforms such as J2EE not only provide a platform for developers to naturally participate in SOA, but also introduce scalability, reliability, availability, and performance into the SOA world through their inherent characteristics. New specifications, such as JAXB (JavaAPIforXMLBinding), are used to locate XML documents to Java classes; JAXR (JavaAPIforXMLRegistry) is used to standardize the operation of the UDDI registry; XML-RPC (JavaAPIforXML-basedRemoteProcedureCall) is in J2EE1.4 Used to invoke remote services, which makes it easy to develop and deploy Web services that are portable to standard J2EE containers, while enabling cross-platform (such as .NET) service interoperability.

6.4 Service-oriented architecture 6.4 service quality

In an enterprise, a mission-critical system (mission-critical system) means that if the reliability of a system is critical to an organization, then the system is the mission-critical system of the enterprise. For example, a telephone system is important for A telemarketing company is a mission-critical system, while a word processing system is less critical.) It is used to solve advanced needs, such as security, reliability, and things. When an enterprise starts to use the service architecture as a tool to develop and deploy applications, basic Web services specifications, such as WSDL, SOAP, and UDDI, cannot meet these advanced requirements. As mentioned earlier, these requirements are also called quality of service (QoS). Numerous specifications related to QoS have been proposed by some standards organizations, such as W3C (WorldWideWebConsortium) and OASIS (the Organization for the Advancement of Structured Information Standards). The following sections will discuss some QoS services and related standards.
Safety
Web services security specifications are used to ensure the security of messages. The specification mainly includes authentication exchange, message integrity and message confidentiality. What makes this specification attractive is that it leverages existing security standards, such as SAML (asSecurityAssertionMarkupLanguage), to secure web service messages. OASIS is working on the development of Web services security specifications.
reliable
In a typical SOA environment, there are several different documents being exchanged between service consumers and service providers. Features such as "once-and-only-oncedelivery", "at-most-oncedelivery", "duplicatemessageelimination", "guaranteedmessagedelivery", etc. The sending and confirmation of characteristic messages becomes very important in mission-critical systems. WS-Reliability and WS-ReliableMessaging are two standards used to solve such problems. These standards are now the responsibility of OASIS.
Strategy
Service providers sometimes require service consumers to communicate with a policy. For example, a service provider may require consumers to provide a Kerberos security token in order to obtain a service. These requirements are defined as policy assertions. A strategy may contain multiple assertions. WS-Policy is used to standardize policy communication between service consumers and service providers.
control
When enterprises start with service architecture, services can be used to integrate silosofdata, applications, and components. Integrated applications mean that process requests such as asynchronous communication, parallel processing, data conversion, and correction must be standardized. In SOA, a process is created using a discrete set of services. BPEL4WS or WSBPEL (WebServiceBusinessProcessExecutionLanguage) is the language used to control these services. WSBPEL is also currently under the responsibility of OASIS.
management
With the growth of enterprise services, the number of services and business processes used has also increased, and a management system for system administrators to manage all services running in a multi-phase environment becomes more important. WSDM (WebServices for Distributed Management) specifies that any service implemented according to WSDM can be managed by a WSDM-compliant management scheme.
Other qos features, such as communication and communication between partners, and transaction processing between multiple services, are described in the WS-Coordination and WS-Transaction standards. These are the work of OASIS.

6.5SOAWeb Service-oriented architecture 6.5 SOA is not a web service

There is often confusion in understanding the relationship between SOA and Web services. According to a Gartner report in April 2003, YefimV.Natis explained this issue as follows: "Web services are technical specifications, and SOA is a design principle. In particular, WSDL in Web services is a standard for interface definition of SOA: This is the fundamental connection between Web services and SOA. "In essence, SOA is an architectural pattern, and Web services are services implemented using a set of standards. Web services are one of the ways to implement SOA. The advantage of using Web services to implement SOA is that you can implement a neutral platform to obtain services, and as more and more software vendors support more and more Web services specifications, you will achieve better generality.

6.6SOA Advantages of Service-Oriented Architecture 6.6 SOA

The concept of SOA is nothing new. SOA differs from existing distributed technologies in that most software vendors accept it and have a platform or application that can implement SOA. SOA is accompanied by ubiquitous standards that bring better reuse of existing assets or investments in a business. SOA can create applications on top of the latest and existing applications; SOA can free customers or service consumers from the impact of service implementation changes; SOA can upgrade individual services or service consumers without rewriting the entire application And there is no need to keep existing systems that are no longer suitable for new requirements. All in all, SOA is an agile way to create new services by leveraging existing applications to provide enterprises with greater flexibility to build applications and business processes.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?