I once saw an article entitled "take the technology out of SOA, and see what you get ".ArticleFrom the title, we can probably guess that the article is trying to consider the concept of SOA by setting aside technical factors. After reading the full text, I agree with the article's point of view that SOA is just a design model. As a design modelInformationSystems also apply to the design of other systems.
Taking McDonald's service system as an example, this article calls it a human-based service-oriented architecture (a human-based SOA), which is very interesting. Everyone knows that you can drive a car abroad to enjoy McDonald's services. You don't have to leave the car. First, open a cartoon person and tell the walkie talkie the number of packages you want. Then, open the next window and pay for your food. This simple system basically includes two services: accept order service and fulfill order service, but it fully complies with SOA requirements. Imagine if McDonald's finds that the work of the walkie talkie is seriously affected by noise interference, or wants to provide multilingual order services, she can easily replace the original order service, for example: create a call center and even outsource the service. In SOA-compliant systems, changes in service providers do not affect their services. McDonald's system does not involve information technology, but it also implements a service-oriented architecture.
In this interesting example, you can think of other things:
McDonald's system can be seen as a composite application composed of two services. SOA design gives it the flexibility to restructure. McDonald's can replace services as needed to improve efficiency, reduce costs, or increase customer experience. For example, you can select outsourcing to accept order services for economies of scale, or provide additional customer experience-multilingual services. This makes it easy to understand. The benefit of SOA to the enterprise's information system lies in the rapid reorganization of business processes, rather than adopting the most cutting-edge new technologies.
Since SOA is understood from the process design perspective, the main audience of its philosophy should not be information technicians but business personnel. That is why sap has been pushing Business Process expertsCommunity(Business Process Expert, BPX) development. Key users of enterprise information systems that have become business process experts are the main force of design and innovation.
In addition, in this example, we can also understand the importance of standards. Standardization is the foundation of McDonald's fast food. In her service system, standardization (Service Interface, modular design) is an indispensable part of SOA implementation, this problem is not only observed in the IT system.
The concept of SOA has been promoted and derived from various technical platform techniques. In fact, it is very similar to the object concept. When the concept of objects is proposedSoftwareA New Method for abstracting the objective world in system design. However, almost all things in the IT industry were quickly put on the "oo" label. I'm afraid that Gartner did not expect it to be used so far when he proposed the idea of service-oriented architecture in due time in 1996.
So what role does technology play in SOA? It should be said that technology makes the practical application of SOA possible (enabler ). For example, you can use the traditional method to face objects.Programming LanguageBut it is widely used by the software industry until it supports the introduction of the object programming language. With the rapid development of various modular component technologies and the Internet, SOA is only practical in the business. This is why the concept of SOA has been hyped up for 10 years.
remove technical factors from SOA. SOA is just a design model. Only with this understanding can we truly grasp the essence of SOA, rather than drowning in the sea of technical details.