1. links for 2006-05-01

    April 30th, 2006

  2. links for 2006-04-30

    April 29th, 2006

  3. links for 2006-04-29

    April 28th, 2006

  4. Web 2.0 meets the enterprise

    April 28th, 2006

    C|Net is picking on my theme from yesterday and running with it.

    Sure, C|Net is a link-farm, you can get in but never get out. But by keeping everyone’s pagerank low they establish authority, and I find that reassuring. They also have trackbacks. So without further ado, here are some gems from the article.

    Buttoned-down IBM, which mainly sells to businesses, on Wednesday detailed QEDwiki, for example. The project is meant to let people assemble Web applications using wikis, really simple syndication (RSS) and simple Web scripting.

    Wondering what this new “simple Web scripting” would be like? I did. So I followed the link and found out it goes by the generic over-the-counter name PHP.

    Instead, he recommended the ‘interpersonal enterprise’ approach

    It’s time for me to update my architecture diagram, and I need your help with that.

    Does the ‘interpersonal enterprise’ go left or right of the ‘interconnected enterprise’?

    IBM, a major advocate of the SOA concept within corporations, is doing exactly that. Its QEDwiki project is specifically designed to let businesspeople with no formal programming training to assemble “mashups,” Web applications that mix information from different sources, said Rod Smith, IBM’s vice president of emerging technology. For example, a person could track the effect of the avian flu on employees by mixing internal company information with public sources of data.

    A better/cheaper way to solve the avian flu/employee effect correlation problem is what I would call a killer app.

    Sorry for the bad pun. I’ll go wash my hands now.

    At its Mix ‘06 conference in March, the company sponsored a workshop, called Spark, to find common technical-design patterns that can be applied for business and consumer software.

    I can think of a few:

    • Identify which problem needs to be solved. As we all know, real problems are not felt, they need to be use-cased.
    • Devise a solution using the words ’simple’. Now that all solutions scale, you need to differentiate.
    • Use as many out-of-content examples as possible. The C|Net article has a good one: talk about the iPod.
    • Google is your exit strategy.

    And you can’t say I’m wrong on the last one.

    “Everybody is calling the enterprise software market dead,” Kraus said. “But it’s really not dead. There are just new models at work.”

    Since Web 2.0 companies tend to use the word ‘model’ as a synonym for ‘expenses’, I worry about that one.

  5. SOA integration with Flickr and del.icio.us

    April 26th, 2006

    This article discusses the underlying architecture and lessons learned from our SOA initiative to integrate our SaaS partners with our content publishing system.

    Introduction

    Over the past year we came to realize a growing need to provide our content consumers with a hyper-media experience that will enrich their user experience and provide us with growing traction in the industry.

    As such, we embarked on an SOA strategy to integrate our content publishing system (here) with an image lifecycle and provisioning service (Flickr) and an hyperlink management and intelligence service (del.icio.us). This article explores the underlying integration architecture, some of the lessons learned and concludes with a summary ROI.

    An Image is Worth a Thousand Words

    We begin with our image lifecycle and provisioning service. After conducting extensive research in this emerging field, we have decided to partner with Flickr Systems. A leader in the Gartner magic quadrant, Flickr proved to meet all our requirements for publishing, discovery and lifecycle management of images. The vendor also provides a best-of-class free repository of readily available stock imagery (here). In addition, we were impressed with their ability to scale both vertically and horizontally, dealing with images of various sizes and quality.

    We were a bit concerned about their ability to address the ever growing enterprise storage needs and their long-term viability, all important factors when selecting an SaaS partner. However, the recent acquisition by Yahoo Inc has convienced us that they will remain in business for a long time, and we consider the partnership to be low risk and successful from the get-go.

    In spite of that, we were not able to secure a satisfactory service level agreement that will meet our requirements for 24×7 accessibility. As such, we decided to offload image serving capabilities from the vendor and provide a replicated storage using our own content repository. We planned for a 3-month turnaround, but the task proved easier than we originally anticipated, and we managed to complete it in-time and under-budget.

    During the content publishing phase we acquire universally unique identifiers (URLs) for each image item. The vendor has agreed to provide these free of charge. We then feed these identifiers to our content publishing service using the UploadImage wizard. Once entered into the system, our content publishing service makes a Web service synchronous call to the image management service and acquires an identical copy of the image, which is then stored locally in our content repository.

    In the next step, a content author would identify the image item in the content repository and with the simplicity of drag & drop assign it a location within the content item (the post). Underneath, the content repository establishes a reference between the content item and image item and persists it as metadata. Once published, the content item and image item are accessible to content cosumers 24×7×365.

    Towards a Better Dashboard

    Integration with the hyperlink management and intelligence service proved to be more tricky. As before, our vendor selection criteria focused on breadth of features, scalability, customer success stories and long-term business viability. We have chosen to partner with DLCS Industries (aka del.icio.us). We were extremly impressed by their strong presentation during our last executive retreat and the traction they have been gaining in the industry.

    The most interesting aspect of this service is the real-time dashboard which provides visibility into the most recent hyperlink acquisition activity, with drill-down capabilities. We have decided to make the dashboard accessible to all our content consumers.

    Initially, we provisioned the dashboard as a remote service accessible over a synchronous protocol and integrated into our content portal (example). As a result content consumers were able to access the dashboard directly from our content service without redirection. The compelling business reason was to allow us to retain a single brand identity over both content items and the dashboard, while using best-of-breed disparate services.

    Unfortunately, we have miscalculated the lack of protocol and format support in the industry. We were not able to use this approach to integrate the dashboard into our asynchronous event stream (RSS). It turns out that content consumer user-agents do not support the JavaScript extensible markup format, and the dashboard data was lost in the transformation phase. As a result, we set looking for a different strategy.

    It so happens that DLCS incorporates their own integration message bus. Instead of pulling intelligence data from the service on-demand, we went with a loosely coupled architecture We provisioned the intelligence service to create a daily report of recently acquired hyperlinks activity, and feed it to our content publishing service directly. We have conducted several field tests to ensure the content provided in the report is identical to the real-time dashboard. We have also conducted a focus group and concluded that providing these reports once every 24 hours is acceptable to our user base.

    Once a day the DLCS service will query its own repository and retrieve all recent acqusition records, create a report and issue a synchronous WS-Blog request to our content publishing service. Our content publishing service was modified to automate the process of creating a new content item, persisting it in the content repository and making it available through the content server. The entire transaction completes in under 10ms, giving us confidence it can scale to larger volumes.

    Since the reports are published alongside all other content items, they are available as part of the event stream (RSS). The content server will also broadcast an asynchronous notification event using WS-Pingomatic, and will make the content accessible through the major content directory and discovery services (Technorati, et al).

    Our Technology Stack

    Although worthy of a separate article, I would like to point at some of the technolgies used in the project. We picked a messaging bus that uses the industry standard WS-HTTP and the emerging WS-Blog protocol. The use of open schema formats allows us to easily plug-in RSS 2.0 as a layer on top of WS-HTTP without pushing updates to the clients.

    For our content repository we have elected not to go with RDF and instead use the more mature and widely supported Semantic SQL. This proved useful when we transitioned from self-built MySQL to RPMs with only an hour of downtime. We use HTML as the preferred content format with extensions for images and links. Our templating system is homegrown but heavily utilizes CSS.

    Since our servers are located off-site (outsourced) we have standardized on an end-to-end security infrastructure using SSL and perform authentication and authorization using htpasswd Enterprise Edition.

    Conclusion

    Nothing speaks better than numbers. Although the integration project was no small feat and required some external expertise, the ROI has been positive from day one. By utilizing our SaaS vendors we were able to use best-of-breed solutions, improve our efficiencies and maximize our bottom line. Since the public roll out of the project one year ago, the number of trusted registered content consumers (as measured by FeedBurner) has increased ten fold from 10 to over 100 and still growing strong.

    I hope this article has been useful to you in understanding how we harnassed the power of SOA and our SaaS partners network to integrate disparate content management services under a cohesive platform providing a seamless user experience resulting in a ten-fold increase in market penetration.

    Resources

  6. links for 2006-04-27

    April 26th, 2006

  7. On fixing Microsoft

    April 26th, 2006

    Scoble discusses how to change Microsoft. Judging from my trip to Microsoft I don’t see how it would help, and one of his advises sounds like a way to run the company down.

    Michael Gartenberg has a great reply. Though I’d like to see someone try honest marketing. If marketing people have to publicly justify their actions (”we concluded you users are stupid so we made that change”) and respond to replies (see how long you can spin those), perhaps they’ll be less inclined to pass on good ideas.

    At any rate, I think the systematic problem is not Microsoft at large. The problem is Office. I’ll catch up with this thought when I have more time.

  8. Don Box gems from MTS06

    April 26th, 2006

    (You’ll have to excuse any misquotes, I was typing as fast as I could, and mostly I think I got it right)

    Avalon goes by the enterprise acronym WPF, or as Don likes to call it, “blinking lights“.

    It helps with the Feds to state you’re not the only platform in the world, so Microsoft is now big on interoperability, or as Don puts it: “We cannot carpet the entire world, but we can put on slippers”.

    Why catchy Indigo gave way to tooth-breaking WCF: “We put these names in because they suck. … We didn’t want people saying ‘I’m an Indigo’ programmer”.

    On WCF vs SCA vs JBI vs fast infoset and the whole standards soup: “We don’t just send standard diplomats to exotic locations to argue abstractions. Because we’ve seen XSD and what happens with that”.

    On BRE vs DSL, and why meta-programming is important: “We’ve hit the scalability wall on the for loop”.

  9. Deferred integration by any other name

    April 25th, 2006

    Bill de hÓra on Web2.0 and deferred integration costs:

    There’s a large collective bet right now that the integration costs on specialised web applications won’t be an issue a few years out. Or at least they’ll be less of an issue than building software that tries to do everything (aka “Groupware“).

    On the Web we call it Mashups, it’s a catchy name that captures what it does in a language people (read: users) can understand.

    In the Enterprise world we call it SOA, it’s a TLA that summarizes block diagrams in a language people (read: analysts) can PDF.

    Two of the same, yet so different.

    I noticed something Mashups inately understand. Start small. Solve problems as they come. Don’t over-engineer. You have no budget, so make it work.

    But they lack architecture diagrams.

    (via co.mments)

  10. links for 2006-04-26

    April 25th, 2006