Comparison of architectural styles

Source: Internet
Author: User
Tags representational state transfer

Go to the "Understanding this true Rest Architecture style" article on Infoq

From the abstract height of architectural style, there are three kinds of common distributed Application architecture styles:

    • Distributed Objects (distributed Objects, abbreviation do)

Schema instance has corba/rmi/ejb/dcom/.net remoting and so on

    • Remote Procedure calls (remotely Procedure call, referred to as RPC)

Schema instance has Soap/xml-rpc/hessian/flash Amf/dwr and so on

    • Representational State transfer (representational, Transfer, short rest)

Schema instance has Http/webdav

The two architectural styles of do and RPC are common in enterprise applications, while rest is the architectural style of Web applications, and there are very big differences between them.

The difference between rest and do is:

    • Rest supports abstract (that is, modeling) tools are resources, do support abstract tools are objects. In different programming languages, there is a great difference in the definition of objects, so the do style architecture is usually bound to a programming language. Cross-language interactions can be very complex to implement even if they are implemented. Resources in rest are completely neutral to the development platform and programming language, and can be implemented using any programming language.

    • There is no concept of uniform interfaces in do. Different APIs, the interface design style can be completely different. Do also does not support the visibility of the manipulation semantics for intermediate components.

    • Do does not use hypertext, and the content of the response contains only the object itself. Rest uses hypertext, which allows for greater granularity of interaction, with more efficient interactions than do.

    • Rest supports data flow and pipelines, and do does not support data flow and pipelines.

    • The do style usually brings a tight coupling between the client and the server side. Of the three architectural styles, the Do style has the greatest degree of coupling, while rest's style coupling is minimal. The source of rest loose coupling comes from the Unified interface + Hypertext drive.

The difference between rest and RPC is that:

    • Rest supports abstract tools that are resources, and RPC supports abstract tools that are processes. Rest-style architectural modeling is a noun-centric, RPC-style architecture modeled with verbs as the core. In a simple analogy, rest is object-oriented programming, and RPC is process-oriented programming.

    • There is no concept of uniform interfaces in RPC. Different APIs, the interface design style can be completely different. RPC also does not support the visibility of the operation semantics for intermediate components.

    • Hypertext is not used in RPC, and the content of the response contains only the message itself. Rest uses hypertext, which allows for greater granularity of interaction, which is more efficient than RPC.

    • Rest supports data flow and pipelines, and RPC does not support data flow and pipelines.

    • Because of the platform-neutral message, the RPC style is less coupled than the Do style, but RPC style often brings a tight coupling between the client and the server side. Supports the unified interface + Hypertext driven restful style, which allows for minimal coupling.

Comparison of architectural styles

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.