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

Friday, June 29, 2007

Happy Birthday, Flex!

With Flex's 1 year anniversary it is also time to reflect back on our progress. We have been through a lot of ups and downs this year, but the overall progression is very positive. Here's what we managed to accomplish in a more or less chronological order:
  • Added AMF3 in the .NET edition of the product
  • Released WebORB for PHP with the AMF0 and AMF3 support
  • Released WebORB for Ruby with the AMF0 and AMF3 support
  • Added support for Flex Data Management Services in .NET. WebORB for .NET can natively process DataService API requests.
  • Added a graphical management console to the WebORB features list. The console has code generation capabilities, adds service browser, test drive, automatic deployment, server configuration and many more features.
  • Released the first beta of WebORB Enterprise Edition. The new release offers a full stack of Flex and .NET integration including remoting, data management, real-time messaging, streaming and data push
  • Implemented and released our own revolutionary WebORB Data Management for Flex
  • Changed licensing and packaging to make AMF3 support free for everyone. WebORB Standard edition now supports Flex Remoting.
  • Wrote two articles for the Adobe Developer Center
  • Resumed work on the PHP and Ruby editions of the product and will be release next major versions of the software very soon
Conferences and presentations
I am very excited about the future. WebORB is going strong and we have GRAND plans for it. Are you weborbing yet? :)

Wednesday, June 27, 2007

Flex and .NET interoperability guide @ the Adobe dev center

Adobe devcenter has published my second article: "An interoperability guide to using Flex and .NET data types". The article describes how various ActionScript data types map to the corresponding .NET classes and vice versa. The article covers primitive types, collections, arrays, generics, complex types and the ADO.NET's DataSet and DataTable classes. Sample Visual Studio and Flex Builder projects are included with the article. Enjoy!

Saturday, June 23, 2007

What gets us going

Coders get happy for two reasons: one is when you finish typing your code, press the Compile button and see the rewarding "Compile succeeded (0 errors)" message. The other is when you receive something like this from someone who actually uses your product:
I have been reviewing WebORB Enterprise extensively and have an interesting opportunity to be coding multiple weborb-based projects at the same time, some with WebORB Professional with an existing Data Access Layer, and some new projects where I have been using WDMF. To sum up my experience and feelings towards WDMF: GENIUS!!! I can't even believe how fast I can build applications with this that blow everything else out of the water. This completely redefines the notion of Rapid Application Development and makes it just plain sexy. I didn't realize initially how much time this would save me, but the savings are tremendous, not just on the initial setup, but throughout the entire engineering cycle of the app. A great example is a custom Tree that's pulling data lazily from the DB. With my existing DAL setup and custom DataManager I had to write something like 300 lines to setup the DataManager, setup all the event handling for the services and datamanager, convert my services to singleton collection implementations, bind to the tree, build a custom ITreeDataDescriptor, deal with some paging logic and interate through everything to find the next tree. With WDMF, I did all the same stuff in about 4 lines of custom code....
ActiveRecords.NodeObjects.findByParentID(curNode.NodeID)... WOW!!!!!
It will take a little while to explain to the world how amazing a revolution this kind of thing is, but not only can I be actually programming the real stuff of the application in a number of minutes (already the precedent set with WebORB), but now even writing that application code is 20x faster. Great job, you have a won a major fanboy.
Keep up the good work and I appreciate the fact that I am one of the fastest, most robust, and impressive developers out there just because I found you guys.
While some companies choose to pay people to get positive quotes, we get them naturally, and this really makes our day.

Going to FlexManiacs

I am going to be in DC at the FlexManiacs conference early next week. There are three presentations I am responsible for: Flex without Java, PHP and RIAs, and a hands-on session for Flex and PHP. It is going to be a fun conference and I am looking forward to it. I am not going to focus as much on WebORB, except for the hands-on session where I plan to show the new version of WebORB for PHP (do not worry, it is still free and open source). If you're going to be there and want to chat about what we do, please do not hesitate to come by and say hello.


Technorati tags: , , ,

Thursday, June 14, 2007

WebORB for PHP status update

Now that we're getting closer to the production release of the .NET edition of WebORB, we resumed the development of WebORB for PHP and Ruby. Our end goal is to bring all our products to the same level of functionality and sophistication. The most obvious place to start is to add support for the Management Console. That will deliver features like Service Browser, Test Driver, graphical server configuration and of course WebORB Data Management for Flex (WDMF).

The image below is a screenshot of the management console for PHP. As you can see we already have service browser and test drive implemented. We plan a new release of WebORB for PHP 2.0 by the end of this month:



Technorati tags: , ,

WebORB for .NET 3.2 (Lots of new cool stuff)

There is a new release of WebORB for .NET (3.2) available for immediate download. The release brings the Enterprise Edition closer to the production release and also delivers a ton of new features and bug fixes:
  • WebORB Data Management Plugin for Flex Builder 2 .
    Installation instructions are available at: http://www.themidnightcoders.com/weborb/dotnet/wdmf-flexbuilder.shtm
    Flex Builder 3 support will be available soon.

  • WebORB-based Implementation of Flex Producer/Consumer APIs.
    WebORB distribution includes a Flex component with an implementation of the Producer and Consumer API. If you are using Flex pub/sub with WebORB, make sure to add weborb.swc from [WEBORB INSTALL]/weborbassets/wdm to your Flex Builder project library.

  • WebORB Data Management (WDMF) now generates unit test cases.
    WDMF code generator can now optionally add unit test cases for all the generated code. The test cases can be executed from the Flex Builder project.

  • WDMF Console improvements (menu/task-based layout).
    The new WDMF Designer console layout makes it easier to perform tasks like code generation, code retrieval and assembly deployment

  • WDMF client auto-reconnect.
    If the WDMF client disconnects from the server, it will attempt automatic reconnect.

  • WDMF generated assembly can be automatically deployed.
    The auto deployment option makes it easier to deploy the compiled assembly to the current virtual directory.

  • Improved WDMF data model validation.
    Included checks for missing related tables and missing primary keys.

  • Custom Flex channel implementation for RTMP messaging.
    Weborb SWC component for Flex now includes a custom channel for the RTMP messaging. If you are getting a message WeborbMessagingChannel is not defined, make sure to add weborb.swc from [WEBORB INSTALL]/weborbassets/wdm into your Flex Builder project

  • Automatic GZIP response compression.
    WebORB will automatically compress responses using GZIP or Deflate compression algorithms when the response size is over the pre-configured limit. See the node in weborb.config for more details.

  • Support for custom security roles provider.
    WebORB can be configured with a custom roles provider. The role provider is responsible to provide a list of available roles to the WebORB management console. Additionally it is used by the default principal implementation to check if a user belongs to a role.

  • Support for Windows Forms Authentication.
    WebORB includes instructions and API to support Windows Forms Authentication. See Logon.aspx and Global.asax for details.

  • Changed IWebORBAuthenticationHandler to return System.Security.Principal.IPrincipal. The CheckCredentials method has changed to return an instance of IPrincipal. The principal is associated with the calling thread, thus individual method can be secured using .NET's standard code access security (CAS) mechanism.

  • Added support for Flash Remoting style of DataSet object serialization.
    WebORB serializes instances of DataSet class using the same data structure as Flash Remoting. Previous serialization format can be turned on in weborb.config. See the node for more details.

  • Changed the WDMF base object (Weborb.Data.Management.DomainObject) to be serializable. This change allows persistence of the WDMF generated classes.

  • Changed WDMF generated classes to use inheritance vs. partial class implementation. This change provides greater flexibility when overriding default WDMF methods.

  • Changed log time to use current locale (used to be GMT-0).
    All log entries now use local server time.
Technorati tags: , ,