Developer Resources:

Customer Quotes:

Extensibility Features

Having the ability to customize WebORB for maximum usability makes the development process even easier for developers.  WebORB includes many points of extensibility, which allow developers to do more with their tools of choice.  These points of extensibility include:

Custom Loggers

A custom logger can be implemented to persist logging events/messages in an alternative format or storage. Additionally, custom loggers can re-route WebORB logging information to other logging frameworks.

View Documentation>

Custom Object Serialization

Serialization is the process of transforming server-side .NET objects into a protocol format understood by the client-side. Serialization takes place right after WebORB executes a remote method invocation and receives a return value to be sent back to the client. WebORB provides a custom pluggable serialization mechanism where individual serializer classes are mapped to the types they are responsible for serializing. Additionally, WebORB provides APIs and .NET annotations which control various aspects of serialization.

View Documentation>

Object Instantiation

Object instantiation is the process of constructing an object for a given class. The process takes place when WebORB receives and executes an invocation request. When a request is for a .NET object, the invocation target is identified by a class name. Unless the method to be invoked is static, the object instance must be created or retrieved in order for the invocation to occur. 

View Documentation>

Invocation Monitoring

WebORB provides a flexible mechanism for injecting custom code into the invocation processing chain. Using .NET method attributes application developers can add custom logic to run before and after remote method invocations.

View Documentation>

Service Factories

When construction of a service object is required (the construction is usually initiated by a service activator), WebORB delegates the construction to the Weborb.Util.ObjectFactories class. The class implements a default construction mechanism and maintains a collection of service object factories mapped to the names of the classes they are responsible for constructing. When constructing an object for a class, ObjectFactories determine if the class has a service factory assigned to it. If it does, the assigned service factory instantiates the class.

WebORB can automatically create new instances of the .NET objects for the incoming requests, assuming the class has the default, public no-argument constructor. However, this requirement may be too restrictive for complex applications. In the situations when the default no-argument construction is not available, developers can write custom service object factories.

View Documentation and Examples>

Client Class Mappings

WebORB provides an additional level of customization with abstract argument types using Client Class Mappings. Unlike Abstract Class Mapping where WebORB configuration creates an assignment of a concrete class for an abstract argument type, Client Class Mapping maps a client type to a server-side class.

View Example>

Abstract Class Mapping

WebORB can automatically create new instances of the .NET objects for the method arguments using either: 1) the default object construction mechanism or 2) argument factories. However, if the formal argument type is an abstract class or an interface, AND only one concrete implementation is sufficient, WebORB can be configured with a mapping between the abstract type and the concrete implementation.

View Documentation>