Archive for December 13, 2007

Grey Line

I know, it is not supposed to be out till late next year. But I can’t wait, so in the next couple of months or so I will try to whip up a perfect phone for myself from the available components.

Recently we’ve got a number of calls from both startups and established IP telephony companies looking to put RIA into work for the phone market. The telephone industry is going through a major shift in the next year. 3G becomes a standard feature of the cell phones, very much like cameras 3-4 years ago. Combined with GPS and phone service, and upcoming voice/text automation it becomes a very powerful device.

I will run this project as a research one, to see the problems and opportunities. My initial set of “phones” will include a reasonably small set, but I welcome any suggestions of what will get us close to the perfect phone. I will run the “mini” review, pros and cons, what works (for me), designs, etc.

Here is the initial set:

AT&T Tilt Windows smartphone

Sprint Blackberry – current “business phone”
E28 Linux Smartphone

Nokia tablet

iPhone – UI design concept

Also will see what can be done with personal gateway – basically will use SIP Asterisk PBX connected with cell gateway as an application platform for SIP/Telephone integration

I will start sharing my initial thoughts on the perfect business cell phone and home automation this week.

Hope it will be fun

Anatole

Comments off

 

Grey Line

Once you developed and tested Flex application locally you need to move it to the secured hosting environment to share it with the world. Usually, for simplicity/performance enterprises deploy J2EE servers behind standalone SSL accelerators/load balancers/proxies. It means that client sends data via SSL channel to SSL appliance, which in turn calls your server on the  intranet via unsecured HTTP to minimize the processing cost.
You can configure the channel/endpoint in services-config.xml, but it would mean separate build for deployment. Here is an alternative “runtime” approach:

import mx.messaging.config.ServerConfig;

private function preinitializeApplication() : void {
   const reUrl:RegExp  = /(http|https):\/\/(([^:]+)(:([^@]+))?@)?([^:\/]+)(:([0-9]{2,5}))?(\/([\w#!:.?+=&%@!\-\/]+))?/;
   const appUrl:String = Application.application.url;
   const parts:Array   = reUrl.exec(appUrl);
   if (!parts)
      throw new Error("Invalid URL: " + appUrl);
      /*
      ("Protocol:" + parts[1]);
      ("User: "    + parts[3]);
      ("Pass: "    + parts[5]);
      ("Host: "    + parts[6]);
      ("Port: "    + parts[8]);
      ("Path: "    + parts[10]);
      */
      if (parts[1] == "https" ) {
         const channels:XMLList  = ServerConfig.xml..channels.channel;
         for (var channel:String in channels) {
            if (channels[channel].@type=="mx.messaging.channels.AMFChannel") {
            channels[channel].@type="mx.messaging.channels.SecureAMFChannel"
            var endpoint : XML = channels[channel].endpoint[0];
            var uri:String = endpoint.@uri
            uri = uri.replace( /^http:/, "https:" );
            uri = uri.replace( /\{server.port\}/, "443" );
            endpoint.@uri = uri;
         }
      }
   }
}

As you can see, we check if the application is deployed over https and redirect regular remoting requests to https thus modifying deployment descriptors in the runtime.

Enjoy,

Anatole Tartakovsky

Comments off

 

Grey Line

In my opinion this is THE biggest announcement that I’ve heard from Adobe after release Flex 2 in the Summer of 2006. This is bigger than open sourcing Flex. This is bigger than AIR. Here’s the news: Adobe is open sourcing AMF protocol and messaging under LGPL V3. Christophe Coenraets, a Senior Flex Evangelist from Adobe told me about this new free product called BlazeDS.

While many people are using Flex for creating cool widgets that can make your Web page prettier, enterprise Flex developers have to deal with such boring things as bringing data to the client. And they want to do this as fast as possible. AMF3 protocol allows your Web application to send the data over the wire at lease ten times faster than a regular HTTP.

Basically, Adobe extracted the libraries that supported AMF protocol from LiveCycle Data Services ES and gave it to us for free. On top of that, BlazeDS introduces a new channel for messaging: DHTTPStreaming that will support messaging on top of HTTP. In this mode the Web browser keeps the connection open. RTMP protocol will not be open-sourced at this time.

Like the news? I know. And here’s something for dessert. Adobe is publishing a full specification of the AMF3 protocol, which will allow anyone to implement Flex remoting for any server-side programming language.

Based on my experience, the price tag of LCDS licenses was too hefty for many small and mid-size businesses. They’d love to have faster communication with POJO , but purchasing just the communication piece was not available. Now you’ll get it for free.
For those who are afraid of jumping into open source waters and want a product that is backed up by a large company, Adobe will maintain LiveCycle Data Services Community Edition, which is BlazeDS certified by Adobe. in the diagram below, LCDS components that won’t be included in BlazeDS are shown in gray.

The product will stay in Beta for a couple of months, but since it’s a pretty stable software, the GA release will follow up shortly. Visit http://labs.adobe.com/technologies/blazeds for more details.

Now, why this announcement is important for the company I work for:

1. Now we’ll have a lot more consulting requests.
2. Our firm will start selling more of our software components, namely ClearBI and Clear Data Builder. We can just say to our customers that other than our licenses, there’s nothing else to purchase.
3. We’ll have more training requests since Flex will be used by a lot more organizations since BlazeDS will definitely open many enterprise doors to Flex development.

Overall, Adobe made a very smart move, which on the long run will lead to more sales of LCDS too. But for now let’s enjoy free BlazeDS.

Comments (2)