Developer Resources:

Customer Quotes:

Frequently Asked Questions

General

Show all / Hide all

fold faq

How do I get started with WebORB?

Download the Free Enterprise Edition running in Development Mode (does not require a license key).  You'll have access to all of the Enterprise Edition features, except that the free download is limited to 5 IP addresses and requires IIS for operation.  Be sure to familiarize yourself with some of the documentation included with the product.  Alternatively, you can find helpful resources in the Developer Den

fold faq

What software version am I downloading from your website?

If you do not have a software license for the WebORB software you wish to download, the software you download will be running in Development Mode.  If you have a prior licensed version of WebORB for .NET, your new download will be installed into a new directory at /Program Files/WebORB for .NET/(version of weborb).  You will need to follow the upgrade instructions in the WebORB for .NET Developer Guide.  (Supported Enterprise Edition customers must obtain a new license key for 4.X releases from their account rep.)

fold faq

What is WebORB running in Development Mode?

WebORB running in Development Mode is a version of the product that does not require a license key.  You are free to download as many copies of this as needed.  There are a couple of restrictions to this download though.  No more than 5 IP addresses are supported on a single deployed copy of WebORB and WebORB for .NET running in Development Mode requires IIS for operation.  Learn more about the different modes of operation.

fold faq

What is the cost of a WebORB license?

There are two product editions, which require license keys: Standalone Enterprise Edition and Cloud Enterprise Edition. There are multiple ways to license Enterprise Edition:  End-User, OEM and Project.  Please Contact Sales to discuss your Enterprise Edition licensing needs.

fold faq

Where can I find Community Edition?

The Community Edition program has been discontinued.

fold faq

Why would I want an Enterprise Edition?

Enterprise Edition unlocks all enterprise functionality so that your application is not limited by # of IPs connecting to your application on a single server.  Enterprise Edition also enables the clustering feature, which allows WebORB to coexist in an environment that hosts multiple WebORB servers in the same network.  This is ideal for those environments that require load balancing, failover or clustering. Enterprise Edition does not require IIS for operation.  <See More Info>

fold faq

How do I upgrade from version 3.X to 4.X?

Instructions for upgrading from version 4.X to 5.X are available in the WebORB for .NET Developer Guide.  If you are a supported Enterprise Edition customer, you must request a new license key from your account manager. 

Development

Show all / Hide all

fold faq

Can I use FlexBuilder, FlashBuilder or Flex SDK to develop Flex apps with WebORB?

Yes, WebORB integrates very well with FlexBuilder, FlashBuilder and the Flex SDK. Flex developers can use the standard ActionScript API to communicate with server objects. This includes Flex remoting (RemoteObject), Flex data management (DataService) and Flex messaging (Producer/Consumer) MXML and API classes.  Check the Developer Den often for updated documentation, tutorials and examples.

fold faq

Do I need anything special on the client side to integrate with .NET?

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 to communicate with both .NET, Java, PHP, CF or Ruby (assuming your server application supports the same functionality).  Check out these two resources to see how Code Generation can save you valuable coding time:

Code Generation (screencast)
Code Generation (article)

 

fold faq

What happens if I exceed 5 IP addresses in Development Mode?

Enterprise Edition running in Development Mode will not allow access by a 6th IP address.  To get around this, you have one of two options.  (1) Restart WebORB to reset the address register, (2)  Contact Sales to purchase Enterprise Edition.

fold faq

What happens if I try to run WebORB without IIS?

If you try to run without IIS in Development Mode, Standalone WebORB (weborbee) will timeout after 30 minutes.  To get around this, you have two options.  Contact Sales to either (1) request a temporary full Enterprise Edition license so you can test this feature or (2) purchase an Enterprise Edition license.

fold faq

Do my .NET classes need to use any special APIs or dependencies on WebORB?

No, your server-side code can be 100% WebORB-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 .NET classes, collections and interfaces or types from your application domain. WebORB will automatically handle all the translation 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.  Please visit the Developer Den for additional helpful information.

fold faq

How does WebORB map client-side objects to the corresponding .NET 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 .NET collection or a custom array of application objects. Additionally, developer can override default type mapping mechanism and map specific .NET types to their corresponding ActionScript classes.

Please review the new Documentation for WebORB for .NET 4.0 for more information on this topic.

fold faq

How can my .NET application deliver errors and exceptions to the client side?

Delivering exceptions to the client application does not require any special programming techniques. Your .NET application 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).  Please visit the Developer Den for additional helpful resources.

fold faq

Where can I find coding examples?

Your WebORB console contains many helpful examples.  You can also go to the Developer Den for access to other helpful information. 

fold faq

Show me a basic example of Flex to .NET connectivity.

The following example demonstrates basic invocation of a method in a .NET class. Consider the following very basic .NET class: The class can be compiled in any of the following Visual Studio solution types: Class Library, Web Application or Web Service.

C#

VB.Net

namespace Example
 {
  class BasicService
  {
    public String SayHello()
    {
      return "hello world";
    }
  }
}

Namespace Example
 Class BasicService
   Public Function SayHello() As String
     Return "hello world"
   End Function
  End Class
End Namespace
 

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 = "Example.BasicService";
ro.SayHello.addEventListener( ResultEvent.RESULT, gotHelloResult );
ro.SayHello();

public function gotHelloResult( result:ResultEvent ):void
{
  Alert.show( “Server responded – “ + result.result );
}

Deployment

Show all / Hide all

fold faq

How can I deploy my .NET application so Flex clients can consume its services?

WebORB supports simple drag-and-drop deployment of user applications.  To deploy application assemblies into WebORB, simply copy the DLL files into the /bin folder of the WebORB-enabled ASP.NET application.  WebORB automatically exposes user classes for Flex and Flash remoting clients, as well as for AJAX, Silverlight  and now WCF.  Please visit the Developer Den for more helpful resources.

fold faq

I'm ready to deploy into production, what are my options?

You may deploy into production with either the Enterprise Edition or the Cloud Edition.    There are several options available to fit any budget.  Please Contact Sales to learn more.

fold faq

Why is it better to deploy into production with Enterprise Edition?

If your name and business success depends on the reliability of your application, you will want to create an environment that supports fault tolerance and/or spreads volume connections across multiple servers.  Only Enterprise Edition is configured to coexist in an environment where there are more than one licensed WebORB products on the same network.  As a result, multiple WebORB licenses can be used in failover, load-balanced and clustered environments.  Learn more about Enterprise Edition.

fold faq

Am I allowed to distribute WebORB with my application?

Yes, with proper licensing.  Having the right to distribute WebORB typically falls under our OEM licensing. Please Contact Sales to discuss your distribution needs.  

Security

Show all / Hide all

fold faq

Automated exposure of the deployed classes sounds dangerous. How can I restrict access to my application?

A main requirement for WebORB was to make it as simple as possible for a developer to get started with the product. As a result, the deployment mechanism is super simple – it requires zero configuration changes. At the same time, WebORB supports a very powerful security system, which can limit access to the executable code at any level, starting with assemblies right down to a particular method declaration. These two requirements coexist through the ‘deployment mode’ set in the product’s configuration file. By default, the mode is ‘open’, so the deployed classes are available for prototyping and application development. The other mode is ‘closed’, where no classes are exposed unless there is an explicit security grant.

fold faq

How can I secure my application to prevent unauthorized use?

There are two ways to configure code-level security – using your WebORB Management Console or through the product configuration file. Security restrictions can be applied to namespaces, classes and methods. Access to any of these can be restricted to users with particular credentials, or users accessing the application from a defined IP address mask.

fold faq

Can I add my own authentication or authorization mechanism?

Yes, in fact, WebORB provides a rich extensibility mechanism for custom authentication and authorization implementations. Applications can be secured to authenticate users against a database or custom security domains.

fold faq

How can my Flex client know if authentication failed?

When WebORB security restricts access to a secured method (or class, or namespace), WebORB delivers an exception to the client as a FaultEvent. To indicate a problem with security, the extendedData field of the Fault object encapsulated within FaultEvent is set to 401. As a result, your Flex application code can do a simple check as shown below:

public function handleFault( event: FaultEvent ):void
{
  if( Number( event.fault.extendedData ) == 401 )
  {
     // authentication failure logic goes here
  }
}

Data Management/Database Integration

Show all / Hide all

fold faq

Can I use ADO.NET to fetch data from a database and show it in Flex?

Yes, WebORB contains special serialization logic to serialize System.Data.DataTable 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 a DataTable, 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.

fold faq

Does WebORB support Flex Data Management Services (FDMS)?

WebORB currently implements a subset of the FDMS functionality. Application can perform all four basic database operations (CRUD) using the mx.data.DataService API. Data destination classes can be registered in data-management-config.xml. Client applications can use mx.data.DataService class to perform fill and sync operations. The current release does not support FDMS client synchronization and conflict resolution; however, these features are available in the Flex ActiveRecord implementation (see below).

fold faq

What is Flex ActiveRecord for WebORB?

Flex ActiveRecord for WebORB is Midnight Coders enhanced implementation of Flex Data Management Services functionality. It borrows some of the best ideas from the frameworks like Ruby on Rails ActiveRecord and Hibernate. The system provides a rich interface for all data related operations (data retrieval, construction, update and deletion). It supports transactions and can be easily extended with custom operations. The framework includes a powerful code generator for both ActionScript and .NET (C#/VB.Net) classes. The client-side API is very similar to the Rails’ ActiveRecord with support for dynamic, patterned methods. For more info, see the Midnight Coders Blog.

Messaging and Streaming

Show all / Hide all

fold faq

Does WebORB support Flex Messaging?

Yes, WebORB supports both Flex Producer and Consumer MXML/API and provides integration with MSMQ. WebORB associates MSMQ queues with messaging destinations. Messages published by Flex producers to a messaging destination get delivered to the corresponding queue. Flex consumers subscribe to a destination and become queue listeners. WebORB facilitates the delivery of all messages from the queue to all listeners. Also, WebORB can deliver any messages published by non-Flex producers thus providing integration between Flex and Windows-based applications.

fold faq

Does WebORB support real-time messaging?

WebORB contains an implementation of the Real-Time Messaging Protocol (RTMP). As a result, the product supports all the functionality delivered on top of RTMP, including support for Remote SharedObjects, client stream recording, video streaming, server-to-client invocations.

fold faq

Can Flex application use Remote SharedObjects in WebORB?

Yes, WebORB includes support for remote SharedObject API. See the Sample Applications section of the WebORB for .NET product page.

fold faq

Can I send a message from a client to all other connected clients?

Yes, you can use the SharedObject API to perform a client-side function invocation from a client on all other clients connected to the same SharedObject.

fold faq

Can I stream Flash video to a Flex/Flash client through WebORB?

Yes, WebORB supports FLV video streaming. An example is included with the WebORB for .NET product distribution.