<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://alexbarnett.net/blog/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Alex Barnett blog : SOA, enterprise2.0, webservices</title><link>http://alexbarnett.net/blog/archive/tags/SOA/enterprise2.0/webservices/default.aspx</link><description>Tags: SOA, enterprise2.0, webservices</description><dc:language>en</dc:language><generator>CommunityServer 2007 (Build: 20416.853)</generator><item><title>Sync Google Calendar with Outlook and more with WideLens</title><link>http://alexbarnett.net/blog/archive/2008/03/05/sync-google-calendar-with-outlook-and-more-with-widelens.aspx</link><pubDate>Thu, 06 Mar 2008 05:37:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:40817</guid><dc:creator>alexbarnett</dc:creator><slash:comments>3</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=40817</wfw:comment><comments>http://alexbarnett.net/blog/archive/2008/03/05/sync-google-calendar-with-outlook-and-more-with-widelens.aspx#comments</comments><description>&lt;P&gt;Google has &lt;A href="http://googleblog.blogspot.com/2008/03/google-calendar-sync.html" mce_href="http://googleblog.blogspot.com/2008/03/google-calendar-sync.html"&gt;just released a very cool utility&lt;/A&gt; (.exe download for Windows) providing users with the ability to synchronize their Google Calendar with Outlook.&lt;/P&gt;
&lt;P&gt;Some &lt;A class="" href="http://blogoscoped.com/archive/2008-03-06-n27.html" mce_href="http://blogoscoped.com/archive/2008-03-06-n27.html"&gt;nice features&lt;/A&gt; in their 0.9.3.0 release:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;schedule the sync frequency: every x minutes &lt;/LI&gt;
&lt;LI&gt;define directional flow: 2-way, and 1-way (either way) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A title="Sync Google Calendar with Outlook" href="http://blogoscoped.com/archive/2008-03-06-n27.html" mce_href="http://blogoscoped.com/archive/2008-03-06-n27.html"&gt;&lt;IMG alt="" src="http://blogoscoped.com/files/google-calendar-sync.png" mce_src="http://blogoscoped.com/files/google-calendar-sync.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.techmeme.com/080305/p122#a080305p122" mce_href="http://www.techmeme.com/080305/p122#a080305p122"&gt;A bit&lt;/A&gt; of a &lt;A class="" href="http://blogs.zdnet.com/Google/?p=959" mce_href="http://blogs.zdnet.com/Google/?p=959"&gt;buzz&lt;/A&gt; &lt;A class="" href="http://googlesystem.blogspot.com/2008/03/google-calendar-sync-for-microsoft.html" mce_href="http://googlesystem.blogspot.com/2008/03/google-calendar-sync-for-microsoft.html"&gt;going on&lt;/A&gt; &lt;A class="" href="http://blogoscoped.com/archive/2008-03-06-n27.html" mce_href="http://blogoscoped.com/archive/2008-03-06-n27.html"&gt;about this...&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now, what if you could do the same over the web - no download, just use your browser (IE, FF, Safari)...? And not just Google Calendar &amp;lt;&amp;gt; Outlook, but others too...?&lt;/P&gt;
&lt;P&gt;Well, it's certainly possible...First, watch &lt;A class="" href="http://video.google.com/videoplay?docid=4169255139767314426" mce_href="http://video.google.com/videoplay?docid=4169255139767314426"&gt;this screencast&lt;/A&gt; I put together tonight (apologies for sound quality...done from home equipment):&lt;/P&gt;&lt;EMBED id=VideoPlayback style="WIDTH: 400px; HEIGHT: 326px" src=http://video.google.com/googleplayer.swf?docId=4169255139767314426&amp;amp;hl=en type=application/x-shockwave-flash flashvars="flashvars" mce_src="http://video.google.com/googleplayer.swf?docId=4169255139767314426&amp;amp;hl=en"&gt;&lt;/EMBED&gt; 
&lt;P&gt;&lt;STRONG&gt;&lt;IMG height=36 alt=logo_widelens_sm src="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm-thumb.gif?w=167&amp;amp;h=36" width=167 border=0 mce_src="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm-thumb.gif?w=167&amp;amp;h=36"&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;About WideLens&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;A couple of weeks back Bungee Labs &lt;A href="http://bungeeconnect.wordpress.com/2008/02/18/widelens-a-calendaring-reference-application-for-bungee-connect/" mce_href="http://bungeeconnect.wordpress.com/2008/02/18/widelens-a-calendaring-reference-application-for-bungee-connect/"&gt;released a reference calendaring application&lt;/A&gt;, called WideLens, designed to show off some of the power of the Bungee Connect platform, from the kind of rich AJAX UI experiences delivered through to the high level of functionality developers can create by wiring up and integrating multiple web services and distributed web data sources into a single web app. &lt;/P&gt;
&lt;P&gt;&lt;A title="User Experience Overview (4-35)" href="http://www.bungeeconnect.com/?bl_link=involved-widelens-userx" mce_href="http://www.bungeeconnect.com/?bl_link=involved-widelens-userx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Video: &lt;A href="http://docs.bungeeconnect.com/wiki/index.php/Screencasts_:_WideLens" mce_href="http://docs.bungeeconnect.com/wiki/index.php/Screencasts_:_WideLens"&gt;WideLens User Experience&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Video: &lt;A title="Developer Overview (2-26)" href="http://www.bungeeconnect.com/?bl_link=involved-widelens-overview" mce_href="http://www.bungeeconnect.com/?bl_link=involved-widelens-overview"&gt;Developer Overview&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;WideLens connects to Microsoft Exchange calendar, Google Calendar, Salesforce.com, Facebook, MySQL and iCalendar feeds, representing a variety of protocols and authentication schemes. MS Exchange is accessed through WebDav, Google Calendar through gData, Salesforce.com via SOAP, Facebook through REST and MySQL connectivity is based on client libraries provided by MySQL (integrated directly inside Bungee Connect).&lt;/P&gt;
&lt;P&gt;WideLens is an uber-mashup.&lt;/P&gt;
&lt;P&gt;WideLens connects to each of the sources in real-time, presenting the user with live data. With the exception of Facebook and iCalendar, users can create and modify events and those changes are immediately posted back to the source. MySQL pulls double duty, serving as both a WideLens native calendar source and as the persistence layer for all kinds of application data including user preferences and credential information for each service.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm.gif" mce_href="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm.gif"&gt;&lt;IMG height=36 alt=logo_widelens_sm src="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm-thumb.gif?w=167&amp;amp;h=36" width=167 border=0 mce_src="http://bungeeconnect.files.wordpress.com/2008/02/logo-widelens-sm-thumb.gif?w=167&amp;amp;h=36"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Developers: Have At it!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;As mentioned above, WideLens has been released as a Bungee Connect reference application where we're encouraging Bungee Connect developers &lt;A href="http://bungeeconnect.wordpress.com/2008/02/18/extending-the-widelens-reference-app/" mce_href="http://bungeeconnect.wordpress.com/2008/02/18/extending-the-widelens-reference-app/"&gt;to customize the WideLens application&lt;/A&gt; as much as they want, deploy their own version of the app &lt;EM&gt;as their own app -&lt;/EM&gt; to their &lt;A href="http://bungeeconnect.wordpress.com/2007/10/09/how-to-use-a-custom-url-for-your-bungee-powered-apps/" mce_href="http://bungeeconnect.wordpress.com/2007/10/09/how-to-use-a-custom-url-for-your-bungee-powered-apps/"&gt;own domain&lt;/A&gt;, at &lt;A href="http://bungeeconnect.wordpress.com/2008/01/28/no-fee-for-live-bungee-powered-test-apps-during-beta/" mce_href="http://bungeeconnect.wordpress.com/2008/01/28/no-fee-for-live-bungee-powered-test-apps-during-beta/"&gt;no charge&lt;/A&gt;, branded however they want and with whatever features / cuts / modifications / extended they want - the WideLens code is released under a BSD licence (&lt;A href="http://bungeeconnect.wordpress.com/2008/02/18/extending-the-widelens-reference-app/" mce_href="http://bungeeconnect.wordpress.com/2008/02/18/extending-the-widelens-reference-app/"&gt;read more here&lt;/A&gt;).&lt;/P&gt;
&lt;P&gt;&lt;IMG height=218 alt=image src="http://bungeeconnect.files.wordpress.com/2008/02/image-thumb5.png?w=447&amp;amp;h=218" width=447 border=0 mce_src="http://bungeeconnect.files.wordpress.com/2008/02/image-thumb5.png?w=447&amp;amp;h=218"&gt;&lt;/P&gt;
&lt;P&gt;To get going with Bungee Connect and develop your own vision of what WideLens could do, sign up for your &lt;A href="http://www.bungeeconnect.com/?bl_link=started" mce_href="http://www.bungeeconnect.com/?bl_link=started"&gt;Bungee Connect account&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=40817" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/BungeeLabs/default.aspx">BungeeLabs</category><category domain="http://alexbarnett.net/blog/archive/tags/enterprise2.0/default.aspx">enterprise2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/Facebook/default.aspx">Facebook</category><category domain="http://alexbarnett.net/blog/archive/tags/Google/default.aspx">Google</category><category domain="http://alexbarnett.net/blog/archive/tags/Mashup/default.aspx">Mashup</category><category domain="http://alexbarnett.net/blog/archive/tags/platforms/default.aspx">platforms</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://alexbarnett.net/blog/archive/tags/salesforce/default.aspx">salesforce</category><category domain="http://alexbarnett.net/blog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://alexbarnett.net/blog/archive/tags/SOAP/default.aspx">SOAP</category><category domain="http://alexbarnett.net/blog/archive/tags/socialsoftware/default.aspx">socialsoftware</category><category domain="http://alexbarnett.net/blog/archive/tags/video/default.aspx">video</category><category domain="http://alexbarnett.net/blog/archive/tags/Web/default.aspx">Web</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category></item><item><title>Mashup design patterns</title><link>http://alexbarnett.net/blog/archive/2007/05/22/mashup-design-patterns.aspx</link><pubDate>Tue, 22 May 2007 16:27:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:40118</guid><dc:creator>alexbarnett</dc:creator><slash:comments>4</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=40118</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/05/22/mashup-design-patterns.aspx#comments</comments><description>&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&amp;lt;warning: the following&amp;nbsp;post &lt;/EM&gt;&lt;/STRONG&gt;&lt;A href="http://en.wikipedia.org/wiki/Meanders" mce_href="http://en.wikipedia.org/wiki/Meanders"&gt;&lt;STRONG&gt;&lt;EM&gt;meanders&lt;/EM&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;EM&gt;, is unstrucutured&amp;nbsp;and doesn't arrive at any conclusion&amp;gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;In the middle of last year, I invited Dion to meet with me and other members of Microsoft's Data Programmability team to discuss REST in the context of data access over the web. Dion's&amp;nbsp;perspective&amp;nbsp;is one of the reasons our team was able to&amp;nbsp;recognise&amp;nbsp;the&amp;nbsp;potential of a&amp;nbsp;RESTful programming model against relational data, manifested today as &lt;A href="http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx" mce_href="http://alexbarnett.net/blog/archive/2007/04/30/microsoft-codename-quot-astoria-quot-data-services-for-the-web.aspx"&gt;Project Astoria&lt;/A&gt;.&amp;nbsp; 
&lt;P&gt;I've been waiting to read &lt;A href="http://blogs.zdnet.com/Hinchcliffe/?p=107" mce_href="http://blogs.zdnet.com/Hinchcliffe/?p=107"&gt;Dion's thoughts&lt;/A&gt; on &lt;A href="http://astoria.mslivelabs.com/" mce_href="http://astoria.mslivelabs.com/"&gt;Project Astoria&lt;/A&gt; (via &lt;A href="http://blog.programmableweb.com/2007/05/21/salesforcecom-soa-and-web-apis/" mce_href="http://blog.programmableweb.com/2007/05/21/salesforcecom-soa-and-web-apis/"&gt;John Musser&lt;/A&gt;).&amp;nbsp;It's an interesting&amp;nbsp;take,&amp;nbsp;contextualizing Astoria within the overall architectural trends we're seeing take place. 
&lt;P&gt;I liked this diagram and got me thinking (dangerous...): 
&lt;P&gt;&lt;A title="SOA Web 2.0 COnvergence Revision 2" href="http://blogs.zdnet.com/Hinchcliffe/images/soaweb20convergence_update2.png" mce_href="http://blogs.zdnet.com/Hinchcliffe/images/soaweb20convergence_update2.png"&gt;&lt;IMG title="SOA Web 2.0 COnvergence Revision 2" alt="SOA Web 2.0 COnvergence Revision 2" src="http://blogs.zdnet.com/Hinchcliffe/images/soaweb20convergence_update2.png" border=0 mce_src="http://blogs.zdnet.com/Hinchcliffe/images/soaweb20convergence_update2.png"&gt;&lt;/A&gt; 
&lt;P&gt;Dion warns that the diagram&amp;nbsp;like this&amp;nbsp;could&amp;nbsp;never be&amp;nbsp;complete representation of the concepts discussed &lt;A class="" href="http://blogs.zdnet.com/Hinchcliffe/?p=107" mce_href="http://blogs.zdnet.com/Hinchcliffe/?p=107"&gt;in his post&lt;/A&gt; and&amp;nbsp;is work in progress. The mapping done here for the&amp;nbsp;3 types of applications (Composite Applications, Recombinant Software and&amp;nbsp;Mashups)&amp;nbsp;makes some&amp;nbsp;sense to me. However, it reminds me that I have&amp;nbsp;used the terms "Composite applications" and "Mashups" interchangeably (but never Recombinant Software) depending on who I'm speaking to and&amp;nbsp;without really thinking through what I mean by these terms.&amp;nbsp;To try and clarify my own thinking on this, here's my effort to do so... 
&lt;P&gt;Here are&amp;nbsp;the&amp;nbsp;Wikipedia definitions of Composite Applications, Recombinant Software and&amp;nbsp;Mashups. 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Composite_applications" mce_href="http://en.wikipedia.org/wiki/Composite_applications"&gt;&lt;STRONG&gt;&lt;EM&gt;Composite applications&lt;/EM&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"the term &lt;B&gt;composite application&lt;/B&gt; expresses a perspective of software engineering that defines an application built by combining multiple services. A composite application consists of functionality drawn from several different sources within a &lt;/EM&gt;&lt;A href="http://en.wikipedia.org/wiki/Service_oriented_architecture" mce_href="http://en.wikipedia.org/wiki/Service_oriented_architecture"&gt;&lt;EM&gt;service oriented architecture&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; (SOA). The components may be individual &lt;/EM&gt;&lt;A href="http://en.wikipedia.org/wiki/Web_services" mce_href="http://en.wikipedia.org/wiki/Web_services"&gt;&lt;EM&gt;web services&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;, selected functions from within other applications, or entire systems whose outputs have been packaged as web services (often legacy systems)."&lt;/EM&gt; 
&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Recombinant software&lt;/EM&gt;&lt;/STRONG&gt; 
&lt;P&gt;&lt;EM&gt;&amp;lt;none&amp;gt;&lt;/EM&gt; 
&lt;P&gt;&lt;A href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)" mce_href="http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)"&gt;&lt;STRONG&gt;&lt;EM&gt;Mashup&lt;/EM&gt;&lt;/STRONG&gt;&lt;/A&gt; 
&lt;P&gt;&lt;EM&gt;"A &lt;B&gt;mashup&lt;/B&gt; is a website or application that combines content from more than one source into an integrated experience."&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;So nothing in Wikipedia for "Recombinant software", but&amp;nbsp;in searching for&amp;nbsp;a definition I&amp;nbsp;did come another post by Dion written in June 2006 -&amp;nbsp;&lt;A href="http://blogs.zdnet.com/Hinchcliffe/?p=49" mce_href="http://blogs.zdnet.com/Hinchcliffe/?p=49"&gt;"Is IBM making enterprise mashups respectable?"&lt;/A&gt;.&amp;nbsp; Here Dion asserted: 
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Accepting that information, visuals, and software can be remixed and combined at multiple levels in an application stack means that there are (at least) five places that mashups can take place."&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Dion then&amp;nbsp;went on to define 5 mashup types: 
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;Presentation Mashup:&lt;/B&gt; This is the shallowest form of mashup in the sense that underlying data and functionality don’t meet.&amp;nbsp; Information and laout is retrieved and either remix or just placed next to each other.&amp;nbsp; Many of the &lt;/EM&gt;&lt;A href="http://blogs.zdnet.com/Hinchcliffe?p=8" mce_href="http://blogs.zdnet.com/Hinchcliffe?p=8"&gt;&lt;EM&gt;Ajax desktops&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; today fall into this category and so do portals and other presentation mashup techniques. &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;Client-Side Data Mashup:&lt;/B&gt; A slight deeper form of mashup is the data mashup which takes information from remote Web services, feeds, or even just plain HTML and combines it with data from another source. New information that didn’t exist before can result such as when addresses are geocoded and display on a map to create a visualization that could exist without the underlying combination of data. &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;Client-Side Software Mashup:&lt;/B&gt; This is where code is integrated in the browser to result in a distinct new capability.&amp;nbsp; While a component model for the browser is only now being hashed out as part of Open Ajax, there is considerable potential in being able to easily wire together pieces of browser-based software into brand new functionality. &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;Server-Side Software Mashup: &lt;/B&gt;Recombinant software is probably easier right now on the server since Web services can more easily use other Web services and there are less security restrictions and cross domain issues.&amp;nbsp; As a result, server-side mashups like those that in turn use things like Amazon’s &lt;/EM&gt;&lt;A href="http://web2.wsj2.com/amazon_understands_harnessing_collective_intelligence.htm" mce_href="http://web2.wsj2.com/amazon_understands_harnessing_collective_intelligence.htm"&gt;&lt;EM&gt;Mechanical Turk&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; or any of the &lt;/EM&gt;&lt;A href="http://programmableweb.com/apis" mce_href="http://programmableweb.com/apis"&gt;&lt;EM&gt;hundreds of open Web APIs&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; currently available, are quite common. &lt;/EM&gt;
&lt;LI&gt;&lt;EM&gt;&lt;B&gt;Server-Side Data Mashup:&lt;/B&gt; Databases have been linking and connecting data for decades, and as such, they have relatively powerful mechanisms to join or mashup data under the covers, on the server-side.&amp;nbsp; While it’s still harder to mashup up data across databases from different vendors, products like Microsoft SQL Server increasingly make it much easier to do.&amp;nbsp; This points out that many applications we have today are early forms of mashups, despite the term.&amp;nbsp; Of course, the more interesting and newer aspects of mashups happen above this level.&lt;/EM&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Back to the plot... 
&lt;P&gt;When speaking&amp;nbsp;with an "enterprisey" architect I use the term "Composite applications". "Enterprisey" architects&amp;nbsp;think and talk in terms of governance, security, scale and complexity. They also like to hear and use technical sounding terms that confound non-IT folks ;-) 
&lt;P&gt;When speaking&amp;nbsp;with a developer, I tend to use the term "Mashups". Developers&amp;nbsp;are smart and&amp;nbsp;lazy -&amp;nbsp;they want to write fewer lines of code, do more with less and love to impress. In my mind at least, the term "mashup" implies a speedy development / test / deploy cycle,&amp;nbsp;design flexibility and simplicity in the sense that its "less hard to do". 
&lt;P&gt;Now, if I'm talking to a developer who works in the enterprise context (enterprise as in a&amp;nbsp;large business) the term "enterprise mashup" can connect the "enterprisey" values - governance, security, scale but &lt;EM&gt;without&lt;/EM&gt; the complexity&amp;nbsp;AND&amp;nbsp;&lt;EM&gt;with&lt;/EM&gt; the "mashup" values - speed, flexibility and simplicity.&lt;/P&gt;
&lt;P&gt;Reviewing the 5 mashup&amp;nbsp;design patterns&amp;nbsp;above, there is reasonably defined line: Client-side vs. Server-side. Some of the fall into the WOA space - referring to Dion's diagram above: &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"Another important item: The bottom of the overlapping circle contains a cryptic &lt;/EM&gt;&lt;A&gt;&lt;/A&gt;&lt;EM&gt;acronym near the edge of the circle: WOA. This stands for Web-Oriented Architecture, a concept that I’ve written about several times &lt;/EM&gt;&lt;A href="http://blogs.zdnet.com/Hinchcliffe/?p=27" mce_href="http://blogs.zdnet.com/Hinchcliffe/?p=27"&gt;&lt;EM&gt;here&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; and &lt;/EM&gt;&lt;A href="http://blogs.zdnet.com/Hinchcliffe/?p=43" mce_href="http://blogs.zdnet.com/Hinchcliffe/?p=43"&gt;&lt;EM&gt;here&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt; in this blog. It’s an idea that basically states that software that goes naturally with the “grain” of the Web, extending the core infrastructure of the Web in natural ways, works the best."&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=40118" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/Astoria/default.aspx">Astoria</category><category domain="http://alexbarnett.net/blog/archive/tags/Data/default.aspx">Data</category><category domain="http://alexbarnett.net/blog/archive/tags/enterprise2.0/default.aspx">enterprise2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/Mashup/default.aspx">Mashup</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category><category domain="http://alexbarnett.net/blog/archive/tags/WOA/default.aspx">WOA</category></item><item><title>Announcing Bungee Connect</title><link>http://alexbarnett.net/blog/archive/2007/04/16/Announcing-Bungee-Connect.aspx</link><pubDate>Mon, 16 Apr 2007 07:11:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:37018</guid><dc:creator>alexbarnett</dc:creator><slash:comments>8</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=37018</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/04/16/Announcing-Bungee-Connect.aspx#comments</comments><description>&lt;p&gt;At last, I can tell you more about what Bungee Labs has been up to...&lt;/p&gt;&lt;p&gt;We&amp;#39;ve &lt;a href="http://www.bungeelabs.com/pressreleases/pr-041607-debut.html"&gt;just announced&lt;/a&gt; details about Bungee Connect, a 100% on-demand web development and deployment environment that will be going into Beta phase in May.&lt;/p&gt;&lt;p&gt;Over the next three days at the &lt;a href="http://www.web2expo.com/"&gt;Web 2.0 Expo 2007&lt;/a&gt; and on &lt;a href="http://bungeeconnect.com"&gt;bungeeconnect.com&lt;/a&gt; we&amp;#39;ll be providing a lot more detail on exactly what Bungee Connect is, how it works and why we think it will be a big deal when we go live.&lt;/p&gt;&lt;p&gt;So before I go on, let me quote a couple of people who have already seen Bungee Connect in action behind closed doors. The following are from tonight&amp;#39;s two press releases (&lt;a href="http://www.bungeelabs.com/pressreleases/pr-041607-debut.html"&gt;1&lt;/a&gt; and &lt;a href="http://www.bungeelabs.com/pressreleases/pr-041607-early-access.html"&gt;2&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;First off, &lt;a href="http://ajax.sys-con.com/"&gt;Dion Hinchcliffe&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;ldquo;Ajax is just the beginning of the RIA story and Bungee Labs provides the rest of the solution with a web-based IDE, on-demand scalable deployment, a well-designed community model and a built-in component ecosystem with real-world licensing options,&amp;rdquo; said Dion Hinchcliffe, ZDNet blogger; President/CTO, Hinchcliffe &amp;amp; Co.; and editor in chief, AjaxWorld Magazine. &amp;ldquo;Bungee Connect is a surprisingly complete one-stop shop for the RIA development, deployment and operations lifecycle.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Next, &lt;a href="http://blogs.zdnet.com/Gardner/"&gt;Dana Gardner&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;ldquo;Given the current disjointed state of tools, testing and deployment models, most developers find creating rich internet applications (RIAs) to be complex, time-consuming and expensive,&amp;rdquo; said Dana Gardner, Principal Analyst, Interarbor Solutions. &amp;ldquo;By combining development, testing and deployment functions into an integrated, low-cost-of-entry service approach, Bungee Connect both broadens the numbers of developers that can produce web applications as well as slashes the barriers of entry for creating innovative ecommerce services and web-based businesses.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The Bungee Labs team has been working very closely with the Amazon team (and others API providers) the last few months to make sure Amazon&amp;#39;s web services &amp;quot;just work&amp;quot; with Bungee Connect. &lt;a href="http://www.jeff-barr.com/"&gt;Jeff Barr&lt;/a&gt;, Senior Evangelist for &lt;a href="http://www.amazon.com/AWS-home-page-Money/b/ref=sc_fe_l_1_3435361_1/103-2170705-7983845?ie=UTF8&amp;amp;node=3435361&amp;amp;no=3435361&amp;amp;me=A36L942TSJ2AJA"&gt;Amazon&amp;#39;s Web Services&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;ldquo;Bungee Labs&amp;rsquo; decision to make their development environment integrate seamlessly with Amazon Web Services is great news for our developer community,&amp;rdquo; said Jeff Barr, Senior Evangelist for Amazon Web Services. &amp;ldquo;AWS developers can now use Bungee Connect to directly access our services, which means they can build Web-Scale applications in an easy to use, browser-based development environment.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Another provider of web APIs, Salesforce.com has also been working closely with the Bungee Labs engineers. This time a quote from Adam Gross, Vice President, Developer Marketing, &lt;a href="http://www.salesforce.com/developer"&gt;Salesforce.com&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;ldquo;Salesforce.com has demonstrated that the innovation and ideas of the consumer Internet are at the core of the next generation of business applications. Bungee Connect together with Salesforce.com&amp;rsquo;s Apex platform makes it easier for developers to create mashups for their businesses, and in doing so hastens the transition from traditional enterprise software to the new on-demand model of building and deploying applications.&amp;rdquo;&lt;/em&gt; &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;nbsp;So, &lt;em&gt;what is&lt;/em&gt; Bungee Connect? Well, it&amp;#39;s a lot of things:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Bungee Connect is&amp;nbsp;a completely web-based integrated development environment (IDE) for building and deploying rich Ajax&amp;nbsp;web applications, from simple web apps to seriously&amp;nbsp;sophisticated&amp;nbsp;Ajax applications. No install for developers, no installation of delivery infrastructure, and no client install for end users.&lt;/li&gt;&lt;li&gt;Bungee Connect is for developers, not for consumers. Yes, it provides a huge amount of automated support for the&amp;nbsp;integration of SOAP and REST-based web services, Ajax app development and state management. You can&amp;nbsp;develop sophisticated apps that integrate&amp;nbsp;powerful (as well as simple) web services&amp;nbsp;plus develop your own logic without having to write&amp;nbsp;a line of code. It massivley reduces complexity. But, nonetheless,&amp;nbsp;it is&amp;nbsp;for developers, not consumers.&lt;/li&gt;&lt;li&gt;Bungee Connect provides a completely integrated means of deploying apps to the live web. No FTP. No separation between your dev, staging, production and live environment.&amp;nbsp;No local set-up on your machine. No bits to install anywhere. No web servers, no app servers, no stacks, nor libraries to install, patch or manage. No &lt;a href="http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html"&gt;&amp;#39;Yak shaving&amp;#39;&lt;/a&gt;. It&amp;#39;s all taken care of for you. You develop your app through the browser, then deploy your app through the browser and map the app to your domain / URL (or embed the app in your site) - It&amp;#39;s your app. Oh, and you get IE, Firefox and Safari cross-browser compat taken care of too - you build your app once and &lt;em&gt;it just works&lt;/em&gt; in these three browsers. Sweet.&lt;/li&gt;&lt;li&gt;Bungee Connect includes a whole code share and team collaboration concept. You can keep your code proprietary, or you can share it with other Bungee Connect developers in your workgroup or with the wider Bungee Connect developer community. There&amp;#39;s a lot more to this than I can cover here and I&amp;#39;ll be writing a lot more on this soon, but I like how Mat Asay described the community aspect as a &amp;#39;&lt;a href="http://weblog.infoworld.com/openresource/archives/2007/04/web_20_and_the.html"&gt;Sourceforge for the 21st Century&lt;/a&gt;&amp;#39;.&lt;/li&gt;&lt;li&gt;Bungee&amp;nbsp;Connect allows developers to leverage the world of web APIs. We&amp;#39;ve been working with the API engineering and evangelist teams at Amazon,&amp;nbsp;Ebay, Google, Microsoft Windows Live, PayPal, RealNetworks, Salesforce.com and Yahoo! to ensure Bungee Connect works sweetly with the multitude of their rich APIs (both WS* and RESTful). The aim is to ensure Bungee Connect can&amp;nbsp;work with&amp;nbsp;&lt;em&gt;any &lt;/em&gt;web service that you choose and by working with these teams and their APIs in developing Bungee Connect, we&amp;#39;ve got a great test-bed to make sure we can achieve this goal.&lt;/li&gt;&lt;li&gt;Bungee Connect is No Fee for the developer to use in developing and testing Bungee-powered apps. You only pay once you&amp;#39;ve deployed your app commercially or unrestricted.&amp;nbsp; We expect this to be&amp;nbsp;US$1 per computer-network-interaction-hour, billed monthly. Again, more on this later.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And there&amp;#39;s so much more. Tomorrow, anyone attending &lt;a href="http://www.web2expo.com/"&gt;Web 2.0 Expo&lt;/a&gt; will be able to get hands on with Bungee Connect. We&amp;#39;ve got a booth with PCs (Windows, Macs and Linux) with the browser open (IE, Firefox and Safari) where you&amp;nbsp;run through some tutorials and&amp;nbsp;judge for yourself&amp;nbsp;if you think we&amp;#39;re all smoking crack (see pics below - no crack, just the booths). We&amp;#39;ll also be updating &lt;a href="http://www.bungeelabs.com/"&gt;the site&lt;/a&gt; with screencasts and plenty more details and Martin will be presenting and demo&amp;#39;ing with Brad on Wednesday morning. And by then I&amp;#39;m sure David might have something &lt;a href="http://www.oreillynet.com/xml/blog/2007/04/alex_barnett_leaves_microsoft.html"&gt;more to say&lt;/a&gt; too...&lt;/p&gt;&lt;p&gt;&lt;u&gt;To underline a couple of points here:&lt;/u&gt; we&amp;#39;re not live yet. We go into Beta in May and are looking for web developers who&amp;nbsp;ideally already have experience in progamming against the APIs of the companies I mentioned earlier. &lt;a href="http://www.bungeelabs.com/"&gt;So sign up&lt;/a&gt; if that sounds like you...&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img height="334" src="http://farm1.static.flickr.com/167/461130403_81bc586e2e.jpg" width="500" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;img height="334" src="http://farm1.static.flickr.com/197/461122934_83d41c8d52.jpg" width="500" /&gt;&lt;/p&gt;&lt;p&gt;---&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Dana Gardner has &lt;a href="http://blogs.zdnet.com/Gardner/?p=2448"&gt;written up his thoughts on Bungee Connect&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Short but sweet &lt;a href="http://mashable.com/2007/04/16/bungee-labs"&gt;mention on Mashable.com&lt;/a&gt;&amp;nbsp;by Pete Cashmore.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Update 2 (4/18/07)&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Richard MacManus &lt;a href="http://www.readwriteweb.com/archives/bungee_labs_next_generation_web_development.php"&gt;blogged it over at Read/Write Web&lt;/a&gt; &lt;/li&gt;&lt;li&gt;Ryan Stewart &lt;a href="http://blog.digitalbackcountry.com/?p=773"&gt;blogged us too&lt;/a&gt; :-)&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=37018" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/Ajax/default.aspx">Ajax</category><category domain="http://alexbarnett.net/blog/archive/tags/Amazon/default.aspx">Amazon</category><category domain="http://alexbarnett.net/blog/archive/tags/APIs/default.aspx">APIs</category><category domain="http://alexbarnett.net/blog/archive/tags/BungeeLabs/default.aspx">BungeeLabs</category><category domain="http://alexbarnett.net/blog/archive/tags/community/default.aspx">community</category><category domain="http://alexbarnett.net/blog/archive/tags/Dev/default.aspx">Dev</category><category domain="http://alexbarnett.net/blog/archive/tags/enterprise2.0/default.aspx">enterprise2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/Live/default.aspx">Live</category><category domain="http://alexbarnett.net/blog/archive/tags/Mashup/default.aspx">Mashup</category><category domain="http://alexbarnett.net/blog/archive/tags/MSN+API/default.aspx">MSN API</category><category domain="http://alexbarnett.net/blog/archive/tags/Programming/default.aspx">Programming</category><category domain="http://alexbarnett.net/blog/archive/tags/REST/default.aspx">REST</category><category domain="http://alexbarnett.net/blog/archive/tags/RIA/default.aspx">RIA</category><category domain="http://alexbarnett.net/blog/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://alexbarnett.net/blog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://alexbarnett.net/blog/archive/tags/socialsoftware/default.aspx">socialsoftware</category><category domain="http://alexbarnett.net/blog/archive/tags/Web/default.aspx">Web</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category></item><item><title>7 Thoughts on the Business of API Throttling</title><link>http://alexbarnett.net/blog/archive/2007/04/06/7-Thoughts-on-the-Business-of-API-Throttling.aspx</link><pubDate>Fri, 06 Apr 2007 12:21:00 GMT</pubDate><guid isPermaLink="false">0a97a1d1-9921-457b-8bd7-ce5530d7bd45:34967</guid><dc:creator>alexbarnett</dc:creator><slash:comments>2</slash:comments><wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://alexbarnett.net/blog/commentapi.aspx?PostID=34967</wfw:comment><comments>http://alexbarnett.net/blog/archive/2007/04/06/7-Thoughts-on-the-Business-of-API-Throttling.aspx#comments</comments><description>&lt;p&gt;John Musser over at ProgrammableWeb.com has summarized the various ways (he&amp;#39;s outlined 12) &lt;a href="http://blog.programmableweb.com/2007/04/02/12-ways-to-limit-an-api/"&gt;API providers can control access to their web services&lt;/a&gt;. As John says, &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;quot;There are good reasons for this ranging from preventing abuse, controlling costs, or other business-driven reasons.&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;John triggered a few&amp;nbsp;thoughts for me with&amp;nbsp;his post...Thinking out loud now...&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;7 Thoughts on the Business of API Throttling&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;1. Web APIs&amp;nbsp;will be a key driver of future of the networked, services-based&amp;nbsp;economy&lt;/p&gt;&lt;p&gt;2. The science of web API throttling&amp;nbsp;is set to&amp;nbsp;become a&amp;nbsp;core business competency - not just a technical competency -&amp;nbsp;for (hundreds of) thousands of businesses&lt;/p&gt;&lt;p&gt;3. Businesses need to learn about &lt;em&gt;the business&lt;/em&gt; of API-based business models (an&amp;nbsp;area where there is some experimentation and learning is going on&amp;nbsp;today, &lt;a href="http://www.alexbarnett.net/blog/archive/2007/03/28/APIs_2C00_-APIs-APIs_21002100210021002100_-_2800_And-Learn-As-You-Play_2900_.aspx"&gt;but not enough&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;4. Business expertise in designing and evolving API-based business models will be a highly valued skill / commodity&lt;/p&gt;&lt;p&gt;5. Standardized business models need to (and will) emerge regarding&amp;nbsp;web APIs, similar to how there are standardized business contracts today&lt;/p&gt;&lt;p&gt;6. API throttling&amp;nbsp;will become exponentially more complex to execute and operate&lt;/p&gt;&lt;p&gt;7. A significant number of small and medium-sized business (the long tail of today&amp;#39;s economies) that want to&amp;nbsp;thrive in the networked economy will&amp;nbsp;need to make a&amp;nbsp;decision in the near future: &lt;em&gt;&amp;quot;do we spend large amounts of resources in the&lt;/em&gt; &lt;em&gt;technical operation of&amp;nbsp;API service&amp;nbsp;delivery&amp;nbsp;and throttling expertise in-house, or should we outsource this?&amp;quot;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://alexbarnett.net/blog/aggbug.aspx?PostID=34967" width="1" height="1"&gt;</description><category domain="http://alexbarnett.net/blog/archive/tags/APIs/default.aspx">APIs</category><category domain="http://alexbarnett.net/blog/archive/tags/BungeeLabs/default.aspx">BungeeLabs</category><category domain="http://alexbarnett.net/blog/archive/tags/enterprise2.0/default.aspx">enterprise2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/SaaS/default.aspx">SaaS</category><category domain="http://alexbarnett.net/blog/archive/tags/SOA/default.aspx">SOA</category><category domain="http://alexbarnett.net/blog/archive/tags/Web+2.0/default.aspx">Web 2.0</category><category domain="http://alexbarnett.net/blog/archive/tags/webservices/default.aspx">webservices</category></item></channel></rss>