Model-Glue Unity Presentation Notes
Next Joe ran through (a little slower this time) the build a blog demo he previously previewed. This demo covered the new scaffold tag that has been added to the MG XML. This tag maps to a database table and support the same child tags as the event handler tag does. It automatically generates view code for you which is stored in the views/generated folder. You can pull these views into your main view folder (so that they are not overwritten) and customize them to your heart's content. This makes an easy way to generate some starting-point code that can be refined as needed.
Additionally, you can use a generic database broadcast to take everything submitted in the form/url scope and try to line it up with a database table to perform a simple commit using SQL (this is handled by Reactor generated code behind the scenes). this means that you can create a form to handle data entry with little to no code (and certainly no SQL).
After completing his blog creation example, Joe gets into the more basic question of what is a framework. He discusses how not all frameworks serve the same purpose. He describes Model-Glue, Fusebox and Mach-II as presentation frameworks; ColdSpring and Tartan organize business logic; Reactor, Transfer and ObjectBreeze are ORM's for handling database interaction.
Joe states his experience (and that of myself and many others) that a benefit of using frameworks is that they can speed up repetetive taks by abstracting common logic. It also can help to enforce a common architecture and set of rules for development in team environments.
Joe then defines Model-Glue (1.0) as a "second-generation framework". These frameworks focused on seperating business logic from presentation using an MVC (model-view-controller) architecture. However, they also caused alot of recurring code to handle common tasks such as creating beans/record objects, DAO's and Gateways.
Model-Glue: Unity is what he refers to as a "third generation framework" that also leverages MVC but automates many of those repetetive tasks. To achieve this, MG 2.0 uses Reactor to automate the CRUD work and ColdSpring to make it easier to integrate thrid-party services and simplify the handling of dependencies.
Lastly, Joe built a simple application that combined the use of AJAX and ColdFusion's event gateways to send a basic GTalk message using code built on Model-Glue. This worked very nicely and was built in only a few minutes.
This was a great presentation continues to get me excited about MG 2.0, which I had downloaded this morning. I am grateful to Joe for all his hard work on this framework! I think Joe's presentation did a good job of showing off some of the benefits of using frameworks in development, benefits which the new features in 2.0 dramatically build upon. I hope to share my experiences with the Model-Glue 2.0 beta soon.
