Case studies on SOA architecture design Analysis

SOA, namely Service Oriented Architecture. Service-Oriented Architecture (Service-Oriented Architecture, SOA) is a component model, the application of different functional units (called services) are related by well-defined interfaces between services and contracts. UI is defined in a neutral manner, it should be independent of implementation services of hardware platforms, operating systems and programming languages. This makes building systems in a variety of such services can be a uniform and common way to interact.

SOA is an IT architectural style that is contained operating environment, programming model, system construction method and environmental architectural styles and related methodology, including a whole new type of publishing software system construction method and environmental services covering the entire life cycle : modeling - development - integration - deployment - run - management.

SOA support the conversion of the business as a set of services, or repeatable business tasks linked to each other can be reassembled for these services, in order to accomplish specific business tasks, allowing your business to quickly adapt to changing objective conditions and needs.

Service is the core of SOA:

Business is divided into business services and business processes coarse-grained;

Business service independent, self-contained, reusable, distributed by one or more system being implemented, but from a business process service assembly;

A "service" defines a business-related function or business data interface, and interface constraints of this contract, such as quality of service requirements, operational specifications, safety requirements, laws and regulations to follow, key performance indicators.

Because SOA is a distributed deployment of loosely coupled coarse-grained application components over the network, a combination of architecture and models used, and a standard service interface, which makes him have a look at the advantages:

(1) encoding flexibility

Based on a modular low-level service, using different combinations to create a high-level service, in order to achieve reuse, which are reflected in the flexibility of coding. In addition, due to the service consumer does not directly access the service provider, the service implementation itself can be used flexibly.

(2) explicitly Developer role

According to different people familiar with the business environment, we targeted deployment of business processes and division of tasks in order to better allocation of human, material and other resources.

(3) support a variety of customer types

With a precise definition of the service interface and support for XML, Web services standards, can support multiple client types, including PDA, mobile phones and other new access channels.

(4) easier to maintain higher availability

As the loosely coupled relationship between service providers and service users, using open standard interfaces, it has a good maintainability and availability.

(5) better scalability

Rely on service design, architecture, development and deployment model used to achieve scalability. Service providers can be adjusted independently from one another, in order to meet the demand for services.

SOA Web Service technology basic agreement: UDDI, WSDL, SOAP.

Simply put, XML is the lowest level of common language. It is an extensible markup language, different platforms and languages ​​can understand it. Is a web service standards are used in XML. Tagged content will validate or parse the definition of pattern syntax.

Web services is the ability to reuse of functional building blocks. It must be used by the provider system standard protocols and semantics of its release, find and call. This is done using xml with different syntax and related structures performed.

Web Services Description Language (WSDL) is an XML instance document, in line with w3c standard XML syntax for communication between service requester and provider. It describes how web services work. It is because of WSDL files, Web services was only known as "self-describing" because it can generate SOAP messages from WDSL file. Many tools are available to create a client code from a WSDL file.

WSDL file contains the following elements:

(1) type: using some syntax defined data types

(2) Message: data to be transferred

(3) Part: Message Parameter

Abstract description of the service support operations: (4) Operation

(5) Port Type / Interface: one or more abstract set of operations supported by the endpoint.

(6) Building: specific protocol specific port type and data format specification

(7) Port / Endpoint: combination of binding and a network address.

(8) Service: with related endpoints, including its associated interfaces, operations, messages and the like.

UDDI defines how to find the web, not as UDDI WSDL and SOAP as popular, because a lot of the time, users know the location of the web service.

UDDL UDDL list stored in the registry. Each list may include the following:

(1) White pages: address, contact, and known identifiers

(2) Yellow Pages: standards-based classification of sectors

(3) Green pages: Technical information about the business of public services

SOAP is a protocol for exchanging XML-based messages over a network.

SOAP message containing the following elements:

(1) Envelope: essential element for the document to sign SOAP messages

(2) Header: contains the application-specific information

(3) Body: essential element, define call and response information

(4) Fault: contains information about errors of

SOA architecture features:

(1) agility: the independence of the service, so that each service can be individually developed, tested and integrated

(2) Reuse of: repeating portions of different modules and systems, one may be a separate service.

(3) low coupling: technology and location transparency, such that the height of the coupling between the service requestor and provider

SOA's basic principles:

(1) No Status: to avoid the service requester rely on the status of the service provider

(2) a single instance: to avoid redundancy function

Interface (3) well-defined: interface is stable, clear; data hiding.

(4) self-contained and modular: business stable, recurring activities and components, standalone deployment, version control, self-management and recovery

(5) coarse-grained: the number of services should not be too large, Xiao Xu interaction rather than relying on remote procedure calls, usually larger than the message, but at a lower frequency of interaction between service

(6) loose coupling between services: the service user interfaces and services see, its location, implementation technology, the current status is not visible to the user, the service user private data service is not visible

(7) the ability to reuse: services should be reusable

(8) interoperability, compatibility and policy statements.

The need for SOA from business IT systems need to become more flexible to adapt to changing business. By allowing the definition of the relationship strong and still flexible specific implementation, IT systems can either take advantage of the functionality of existing systems, but also ready to make some changes in the future to meet the needs of interaction between them.

Here is an example of concrete. A clothing retail organization has 500 international stores, they often need to change the design to catch up with fashion trends. This may mean not only need to change the style and color, and may even need to replace the cloth, manufacturers and delivery of products. If the system between retailers and manufacturers are not compatible, then from one supplier to another supplier of replacement it might be a very complex piece of software processes. By utilizing the flexibility of WSDL interfaces in the operational aspects of each company can maintain the status quo of their existing system, but merely matching WSDL interface and the development of new service-level agreements, so you do not complete the reconstruction of their software systems. This is a change in the level of service, that is, they change partner, and basically all business operations remain the same. Here, the business interface can make a little change, while the internal operation did not need to change, did so just to be able to work with external partners.

  Another form of internal change, in this change, the organization has now decided it will retail chain store retailers in some places rented to boutiques small shops, which can be seen using store shop (store- in-store) business model. Here, although the majority of the company's business operations remain the same, but they now need a new internal software to handle such rental arrangements. Although it can afford a complete overhaul in the internal software system, but they need not have a big impact on the interaction with existing suppliers system while doing so. In this case, SOA model remains intact, while the internal implementation has changed. Although you can add a new dimension to the SOA model to add new rental arrangements for responsibility, but the normal retail management system to continue as usual.

  In order to extend the concept of internal change, IT managers may find the new configuration software can also be used in another kind of way, such as rental pasting posters for a local advertising. Here, new business proposals through reuse in the new flexible SOA model design derived. This is the new results from the SOA model, and is also a new opportunity, and this new opportunity might not be there in the past.

  Vertical change is possible, in this change, a complete transformation from retailers sell their own clothing to the model shop in shop exclusively through rental place. If the vertical change completely start from the bottom, it would bring significant changes in the model structure of the SOA, may also have new systems, software, processes, and relationships with change together. In this case, the benefits of SOA model is that it consider the issue from the perspective of business operations and processes, rather than from the perspective of applications and programs to consider the issue, which makes business management can determine what is clearly based on the operation of the business need to add, modify, or deleted. The software system can then be configured to fit the way business processes, not the other way on many existing software platforms are often seen.

  As you can see, here, change the SOA system and ability to adapt to change is the most important part. For developers, or whether such a change could happen within the scope of their work outside the scope of their work, depending on whether there is a change and they need to know how each other between how interfaces are defined interact. The difference is that with the developer, the architect's role is to lead to major changes to the SOA model. This division of labor is to allow developers to focus on creating functional unit is defined as a service, and let the architects and modelers to focus on how to properly organize these elements together, it has been more than a decade of history, usually unified modeling language (Universal modeling language, UML), and described as the model driven architecture (model-driven architecture, MDA).

  For application-oriented synchronous and asynchronous, distributed computing request / response model is based, the SOA is a revolution. A business logic of the application (business logic) or certain individual functions are modularized and presented as a service to the consumer or client. Key to these services is their loosely coupled characteristics. For example, the interface and implementation services independent. Application developer or system integrator may be constructed by applying one or a combination of a plurality of services, without having to understand the underlying implementation of the service. For example, a service can be used. NET or J2EE to achieve, and to use the service application can be on different platforms, the language used may be different.

SOA software architecture and product design to real purpose or meaning is: the preservation or protection software (data) business left over from the original, seamless data integration software, enterprises avoid the original investment make sense, repeat data entry. This makes it possible to shorten the implementation of the promotion of software products. During the implementation of the promotion can be quickly adjusted to the greatest degree of customer satisfaction. When the client application business changes, you must make a new investment, transformation, new products can be rapid expansion of direct or third-party equipment (hardware and software) are compatible. Thus avoiding the rigidity of the product itself, constitute the user's legacy system.

 

Guess you like

Origin www.cnblogs.com/lijing925/p/10964397.html
Recommended