RemObjects SDK is an award-winning framework for building highly scalable distributed applications: client applications and servers that can communicate easily and seamlessly, whether on the local company network or across the internet. RemObjects SDK infrastructure is available in 100% native editions for all of today's modern application development platforms, giving you the flexibility to have applications on different devices and operating systems to communicate and interoperate seamlessly.
*Vast client support — Native RemObjects SDK client implementations are available for virtually all of today's platforms, giving you maximum flexibility in expanding your applications reach with great native client applications for a wide range of platforms, from desktop apps on Windows, Metro and the Mac over mobile apps on Android, iOS and Windows Phone to browser-based web apps.
All libraries use the same core technologies and a shared architecture and are fully wire-compatible while feeling completely at home on their respective platform.
*Cross-Platform servers — With our powerful .NET and Mono based server implementation in RemObjects SDK for .NET, you can create true "build once, run everywhere" cross-platform services that can be hosted on Linux, Windows and even Mac OS X servers, not just with a single code base, but with a single executable. While many commercial .NET frameworks "probably work fine" on Mono, we take pride in the fact that RemObjects SDK is explicitly tested and supported for Mono deployment on Linux and Mac.
*Service Builder — A RAD application that lets you define the services and types exposed by your server, generate stub implementations and client proxies for all supported platforms. Deeply integrated into the server-supported IDEs, Visual Studio and Delphi.
*Service Tester — A graphical tool to run scalability tests against your services to see how your server application can cope with a high load and a large volume of concurrent requests. Windows-only.
*Olympia Server — A pre-built server application that lets your server scale out across multiple machines (or even multiple data centers) by keeping shared session state available to all servers that are part of your server infrastructure. Read more.
*ROZeroConf — Use Apple Bonjour or RemObjects SDK's own network-compatible ROZeroConf infrastructure to let clients seamlessly discover servers available on the local network and enable zero-configuration LAN solutions. Read more.
*Smart Services — Combine RemObjects SDK's own and highly efficient binary protocol with open standards such as SOAP or JSON to create services that can serve the best of both worlds: fast connectivity to your own RemObjects SDK-based clients, while also providing access to third party applications that use open protocol clients.
Powerful Remoting Framework
At the heart of RemObjects SDK lies of course its library, which provides a vast array of options for clients and servers to communicate in efficient ways, across varying network quality levels (from the local LAN to low-reliability wide area radio networks) and between different platforms.
Different choices of network servers and clients, message formats, session data storage and other crucial elements of the overall communication strategy allow developers to combine the solution that best suits their needs, simply by selecting the appropriate components.
RAD Service Modelling with Service Builder
One of the key features of RemObjects SDK is its RAD Service Builder application, which allows you to visually define the surface area of your servers before you start writing your first line of code. In Service Builder, you can define the interfaces exposed by your services, along with any custom types you want to send back and forth between clients and servers and callback events that clients might trigger.
Service Builder also allows you to document your service interface and types, describing how they should be used or implemented.
Because the entire service definition is described in a platform- and language-agnostic way inside of Service Builder and stored in a "RODL" file, clients and servers can later be implemented using any of the supported tools and platforms, without risking wire incompatibility.
Highly Extensible Library
While RemObjects SDK comes with a wide range of communication options out of the box, we realize that it can never suit everybody's needs. Developers might need a custom communication channel, use a different message format, store session data in different ways, or otherwise apply their own touch to the communication story.
Because of this, every aspect of the RemObjects SDK class libraries has been designed with extensibility in mind, allowing you to easily extend existing classes or write your own replacement classes to give your clients or servers the flexibility you need.
For example, you might have specific encryption needs not covered by the components already provided by the SDK. Simply writing your own Message Envelope will allow you to use your own encryption system with standard RO communication.
RemObjects SDK's high-end Super TCP and Super HTTP channels provide enhanced support for push events, allowing servers to send real-time notifications back to active clients, without requiring the client application to waste network bandwidth by polling for events.
Whether building real time communication between clients or providing notification for database changes, push events enable a more streamlined and responsive user experience, while minimizing network traffic. And with the Super HTTP channel, they will work across firewalls and NATs, like every other HTTP request.