The definition and understanding of SOA is divided into two categories
A class of thinking: SOA is primarily a architectural style
The other is that SOA is a new set of distributed software system constructs and environments that encompass the operational environment, programming models, architectural styles, and related methodologies, covering the entire lifecycle of services: modeling- development - consolidation - - Deployment --run --Manage
service-architecture.com defines SOA as: essentially a collection of services. Services communicate with each other, which may be a simple data transfer, or two or more services that coordinate certain activities. Some methods are required to connect between services.
A service is a function that precisely defines, encapsulates, and is independent of the environment and state of other services
Although different vendors or individuals have different understandings of SOA ,
But we can still see several key features of SOA in this definition: a coarse-grained, loosely coupled service architecture that communicates through simple, well-defined interfaces, without the underlying programming interface and communication model
As a result, as long as a software system conforms to the SOA architecture, it can be said that it is based on SOA
For example, we can simply design the word software as a component and make it conform to the SOA architecture.
So SOA does not necessarily require a Web service to implement.
A WEB service is simply a set of APIs and applications exposed to the outside world that can be invoked over the Internet, a framework (personal perspective) developed based on the idea of SOA loose coupling, but it must be fully compliant with the SOA architecture. For example, you wrote a small function based on WS.
At this stage, most of the SOA systems we see seem to be implemented with Web service,
Because a software is not open source for everyone to develop, you do not know whether it is based on SOA,
You want to use other people's services, generally need to go to the Internet search, search to the future is directly used, rather than download down, these are the Web service to provide us with the function.
But it's important to be clear that it's certainly wrong to be able to package the services that you can provide, to provide a WS interface, to claim to be an SOA, because his system does not necessarily conform to the SOA architecture.