SOA (service-oriented architecture service-oriented architecture) is that the recent IT Session of hot key words, is a mysterious term (like who's lips do not hang up the SOA is not IT).
On SOA, Gartner's definition: client / server software design approach, an application software services and software services by the users of the composition ... ... SOA and the most common client / server model of the difference is that it emphasizes loosely coupled software components, and use a separate standard interface.
Service-architecture.com definition: essentially a collection of services. Between services communicate with each other, such communication may be simple data transmission, it may be two or more services coordinating some activities. Between services need to be connected in some way. Is the precise definition of the so-called services, packaging perfect, independent of other services, a function of their environment and the state.
Looselycoupled.com definition: on-demand system to connect resources. In SOA, resources are used as the standard way to access through an independent service provided to network members. Compared with the traditional system architecture, SOA provides loose coupling between resources more flexible relationship.
IBM's definition: the service-oriented architecture (service-oriented architecture, SOA) is a component model, it application of different functional units (called service) through these well-defined interfaces between services and contracts linked. Interface is the definition of a neutral manner, it should be independent of implementation services, hardware platforms, operating systems and programming languages. This makes building systems in a variety of such services can be in a uniform and common way to interact.
Wikipedia definition: service-oriented architecture (Service-oriented architecture) is to construct a distributed system application procedures. It will send the application functionality as services to end users or other services.
Baidu Wikipedia's definition: a service-oriented architecture (Service-Oriented Architecture, SOA) is a component model, it application of different functional units (called service) through these well-defined interfaces between services and contractual links up. Interface is the definition of a neutral manner, it should be independent of implementation services, hardware platforms, operating systems and programming languages. This makes building systems in a variety of such services can be a unified and common way to interact.
You have to see whether the halo, is not very deep, very obscure, very ... ...
In addition, the detailed explanation you'll find more data bus, metadata, granularity, loose coupling, etc. are also very deep, very obscure, very ... ... the words to be interpreted.
Therefore, Xiang someone for a long time, only to remain silent, and listen more to see, ask.
Xiang person with a recent engineering friends chat, inadvertently talked about the SOA, enlightened me his views, the so-called SOA is no doubt the concept of the software industry is another successful speculation, and its essence is nothing less than the industry standard software process The self-help behavior, is the software industry itself, "catch-up" only, and not a revolutionary thing (it is undeniable that there is indeed no small progress).
Now it seems, can not be achieved through the SOA is touted by vendors and experts, the idea: as long as the software can be achieved SOA the one hand, flexibility of the system; the other hand, enables seamless integration between heterogeneous systems !
To clarify this argument, first turn to the engineering sector.
After many years of accumulated engineering, standardization should have been formed in a relatively complete system. A drawing from the design to being really down to the shop for processing, and subject to the design, proofreading, review, standardization, approval and other approval links, different business processes are not the same, no matter how they change, how to adjust flow, there is a link is essential that standard!
Standardize the core has two aspects: one is to examine whether in the design process in accordance with the requirements specification was designed to standardize the language is to allow all engineers to understand; the other hand, as far as possible in the design process if the relevant parts reuse, that is, the selection of standard parts as much as possible, to avoid duplication of processing, cost savings, ease of maintenance follow-up maintenance in order to achieve a minimum internal diversification to achieve the maximum external diversity (which is the core idea of mass customization).
Meanwhile, enterprise, standard parts in the formation is very strict in, has a very standardized procedures, and Yi, under the form of corporate standards in the hair; in the enterprise may be a target Ji Chu Shang Xing Ye standards; in industry standard form the basis of national standards. Of course, the formulation of the national label will follow the international mark.
Contrast, the software development process, although there are software engineering, but also CMM system, but the focus with the process aspects of norms, through needs identification, outline design, detailed design, coding, unit testing, integration testing, system testing, maintenance and other sectors to control software quality.
But the standard at all? No!
So thousand of a thousand faces, single multi-faceted (by personal feelings, and work status of very large!) How can we ensure that ultimately increase the quality of products paid? How to ensure a certain ratio of 2.0 to 1.0 is that? So on endless patches, upgrades to make up for deficiencies in the design process. An old problem solved, N new problems emerge come; even the old problem is solved, new problems come one after another; even more crucial is simply no way to check whether the problem is how to produce.
If this happens in engineering, is very simple, recall, compensation, bankruptcy! But in IT industry has completely changed the rules of the game, his reputation, saying: to provide quality service and imposing the kindly consider a valuable maintenance services.
Xiang someone put a pass in the big rhetoric, the words go to the SOA on.
SOA in the "service" is nothing less than our understanding of the standard parts; services between each other "communication" is what we understand with the relationship between the parts; The internal logic of relations is what we often say that control.
Industrial products is achieved through different relationships between components with the assembly, by hydraulic, electronic and other devices to achieve its control; the same in the software industry through "communication" to achieve "service" the link between the logic realized by business control.
Therefore, even if standardization of industrial products is currently very Gao Chengduoyijing under the premise they could only be realized under conditions in limited Pei Zhi, Tong Yang Bu Keneng unrestrained software Xitong also achieve flexibility can only be achieved in limited conditions Zhuangkuang a local configuration .
Between different industrial products can achieve the integration between different architectures, because the engineering has been established to follow a common standard system, and strict implementation of the actual process; So now the software industry has not yet formed in the industry The consensus of the same standard system (at best also confined to the "enterprise standard stage", even far from), is available on the boast seamless integration between heterogeneous systems, be self-defeating.
An industrial product to meet the requirements of the end, the key is the quality of components, assembly relation is reasonable and hydraulic, electronic devices such as advanced, in these conditions are met, based on systems will be considered a strength, interference, electromagnetic interference, while also considering to manufacture, environmental protection and other factors; the same software upgrade can get to achieve, we must in the services, communications and logical relations Shang efforts, we must also consider the robustness of the system and easy maintenance, etc. Thus the software industry but also in the standard way through a long temper!