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 = "com.foo.MyService";
    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.

Saturday, July 21, 2007

It's a boy!

I am pleased to announce yet another release, but this one is more of a personal nature. As of July 20th I am a proud father of two. My wife with an emotional help from me gave a birth to Ari J. Piller, 7lb 9oz. Both mom and baby are doing just fine, dad is under a mild shock. I'll be going back to the midnight coding mode, since the uptime at night will be more regular now.

Friday, July 13, 2007

WebORB for PHP 2.0.1 is released

We just pushed out the new release of WebORB for PHP v.2.0.1. The release addresses many of the problems reported against the original 2.0 release. Specifically it fixes the following:
  • The console folder has been renamed to the lower case "console"
  • Changed hard coded directory separator characters to DIRECTORY_SEPARATOR
  • Fixed service browser under *nix environments to display deployed classes
  • Added logging configuration panel in the management console (see Management > Server Configuration > Logging)
The release is available for immediate download through the download center.

Technorati tags: , , ,

Friday, July 06, 2007

WebORB for PHP version 2.0

It is still raining in Dallas for the second month in the row, but it certainly feels like a new sunny day in the Flex and PHP world! We have just pushed out a new release of WebORB for PHP. It is 1000 times cooler and better than anything we have done before for that product line. Here are 10 reasons why I am so excited about it:
  1. Graphical management console. We reused the same console code we have wrote for WebORB for .NET. It is a Flex 2 application communicating with the product using Flex Remoting. The console is the main point for all management, configuration and developer productivity tasks. When you install the product, you can launch the console by accessing index.php located in the root of the product distribution.

  2. Service and method browser. Flex and/or PHP developers can see all the deployed PHP classes and their respective methods using the service browser built into the console. Just select the Management tab and you will see a tree of deployed services and their methods:


  3. Code generator. When you select a class in the service browser, you automatically get all the client side ActionScrupt code you could use to invoke the selected class from. For the AS3 clients the generated code uses the RemoteObject API. It also generates all the value object classes for the complex types.


  4. Multiple code generator formats. The generated code can be in multiple formats. The default setting is ActionScript v3, however if you use AS2 or Cairngorm, you can easily change the setting and the code is regenerated on the fly in a fraction of a second:


  5. Invocation test drive. How many times did you want to try to invoke a method from Flex without spending too much time creating a Flex client? Well, now you can! When you select a method for a class, the console analyzed the method's signature and creates a dynamic form for the arguments. You can enter argument values, click Invoke and see the result without writing a single line of code. If your arguments are arrays or complex types - no problem, the arguments form will easily accommodate those data structures.

    As you can see from the screenshot, if the return type is an array or a result of a query, test drive will show it in a grid.

  6. Client/server class mapping configuration. Since this is one of the most common tasks when integrating Flex clients with any kind of backend systems, we tried to make it as simple as possible to create client/server class mappings. The Class Mappings section of the 'Server Configuration' tab provides an easy-to-use interface to establish class mappings:


  7. A TON of examples (okay, only 9, but they are guaranteed to get you going). Developers tend to learn by examples. That's why we wanted to get them out to you as soon as possible. (Btw, full product documentation will be available very soon too). The examples we included with the product demonstrate a variety of useful concepts including basic remoting invocation, securing a service, exception handling, working with hierarchical data, class mappings, etc:


  8. New client deployment model. We received a lot of feedback about difficulties developers experienced with WebORB deployment. The new model makes it significantly simpler. All you need to do is to add weborb.php file into the directory containing your compiled Flex client files (SWF). The weborb.php file must contain the following:

    <?php
    require_once("WEBORBROOT/Weborb/ORBHttpHandler.php");

    $m_ORBHttpHandler = new ORBHttpHandler();
    $m_ORBHttpHandler->processRequest();
    ?>


    The very first line must be modified to point to the WebORB root directory in your web server directory structure. For example, see weborb.php located in the /Console folder of the product distribution.

  9. New open source license. Previously WebORB for PHP used to be available under the GPL license. We changed it with the version 2.0. The new license is Mozilla Public License (MPL). It is less restrictive, and more in line with our goals for the product, plus it should make it much easier for you to use WebORB for PHP in your projects.

  10. Bright future! With everything we added in 2.0, this is still just the beginning. We have planned and are working on SO many more really cool features. This includes Flex Builder plugins, superb data management framework, ease of management and administration and many more.
WebORB for PHP product page is available at: http://www.themidnightcoders.com/weborb/php/index.htm

Enjoy!


Technorati tags: , , ,