What is Messaging Software?

In computer science, software message passing is a form of communication used in concurrent computing, parallel computing, object-oriented programming, and inter-process communication. In this mode, processes or objects synchronize by sending and receiving messages. Unlike traditional programming, which invoking a process, subroutine, or function directly by name, messaging passes a message directly to a process, relying on the process or the underlying framework to call the code that is actually executed. Can be divided into synchronous mode and asynchronous mode.

In order to facilitate unification, the International Organization for Standardization has developed a protocol, which clearly defines the division of labor in the telecommunication network, defines the interface, and defines the interface in detail: It is stipulated that the process through the A process to the B process can only be What information is passed, and what information can be passed only through the B process to the A process. The representation of information in software is the message. Software messaging is a communication paradigm. In this model, a sender sends messages to one or more recipients. Form of message, according to
The Common Object Request Broker Architecture (CORBA) is an application software architecture and object technical specification proposed by OMG (Object Management Group). Its core is a set of standard languages, interfaces, and protocols. To support interoperability among heterogeneous distributed applications and platform and programming language independent object reuse. CORBA has established a cross-language distributed object architecture, which provides a distributed operation specification for interaction between multiple language objects. The emergence of CORBA technology is the inevitable result of the development of object-oriented technology and the development of distributed network environments. With the development of computer software and hardware, computers have been applied to various fields of scientific research, education, national defense, and economic development. The scale of software has continued to expand. Complex computer applications have made modular software design and development unsuitable for large software. Design and Development. The emergence and development of object-oriented technology solves problems that are difficult to be solved by modular design such as reusable code and data encapsulation. At the same time, object-oriented design and development makes the code easier to control and maintain, which makes it more suitable for large-scale software design and development, which has become the development trend of software design. In addition, in the development of computer networks, the focus of computer applications has gradually developed from the stand-alone era to the C / S network structure. Different hardware manufacturers, different operating platforms, and increasingly complex network applications have made the design and development of distributed software complicated, the software cost increased, and it is difficult to be compatible on different platforms. The basic concepts involved in CORBA:
Object: The object in the CORBA specification conforms to the semantics of traditional objects, and has the characteristics of encapsulation, inheritance, and polymorphism. A pair is an identifiable encapsulated entity that can provide one or more services upon customer request. Object reference: This is an identifier used to specify an object called an object reference. An object can hold multiple object references, but an object reference must correspond to only one object.
Object implementation: refers to the implementation of the object system, that is, the service provider. The implementation model consists of two parts: the execution model and the construction model. The execution model describes how to execute the service. The calculation activities required to perform the requested service include calculating the requested result and updating the system status. The construction model describes how to define services. The CORBA specification uses interfaces to describe the operations that a service provider can perform.
Interface: An interface is a set of operations described using IDL, and a client can request these operations from an object through an interface. The conformance mechanism provided by interface inheritance allows an object to support multiple interfaces, and attributes are part of the interface. Logically, properties are equivalent to declaring a pair of helper functions: one to get the function's value (get); one to set the property's value (set).
Request: The requesting party is called the customer, and the customer requests service by constructing a request. In the request, specify the implementation of the service object, the operation to be performed, the operation context, and the parameters used by the operation.
Activation: A method is called in the execution of a service request, an object, or an object implementation. If the initial state of the object back to the object implementation does not meet the requirements of the method invocation, you need to change its state by some method to meet the method invocation This process is called activation.
Distributed systems need to be able to communicate between different hosts. The Java language supports the basic communication mechanism Socket communication. This communication method is very flexible and can meet the communication needs of most applications. However, the use of Socket technology requires encoding and decoding of the information passed on the client and server, and the process is more complicated and very error-prone [1]
Remote Procedure Call (RPC)
Open Network Computing Remote Procedure Call (ONC RPC), a widely used remote procedure call (RPC) system, is a protocol stack belonging to the application layer, and the underlying layer is the TCP / IP protocol. . Open Network Computing (ONC) originated from Sun Microsystems (Sun) and was part of the Network File System Initiative, so it is often referred to as Sun ONC or Sun RPC. This system is now implemented on most UNIX-like systems, and Microsoft also provides ONC RPC support on their products with Windows Services for UNIX. In 2009, Sun Microsystems released the system under a standard three-term BSD license. In 2010, Oracle, which acquired Sun Microsystems, confirmed the validity and scope of the software BSD license.
Simple Object Access Protocol (SOAP) is a protocol specification for exchanging data. It is a lightweight, simple, XML-based (a subset of the standard universal markup language) protocol. It is designed Exchange structured and solidified information on the Web. SOAP in order to simplify the Web server (Web Server) when extracting data from the XML database, save time to format the page, and different applications in accordance with the HTTP communication protocol to comply with the XML format to perform data exchange, making it abstract from the language, Platform and hardware. This standard was jointly proposed by IBM, Microsoft, UserLand, and DevelopMentor in 1998, and was supported by companies such as IBM, Lotus, Compaq, etc., and submitted to the World Wide Web Consortium (W3C) in 2000 SOAP version 1.1 is a common standard in the industry and belongs to the second generation of XML protocols (the first representative technologies are XML-RPC and WDDX). A simple example is used to illustrate the use of SOAP. A SOAP message can be sent to a Web site with a Web service function. For example, a database containing house price information. The parameters of the message indicate that this is a query message. This site will return An XML-formatted message containing the query results (price, location, characteristics, or other information). Because the data is passed in a standardized, analyzable structure, it can be directly used by third-party sites. SOAP Envelope, which defines a framework that describes what is in the message, who sent it, who should accept and process it, and how to handle them;
SOAP encoding rules (encoding rules), which defines a serialization mechanism, used to represent instances of data types that applications need to use; SOAP RPC representation (RPC representation), which defines a contract, used to represent remote processes Invocation and response; SOAP binding, which defines which protocol SOAP uses to exchange information. You can use HTTP / TCP / UDP protocol.
Binding SOAP to HTTP provides both the advantages of SOAP's style and decentralized flexibility, and the advantages of HTTP's rich feature library. Transmitting SOAP over HTTP does not mean that SOAP will overwrite existing HTTP semantics, but that SOAP semantics over HTTP will naturally map to HTTP semantics. In the case of using HTTP as the protocol binding, RPC requests are mapped to HTTP requests, and RPC responses are mapped to HTTP responses. However, the use of SOAP over RPC is not limited to HTTP protocol bindings.

IN OTHER LANGUAGES

Was this article helpful? Thanks for the feedback Thanks for the feedback

How can we help? How can we help?