SOA Architecture Overview

First, what is SOA architecture

SOA is an architecture model, it can be distributed deployment, and use of combination of loosely coupled coarse-grained application components through the network according to demand. Service layer is the foundation of SOA, it can be applied directly invoked in order to effectively control the system-dependent human agent interaction with the software.

SOA is the key "service concept". It is as a service-oriented architecture, is a model and methodology A software architecture design. From a business perspective, all to maximize the "service value" as a starting point, SOA use of existing software systems business, re-integration and build a new set of software architecture. The software architecture can change with the business, the flexibility to combine existing services at any time, to form a new software, common services to business systems throughout the enterprise. Simple to understand, we can put SOA as modular components, each module can be implemented independent function, and the bond between the different modules can provide different services, interfaces between modules follow uniform standards can be achieved low cost of restructuring and reorganization. In the case of SOA technology framework, it can put huge chaotic systems into a comprehensive and orderly system, thereby increasing the flexibility of enterprise business application system in the development process, to achieve maximum IT asset utilization.

Although, at present different vendors or individuals to SOA have a different understanding, but for a few key characteristics of SOA understanding it is the same: between one kind of coarse-grained, loosely coupled service architecture, service with a simple, precise definition of the interface to communicate It does not involve the underlying programming interfaces and communications model.

To be important to note that, SOA is not a new thing. Large successfully build and deploy IT organizations history SOA applications for many years. However, SOA is not a ready-made technology, but an architectural and organizational approach to IT infrastructure and business functions. SOA such a development method, has the advantage of the better management.

Second, the basic characteristics of SOA

SOA embodiment has several distinct characteristics substantially. Implement key objectives is to achieve SOA enterprise IT assets to maximize reuse. To achieve this goal, it is necessary in the implementation bear in mind the following characteristics of SOA in the process:

①  be available from outside the enterprise access and

Business partners using advanced B2B agreements ( ebXML or RosettaNet) combined with each other. When business partners to exchange business information-based business purposes, they pass to complete the creation of B2B protocol session. And external users through providing business service web service.

When a service user requests a service, the SOA requires the existence of the service provider to respond. Most SOA are able to portal applications like synchronous applications and provide services like Asynchronous B2B application.

②  coarse-grained service interface

Coarse-grained services provide a specific business function, and fine-grained services represent a technology components methods. The advantages of using coarse-grained service interface is that no longer reciprocate a plurality of times between the user and the service layer, a reciprocating sufficient.

③  classification

A debate about the coarse-grained services such services is reusable services than fine-grained difference, because coarse-grained services tend to solve specific business problems, and therefore poor versatility, reusability difficult to design. One way to resolve this debate is to allow different levels of coarse-grained to create services. This class of service contains fine-grained, high reusability service, also contain coarse-grained, reusability poor service.

In terms of service classification, the service should be noted that the disclosed service system by the background layer is usually ( the BES apos) or SOA existing local service platforms composition. Thus allowing the creation of private services in the service layer is very important. Reuse correct documentation, configuration management and private services for the IT department has an important affect the ability of SOA services layer to rapidly develop new public services.

④  loose coupling

SOA has a "loosely coupled " component service, which is different from most other component architecture. The method aims to service users and service providers to achieve customer service and how to isolate the use of services. The key service interface is implemented as a separate entity and the service exists, which makes it possible to achieve the service modifications do not affect the service users.

Most methods rely on a loosely coupled messaging service based interface. Message-based interface can be compatible with a variety of transmission modes, and using a variety of transmission. Loosely coupled and document-driven Web services for SOA service interface speaking is an important criterion.

When a customer calls the message class Web services, customers usually send a complete documentation (such as purchase orders), rather than a discrete set of parameters. Web service receives the entire document is processed, then the result may or may not return information. Since the client and there is no tight coupling between a Web service request response, the message class Web services across the client and server to provide a more loosely coupled.

⑤  reusable services

If full accordance with the principle of reusable design services, SOA will enable applications become more flexible. Reusable services provide critical business functions using a common format, saving a lot of time for developers. Design of reusable services is the most valuable work with database design or similar general data modeling. Since the service design is the key to success, therefore, therefore SOA implementers should look for an appropriate method of service design process management.

Service design service design management is fundamentally a problem, service design requires a compromise between two points. Take a shortcut tactical projects and enterprises build reusable long-term goal of universal service.

Beyond the short-term goal of the project is to develop and evaluate service interface is an important step towards a precise definition of the service interface, but also need to interface documentation, service implementation document and the all-important non-functional feature set standards.

A prerequisite for reuse in a large organization is to establish a common (design phase) library services and development process to ensure the correctness of reuse and commonality. In addition, on account of the service design and development services is the key to the successful use of the document library services assessment.

In short, do not write according to the rules can not guarantee that the service will provide reusability of the successful implementation of SOA. In the process of the implementation of the rules will produce finance charges, we need to develop to be considered when SOA implementation plan.

⑥  Service interface design management

Web services enable applications to function via a standardized interface ( provided WSDL), and can be based on standardized transmission mode ( the HTTP and JMS), using a standardized protocol ( the SOAP) call. The use of Web services and XML to create SOA applications, which will make it more versatile.

⑦  standardized service interfaces

There may be the following message mode in SOA. In a SOA implementation, a mix of different modes of message services often occur.

* No status messages. Each message sent by the user to the provider must contain all the information needed provider processes the message. This defines that the service provider without storing state information of the user, thus more scalable.

* There are status messages. Users and providers share certain information of the user environment, the information contained in the message provider and the users exchange. This defines the communication between providers and users more flexibility, but because the service provider must be stored in a shared environment information for each user, so the overall scalability significantly weakened. This defines enhanced coupling relationship service providers and users, and improve service difficulty switching service providers.

* Idempotent message. Send effects of repeated and transmits the same message to the software of a single message. This limited enable providers and consumers can simply copy the message in case of failure to improve service reliability.

⑧  supports a variety of messaging modes

Service is provided by a contract between the provider and user-defined. The provisions of the contract and the end result desired by the user to use the service. In addition, it can also which provides quality of service. The key point to note here is that the service contract must be precisely defined.

Third, you can use SOA to do?

Of SOA comes from the need to service the needs of IT systems 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 design SOA model derived. This is from the new achievements in 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.

Here, change, and SOA system capacity 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 give rise to SOA model big change. 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, the UML), and described as the model driven architecture ( the model-driven architecture, of MDA).

For application-oriented synchronous and asynchronous requests based distributed computing / response pattern is, 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.

Fourth, the purpose and significance of SOA architecture

Software product designed to SOA architecture and 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. SOA architecture can be viewed as B / S model is a natural extension after the technology XML / Web Service. It can help us to stand on the development of various components of a new level of understanding of enterprise architecture, deployment form, it will help to enterprise systems architect of faster, more reliable and more reusable structure of the entire business system. Than ever to SOA-based systems can face dramatic business changes more calmly, more adaptable.

Guess you like

Origin www.cnblogs.com/qilin20/p/10964288.html