

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:
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, 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. www.avtec.com
Futurescale
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. www.futurescale.com
Why do my RTMP connections in .NET keep closing or timing out?
There could be a couple reasons for connections timing out, which include:
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 )
{
scheduleGhostConnectionsCleanup();
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.)