Server-Side Slice-to-JavaScript Mapping
The mapping for Slice data types to JavaScript is identical on the client side and server side. This means that everything in Client-Side Slice-to-JavaScript Mapping also applies to the server side. However, for the server side, there are a few additional things you need to know — specifically how to:
- Initialize and finalize the server-side run time
- Implement servants
- Pass parameters and throw exceptions
- Create servants and register them with the Ice run time
Because the mapping for Slice data types is identical for clients and servers, the server-side mapping only adds a few additional mechanisms to the client side: a small API to initialize and finalize the run time, plus a few rules for how to derive servant classes from skeletons and how to register servants with the server-side run time.
Although the examples we present are very simple, they accurately reflect the basics of writing an Ice server. Of course, for more sophisticated servers, you will be using additional APIs, for example, to improve performance or scalability. However, these APIs are all described in Slice, so, to use these APIs, you need not learn any JavaScript mapping rules beyond those we described here.
Support for server-side activities in Ice for JavaScript is currently limited to callbacks over bidirectional connections, which allows a JavaScript client to receive "push notifications" from a server. In this section, we describe the server-related activities of a JavaScript client.
Topics
- Server-Side JavaScript Mapping for Interfaces
- Parameter Passing in JavaScript
- Raising Exceptions in JavaScript
- Object Incarnation in JavaScript
- Asynchronous Method Dispatch (AMD) in JavaScript