Originally wanted to share with you about the WCF related East, the first thought is SOA this thing, is now very fire, in the internet also saw a lot of this aspect of things, found that there are many with O. What the east, so put it together and share with you, but also for the understanding of these concepts and the understanding of SOA this stuff.
Overall: Service Orientation,so represents a design concept, like object Orientation,oo, component-oriented (Component Orientation,co), is a reflection of the focus of the idea of decomposition, service-oriented is not technology-independent.
SOA: First, SOA services are relatively independent, reusable, emphasizing loose coupling (contracts), and precisely because of these, SOA encourages the creation of composable services, and because SOA uses the communication of SOAP message exchange, SOAP provides a consistent representation of the message's bearer content. To make normal service calls to and from the client, SOA uses languages such as XML, XSD, and WSDL as service descriptions. and the support SOA for transport security, reliable messaging, and things also employs the WS-* specification, which is a great possibility for SOA to achieve true cross-platform operations.
By understanding the components theory and technology of SOA, SCA, OSGi, JPF and so on, the difference between object-oriented development and component-oriented development is collated .。
1, object-oriented, the interaction between objects is fine-grained, through a single message to interact;
The interaction of components in component-oriented is through interface connection, the interface contains multiple messages, the interface is different and needs to be adapted.
For example, the letter of a lunar, is the interaction between the objects, the message once sent is the component interaction.
2, the granularity of the component is larger than the object, in the object-oriented system design, the object is the basic building material of the system; in the development of component-oriented system, the component is the basic building block of the system. The component is somewhat similar to the concept of a subsystem, encapsulating a set of related objects to provide services externally; Reduce the amount of information fed into the upper channel, thus increasing the stability of the system;
2, object-oriented emphasis on encapsulation, inheritance, polymorphism; An object is an instance of a class, and when it comes to objects, it often refers to the definition and implementation of classes at the source level, and in the case of component-oriented encapsulation, more emphasis is placed on the reuse of black boxes. component, the concept of an interface is particularly emphasized. An interface is a contract between a component and a user of a component, and the determination of an interface separates the developer and user of the component.
3. The components focus on the responsibilities of the business, define the business boundary; The object is concerned with all aspects of the same business.
If the business is complex, the same conceptual entity may contain 1000 attributes, and these 1000 attributes can be categorized into multiple aspects,
With the object-oriented approach, the operation for these 1000 attributes is encapsulated in this object, resulting in all operations being bundled and not partially reused because of the property being targeted.
Components provide a better way to operate on these 1000 attributes by duty in different business components, while some of the common possible components can also be reused for other services to provide some aspect.
4, as the basic building blocks of the building system, the components need to help the container. Containers provide a running environment for components that enable them to do what they do best on a higher platform without having to consider too much of the underlying detail. In a component, it is often necessary to implement some of the callback methods required by the container to communicate between the container and the component. The container also provides some common interfaces to the component that enable the component to use the services provided by the container (transactions, security, and so on). The presence of a container separates the user of the component from the assembly (configuration) of the component. Components are always components within a certain container. Because components live in containers, the management of components, especially the life cycle, becomes the responsibility of the container. Living in a container, the state of the component, its persistence, and its means of communication are some of the issues that must be considered. This produces the category of the component.
Oh ~ ~ a bit more nonsense ...
So,oo,co is not a fool to know