| This FAQ contains the following sections:
If you have a question and do not find the answer in this FAQ,
please contact us at
support@themidnightcoders.com or post your question on the
WebORB
discussion forum. |
|
General
- Is WebORB for Java an alternative
to LiveCycle Data Services?
WebORB for Java offers many of the same features available in
LCDS plus a lot more. The product provides remoting support
and integration between Flex, Flash and AJAX clients and Java
objects, EJBs, Spring beans, Groovy objects and XML Web
Services. WebORB includes an implementation of
Data Management functionality, significantly simplifying the
process of creating data-driven Flex applications with Java backends. Additionally,
WebORB includes unique features like comprehensive Flex-based
management console, code generation tools, invocation test
drive and ActiveRecord-based data management framework.
- How compatible is WebORB with
LiveCycle Data Services?
Similar to FDS, the product supports three major subsystems:
Remoting, Data Management and Messaging. WebORB uses the same
configuration files as FDS, implements the same binary
protocols (AMF0 and AMF3) and exposes similar architectural concepts as
destinations, channels and service adapters. From the Flex
developer perspective, working with WebORB is a process very similar
to working with LCDS. In some ways, WebORB offers a
more streamlined development process. For example, deploying
and exposing a Java class or a Spring Bean as a remoting
service, would only require copying the class or JAR files
into WEB-INF\classes or WEB-INF\lib directories.
- Can I use Flex Builder or Flex SDK to develop Flex apps
with WebORB?
Yes, WebORB integrates very well with both Flex Builder (both
versions 2 and 3) as well as the Flex SDK. Flex developers can use the standard
ActionScript API to communicate with server objects. This
includes Flex remoting (RemoteObject), Flex data management (WDMF)
and Flex messaging (Producer/Consumer or WeborbProducer/WeborbConsumer) MXML and API classes.
- How much does WebORB for Java cost?
WebORB for Java is available at no cost. You can develop,
deploy and distribute the product free of charge. We encourage
you to obtain a
support package so you can get an assurance of help at the
time when you need it.
- How do I get started with WebORB?
We recommend going through the
Getting
Started with WebORB guide.
|
|
|
Development
- Do I need anything special on the client side to
integrate with Java?
No, since WebORB handles all the client/server integration,
your Flex application does not require anything special. In
fact, you can use the same Flex client code to communicate with .NET, Java, PHP or Ruby (assuming your server
application supports the same functionality).
- Do my Java classes need to use any special APIs or
dependencies on WebORB?
No, your server side code can be 100% WebORB-API-free. Unless
you require some advanced features, you do not need to use
any special classes, interfaces or attributes. Your method
arguments and return types can be standard Java classes,
collections and interfaces or types from your application
domain. WebORB will automatically handle all the mapping between client objects and their server-side counterparts.
You do not need to use any special base classes or
attributes to expose your classes for remote access.
- How does WebORB map client-side objects to the
corresponding Java types?
The WebORB client/server type mapping system is one of the
most powerful features of our product. WebORB intelligently
adapts client-side objects to any corresponding server type.
For example, if a Flex or Flash client sends a linear array,
the server side type can be any linear Java collection or a
custom array of application objects. Additionally, the developer
can override default type mapping mechanism and map specific
Java types to their corresponding ActionScript classes.
- How can my Java application deliver errors and
exceptions to the client side?
Delivering exceptions to the client application does not
require any special programming techniques. Your Java application
code can simply throw an exception and WebORB takes
care of serializing it as a Flex/Flash fault event. Your
client application also receives all the information the
server code passed with the exception (error message, error
code, stack trace).
- Show me a basic example of Flex to
Java connectivity.
The following example demonstrates basic invocation of a
method in a Java class. Consider the following very basic
Java class:
namespace
com.acme.example;
class BasicService
{
public String SayHello()
{
return "hello world";
}
}
The following code can be used to invoke the SayHello() method
shown above from a Flex client:
var
ro:RemoteObject = new RemoteObject( "GenericDestination"
);
ro.source = "com.acme.example.BasicService";
ro.SayHello.addEventListener(
ResultEvent.RESULT, gotHelloResult );
ro.SayHello();
public function gotHelloResult( result:ResultEvent
):void
{
Alert.show( “Server responded – “ + result.result );
}
|
|
|
Deployment
- How can I deploy my Java application so Flex clients
can consume its objects and services?
Deployment of a Java application is as simple as copying
the class files into a WebORB-enabled Java web application
(running in any Java EE server or servlet container). WebORB does not require any additional
configuration changes and once copied over, you can start
accessing your Java classes from a Flex client.
- How can deploy WebORB into my existing
Java
application?
Deployment involves copying the WebORB jar and
configuration files as well as making a simple
configuration change in web.xml to register the WebORB
servlet. There are detailed instructions on
deploying WebORB into an existing Java application.
|
|
|
Security
|
|
|
Data Management/Database integration
- Can I use JDBC to fetch data from a database
and display it in Flex?
Yes, WebORB contains special serialization logic to
serialize JDBC java.sql.ResultSet objects as an array
of complex types. Each complex type in the array is an
object with fields corresponding to the column names.
As a result, when the server code returns ResultSet, the
client side can assign the return value as a data
provider for the databindable components (DataGrid,
List, etc). Server-side code does not need to include
any WebORB specific code.
- What is WebORB Data
Management for Flex?
WebORB Data Management for Flex (WDMF) is an innovative data
management framework designed to facilitate client/server
integration for data-driven Flex applications. WDMF consists
of a design-time code generator and a runtime data management
and object relational mapping engine. The code generator
accepts a configurable data model which may consist of one or
more data tables from one or more databases. Generated code
consists of a set of ActionScript v3 classes as well as all the
supporting Java backend code. Using WDMF, Flex developers can
focus on the core application logic without spending
time on creating code for ‘data management plumbing’.
The framework includes rich support for all
fundamental database operations (CRUD), as well as the
ability to dynamically compose data retrieval queries
using the dynamic method composition technique.
|
|
|
Messaging
- Does WebORB support Flex
Messaging?
Yes, WebORB supports both Flex Producer and Consumer
MXML/API (as well as our own WeborbConsumer/WeborbProducer) and provides integration with
JMS. WebORB delivers messages
published by Flex producers to a messaging
destination. A destination can be configured to
route published messages to a JMS topic/queue or use
a pluggable routing logic. Flex consumers subscribe to a destination and
become destination listeners. WebORB facilitates the
delivery of all messages from a destination to all
consumers. Additionally, WebORB can deliver any messages
published by non-Flex producers (JMS publishers) thus providing
integration between Flex and Java applications.
|
Discussion Forum Questions
|
|
WebORB
features / Miscellaneous
Database
Integration
Alternative Solutions
Service
Invocation
|
|
|