![]() |
Clients and servers can reside in computers having different endian architectures: a client could reside in a little-endian CPU, while the server code runs in a big-endian one. As a more complex instance, a client may want to invoke a business method on a server running in a code set different from that of the client.
A client-server infrastructure must define precise endian and code set tracking and conversion rules. As prominent reference examples of client-server architectures, both CORBA and J2EE have addressed the problems of endian and code set mismatches. The language neutral CORBA formalism uses byte order indicator in all marshalled data streams to indicate the byte order of the originating machine; in case of an endian mismatch, the receiving side can perform byte swapping for endian correction. The code set mismatch is addressed by CORBA using a comprehensive framework for code set conversion. J2EE has nearly eliminated the aforementioned problems in a unique way by relying on its Java Virtual Machine (JVM), which encodes all string data in UCS-2 and externalizes everything in big endian format.
The JVM employs a set of platform-specific programs for interfacing with the native platform. These programs perform any necessary code set conversions between UCS-2 and the native code set of a platform.
Related concepts... | |
Computers located in different locales | |
Computers located in different time zones | |
View PDF file... | |
To view a PDF file containing this article and related articles, click: | |
![]() | |