Rob Gonda's Blog

ColdBox Beta 2: Flex/AIR Integration comments

When I first read Luis's entry on ColdBox Beta 2: Flex/AIR Integration this is pretty much that immediately went through my head ...

Gotta be honest: at first I didn't buy into it... You have to be careful on separating your logical layers... if ColdBox is a front-controller, why would a Rich Front End talk to it? It should talk to your Service Layer... and your Service Layer doesn't need ColdBox ...

However, after talking to Luis I discovered, what if, what if you make ColdBox become your enhanced service layer manager? What if your ColdBox Handlers become part of your Service Layer API? What do we have? We have a Service Layer with built-in environmental settings, logging, error handling, event interception and chaining, you name it ... Now it all makes sense...

This is good; real good ... perhaps you'll see a full 60 or 90 minutes presentation on this at CFUnited or CF.Objective() 2008.

Keep it up.

Pownce: request for enhancement

I blogged about Pownce yesterday, and I'm liking it a lot... I just wish that since it's built on top of the Flash Platform, it took advantage of server-side push technology such as FCS, FMS, LCDS, or bare XML Sockets... instead, it pulls every few seconds, which is extremely annoying. I understand that XML Sockets require additional server components, though most php, .net, j2ee servers have that capability built-in ... and it requires using a none-standard port ... which since the initial connection is triggered by the client, it shouldn't be a problem, and if it is, you can always fall-back to polling ... It would be much more efficient in the server load; much better than having thousands of clients polling every few seconds.

BTW, while debugging some applications today I happened to debug all Pownce traffic and it seems like their public API is very straight forward... maybe there's an opportunity of building another piece of software that makes use of such nice free public services?

Papervision3d Public Beta

Papervision3D moves from private testing to a full public beta. It's very easy to use and to integrate into your Flash 8, Flash CS3 and Flex projects.

It is released under the MIT Open Source license, which means it is absolutely free for any commercial use.

Source code
The project is now hosted in Google Code, where you will find all the downloads, the very latest source code via Subversion, issue tracking and project workspace. Existing users must use this new svn address.

API
Here is the documentation of the AS3 public classes and methods. It is also included in the source code download, along with examples to get you up and running right away.

Wiki
If you are not sure, this is the place to begin. Includes many examples, tutorials and tips, plus our Getting Started FAQ with detailed download and installation instructions.

Discussion
If you have any questions, you can subscribe to our OSFlash mailing list or access it via our Nabble forum.

This reel is a little review of what we have seen so far. The Papervision3D team can’t wait to see what you’ll do with it next. [source]

RIA traffic debugging

Quick note on debugging a Rich Internet Application. As you probably know, RIAs usually don't refresh and communicate to the server in the background. You can't easily see the traffic, so I usually recommend using Firebug for Firefox, Live HTTP Headers, Fiddler, and my recommendation, Service Capture.... Well, there's a new kid on the block ... not so new perhaps, but I just finally tried it and I'm loving it. Charles is another http/amf monitoring application with many more capabilities than service capture ... actually, forget about the capabilities, the fact that I can open it with Firefox with no problems should be enough ... but if that's not enough, you can see the traffic is a structured view instead of sequential, which allows you to see the requests by domain, then folder, then file, and it even groups all the flash remoting calls together ... it's a beautiful thing. In addition it does have more capabilities such as seeing cookies, request / response sizes, mirror responses to disk, analyze cache, bandwidth throttle, spoof dns, and port forwarding. I'm very impressed.

ColdFusion 8 Public Beta is Live on Labs

I know it's been in the blogsphere for a few days, but if you missed it, ColdFusion 8 Public Beta is Live on Labs; it will let you develop next-generation Internet experiences faster and more easily than ever before. Here are just a few of the key features that you'll discover in the public beta:

  • Significant performance improvements - up to 5Xfaster than ColdFusion MX7.
  • Server monitoring identifies server bottlenecks, allowing for tuning and improved performance.
  • Code debugging speeds your development with set breakpoints, variables monitoring, and step through ColdFusion code with an Eclipse plug-in debugger.
  • Integration with Adobe Flex(tm) and AJAX features let ColdFusion power personalized, multimedia-rich applications to enhance your users' experiences on the web.
  • High-quality, on-demand presentations can be created dynamically on the server.
  • Applications can interact with PDF documents and forms for a printable, portable way to intelligently capture and share information.
  • Create and manipulate images with more than 50 new CFML tags and functions
  • Native support for .NET objects to easily integrate all of your enterprise data and infrastructure services.
  • Server-side printing

Flex Intensive Course Preview

I'm presenting a really small preview for my Flex Intensive CFUnited pre-conference class tomorrow at the CF Meetup. It will be at 12:30 and you can access here. The presentation will cover basics of Flex, why you would want to learn it, show you the huge amount of topics I will cover, and some Q&A... so it will be 1/2h tops, thus you can easily connect during your lunch time and check if you're interested in attending.

I'll post my slides tomorrow after the presso.

Cheers.

I'm at CFUnited's Homepage

CFUnited posted a small video summary of some of last year's random interviews and I'm featured in the first slot :) ... so check me out at CFUnited and try to make it this year to say hi ... The conference has improved every year and promises to do so this year again.

BTW, if you have any interest in Flex, don't forget my pre-conference 8h intensive Flex class, for all levels.

Cairngorm 101 presentation and files

I presented a session on Cairngorm last week at CF.Objective() and explained all its elements, design patterns, event flow, levels of abstraction, and walked-through steps on a simple example.

You can find my slides and examples -- MVC1.001, 002, and 003 -- and each adds a little more functionality. MVC1.001 just displays a form, 002 adds a click event, fire an event, traps is in the controller, executes a command, updates the model, and 003 also uses a business delegate and a service locator. To run the files simply extract in a folder, open flex builder, import a project, and point to the MVCX folder. I did not include the Cairngorm source files, so depending on your preference, either copy them into your project, or add the SWC to your classpath library. You can download the latest version from labs. Just in case, right click the project, click properties, Flex Build Path, Library Path, click Add SWC, and point to the cairngorm.swv binary that you downloaded from labs.

Here's an overview of the differences in the examples so your can follow along:

MVC1.001
* Cairngorm MVC with views only
* No events, commands, model, VO
* Main file loads service, controller, and viewlet

General flow:
* Main shell loads business, control, and view
* View displays login box


MVC1.002
* MVC1.001 plus
* Cairngorm MVC with model, view, controller
* No business delegate or service locator
* Main file loads service, controller, and layout view
* Added LoginCommand, and LoginEvent
* Control registers event
* Added Login model in model locator
* Model implements state
* View contains view stack binded to state
* Command immediately approves login attempt and update model

General flow:
* Main shell loads business, control, and view
* View displays layout with view stack
* View stack is bound to the model and displays login box by default
* User clicks login button and triggers loginUser()
* Function creates a LoginVO to hold the login data
* Function creates a LoginEvent and passes the LoginVO
* Function dispatches the event
* Controller traps the event and executes the LoginCommand
* Command updates the login model and workflow state in model
* Viewstack is bound to workflow stats and update view


MVC1.003
* MVC1.002 plus
* Cairngorm MVC with model, view, controller, business delegate, and service locator
* Added LoginDelegate
* Services.mxml contains RPC, but it's commented out for demo purposes

General flow:
* Main shell loads business, control, and view
* View displays layout with view stack
* View stack is bound to the model and displays login box by default
* User clicks login button and triggers loginUser()
* Function creates a LoginVO to hold the login data
* Function creates a LoginEvent and passes the LoginVO
* Function dispatches the event
* Controller traps the event and execute the LoginCommand
* Command initializes the LoginDeletate to talk to the server
* LoginDelegate gets the loginService from the service locator (commented for demo purposes)
* LoginCommand invokes thes login function in the LoginDelegate
* LoginDelegate invokes the login function in the loginService (commented for demo purposes)
* LoginDeletate calls the loginResult which randomly logs the user in (only for demo purposes)
* Service call returns and calls the onResult function in the command
* Command updates the login model and workflow state in model
* Viewstack is bound to workflow stats and update view

I'll explain all this and much, much, much more in my 8h Flex Intensive for ColdFusion Developers at CFUnited.

Developer Circuit: specialized jobs

Developer Circuit is growing and looking good. They provide a nice widget, in two different sizes, that are displayed in influential sites, such as top ColdFusion and Flex community blogs. It is currently syndicated by 52 sites and displayed over 8000 times today. The widgets were developed in Flex 2 (check them out in my jobs section). To post a job click here, and to find out more about the widgets, check out their widgets section.

Yahoo Web Messenger Built with Flex 2


Flex is so cool! Check out the full story.

More Entries

This blog is running version 5.9.003. Contact Blog Owner