WebORB for .NET 4.0 (Beta) Is Here!

That's right folks and WebORB for .NET is now even easier to install and use, saving you even more time in development. Here is a brief overview of what to expect in this new release:

  • New Installer - The product now comes with a new installer. The installation problems you might have experienced on systems with IIS7 should be gone. There is also an option during the installation to add templates for Visual Studio 2005, 2008 and 2010.
  • Data Plugin for Flash Builder - The product now includes a separate installer for a Flash Builder plugin. The plugin enables connectivity between AIR/Flex applications and .NET services. You can generate client-side classes, define complex types, generate method calls and bind results to the UI components. Documentation link: WebORB Plugin for Flash Builder.
  • New Management Console - We have updated the layout, look and feel and navigational structure of the management console. The three-tiered tabs are gone and the new console is much easier to use.
  • Pluggable Code Generators – WebORB provides a very powerful code generation framework. The framework can generate any type of code or documentation based on the deployed .NET services. Starting with WebORB 4, developers can add their own code generators and leverage all the features of the framework. Documentation link: Pluggable code generators
  • Remoting Code Generators for Mate and Swiz - We added two new code generators for the Mate and Swiz frameworks. The code generators create Flex Remoting plumbing code which follows the frameworks structure and provides connectivity with the target .NET service.
  • AMF Behavior for WCF services – This is by far one of our favorite new features. If you develop WCF services, you can use the WebORB’s AMF behavior to expose service via dedicated AMF-capable endpoint. Your services can be self-hosted or IIS-hosted. Documentation link: Self-hosted WCF Services, IIS-hosted WCF Services.
  • Code Generation improvements – There are several improvements in the code generation framework including support for:
  • Code Generator for WSDL-based Web Services – Register WSDL for your web services with WebORB and leverage the product as a code generator as well as a remoting gateway between your client applications and the target web service. Documentation link: WebORB and Web Services

The full list of everything new in version 4 is also available in the documentation, which is being updated daily.  Now available in PDF.


Avtec Systems Selects Futurescale and WebORB for Java to Deliver Stellar Results for Terminal System Users 

Avtec Systems, which is now Integral Systems, chose Midnight Coders’ WebORB for Java integration server and Futurescale to develop the next generation Rich Internet Application UI for an aggressive $7 million Joint Interoperability Task Force (JITC) project.  The effort had over 1500 pages of specifications and requirements, three of which included building the application in Flex, connecting the Flex app to the backend Java environment and completing the project on time and within budget.  

The new interface enables end users to control, configure and monitor Common Data Link (CDL) test equipment consisting of multiple subsystems communicating and exchanging command, control and status information to various components.  Brian Connell, Avtec’s Director of Special Communications Projects stated, “Because of the large volume of data and the high rate of change of the data, we required a solution that would push data from a server to multiple clients instead of each client polling for data. After evaluating several other solutions, we selected WebORB for Java because of the excellent Flex support on the client side and the ease of implementation on the server side. Our solution involves a Flex client communicating over RTMP to the WebORB for Java product. Using a Flex client provided the customer with a rich, almost desktop-like environment in which to interact with the test equipment.”


Since the biggest barrier to on-time delivery was the user interface, Cliff Hall, Futurescale Chief Architect, was brought in and delivered, according to Brian, “…a polished, ahead of schedule component that our end-users were ecstatic for. Customers with a wide base of experience with diverse CDL terminals have said that Cliff’s user interface is the best looking, most intuitive interface they have ever used on such a device. Additionally, using WebORB allowed us to quickly tie the backend systems together to provide a single view of a complex set of equipment.” According to Cliff, “Although there was much praise from the end users for the Flex GUI component, the solid WebORB backend was crucial to the overall success of tying the user interface into the complex array of hardware and software subsystems that were involved.”

Avtec Systems

Avtec builds advanced systems for unbounded data communications.  Developed over a quarter-century of commitment to the aerospace, telecommunications and defense industries, Avtec's enabling technology powers fast, reliable data flow across boundaries and through the most challenging environments.


Futurescale offers architectural guidance and development expertise to aid in the implementation of Rich Internet Applications; specifically using the PureMVC framework for the Adobe Flash Platform.


Why do my RTMP connections in .NET keep closing or timing out?

There could be a couple reasons for connections timing out, which include:

  1. IIS Idle Timeout Settings
  2. RTMP Server is Reset

Idle Timeout Settings

In the performance tab of the properties where the WebORB application pool resides, there is a setting for idle timeout.  The default is 20 minutes.  Verify the timing of your timeouts.  If it is 20 minutes, this could be the problem.  You can modify that setting or completely disable it.  

Alternatively, you should consider a connection pinging strategy. A connection that has no traffic may be considered to be idle and thus inadvertently dropped. WebORB for .NET provides API to periodically ping incoming connections. The API serves two purposes: create light traffic to avoid connection termination and determine if a particular connection is a ghost. A ghost connection may occur if the user on the client-side has navigated away from the page with the client app, but the browser has not fully terminated the connection. To use the API invoke the “scheduleGhostConnectionCleanup()” method from the “appStarted” callback in your messaging application handler:

        public override bool appStart( IScope app )
            return base.appStart( app );

RTMP Server is Reset

This happens anytime a file is modified or copied to the /bin directory and also when specific disconnect criteria is met in the AppPool.  You can create client code that reacts to disconnect conditions by attempting to reconnect the client, allowing the client to persist the connection even though the RTMP server is reset.  Alternatively, you could host the RTMP server for .NET in Standalone mode.  (Requires Enterprise Edition.)