Monday, October 24, 2005

Preferred Web Development Architecture

Recently I had a chance to spend time with the Alpha version of Macromedia's Flex 2 builder plugin inside of Eclipse. I am impressed with the capabilities and how it fits into the web development platform choices I prefer, and those I am pointing towards. I put together a summary of my preferred web development architecture at present, and the structure I am planning on using in the future. Obviously I am not using Flex 2 in any sort of a production environment currently, as it is only in the Alpha stage, but I've seen enough to believe in its capability for rich internet application development. One aspect I have always struggled with is, while Flash is a very powerful client-side presentation technology, the ability to maintain code in Flash and rapidly develop client side interfaces is not always there, at least from my understanding and experience. However, from what I've seen so far with Flex 2, I think Flex 2 working inside of the newly designated Flash "platform" goes a long way towards enabling developers to use it to more rapidly develop RIA's and I am excited to see what unfolds. In the meantime, I will be exploring the technology as I point towards using it inside of Eclipse to generate rich interfaces for web applications built on an architecture of ColdFusion, JRun4, and mySQL. The following is a description of these platform technologies together with a figure that shows a schematic of how they work together.

Click Figure Below for a Printable Form of this Dev Platform and Architecture Summary:

Web Development Platforms:

Through MXML and Actionscript developers can create rich, custom application portals. The ColdFusion Adapter enables data access for those who choose to remain solely in the FLEX platform.

Client-side technologies like MM's FLEX and FLASH enable the opportunity to control rich interfaces that are lightweight and limitless in terms of how they can be designed to interact with client machines and data sources.

ColdFusion components and server-side CFML code can be developed using the CFEclipse plugin, while the FLEX 2 builder can likewise be utilized in the open-sourse Eclipse IDE, which allows for robust interaction with datasources, as the capability to build unit testing into the application as it is being developed.

Any relational database can be used in conjunction with this development architecture, but the mySQL database is a very capable, and scalable open-source technology.

CVS integrated with Eclipse is an efficient choice for version control within this development architecture, tracking code and datasource progression.

Server-Side Architecture:

Macromedia's JRun4 application server is a capable application server which can handle a load demand for a large percentage of internet and intranet applications. Because ColdFusion is a fully compliant J2EE platform, it can be used interchangeably with other J2EE compliant web application servers such as IBM WebSphere and BEA Weblogic.

The ColdFusion 7.1 Administrator enables developers to perform load balancing and clustering for their ColdFusion applications using the JRun4 app server adminstration tools.

ColdFusion components can be converted into webservices by taking a ColdFusion component and setting it's access property to "remote". The ColdFusion MX Web Services platform is based off of Apache Axis SOAP -- an inherently robust implementation provided by virtue of the
ColdFusion platform.

Consumed by Servers and Clients:

The development platform choices described in this figure result in applications that are built on a rock solid foundation, are scalable, and have the capability to provide rich and intuitive user interfaces:

- ColdFusion compiles down into robust, secure, and efficient java byte code

- ColdFusion components can be readily converted into Web Services based off of the solid Apache Axis SOAP

- Interaction with datasources can be performed via secure ColdFusion CFC's or CFML code, inside and outside of the Flash platform through FLEX.

- the options for rapidly developing rich interfaces are improved while working with the FLEX 2 builder via the Eclipse IDE. Rather than developing customized Flash interfaces which may be time-consuming and at times difficult to maintain and trace throughout the development lifecycle, FLEX gives a developer or development team a client-side presentation technology that enables rapid rich interface development inside the Eclipse framework providing traceability.

- Besides rich interfaces, consumers in the form of end-user client pc's and servers consuming web-services are provided with more robust and maintainable applications via the development platform outlined.

Friday, October 14, 2005

Google Personalized Page : 1 minute setup tutorial

I have found Google's personalized page to be very useful, and a time saver. Wanted to pass it on to anyone interested along with a very easy to understand 1 minute movie tutorial.

Any topics of interest to you, whether they are from large organizations publishing news feeds or from individuals who syndicate blog content interested to you, can be organized on a single page while they are updated by Google's aggregator almost instantly. This is the beauty of Really Simple Syndication (RSS). If you're interested in Notre Dame football, simply find a feed and plug it in. Interested in golf, search for a feed and plug it in. Interested in photography, find a feed and plug it in. If you're interested in it, chances are there are 5 sites which syndicate related to your interest. Everyday you will receive the latest, greatest when you open up the page from those sites of interest that you define. You receive news from insiders, not just the publishing giants.

The following link below (just click on the picture) is a 1 minute Flash-based tutorial on how to configure your Google page to receive these syndicated feeds. Google has made their page so simple and painlesss. I hope you find it useful, and if you have any questions, just email me (holtonma@gmail.com).


PS: I will still email one on one with my friends and am always happy to receive and trade emails. That being said, I will not be sending out any more general mass emails. Rather I will be posting the content to my blog. Since it's syndicated via RSS, if you are interested in these topics or what's going on with me, Coldfusion/ Database development, entrepreneurial endeavors, golf, sports, et al.... simply copy and paste this path into the 'Create a Section' text box on the Google page as shown in the tutorial, and you will see the blog postings update on your Google page as they become available: http://holtsblog.blogspot.com/atom.xml

Wednesday, October 12, 2005

Patience is a virtue

I watched a NOVA program last night ...according to the broadcast, when Albert Einstein published his theories of Special Relativity (including the famous E=mc^2) linking energy and mass... he did not hear virtually any replies for a whole year. Max Planck, one of the most lauded Physicists of his time and all time, read and appreciated Einstein's work, and persuaded his colleagues to take his work seriously on its merits. For 4 years after that Einstein wrote letters, amid his study of the physical world, answering questions and explaining his theories to his colleagues in the world of physics.

The point is, nothing is built in a day, including some of the greatest physical theories in the past 150 years, and some would say in the history of physics. Einstein's theories obviously took ingenuity, creativity, and years of study and hard work to gain and understanding and then formulate. His work did not end with the well-formed theory, as it took persistence and confidence to see it through to the point where it was understood and appreciated by others.

I thought this was a great lesson related to a pursuit of any type or scale, and wanted to pass it on.





Wednesday, October 05, 2005

mySQL Reference

This is a great article discussing how mySQL fits the bill for many web enterprise web apps.