<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Simon Whatley &#187; web services</title>
	<atom:link href="http://www.simonwhatley.co.uk/tag/web-services/feed" rel="self" type="application/rss+xml" />
	<link>http://www.simonwhatley.co.uk</link>
	<description>The opposite of every great idea is another great idea</description>
	<lastBuildDate>Wed, 02 Nov 2011 09:28:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Adobe&#039;s LiveCycle Powered by Amazon&#039;s Cloud</title>
		<link>http://www.simonwhatley.co.uk/adobes-livecycle-powered-by-amazons-cloud</link>
		<comments>http://www.simonwhatley.co.uk/adobes-livecycle-powered-by-amazons-cloud#comments</comments>
		<pubDate>Wed, 14 Jan 2009 12:07:00 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe ColdFusion]]></category>
		<category><![CDATA[Adobe LiveCycle]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[chief rival]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[content services]]></category>
		<category><![CDATA[correspondence management]]></category>
		<category><![CDATA[EC2]]></category>
		<category><![CDATA[elastic cloud computing]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[information technology]]></category>
		<category><![CDATA[infrastructure web services platform]]></category>
		<category><![CDATA[installation of LiveCycle ES Solution Components]]></category>
		<category><![CDATA[Internet-based information technology services]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[LiveCycle]]></category>
		<category><![CDATA[LiveCycle Enterprise Suite]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[process management]]></category>
		<category><![CDATA[Railo]]></category>
		<category><![CDATA[recent technology trends]]></category>
		<category><![CDATA[S3]]></category>
		<category><![CDATA[server software product]]></category>
		<category><![CDATA[simple storage service]]></category>
		<category><![CDATA[technology infrastructure]]></category>
		<category><![CDATA[term cloud computing]]></category>
		<category><![CDATA[utility computing]]></category>
		<category><![CDATA[Web Browser]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=1757</guid>
		<description><![CDATA[Adobe recently announced, in conjunction with Amazon, that they would bring LiveCycle to Amazon’s Elastic Compute Cloud (EC2).]]></description>
			<content:encoded><![CDATA[<p>Adobe recently announced, in conjunction with Amazon, that they would bring LiveCycle to Amazon&#8217;s Elastic Compute Cloud (<abbr title="Elastic Compute Cloud">EC2</abbr>). To quote Adobe:</p>
<blockquote><p>
Adobe is now offering developers subscribed to the Adobe Enterprise Developer Program access to their own virtual instance of LiveCycle ES through LiveCycle ES Developer Express. LiveCycle ES Developer Express provides a pre-configured, virtualized installation of LiveCycle ES Solution Components in a self-contained development environment. LiveCycle ES Developer Express is hosted on the Amazon Elastic Compute Cloud (Amazon EC2). AEDP members can test, build, store and develop their applications in a cloud-base environment where all LiveCycle ES applications are pre-configured and running. The Adobe Enterprise Developer Program will offer a minimum of 10 hours of runtime per month, with additional hours to be available separately.</p></blockquote>
<h3>What is cloud computing and why is it important?</h3>
<p>The term cloud computing, as used by some commentators, refers to the use of scalable, real-time, Internet-based information technology services and resources. This somewhat nebulous concept incorporates software as a service (<abbr title="software as a servic">SaaS</abbr>), utility computing, <a href="http://en.wikipedia.org/wiki/Web_2.0" title="Wikipedia: Web 2.0" target="_blank" rel="nofollow">Web 2.0</a> and other recent technology trends. The common theme stresses reliance on the Internet for satisfying the computing needs of users, without them needing knowledge of, expertise with, or control over the technology infrastructure that supports them. An often-quoted example is <a href="http://www.google.com/apps/intl/en/business/index.html" title="Google Apps" target="_blank" rel="nofollow">Google Apps</a>, which provides common business applications online that are accessed from a web browser, while the software and data are stored on Google servers.</p>
<p>The cloud element of cloud computing derives from a metaphor used for the Internet, from the way it is often depicted in computer network diagrams, and is an abstraction for the complex infrastructure it conceals.</p>
<h3>How do Adobe and Amazon fit into the equation?</h3>
<p>Adobe and Amazon have similar goals. They both want to gain more share of the enterprise market. Amazon needs to convince the enterprise that its version of the cloud is capable of supporting the demands of enterprise applications. On the other hand Adobe wants to convince the developers who already use <abbr title="Amazon Web Services">AWS</abbr> that LiveCycle is the platform of choice for the enterprise.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>What is Adobe LiveCycle?</h3>
<p><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2009/01/logo_adobe_livecycle1.jpg" alt="Adobe LiveCycle" title="Adobe LiveCycle" width="102" height="105" class="alignleft size-full wp-image-1769" />Adobe&#8217;s <a href="http://www.adobe.com/products/livecycle/" title="Adobe LiveCycle" target="_blank" rel="nofollow">LiveCycle Enterprise Suite</a> is a <abbr title="Java 2 Enterprise Edition">J2EE</abbr>-based server software product used to build applications that automate a broad range of business processes for enterprises and government agencies.</p>
<p>LiveCycle combines technologies for data capture, information assurance, document output, content services, and process management to deliver solutions such as account opening, services and benefits enrollment, correspondence management, request for proposal processes, and other manual based workflows.</p>
<h3>What are Amazon Webservices?</h3>
<p><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2009/01/logo_aws.gif" alt="Amazon Webservices Logo" title="Amazon Webservices Logo" width="164" height="60" class="alignright size-full wp-image-1762" />Since early 2006, <a href="http://aws.amazon.com" title="Amazon Web Services" target="_blank" rel="nofollow">Amazon Web Services</a> (<abbr title="Amazon Web Services">AWS</abbr>) has provided companies of all sizes with an infrastructure web services platform in <a href="http://en.wikipedia.org/wiki/Cloud_computing" title="Wikipedia: Cloud Computing" target="_blank" rel="nofollow">the cloud</a>. With <abbr title="Amazon Web Services">AWS</abbr> you can requisition compute power, storage, and other services–gaining access to a suite of elastic <abbr title="Information Technology">IT</abbr> infrastructure services as your business demands them. With <abbr title="Amazon Web Services">AWS</abbr> you have the flexibility to choose whichever development platform or programming model makes the most sense for the problems you’re trying to solve. You pay only for what you use, with no up-front expenses or long-term commitments, making <abbr title="Amazon Web Services">AWS</abbr> a cost-effective way to deliver applications to customers and clients.</p>
<h3>How do they fit together?</h3>
<p>Essentially, Adobe has put a Red Hat <a href="http://www.jboss.org" title="JBoss" target="_blank" rel="nofollow">JBoss</a> <abbr title="Java 2 Enterprise Edition">J2EE</abbr> stack on <abbr title="Amazon Web Services">AWS</abbr> and deployed LiveCycle on the stack. Adobe state that this platform is purely for prototyping, developing and testing applications, rather than production environments, but that is likely to change.</p>
<h3>The future</h3>
<p>Deploying LiveCycle on <abbr title="Amazon Web Services">AWS</abbr> has wider implications, not only for Adobe products. By setting up a J2EE stack on <abbr title="Amazon Web Services">AWS</abbr> it makes it possible to deploy any Java-based application; yes that does mean one developed in Adobe&#8217;s ColdFusion or indeed its chief rival, Railo.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/adobes-livecycle-powered-by-amazons-cloud/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Future Directions for Rich Internet Applications</title>
		<link>http://www.simonwhatley.co.uk/future-directions-for-rich-internet-applications</link>
		<comments>http://www.simonwhatley.co.uk/future-directions-for-rich-internet-applications#comments</comments>
		<pubDate>Thu, 19 Jul 2007 18:31:09 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[disparate systems]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[integrated applications]]></category>
		<category><![CDATA[Internet Applications]]></category>
		<category><![CDATA[Internet Applications Rich Internet Applications]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[manual processing]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Windows]]></category>
		<category><![CDATA[performance solutions]]></category>
		<category><![CDATA[quicktime]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Service Orientated Architecture]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[Software as a Service]]></category>
		<category><![CDATA[software orientated architecture]]></category>
		<category><![CDATA[software tools]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[Web industry]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[XAML]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=296</guid>
		<description><![CDATA[Rich Internet Applications are just the beginning. A key trend taking place throughout the Web industry is the urgency to integrate disparate systems and software tools to reduce costs, increase developer productivity, reduce the need for manual processing and intervention in transactions, and decrease time to market. To achieve these objectives, organisations have endorsed the adoption of standards-based systems combined with the migration to Web Services and Service Orientated Architecture. This has led to a requirement to create a consistent and intuitive interface to applications, data and services. The immediate goal of these efforts is to provide simpler, quicker and more efficient access and processing of information.]]></description>
			<content:encoded><![CDATA[<p>Rich Internet Applications (<acronym title="Rich Internet Application">RIA</acronym>s) are just the beginning. A key trend taking place throughout the Web industry is the urgency to integrate disparate systems and software tools to reduce costs, increase developer productivity, reduce the need for manual processing and intervention in transactions, and decrease time to market. To achieve these objectives, organisations have endorsed the adoption of standards-based systems (e.g. <acronym title="eXtensible Markup Language">XML</acronym>, Design Patterns, <acronym title="Cascading Style Sheets">CSS</acronym>, <acronym title="European Computer Manufacturers Association">ECMA</acronym>Script) combined with the migration to Web Services and Service Orientated Architecture (<acronym title="Software Orientated Architecture">SOA</acronym>). This has led to a requirement to create a consistent and intuitive interface to applications, data and services. The immediate goal of these efforts is to provide simpler, quicker and more efficient access and processing of information. Increasingly, Web applications are also offering customers application interfaces that are more personalised and customised to each individual&#8217;s specific requests and requirements.</p>
<p>It is clear that <acronym title="Rich Internet Application">RIA</acronym>s offer the potential to fundamentally change the user experience and in doing so, yield significant business benefits. However, in order for <acronym title="Rich Internet Application">RIA</acronym>s to be widely employed, and for more companies to receive these kinds of returns, technologies to build <acronym title="Rich Internet Application">RIA</acronym>s will need to appeal to a wider range of developers. The ability to cost effectively create rich, engaging user experiences that support corporate objectives and reach a broader developer audience without sacrificing development productivity require a new generation of <acronym title="Rich Internet Application">RIA</acronym> tools. These tools are being developed by a large number of organisations with Adobe, Microsoft, Google, Apple and Sun leading the way with the <a href="http://labs.adobe.com/technologies/air/" title="Adobe AIR" target="_blank" rel="nofollow">AIR</a>/<a href="http://www.adobe.com/products/flash/" rel="nofollow" target="_blank" title="Flash">Flash</a>/<a href="http://www.adobe.com/products/flex/" rel="nofollow" target="_blank" title="Flex">Flex</a> combination, <a href="http://silverlight.net/" rel="nofollow" target="_blank" title="Silverlight">Silverlight</a>, <a href="http://gears.google.com/" rel="nofollow" target="_blank" title="Google Gears">Gears</a>, <a href="http://www.apple.com/quicktime/" rel="nofollow" target="_blank" title="Apple's Quicktime">Quicktime</a> and <a href="http://www.sun.com/software/javafx/index.jsp" rel="nofollow" target="_blank" title="Sun's JavaFX">JavaFX</a> respectively.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>The new generation of <acronym title="Rich Internet Application">RIA</acronym> tools being developed by the likes of Adobe and Microsoft must do the following to allow developers to truely harness the power of <acronym title="Rich Internet Application">RIA</acronym>s in the commercial environment:</p>
<ol>
<li>Allow developers to write applications using familiar development models to utilise and extend their current skills without requiring them to adopt entirely new or different skills</li>
<li>Use standard and standards-based technologies</li>
<li>Use industry specific programming models and patterns</li>
<li>Use and/or leverage the existing IT infrastructure through wrap and reuse rather than rip and replace</li>
<li>Provide pervasive, familiar programming models and an expressive user interface across platforms and devices; and</li>
<li>Allow developers to create a solution that delivers scalable, secure, high performance solutions that are bandwidth efficient</li>
</ol>
<p>These new <acronym title="Rich Internet Application">RIA</acronym> tools will need to provide the features that enhance IT developer&#8217;s abilities to be more creative and to accomplish <acronym title="Rich Internet Application">RIA</acronym> development with the same or less effort than the tools they use to create other types of applications. What is required are the tools that can help developers achieve these objectives without relying on only <acronym title="HyperText Markup Language">HTML</acronym> or other scripting languages, or having to learn a completely new development approach.</p>
<p>Two vendors which have the technology and capaibility to fully deliver Rich Internet Applications are Adobe and Microsoft. With Microsoft&#8217;s <a href="http://silverlight.net/" rel="nofollow" target="_blank" title="Silverlight">Silverlight</a> and <acronym title="Extensible Application Markup Language">XAML</acronym>, developing rich internet applications to run on Windows platforms will progress at a fast rate. In turn, Adobe has had a head start with the aquisition of Macromedia and the subsequent addition of <a href="http://www.adobe.com/products/flash/" rel="nofollow" target="_blank" title="Flash">Flash</a> and <a href="http://www.adobe.com/products/flex/" rel="nofollow" target="_blank" title="Flex">Flex</a> to its product offering. Flash and its relative ubiquity across platforms and devices ensures that <acronym title="Rich Internet Application">RIA</acronym> development and production will be accessible to a large user base and as such puts Adobe at a distinct advantage over Microsoft.<br />
<script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/future-directions-for-rich-internet-applications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Future of the Rich Internet</title>
		<link>http://www.simonwhatley.co.uk/the-future-of-the-rich-internet</link>
		<comments>http://www.simonwhatley.co.uk/the-future-of-the-rich-internet#comments</comments>
		<pubDate>Fri, 22 Jun 2007 21:13:37 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Strategy]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[enterprise architecture]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Information Architecture]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MXML]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Service Orientated Architecture]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[soa]]></category>
		<category><![CDATA[Software as a Service]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[User Interface Design]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=290</guid>
		<description><![CDATA[The Internet has emerged from obscurity to become a dominant platform for application development and is integral to the idea of Software as a Service (SaaS). Unfortunately the demand to build applications of increasing complexity has continued to outpace the ability of traditional Web applications to represent that complexity and expectation. Utilisation of AJAX technologies attempts to reconcile some of the issues, but frequently the result is a frustrating, confusing or disengaging user experience resulting in unhappy customers, lost sales, and increased costs.]]></description>
			<content:encoded><![CDATA[<p>The Internet has emerged from obscurity to become a dominant platform for application development and is integral to the idea of Software as a Service (<acronym title="Software as a Service">SaaS</acronym>). Unfortunately the demand to build applications of increasing complexity has continued to outpace the ability of traditional Web applications to represent that complexity and expectation. Utilisation of <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> technologies attempts to reconcile some of the issues, but frequently the result is a frustrating, confusing or disengaging user experience resulting in unhappy customers, lost sales, and increased costs.</p>
<p>We are in a period of expanding opportunity for Internet and intranet applications. The growth in adoption and usage of the Internet has acted as a driver behind technology spending, spawned such terms as Service Orientated Architecture (<acronym title="Service Orientated Architecture">SOA</acronym>), Software as a Service (<acronym title="Software as a Service">SaaS</acronym>) and Web Services, and enterprise integration trends that seek to combine back-office infrastructures with new front-office applications and the Internet.</p>
<p>Integral to this is the need to communicate better with employees, customers, suppliers, and partners. Intranet applications, including enterprise information portals and employee facing applications, are increasingly depended upon to share information across a company, while outwardly focused extranet applications seek to more tightly bind networks of partners, suppliers and customers and make communication, business transactions and support easier.</p>
<p>A key reason Web applications cannot represent these types of complexity is because of the limitations of <acronym title="HyperText Markup Language">HTML</acronym> pages. The Internet grew up on the notion of a network of loosely coupled, unintelligent clients that communicate with increasingly intelligent servers by sending requests for pages. The emergence of Rich Internet Applications (<acronym title="Rich Internet Application">RIA</acronym>&#8216;s) has served to blur the distinction between the desktop and the Web and has resulted in smart, powerful and dynamic user interfaces. <acronym title="Rich Internet Application">RIA</acronym>&#8216;s seek to combine the best of the desktop, Web and communication technologies.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>As one would expect, the driving forces behind Rich Internet Applications are the big guns in the technology and Web industry; namely <a href="http://www.adobe.com" rel="nofollow" target="_blank" title="Adobe">Adobe</a>, <a href="http://www.google.com" rel="nofollow" target="_blank" title="Google">Google</a> and <a href="http://www.microsoft.com" rel="nofollow" target="_blank" title="Microsoft">Microsoft</a>. Each company has produced their own <acronym title="Rich Internet Application">RIA</acronym> platforms:</p>
<p align="center"><img src="http://www.simonwhatley.co.uk/blog/wp-content/uploads/2007/06/rich-internet.jpg" alt="Rich Internet Applications" /></p>
<h3>Adobe Integrated Runtime (<acronym title="Adobe Integrated Runtime">AIR</acronym>)</h3>
<p><acronym title="Adobe Integrated Runtime">AIR</acronym> is a cross-operating system runtime that allows developers to leverage their existing web development skills Flash, Flex, <acronym title="HyperText Markup Language">HTML</acronym>, Ajax) to build and deploy desktop <acronym title="Rich Internet Application">RIA</acronym>&#8216;s.</p>
<p>Applications can be built using the following technologies:</p>
<ul>
<li>Flash / Flex / ActionScript</li>
<li><acronym title="HyperText Markup Language">HTML</acronym> / JavaScript / <acronym title="Cascading Style Sheets">CSS</acronym> / <acronym title="Asynchronous JavaScript and XML">AJAX</acronym></li>
<li>Combination of these technologies</li>
<li>PDF can be leveraged with any application</li>
</ul>
<p>Adobe Integrated Runtime can be found at <a href="http://labs.adobe.com/technologies/air/" rel="nofollow" target="_blank" title="Adobe Integrated Runtime">http://labs.adobe.com/technologies/air/</a></p>
<h3>Google Gears</h3>
<p>Google Gears is an open source browser extension that lets developers create web applications that can run offline.</p>
<p>Google Gears consists of three modules that address the core challenges in making web applications work offline.</p>
<ul>
<li><a href="http://code.google.com/apis/gears/api_localserver.html">LocalServer</a> Cache and serve application resources (HTML, JavaScript, images, etc.) locally</li>
<li><a href="http://code.google.com/apis/gears/api_database.html">Database</a> Store data locally in a fully-searchable relational database</li>
<li><a href="http://code.google.com/apis/gears/api_workerpool.html">WorkerPool</a> Make your web applications more responsive by performing resource-intensive operations asynchronously</li>
</ul>
<p>Google Gears can be found at <a href="http://gears.google.com/" rel="nofollow" target="_blank" title="Google Gears">http://gears.google.com</a></p>
<h3>Micrsoft Silverlight</h3>
<p>Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.</p>
<p>Microsoft Silverlight can be found at <a href="http://silverlight.net" rel="nofollow" target="_blank" title="Microsoft Silverlight">http://silverlight.net</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/the-future-of-the-rich-internet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion Frameworks</title>
		<link>http://www.simonwhatley.co.uk/coldfusion-frameworks</link>
		<comments>http://www.simonwhatley.co.uk/coldfusion-frameworks#comments</comments>
		<pubDate>Wed, 22 Feb 2006 11:15:42 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Ben Edwards]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[ColdFusion application server]]></category>
		<category><![CDATA[Coldspring]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Fusebox]]></category>
		<category><![CDATA[Hal Helms]]></category>
		<category><![CDATA[Mach-II]]></category>
		<category><![CDATA[Model-Glue]]></category>
		<category><![CDATA[model-view-controller]]></category>
		<category><![CDATA[New Brunswick]]></category>
		<category><![CDATA[onTap]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[public services]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Tartan]]></category>
		<category><![CDATA[TheHUB]]></category>
		<category><![CDATA[web applications]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[web-application framework]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=27</guid>
		<description><![CDATA[With the introduction of ColdFusion MX, the ColdFusion community is maturing. Most CF developers have moved beyond spaghetti code and the mixing of business logic with presentation code. But it can be difficult and wasteful to "re-invent the wheel" for every application you write. Frameworks can help promote good development practices, standards, and a sound foundation for creating an application.]]></description>
			<content:encoded><![CDATA[<p>With the introduction of ColdFusion MX, the ColdFusion community is maturing. Most <abbr title="ColdFusion">CF</abbr> developers have moved beyond spaghetti code and the mixing of business logic with presentation code. But it can be difficult and wasteful to &#8220;re-invent the wheel&#8221; for every application you write.</p>
<p>Frameworks can help promote good development practices, standards, and a sound foundation for creating an application.</p>
<p>In this article I list a number of these frameworks, but I will leave you to compare them, and decide which you may want to adopt.</p>
<h3>Fusebox</h3>
<p><em>An Historically Strong Framework</em></p>
<p>Fusebox is a popular framework for building ColdFusion and PHP web applications. &#8220;Fuseboxers&#8221; find that the framework releases them from much of the drudgery of writing applications and enables them to focus their efforts on creating great, customer-focused software.</p>
<p>Fusebox provides a small set of &#8216;core&#8217; files and large amount of structure which is helpful to developers. It emphasizes separation of presentation from logic and uses a readily understandable vocabulary for modeling websites, namely circuits, fuses and switches.</p>
<p><a title="Fusebox Application Framework" href="http://www.fusebox.org" target="_blank" rel="nofollow">http://www.fusebox.org</a></p>
<h3>Mach-II</h3>
<p>Mach II is a web-application framework developed by <a title="Hal Helm's personal site" href="http://www.halhelms.com">Hal Helms</a> and Ben Edwards that evolved out of a desire to create a framework that specifically addressed maintenance issues using an <abbr title="Object Orientated">OO</abbr> style. Mach II is based on an Implicit Invocation Architecture and directly supports the <abbr title="Model-View-Controller">MVC</abbr> design pattern.</p>
<p><a title="Mach-II Application Framework" href="http://www.mach-ii.com" target="_blank" rel="nofollow">http://www.mach-ii.com</a></p>
<h3>Model-Glue</h3>
<p>Model-Glue helps you build Object-Oriented ColdFusion applications based on the Model View Controller pattern. It&#8217;s designed to be easy to use and play well with others, like <a title="Tartan Framework" href="http://www.tartanframework.org">Tartan</a>.</p>
<p><a title="Model-Glue Framework" href="http://www.model-glue.com" target="_blank" rel="nofollow">http://www.model-glue.com</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>onTap</h3>
<p>The onTap framework is an Open Source Framework for quickly developing powerful web applications using Adobe&#8217;s <a title="Adobe (Macromedia) ColdFusion" href="http://www.macromedia.com/software/coldfusion/">ColdFusion application server</a>. The framework itself bears a marked resemblance to the recently buzzy <a title="Ruby on Rails - open source web framework" href="http://www.rubyonrails.org/">Ruby on Rails</a>.</p>
<p><a title="onTap Framework" href="http://www.fusiontap.com/" target="_blank" rel="nofollow">http://www.fusiontap.com</a></p>
<h3>TheHUB</h3>
<p>TheHUB, like other application development frameworks, utilizes the notion of a central hub template that all requests for the application pass through. That cental hub is the point or place within the application that the processing of all code hinges upon. The code simply checks for a query string and then reads the parameters passed to handle template loading and screen rendering.</p>
<p><a title="TheHub Framework" href="http://www.codesweeper.com" target="_blank" rel="nofollow">http://www.codesweeper.com</a></p>
<h3>Tartan</h3>
<p>Tartan is a command-driven service framework for ColdFusion. It was built to help produce the service layer within a larger application architecture which relies on strict separation or layering of functionality.</p>
<p>All access to the underlying business logic is controlled by public services which are available locally as <abbr title="ColdFusion Components">CFCs</abbr> and remotly via Flash Remoting and <abbr title="Simple Object Access Protocol">SOAP</abbr> web services. A service can be composed of any number of commands, each of which implements a discreet operation within the application. These contain the core logic for the application. Commands can communicate with databases via <abbr title="Data Access Objects">DAOs</abbr>, manipulate values received from the client, execute other commands and even communicate with services available on other remote servers.</p>
<p>At the center of Tartan are 6 Core classes : LocalServiceProxy, LocalService, Command, <abbr title="Data Access Object">DAO</abbr>, ValueObject and ExceptionHandler. They provide most of the functionality of the framework, and must be extended by the application developer.</p>
<p><a title="Tartan Framework" href="http://www.tartanframework.org" target="_blank" rel="nofollow">http://www.tartanframework.org</a></p>
<h3>ColdSpring</h3>
<p>ColdSpring is a framework for <abbr title="ColdFusion Components">CFCs</abbr> (ColdFusion Components).</p>
<p>ColdSpring&#8217;s core focus is to make the configuration and dependencies of your <abbr title="ColdFusion Components">CFCs</abbr> easier to manage. ColdSpring uses the &#8220;inversion-of-control&#8221; pattern to &#8220;wire&#8221; your <abbr title="ColdFusion Components">CFCs</abbr> together. Inversion-of-control provides many advantages over traditional approaches to assembling your application&#8217;s model. Also part of ColdSpring is the first Aspect-Oriented-Programming (AOP) framework for <abbr title="ColdFusion Components">CFCs</abbr>.</p>
<p><a title="ColdSpring Application Framework" href="http://www.coldspringframework.org" target="_blank" rel="nofollow">http://www.coldspringframework.org</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><em><strong>UPDATE:</strong> Since creating this blog post many years ago, two more frameworks have been released that require an honourable mention.</em></p>
<h3>ColdBox</h3>
<p><em>My New Framework of Choice</em></p>
<p>ColdBox is an event-driven conventions based ColdFusion Framework. It provides you with a set of reusable code and tools that you can use to increase your productivity, and it provides you with a development standard when working in a team environment. It makes use of an <abbr title="Model View Controller">MVC</abbr> (Model View Controller) design pattern and an extensive array of patterns for its operations such as Factories, Helpers, Workers, etc. And since it is based on <abbr title="ColdFusion Components">CFCs</abbr> it does not rely on an <abbr title="eXtensible Markup Language">XML</abbr> dialect.</p>
<p>NB. ColdBox also takes advantage of ColdSpring or Lightwire.</p>
<p><a href="http://www.coldboxframework.com" title="The ColdBox Framework" target="_blank" rel="nofollow">http://www.coldboxframework.com</a></p>
<h3>Lightwire</h3>
<p>Lightwire is a very lightweight Direct Injection (<abbr title="Direct Injection">DI</abbr>)/Inversion of Control (<abbr title="Inversion of Control">IoC</abbr>) engine for directly injecting dependencies into singletons and transient business object. The framework is optimised to create transient objects as well as singletons and allows for programmatic as well as <abbr title="eXtensible Markup Language">XML</abbr> configuration. It is the lightweight framework for people who&#8217;d like to put more logic in their beans and less in their service layer.</p>
<p><a href="http://lightwire.riaforge.org" title="Lightwire" target="_blank" rel="nofollow">http://lightwire.riaforge.org</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/coldfusion-frameworks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ColdFusion Podcast Episode 8</title>
		<link>http://www.simonwhatley.co.uk/the-coldfusion-podcast-episode-8</link>
		<comments>http://www.simonwhatley.co.uk/the-coldfusion-podcast-episode-8#comments</comments>
		<pubDate>Sun, 18 Dec 2005 01:56:58 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Bryan Kaiser]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[development Web application security cheatsheet Short review]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java tuning Data Manager]]></category>
		<category><![CDATA[Manager CFC]]></category>
		<category><![CDATA[Michael Haynie]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Visual FoxPro]]></category>
		<category><![CDATA[web services]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=46</guid>
		<description><![CDATA[Bryan Kaiser &#038; Michael Haynie talk about a lot of news.]]></description>
			<content:encoded><![CDATA[<p>Main Feed: <a title="ColdFusion Podcast" href="http://feeds.feedburner.com/coldfusionpodcast">http://feeds.feedburner.com/coldfusionpodcast</a></p>
<p>Bryan Kaiser &#038; Michael Haynie talk about a lot of news.</p>
<p>Links:</p>
<ul>
<li><a href="http://www.web-relevant.com/blogs/cfobjective/index.cfm?mode=entry&#038;entry=2CEFB6AD-BDB9-5320-E0FFAB7D7D198DC7">Open letter to the Adobe dev community</a></li>
<li><a href="http://www.web-relevant.com/blogs/cfobjective/index.cfm?mode=entry&#038;entry=2C0C85F1-BDB9-5320-EA26C2CD7BF8AD32">Using atomic init() calls with CFCs</a></li>
<li><a href="http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=ceb0e519&#038;pss=rss_coldfusion_ceb0e519">Technote &#8211; Graphing service on J2EE not available</a></li>
<li><a href="http://www.fusionauthority.com/Techniques/Article.cfm/ArticleID:4560">Article 1 of 3 on test driven development</a></li>
<li><a href="http://devnulled.com/content/2005/12/web-application-security-cheatsheet/">Web application security cheatsheet</a></li>
<li><a href="http://www.forta.com/blog/index.cfm/2005/12/12/Sitepoint-CFMX7-Review">Short review of CF7&#8242;s features</a></li>
<li><a href="http://awads.net/wp/2005/12/12/format-your-sql-the-easy-way/">SQL formatters</a></li>
<li><a href="http://www.osxcode.com/2005/12/12/tons-of-beautifully-designed-free-icons/">Nice set of free icons</a></li>
<li><a href="http://www.fekke.com/blog/index.cfm/2005/12/8/cfcomponentstyleattribute">Changing styles of your web services</a></li>
<li><a href="http://www.fusionauthority.com/Techniques/Article.cfm/ArticleID:4556">Connecting ColdFusion to Visual FoxPro</a></li>
<li><a href="http://blogs.adobe.com/mikepotter/2005/12/cool_firefox_ex.html">foXpose, a firefox extension that thumbnails your tabs</a></li>
<li><a href="http://ted.mielczarek.org/code/mozilla/tabpreview/">Tab Preview, another firefox tab thumbnail extension</a></li>
<li><a href="http://www.petefreitag.com/item/508.cfm">Sun&#8217;s whitepaper on Java tuning</a></li>
<li><a href="http://www.bryantwebconsulting.com/cfcs/">Data Manager CFC</a></li>
<li><a href="http://digitalbackcountry.com/">Digitalbackcountry.com</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/the-coldfusion-podcast-episode-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tartan &#8211; Web Application Framework</title>
		<link>http://www.simonwhatley.co.uk/tartan-web-application-framework</link>
		<comments>http://www.simonwhatley.co.uk/tartan-web-application-framework#comments</comments>
		<pubDate>Wed, 19 Oct 2005 14:54:59 +0000</pubDate>
		<dc:creator>Simon</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[public services]]></category>
		<category><![CDATA[Server Side]]></category>
		<category><![CDATA[Tartan]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.simonwhatley.co.uk/?p=11</guid>
		<description><![CDATA[Tartan is a command-driven service framework for ColdFusion. It was built to help produce the service layer within a larger application architecture which relies on strict separation or layering of functionality.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tartanframework.org/">Tartan</a> is a command-driven service framework for ColdFusion. It was built to help produce the service layer within a larger application architecture which relies on strict separation or layering of functionality.</p>
<p>All access to the underlying business logic is controlled by public services which are available locally as <acronym title="ColdFusion Components">CFCs</acronym> and remotely via Flash Remoting and <acronym title="Simple Object Access Protocol">SOAP</acronym> web services. A service can be composed of any number of commands, each of which implements a discreet operation within the application. These contain the core logic for the application. Commands can communicate with databases via <acronym title="Data Access Object">DAOs</acronym>, manipulate values received from the client, execute other commands and even communicate with services available on other remote servers.</p>
<p>At the center of <a href="http://www.tartanframework.org/">Tartan</a> are 6 Core classes : LocalServiceProxy, LocalService, Command, <acronym title="Data Access Object">DAO</acronym>, ValueObject and ExceptionHandler. They provide most of the functionality of the framework, and must be extended by the application developer.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<h3>Overview and Explanation</h3>
<p>The driving need behind <a href="http://www.tartanframework.org/">Tartan</a> was a production application that needed to transfer data between 5 different databases and 3 different applications. There was a complex set of <abbr title="Data Access Object">DAO</abbr> classes and a faade class that provided access. Each fa ade class had a single public method called &#8220;execute&#8221; that would simply take arguments and return a result.</p>
<p>This concept worked well, but obviously had its limitations. So <a href="http://www.tartanframework.org/">Tartan</a> was created to be able to quickly and easily add new commands to services, and new services to the system.</p>
<p>Tartan is described as a &#8220;command-driven service framework.&#8221; What does that mean? In this context a &#8220;service&#8221; is a set of commands that have commonality, and a &#8220;command&#8221; is a method that executes any number of other methods and returns a result. It&#8217;s that simple. A service such as &#8220;televisionViewer&#8221; could include a command such as &#8220;getListings&#8221; which would, based on locality data provided either by a config file or a method argument, check local listings and return a collection of data regarding current television listings.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p>To further explain the concept of &#8220;commands,&#8221; we could offer that method a second argument such as &#8220;returnType&#8221; and return the listings as an array of structures, a <abbr title="ColdFusion">CF</abbr> query object, or an <abbr title="eXtensible Markup Language">XML</abbr> file. By adding commands from granular to broad, we can incorporate them into sequences. For instance, if we wanted to offer the findMyShow command, we could have it first execute getListings, then parse the resulting data and determine if our show is on soon or not.</p>
<p>By doing this carefully and with some planning, we develop a very simple interface between our application and any persistant storage mechanism and/or business objects, with the ability to filter, alter, or convert our results before they&#8217;re returned to the caller. If we start with granular and move to broad commands, we maintain the flexibility and encapsulation of an <abbr title="Object Orientated">OO</abbr> design, but gain the convenience and natural-thinking appeal of procedural programming.</p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-6475233631580417";
/* 468x60 Basic */
google_ad_slot = "7117418273";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.simonwhatley.co.uk/tartan-web-application-framework/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

