Some common mistakes in the SOA field are described as follows:
1) Consider SOA = web service:
A Web Service is usually a service based on soap or HTTP.
It provides excellent interoperability capabilities in a distributed environment, but there are still many ways to implement SOA,
It is not just a web service. The SOA architecture is independent of technical implementation. SOA does not need to use Web Services
On the contrary, Web services do not necessarily follow the SOA standards.
However, the features of Web services are very suitable for implementing the SOA architecture. Enable band switching between Web Services
Structured documents (such as XML), which may contain completely heterogeneous data information. These documents can be accompanied
Data about data: Metadata (metadata ). In other words, Web services can have a coarse granularity.
The coarse granularity can constitute the service granularity in SOA.
After all, the two are intersecting circles. The difference between SOA services and web services lies in design. SOA Concept
Instead of defining exactly how services interact, it defines how services understand each other. The difference is
Defines the difference between the Strategy for executing a process and the tactics for executing the process. On the other hand, Web Services
There are specific guiding principles for how to transmit messages between services that require interaction. Tactically, implementing the SOA model is through HTTP
The most common SOA model for transmitted soap messages. Therefore, in essence, Web Services implement SOA
One of the specific methods.
2) Consider SOA as a special Distributed Component Object (components objects ):
In SOA, services and component objects are similar to one or more interfaces, and service publishers and
All users follow these interfaces.
The difference is that SOA is about Schema (Schemas), and component objects are about object types (object types)
SOA implements communication through standard message mechanisms (messages) such as soap, while Component Objects use methods
Call (method CILS) to interact. Interface Definition Language (IDL)
Compared to SOA, the use of XML in Web Services Definition Language (WSDL) is more common and
.
The link is that the service is ultimately implemented through classes and component objects.
SOA is considered a substitute for traditional tightly coupled and object-oriented models. Like common object proxy architecture (CORBA)
(Common Object Request Broker Architecture) and Distributed Component Object Model DCOM (distributed
Component Object Model ). In SOA, a single service can be designed using an object-oriented method. However
SOA design is service-oriented. The following table lists the differences between SOA and distributed component architectures.
Differences between SOA and Distributed Component Architecture
No. Distributed Component Architecture Service-Oriented Architecture
1. process-oriented
2. The purpose of the design is to realize the requirement. The purpose of the design is to adapt to changes.
3. Long-lived interactive and reusable Development
4. Cost-centric business-centric
5. Application congestion service coordination
6. tightly coupled agile and loosely coupled
7 homogeneous technology heterogeneous Technology
8. Object-oriented message-oriented
9. More in-depth understanding of Implementation Details
3) think that the new system SOA is useless: If business agility is needed for the new system,
This makes SOA useful. By better integrating IT and business, SOA relies on enterprise architecture,
Business modeling, SOA supervision, and some new design principles enable new technologies that support this style to achieve it flexibility,
It can better support business agility.
4) Think SOA = BPM: business process management (BPM) and SOA
Closely related, but not one thing. BPM is designed for business optimization, which requires IT support and SOA is good.
In turn, BPM can also provide good support for SOA in terms of business modeling and business rules.
SOA provides a good foundation for business agility.