You are on page 1of 3

Feature Comparison Chart

Feature/Product BlazeDS GraniteDS LiveCycle DS WebORB WebORB Specific Notes


Developer Productivity
Management console WebORB Management console is a graphical
X interface for performing management,
configuration, monitoring and productivity tasks.
Service browser displaying Graphical display of all deployed components
POJOs, Spring beans, EJBs and (POJOs, EJBs, Spring beans, etc). Packages, classes
a list of deployed JAR files and methods organized in a collapsible tree view
structure. Product provides support to eliminate
X certain jar files or packages from the tree.
Additionally, there is API to enable custom
renderers adding non-standards components and
remoting services to the service browser tree.

Remoting code generators Automates creation of the client-side code for a


particular class. Generated code enables client
application to communicate with the remote class
over RPC. WebORB code generation supports Flex,
AJAX and Silverlight clients. Generated code
X X X
formats include basic AS3 code, Flash AS2,
JavaScript, Cairngorm and PureMVC frameworks,
as well as Silverlight C#/VB.NET clients. Will
support adding custom code generators in next
release.
Invocation test drive Enables developers to perform a remote method
invocation through a graphical interface
(management console). The console displays a
dynamic interface for the selected method where
X the user can enter values for the method
arguments, invoke the method and see the return
value. Supports primitive method arguments,
complex types and collections.

Data management code integrated into the Data Modeler and responsible
generator for creating client-side (ActionScript) and server-
X X side code to handle all database operations,
including data retrieval, creation of new records,
updating and deletion of existing records.

Data management Data Generates fully functional test/demo application


modeller X X demonstrating all database operations (CRUD)
from the Flex client
IDE support Eclipse users working with Flex can use the same
project wizards included with FlexBuilder or
Adobe Adobe Adobe FlashBuilder. We have created several helpful
FlashBuilder/ FlashBuilder/ FlashBuilder/ tutorials showing how to configure FlexBuilder and
Eclipse Plugin Eclipse Plugin Eclipse Plugin FlashBuilder with our products.

Runtime
Runtime server Runtime server provides support for RPC
infrastructure, marshalling and unmarshalling of
X X X X arguments/return values for remoting invocations,
messaging and streaming.

Software clustering X X X X Clustering support in Enterprise Edition.


Remote Invocation
WS/JSON proxy service X X X X
Flash/Flex remoting X X X X
NIO Remoting X X
AJAX client support X X X
Silverlight support X
Spring framework integration X X X X
EJB1.0, EJB 2.0 and EJB 3.0
X X X X
integration
Custom configurable Enables overriding default serialization algorithm
X1 X1 X
serialization for complex types.
Server-side component
X X X X
framework integration
Stateful services X X X X Session scope for Java objects
Singleton services X X X X Application scope for Java objects
Custom object activation Allows developers to extend WebORB by
X
implementing a custom activator.
Server-Client method
X
invocation
Visual security configuration Supports graphical environment for securing
namespaces, classes and methods using a variety
of security constraints (role names, IP masks, IP
X address). Product provides an extensible
infrastructure for custom security handling
(custom authentication, authorization and role
management)

Custom Invocation pre- and Provides support for expanding the invocation
post- handling processing chain with custom code executed by
the container before and after specific method
invocation takes place. Pre/Post invocation handler
X can be plugged in using method attributes.
Enables developers to observe method
arguments, return value, and measure invocation
performance and control security.

Service life cycle management Controls how the remoting gateway manages
instances of the deployed services. Most common
schemes are “request”, “session” and
“application”, where instances are created once
for each request, session and application
X2 X2 X
respectively. Unlike other solutions, WebORB
allows to configure activation via class attributes,
Flex xml configuration files (channel configuration,
destination configuration) or by modifying
gateway URL on the client-side.
Custom service activation Provides a way to control service instance
management in a custom way. For instance
X creating pooled services can be accomplished with
this feature.
Pluggable service handler for The product supports the following service types
custom service types out of the box: POJOs, Spring beans, EJBs, Web
X services. WebORB provides an API to expand the
list of supported services using custom handlers.
Service aliasing Enables decoupling of server-side class names
X
from the client application.
Service factories Default mechanism for instantiation of remoting
services (POJOs for instance) is the default no-
argument constructor. For the scenarios when
X classes do not have such constructor, WebORB
supports the concept of service factories. A
factory is mapped to a class and is responsible for
creating instances of the class so invocations can
take place.
Argument factories Similar to Service Factories described above,
Argument factories are responsible for creating
X argument objects based on the data received from
client.
Abstract argument mappings When arguments of remoting service method
signature reference abstract types or interfaces,
X WebORB provides a way to establish mapping to a
concrete type to be used to represent the value.
For instance in the following method:

public void addCustomers( List customers )

List is an interface. WebORB has a mapping


between List and ArrayList, as a result the product
will use ArrayList to contain the values received
from client for the method invocation.
Generic destination support A Flex destination enabling to invoke methods on
any deployed class. Simplifies the process of
X development and eliminates configuration
changes. Is not recommended for use in
production environments.

iExternalizable support X X X
Event logging Framework allows customizable logging categories
X X X
and supports multiple logging agents or loggers.
Data Management
Flex data management A framework for operating with data in a
framework distributed client/server environment. Must
X X support basic database operations (CRUD) and
client synchronization.
Integrated real-time data Delivers notification of data changes to the clients
(client) synchronization X X X that have (or would have) retrieved changed/new
data.
Conflict resolution X
Transaction (batch processing) X X
Data paging X X X
Lazy loading X X
SQL adapter/query execution X X X
Hybernate adapter X X X
Support for loading of related
X
entities
Supports multiple DBMS X X X
Offline application support Supports both data caching and local message
X X queuing.

Real-Time Messaging & Streaming


Real-time Data push X (polling only) X X
Real-time Pub/Sub Supports multiple producers and consumers in
X (polling only) X X
several different exchange paradigms.
RTMP X X
RTMPT X X
Integration with JMS X X X X
High volume, dedicated
X X
messaging
NIO messaging X
Data throttling X
Remote shared object support X
Real-time video streaming and
X
broadcast
Document Services
RIA to PDF Conversion Add-on solutions. WebORB PDF Generator
X X supports server-side template generation for Flex,
Flash, AJAX and Silverlight clients.

1 - BlazeDS and LiveCycle DS support custom serialization only through the IExternalizable interface. Classes serialized in a custom way MUST provide a serialization
implementation both on the client and server sides.
2- The only way to control service life cycle with BlazeDS is by specifying scope in destination configuration.

You might also like