Server Smalltalk Guide : What is Server Smalltalk (SST)
What is Server Smalltalk (SST)
Server Smalltalk (SST) is a VA Smalltalk feature which supports several architectural use cases for the construction and deployment of distributed processing applications, including Smalltalk-only scenarios and various interoperability scenarios. These archetypical use cases are described here individually, and the supporting SST features are presented individually. Real systems, of course, may employ a combination of these supporting SST features and other VA Smalltalk product features as well.
Smalltalk-Smalltalk
SST provides extensive support for remote messaging - over any of a number of supported communications protocols - between Smalltalk objects hosted in separate Smalltalk images. Both remote procedure call ("by-value") and object invocation ("by reference") semantics are supported. This distributed object infrastructure greatly simplifies the implementation of Smalltalk applications which involve collaboration among Smalltalk objects in multiple Smalltalk images.
Interoperability
It is often necessary in distributed systems that collaborating components are a heterogeneous mix. This may be due to that fact there is a mix of new components and legacy components, or a mix of components developed independently by different organizations.
SST provides several features to enable and facilitate inter-process communication between Smalltalk applications and non-Smalltalk applications. These features tend to support one of three scenarios: language-specific interoperability (Java RMI), language-independent interoperability (IIOP), and custom messaging (Transport Communications).
Java Client/Server Interoperability
SST provides interoperability with Java clients and Java servers via Java Remote Method Invocation (RMI) services. This support includes development tools that facilitate the generation of Java client stubs for Smalltalk servers.
IIOP
SST supports IIOP as the basis for language-independent interoperability. This strategy has been superseded, however, by Web Services. SST support for IIOP has been marked obsolete and may be withdrawn in a future release.
Transport Communications
The base communications framework within SST is part of the shared implementation of support for higher-level application use cases, such as Java Interoperability and Smalltalk-Smalltalk. This infrastructure can be used independently, however, to build applications which perform their own interpretation of messages which are sent and received "on the wire".
The SST infrastructure can in this way be the basis for interoperability in a heterogeneous distributed system, or for custom messaging between Smalltalk images. SST can be used, for example, to exchange HTTP messages with application-specific entity body content (such as an XML document), to send e-mail over SMTP to any SMTP mail server, or to simply fetch URL content from an HTTP server.
Web Application Server
SST implements the Sun Servlet API specification, enabling the implementation of Smalltalk web applications using APIs and design patterns which are consistent with those used by Java developers.
SST also provides a lightweight servlet container for deploying such applications, and a file serving servlet for serving static files as HTTP response content.
This servlet container is implemented as a Transport Communications application.
Last modified date: 01/29/2015