Messages

From RemObjects Wiki
Jump to: navigation, search

This is a Concept topic for RemObjects SDK



Messages Overview

Messages provide the second corner stone of client/server communication in RemObjects SDK, next to Channels.

In order for any information to be passed from client to server or from server to client, this information must be encoded in a way that both sides can understand it. Message components provide this functionality by offering the means to encode parameters, method name and other related information in a predetermined format and writing it to a stream that can be passed over the network - or reading a stream and decoding the respective information again.

Different message formats are provided for different needs and both client and server must use compatible message formats to successfully communicate - a BinMessage encoded call, for example, cannot be decoded by a SOAP message, or vice versa.

Just like with channels, matching message types are compatible between the different editions of RemObjects SDK so, for example, a .NET client can use the BinMessage class to talk to a Delphi server using TROBinMessage, just as a an Xcode client could use ROBinMessage.

The preferred message format for the vast majority of cases will be BinMessage, as it provides the most efficient transfer, both from a speed and bandwidth perspective. SOAP, on the other hand, is useful for accessing existing Web Services provided by third parties using this widely-used format, or to publish servers that should be accessible by non-RemObjects SDK clients.

To provide more flexibility, RemObjects SDK introduces the concept of Smart Services that allows you to create servers that are exposed through a variety of different message formats at the same time. This enables you to create servers that can use the efficient BinMessage when talking to your own clients, while still being open to third parties via SOAP and/or XML-RPC.

Commonly Used Message Types

Infrequently Used Message Types

Message Envelopes

Message Envelopes are a new concept introduced in version 5.0.31 of RemObjects SDK that make it easy to extend and influence the on-the-wire format of data on top of what the basic Messages provide out of the box.


See Also


Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript

GlossaryArticlesLibrarySamples

Personal tools
Namespaces

Variants
Actions
Navigation
products
platforms
special
Toolbox