As announced in BusinessWeek IBM’s recent enhancements to Lotus Connections validate some Web20 software approaches and may comprise a vanguard in corporate middleware employing a new stack thats quicker and easier for software developers. Sites like TechCrunch have reported all the details of the Web20 fad among companies whose revenue is considerably smaller than IBM’s 95 billion. If the Elephant is ready to dance once again, there are lessons for enterprise Software vendors under the covers of the Web20 culture in software development.
The salient points of the Lotus Connections press releases point out things like easier blogs, personal profiles, and autonomous communities as new features employing software practices now the main religion at lots of startups like Flickr and Delicious. Users of these newer web sites take no time at all to grow a new community of 25 or 2500 users (autonomous workgroups), whose members cooperate and interoperate, sharing data, applying tags to the data without assistance from System Administrators or programmers or application owners. Flickr and Delicious support the general proposition that, on the web, songs and pictures can “just find you” based on your interests and on your membership in a group. These “smart network” characteristics come to the enterprise with high value and very low cost.
The trend regarding some of this web20 plumbing is to increasing adoption by the enterprise; a logical consequence could be disruption in some of the technical aspects of the traditional Enterprise middleware stack. Compared to traditional corporate stacks,the Web20 software stacksare lean, present everywhere, and very easy to deploy. Http and REST are software cornerstones supporting alot of functionality at startups that predates the lotus community announcements. For software developers at these firms, there are no requirements for dealing with with WebServices Utiliitys,no UDDI, no complicated service endpoint xml schema abstracts. With REST, its just URL’s, user interaction with those urls, and Httpprotocol. There are no extra libraries for programmers to download ,no preliminary deployment utility steps to be run or library/repository entries to be maintained. The Web20 stack is better, faster, and way cheaper.
The following section provides business and technology details that support the notion of continued disruption as traditional business process software and work group software adopts best practices and additional plumbing from web20 practices.
RSS & ATOM present each worker with “their data”
In the same method that these 2 data formats are heavily used for syndication of web news and weblogs, business workgroup documents, selected database fragments can be wrapped or enclosed and then distributed to just the people that need to receive it. The snips of data in the <item> below show 2 examples :
- RSS “encloses” a spreadsheet using enclosure
- RSS “encloses” some data selected from a database in CDATA
<item>
<title>The Overnightscape #143 (3/14/05)</title>
<pubDate>Mon, 14 Mar 2005 09:51:43 GMT</pubDate>
<enclosure url=”http://xyzcorp.intranet.com/xls/billing/Overnightscape_receipts0143.xls”
length=”10802740″ type=”application/x-excel”/>
<category>payable</category>
<category>unapproved</category>
</item>
<item>
<title>The Overnightscape #143 (3/14/05)</title>
<pubDate>Mon, 14 Mar 2005 09:51:43 GMT</pubDate>
<content:encoded><![CDATA[
<parameters applicable-location="point1">
<temperature type='maximum' units="Fahrenheit" time-layout="k-p24h-n7-1">
<name>Daily Maximum Temperature</name>
<value>34</value>
<value>43</value>
<value>39</value>
<value>39</value>
<value>47</value>
<value>48</value>
<value>41</value>
</temperature>
<temperature type='minimum' units="Fahrenheit" time-layout="k-p24h-n6-2">
<name>Daily Minimum Temperature</name>
<value>16</value>
<value>31</value>
<value>26</value>
<value>26</value>
<value>32</value>
<value>31</value>
</temperature>
</parameters>
] ]></content:encoded>
</item>
Enclosed in RSS , business data now gets a free ride for a better, faster, cheaper experience. The enclosing RSS stream of data can be routed anywhere using only http and a network – there is an assumption that the enclosed documents are URL-accessible on a web-server or intranet. Any phone, PDA laptop can get access to the data as easily as these devices access the web. Http plumbing is everywhere and imposes very low admin costs. Atom and RSS are universally recognized formats which means that the only system requirement is to deliver data to the target application. Absolutely no requirement exists to write a UI or to develop user applications to manipulate the data because all kinds of software already exists that processes RSS/Atom and that manuipulates the enclosed data objects according to their mime type. In summary, things i dont need todo:
- No messaging layer or MOM needed
- No ESB needed
- No PUB/SUB framework needed
- No SOAP Web/services infrastructure needed
- No presentation layer or application needed
Document Flow and Notification
Now that i’ve completed my work or updates to the documents that are of interest to my workgroup, i need to signal that im done and that subsequent work by others in the group may commence. Millions of dollars of complex software with functionality mentioned at the above link above has been sold to customers needing to cover this somewhat complex functional requirement. At the risk of oversimplifying things, the Web20 stack is a growing presence with decent capabilities for “eventing and notification” so that when your task is complete, i get an alert and can begin my task. Workflow/document related functions such as Creates, Reads, Updates, and Deletes are covered by REST , and as in the data excerpt above you may update the metadata in the <category> tag to indicate status changes. Those status changes can be picked up by observing or polling the data stream that encloses the document. Although not quite ready for prime, dojo’s comet is utilized in web20 contexts and purports to support http push in an environment where pieces of distributed software components communicate at a low level and with alot of intelligence using nothing more than http.
technorati tags:lotus, lotusworld, web20
Blogged with Flock