Blog to discuss Midnight Coders products, features, ideas and trends in development of Rich Internet Applications

Friday, July 27, 2007

WebORB AIR Edition

I had an honor to talk about AIR and .NET integration during the Seattle and Dallas stops of the Adobe's OnAIR Bus Tour. In my presentations I demonstrated the new addition to the WebORB product lineup we will be introducing soon - WebORB AIR Edition. So what is WebORB AIR Edition? The answer is, as you may guess, a version of WebORB specifically designed to work with AIR applications. The beauty of the new edition is it does not require a web server to host your "backend" functionality. Here are some things you can do with the WebORB AIR Edition:
  • Run it as a Windows service or a Unix process.
  • Distribute it with your AIR application so both client and server are running on the same machine
  • Use the same RemoteObject API on the AIR client side to connect to the server (requests will not use HTTP, so you do not need a web server)
  • Asynchronously deliver data from the backend code to the AIR client (data push)
  • Leverage all operating system resources on the server side and expose them as services to the AIR client
The initial release will support .NET, but future versions will include support for Java as well. The product is not available for download yet, but there is a way to get WebORB Enterprise Edition to work the same way. Here are the configuration steps:
  1. Download and install WebORB for .NET version 3.2 or higher. Do not install any license keys. At this point the installer does require IIS, but that will be changed in the final release.
  2. The installation directory is /Inetpub/wwwroot/weborb30. You need to make a few configuration changes to make it work with AIR:
  3. Download and copy services-config.xml to /Inetpub/wwwroot/weborb30/WEB-INF/flex (you will need to overwrite the existing file)
  4. Download and copy remoting-config.xml to /Inetpub/wwwroot/weborb30/WEB-INF/flex (you will need to overwrite the existing file)
  5. To deploy your code, compile it as a .NET class library and copy the DLL with all the dependencies into /Inetpub/wwwroot/weborb30/bin
  6. To start the product, open a command prompt window (cmd.exe) and change the current directory to /Inetpub/wwwroot/weborb30. Run weborbee.exe, it will start the server as a Windows process. You can also run it as a Windows service - run "weborbee -help" to see available options
  7. On the AIR (Flex Builder) side, you can create your AIR project using the "None/other" server type profile. Make sure to add the following AIR compiler option in the project properties window:
    -services c:/Inetpub/wwwroot/weborb30/WEB-INF/flex/services-config.xml
  8. Create your remote objects as shown below:

    var ro:RemoteObject = new RemoteObject( "GenericAIRDestination" );
    ro.source = "";
    ro.helloWorld.addEventListener( ResultEvent.RESULT, gotData );
When we release the product, it will remove the need for all these steps and make it much easier to use. There will also be a few examples, one of them is a AIR Skype client I demonstrated in the OnAIR Bus tour sessions.


Blogger kingi said...

Hi Mark! I got one error message in FlexBuilder after I overwrite these 2 config xml files.
Error Message:
channel not found for reference 'weborb-rtmp" in destination 'MyTransientTopic'
This tag is in the messaging-config.xml.
So I fixed this error by deleting the tag {service-include file-path="messaging-config.xml"} in the services-config.xml. Is this ok, because I don't use the messaging feature of weborb, only the remoting...

1:39 PM

Blogger Mark Piller said...

Thanks, Kingi! I made the same change in the published file.

8:51 AM

Anonymous Anonymous said...

Any word if you guys plan to support RoR at some point int time for your WebORB AIR release?

If not, would it be possible to use your current RoR WebORB release for AIR apps?

Thanks so much,


11:34 PM

Blogger Jen said...

Is this in beta yet?

Sounds promising. Are there any tutorials on using the current version with Air and some sync management...

5:47 PM


Post a Comment

<< Home