jump to navigation

Keeping Promises and Excuses ! September 6, 2006

Posted by poseidongroove in Edge Thinking, IBM, Java, Oracle, ThingsPrime, Weblogs, Work.
add a comment

The last month has been incredibly busy, managing three invitation to tender process, vendor selection, due diligence, architecture blueprint etc etc. In all this time, I’ve not had a chance to complete three blog posts I’ve drafted.

Excuses, excuses, you might say. Things should get better from next month when we start to implement all these components. I’m near the end of the vendor selection process for the platforms we’re deploying for the customer. I’ll publish the promised Thingsprime slides and podcast hopefully, within the next couple of weeks. Apologies to all the folks that attended the meeting.

A few anecdotes from the last few months, The biggest vendors in the world are not the best people to buy software from. Trust me. Two of the biggest software vendors in the world were invited to respond to our RFPs shot themselves in the foot. If you go to their website they proclaim you should trust them to run your online/offline business using their software.

In both cases,I was really disappointed. We sent out Invitation to Tender documents to the email addresses they advertised. They failed to respond to the RFIs on time, and then passed it on to re-sellers, then I got more internal sales folks calling me to change the deadline for submission also trying to flog me more stuff.

In both cases, I know Senior VPs in the companies and reported this. It would have been unfair on all the other software companies that responded if I’d allowed them to submit their responses after the deadline. We dropped them from the shortlist ! I don’t care if I’m fired for not buying from a big vendor. I live on principles when it comes to architecture. Hygiene is my motto not compromise !

If you think buying from the biggest software companies is good for you, think again. Are they partnering with you in your journey or flogging you everything including armies of developers ?

I believe it’s important when you put together an architecture that you make sure you don’t compromise it by buying the entire toolbox from a single source. An example is because, you’re buying IBM Websphere Application Server, you have to go all the way and buy Websphere Enterprise. (42 install shields and counting mate !). Same applies to Oracle.(note, I’m not saying they are the vendors in the above case).

One of my friends who is an architect with a local authority in the UK told me how they bought software recently. They’d completed due dilligence and recommended they use a mixture of open source and commercial software. They also went on training courses for the reccomended stack.

The senior managers who know nothing about technology decided to go out and buy everything from Oracle. My architect friend and his J2EE developers have suddenly started programming in PL/SQL. What took another local authority 6months to deliver is now taking them almost two years and wasted council tax revenue. Thanks to the army of PL/SQL programmers locking them into the database forever. Sweet !!

If you’re running an RFI process, always ask the vendors to submit their javadoc/netdoc whatever for their entire stack. Get your developers to review it and ensure all that flashy Powerpoint about the entire platform stack being one integrated piece really does stand up to scrutiny. In several cases, I’ve seen recently, the APIs are so different you just know you’re asking for trouble. Make sure you generate business case benefits for each solution you’re buying as well otherwise, it’s easy for senior managers to override your selection process.

Finally, outside of the RFI I needed to buy an essential item from one of these vendors, I was able to extract a massive discount on the list price from them as compensation! Win some loose some.

Breakfast Meeting Update August 4, 2006

Posted by poseidongroove in e-WorkPlace, ThingsPrime, Weblogs.
add a comment

I’ll be posting the slides I presented at the breakfast meeting organised by ThingsPrime on the site by Monday. I want to do a bit more polishing on the materials before making it public.

This includes the podcast which I’ve had to record again. Too much background noise!

CMS and All That…. July 14, 2006

Posted by poseidongroove in brand, CMS, eWorkPlace, Java, Joomla, Web Culture, Weblogs, Work.
1 comment so far

I’ve been very busy in the last month. I’m architecting a new web platform for a medium-large UK organisation.

I’ve done a lot of Content Management System rescue engagements in my time. Like customers implementing CMS as a silver bullet that will solve every problem conceivable. In my experience, this is never the case. It always depends on the customer. If you’re a medium to large business. You will need more than a CMS to fully engage with customers across multiple touch points.

If you’ve got a really good web application for managing relationships etc you can get by for a little while. Problem starts if you really want to do A/B campaign splits and really test customer life-cycles or user segmentation. Personalising user experience occurs in two ways what you accurately inferred about a customer and what they told you about themselves. In most cases, you’ll get the latter with a CMS !

I thought about writing this post because, after several years of people buying content management systems. If we exclude open source offerings such as Mambo or Joomla which are not really enterprise scale CMS. I feel most CMS vendors always think all presentation logic and meta-data should be coupled into the CMS. Whatever happened to Portals and Commerce Engines. Are you sure you really want to be making Web Services calls to build dynamic content in each JSP or ASP Page ?
I know JSRs are really difficult to follow and hardly anyone is implementing JSR 170 correctly. I still think CMS vendors do themselves serious disservice if they keep selling their solutions as one stop shop for everything from integration to back-end system, personalisation, etc.

If you’re in the market buying a CMS, ensure decoupled delivery is the default mode you engage with the vendor. Meaning you deliver content into a Content Repository for example, a database schema for a dynamic JSP/ASP whatever to use jsp tags to look-up the data and render it using an ORM.
Effectively, you’ve exposed all the meta-data for any degree of personalisation you might want. If however, the html, stylised content, tags and content items are all locked in deadly embrace in jsp pages. I really feel sorry for you and your company. You really ought to start again.

Effectively, there is no decent means other than the CMS of doing personalisation campaign management analytics whatever. Please don’t come and tell me I should be making SOAP/WSDL calls to a CMS repository. You don’t need to do that. Just bung it in a database schema bodytext, headline and all and off you go. Use an Object Relational Mapper with caching capability to retrieve the data into your dynamic JSP/ASP pages.

Remember, the CMS will need to notify your Object Relational Mapper of additions or changes to the content items. You can still carry on deploying static content to your Webserver document root. It’s better there. Except, the CMS or Portal provides decent full-text search of documents such as pdf. Don’t waste your time putting them in a CMS.

Two of the vendors we saw delivered a decoupled implementation. They know who they are and I really appreciate their effort. For us and the vendors, it means if we decide to buy an eCRM Platform or Personalisation engine none of the new vendors can turn round and tell us we’ve never integrated with that CMS before. I’ll just give them the reference implementation to use. Saves everyone a lot of time. (This is a MacDonald’s tip for you).

One of the best CMS implementations I’ve worked on that still does that to date is Den Norske Bank, Vital and Postbanken in Norway with Guray Sen & Razorfish. Same parent company different trading divisions, same database schema all very dynamic way before anyone thought of JSR 170. It’s called common sense and flexibility meaning you can localise to whatever language since all content is dynamic.

Given this frustration of mine, I seriously recommend if you’re in the market for a CMS, tell all the vendors to deliver a decoupled delivery implementation of the content items into a Tomcat or JBoss reference implementation using hibernate and a decent set of taglibs to retrieve an array of news-feed and a detail news item page from a MySQL database. See below for an example schema.

What you’re doing is building flexibility into your content architecture. All data should be available for creating a 360 Degree View of the relationship with your customer where-ever it lives.
More importantly, if you’re using a personalisation engine or campaign management platform with your web application, you’re now in a position to really personalise the user experience and create effective campaigns that really affect your audience. Even better let the user liven up their interaction with your site as they wish e.g. Playing with the colour scheme or delivering relevant news-feed based on item-Types such as football assuming you categorise your content repository.

Finally, the demands of participative architecture (AKA Web 2.0) means delivering an online experience that has stick-ability is a serious challenge going forward.

CMS vendors really need to be careful with the messages they’re sending out when selling their solution. I came away from this excerise feeling all CMS tools are actually, the same. The difference now is in usability. If you’re doing due dilligence means you need to ensure you get what you want and what the users want !!!


Reinventing Brands for Generation Y June 14, 2006

Posted by poseidongroove in Bazaar, brand, Chaos, Collaboration, Edge Thinking, generationy, Social Software, Web Culture, Weblogs.

It’s becoming apparent over the last couple of years that participative architectures or Web 2.0 will bring seismic changes to IT, the workplace and the way companies engage with their target market using their brand.

Here are some good indicative links, Dion Hinchcliffe’s Five Techniques for Using Web2.0 to Reinvent the Customer Relationship, Deborah Eastman of Biz360 recorded a podcast with podtech.net about measuring the impact of blogs and mainstream media on the value of the brand.

I like this article about Enterprise Valuenetworks. It’s important, because in IT we tend to think that implementing process oriented applications is all about analysis, the old fashioned way top down bottom up etc, I’ve covered all the grounds.

Yeah right, the problem with this approach is that you tend to have the most important bits falling through the crack because, people oriented activities do not lend themselves to data modelling or use case modelling for that matter. Meaning we invariably exclude these fuzzy processes. An evident effect might be corporate sites rarely deliver any incremental value to the brand.

Why ? We forget real people in all the mad rush to encapsulate process automation on sites or brochure-ware. participative activities are random and amorphous.

Generation Y and their younger sibling that have grown up with social networking platforms such as facebook and myspace to define their identity will subsequently engage emotionally with companies or brands that identify with their outlook on life and provide positive aspirational means to express these identity.

These values could be social, fashion or health related. If these were the case, I can imagine a situation in the future where businesses that provide quality syndicated feeds related to my lifestyle will get more of my attention. The feed content might include Blogs, Videos and forums. These content might also be user mediated.

So the Advertising model we have today will surely go away. Why waste your money advertising to folks that aren’t interested. RSS feed subscriptions may one day become the real measure of brand value and loyalties. If businesses spend more time providing really valuable content that encourage user feedback and participation you’ll be onto a winner. I’m not talking about posting a Nike shoes video advert on a site for customers to watch. Feeds might be the best indicator of group intention.

It’s exactly what Lego are doing now with Lego Factory. If I can design my own Lego bricks to order, I’d be more inclined to value the brand and pay more attention to their message board.

So think about it, is it not better to empower your customers to have a real say in your products? rather than a feedback buttons on your site. If any industry needs it more than any other, I think banks could do with a human face. For too long in this industry, the computer has been saying yes or no….. Here’s my mind map of what’s wrong and how to put it right.


Catching Up With Java One – Annotation and Dynamic Languages May 26, 2006

Posted by poseidongroove in Annotation, ATG, BEA, IBM, Java, JavaOne, Oracle, PHP, RUBY, SOA, Weblogs.
1 comment so far

If you want to catch up with all the Java One sessions, you should start here, PodTech. You can listen/download all the session podcasts there. Highlights include, vendors such as BEA demonstrating capability to run PHP on their App Server(imagine clustering and session failover for PHP Applications nice). J2EE 5 support for annotation. BEA's Bill Roth also presented a session called Use the Right Tool. Good Job guys. People are listening.

Annotations reduces the amount of code and xml files we currently have to live with in Java, Annotations are mark up notes in the code that tell the Container how to execute the code, generate deployment descriptors or connect with a resource. So you can write a simple java class and insert annotation to let the container know to treat it as an EJB. 

The JDK development team are claiming a significant reduction in the amount of code in this version of the JDK. I've personally not verified this. However, what I see so far is very good.

My take, Java has finally dealt with one of the big things the .Net camp and dynamic language camp used to scream about. Too much complexity. The only thing someone forgot to tell the .Net camp is that they're just as bad.

It's one of the reasons why I rarely use EJBs why bother when you can use Servlets or message driven beans.  All that nonsense code and deployment descriptors for what. I'd rather write CICS transactions or Encina Procedures.

Java started off well, then complicated things with all the silly XML descriptors, Java Community Process made it worse as well. I remember a few years ago it was almost a nightmare for developers to keep track of all the JCP activities. I think that's why dynamic languages became very successful overnight. Over engineered complexity for what !!

Anyway good job to the J2EE and J2SE development teams about time all that code was reduced. The news is, a lot of the JCP code will be rolled into the JDK. I'm glad that's happening as well.

Several other hightlights for me, there was talk about participatory architectures in most of the sessions

I hate to say I told you so. One thing that hasn't escaped my attention is all the talk from the J2EE development team about using dependency injection  in J2EE 5. Hmm, so Java has finally caught up with what ATG did with Nucleus years ago. Alright, I know Spring Framework mimics this as well and more. Shame ATG didn't make it open source at the time. 

With dependency injection, you can easily wire together an entire application without writing a single line of Java. I remember developing a site using this approach several years ago. So now they call it dependency injection. Ok thank you, I'll call it plug and play and everyone thinks it's new!

This is one of those defining moments in Java. We've spent so much time over engineering the beast and finally some common sense is now needed. The language is now all about participation from Oracle, Sun, BEA and IBM the message is the same. I'm glad the big vendors are listening. Make all scripting languages part of your platforms and you automatically convert a lot of developers in the enterprise to code to some enterprise standard API. Basically, you work out which are the enterprise developers and workgroup application developers in this way.

Me suspect it's the PHP and Ruby on Rails gang that's forced the big changes to the Java API. These changes are good.

Finally, this is the best Java One for a while, I think we'll start to realise the benefits of all these features from vendors and developers alike pretty soon. If you're a developer, you really ought to start checking out all the new features of J2EE 5.  If you only know one development environment you ought to get your head examined. There's a lot of good things to learn out there@ the mo.

Paradigm Intelligence – A Manifesto for Enterprise IT May 12, 2006

Posted by poseidongroove in Absolutism, Bazaar, Chaos, Collaboration, Edge Competencies, Edge Thinking, Microsoft, Paradigm, ParadigmIntelligence, Politics, Social Software, Web Culture, Weblogs.
add a comment

Finally, my PSP, Metal Gear Acid and a Spanking New Sony MDR-NC50 noise cancelling headphone turned up yesterday from my insurance company eSure. They're not going to replace the stolen laptop because of the cost of a T42p over £2000.00, they're going to send a cheque for £1500.00 better than nothing I guess. I've actually not had much time to look at the gear been busy with start-up related work. I've actually missed the PSP a lot. It was my replacement for the Radio. Even the freebie iPod Video I got from signing up for a new phone plan can't match it. All that trouble of Synching with iTunes before I listen to a podcast is annoying. At least with the PSP I can stream Podcasts over WIFI !!

 Anyway, for the past week, I've been thinking about a way of describing why Enterprise IT just can't handle or understand Web 2.0, this is a follow up to my previous post about Dynamic Languages. I stumbled on this link, What is Web 2.0 ? a poll of readers of the Register. Honestly, I've found the feedback in the poll fascinating. For a lot of people struggling with every new thing/buzzword under the sun I can understand.

Fundamentally, we have a problem with how we as humans process information or things we come into contact with. I think it's all about Paradigm Intelligence, the ability to stay above the fray in your respective perspective, mind map or profession and see things from the other camps perspective. It's a very rare skill indeed. Our attitudes and behaviours all flow out of our paradigms using our self awareness and rose tinted glasses to examine them. The last bit paraphrasing what Stephen R Convey said in his book. What's even more striking is the ability to see through the waffle and identify the excellent opportunities to redefine your existing paradigm for the better. All we get today is reactive language judging by the comments in the poll above.

We all talk about emotional intelligence, no one really talks about Paradigm Intelligence, if an Ulster Protestant can see things from the perspective of his Catholic Ulster-bretheren and vice-versa then they're paradigm intelligent.

This morning I was listening to Dr Moira Gun's Technation Interview of Dr Amartya Sen it suddenly struck me that India is perhaps the best example of a nation that is exhibiting Paradigm Intelligence tendencies. The UK is also an excellent example in parts. I especially like what Dr Sen, a Nobel Prize laureate of Indian background said about radical Islam plays on fear to whip up hatred against the West. I've therefore come up with a series of phrases to describe what it means to be Paradigm Intelligent and otherwise.

  •  Paradigm Intelligence is recognising that social networking and participative architectures present an opportunity for IT to engage real users and re-energise enterprise architecture,
  • It's not reacting negatively to every thing even though it starts up looking like another buzzword, it's your job to identify the substance,
  • Paradigm Intelligence is not your race, colour or creed taking over your common sense and appreciation of another person or their culture,
  • Paradigm Intelligence is there for everyone to see in a Nation with a Sikh President, an Italian Born female party leader and a Muslim Prime Minister,
  • Paradigm Intelligence is not scare mongering and acting in a protectionist manner when a foreign company attempts to take over a crown jewel,
  • Paradigm Intelligence is not voting on tribal lines and blind ethnicity as is the case across Africa,
  • Paradigm Intelligence is not blindly buying everything from IBM, SAP, MSOFT or any other supplier for that matter regardless of the stupidity of your judgement, Who told you no one ever got fired for buying from these guys. Well, some day you will !!
  • Paradigm Intelligence is not sniffing at Dynamic Languages and calling them crap and chaotic, I've been there, I was once guilty of this !
  • Paradigm Intelligence is not rubbishing everything from Apple, okay most of it is good albeit every Apple product is hyped to death, (Guilty)
  • Paradigm Intelligence is not Blair and Bush invading Iraq without a plan B,
  • Paradigm Intelligence is not Pastors or Religious leaders being brazenly richer, rotund and looking healthier than their congregation in third world countries,
  • Paradigm Intelligence is most certainly not putting street signs and council leaflets into ethnic languages in an English speaking country. Thank you Mr Council official we don't need you wasting tax payers money. If you can't speak English go back to wherever you came from.
  • Paradigm Intelligence is not DRM'ed music and films, hey guys, we're not kids your epoch, era or whatever type of control you're imposing will not last,
  • Paradigm Intelligence is being pragmatic about using whatever tool is best for the job in the context of IT as opposed to being dogmatic and bigoted. (Very difficult one, I'm guilty of this sometimes).
  • Paradigm Intelligence is not believing everything you hear or read in the Fox News, Mail or the Guardian (UK Newspapers, masters of polarised views),
  • Finally, Paradigm Intelligence is understanding the relevance of open source bazaar software development approaches in delivering really useful solutions that end users use for play and work.

If you can think of anymore, go ahead and add your own or write about it. The more you ask yourself are my paradigm intelligent looking at this issue, the more likely that you'll be able to understand things better and not get too arrogant about your reactive clouded absolutist views. Remember, no one, is totally, paradigm intelligent !! 

Context of Use for Dynamic Languages April 30, 2006

Posted by poseidongroove in Chaos, CMS, Joomla, PHP, Python, REST, RUBY, SOA, Social Software, Web Services, Weblogs.

The last few weeks have been quiet on the blog but very busy for me workwise. I had a few customer projects to put into production and also complete hand over. Last Friday was my last day at Consider Solutions. Been fun working amongst friends the last 3.5 years or so. Will miss you guys.

I’ve started up a project with some friends; I’ll share details of what we’re doing on the blog in due course. You get to a crucial age when you feel I really want to make the difference in your own little way. I’m @ that stage right now.

This post been nagging away in my mind for several weeks, Richard Veryard blogged about it a few weeks ago The Lightweight Enterprise. I’d already written up a draft on my stolen laptop.

We have two camps in application development today, the dynamic scripting languages camp and the enterprise class application development camp. Without Dynamic Languages like PHP, Ruby and Python, we probably will not have the amount of innovation we have on the web today. Just think for a moment, WordPress and Typepad are both written in PHP so they’re enterprise class content management systems are they not? On the other hand Enterprise IT is slow cumbersome, standards obsessed, reflective and worse stifles innovation. We’re so full of contempt for Dynamic Languages because we think we can’t control it. I’m transitioning between these two camps all the time, until I discovered the Power of PHP and Ruby I was an enterprise bigot. Now, I have a more pragmatic view about all things software related. I’ve always used Jython for light coupling, PHP and Ruby are simply awesome!

I’m building our company website in Joomla at the moment, I’ve used Documentum, Media surface and Interwoven Teamsite. Joomla and Mambo are more elegant and easier to use. Besides, you can create enterprise grade websites in these tools even if I hate to admit it. Better still, they’re free, loads of free templates available for them. So where does this leave our bigoted view of superiority of so called Enterprise Grade Architecture/Software? Maybe locked into a bitter fight for deals with fortune 500 companies. Leaving the door open for mass market adoption of so called open source alternatives.

I think what So Called Enterprise Software vendors need to do is recognise that you can’t stifle innovation for long. I think the best way of opening up Enterprise Applications and Architecture to participation is to recognise a context of use for Dynamic Languages.

For example, if all application server vendors, enterprise service bus and BizTalk(Whatever MSOFT App Server is called), have out of the box Runtime support for as many scripting/dynamic languages as possible, you then empower developers to use whatever tools are available to develop rich web applications. All these bigoted views we have about what language is better will cease. Who cares what language, who cares if you use REST or SOA? As long as end users adopt the application and it scales, that’s all that matters. It really isn’t that hard to do this. My last project used Jython referencing Java APIs provided by the platform.

If you’re in a big enterprise, turning your nose up at Dynamic languages, you do so at your peril, you’ll be out of a job soon believe me. The world of software will start to revolve around free software and software as service in less time than you imagine. Only the vendors that tolerate innovation and open up their platforms will survive this shake out.

If you’re in a command and control enterprise, your developers are all spending their spare time getting up to speed with Ruby and PHP. Yet when they come into work you say thou shalt only use Java or C#. You’d better smell the coffee before it’s too late.

How about developing reusable services/components that can be used by all languages using REST?

If you Mr/Mrs Enterprise follow this approach you can then force your software vendor to provide a runtime environment for scripting languages. It then becomes easy to loosely couple services in your enterprise and harness available skills to build any application.

The question of scale will disappear why? If you use REST to couple a PHP based application front end to a backend SAP, BEA or Siebel CRM everyone is a winner, the application scales (hardware is cheap with dual core and virtual servers, you get more from your CPU investments) structured languages and dynamic languages bigot let’s all get together and make the end users happy. That’s our job!

Reporting Crime is all about Insurance Claims – Damn !! March 26, 2006

Posted by poseidongroove in Mashup SOA, Police/Crime, Politics, Spark, Weblogs.

I'd already written most of the post I wanted to publish this week as a draft email in my in-box. I often do this as I commute to work on the train. Most of my blog entries often start like this. Unfortunately, my laptop, PSP and a few games were stolen in a pub a few days ago.

When you loose something as personal as a laptop, it takes time to realise how much our life revolves around technology. The last major back up I did of my laptop wasn't that long ago but I still lost about three weeks personal work. I don't think I lost any company related work which is good. It has disrupted how I organise my day. I usually commute to work listening to podcasts on the PSP or stuff to keep the mind ticking along. I've also lost my most recent game saves on the PSP.

So the Falcon pub, Clapham Junction where the incident occurred, Victor and I were directly under a CCTV camera. I thought okay, at least the police will be able to nail the thief. I went straight to report the incident within 10 min's. When I got there, the policeman taking notes wasn't really interested nor did he give me any encouragements that the case will be looked at.

Two days later, I rang the police, "guys have you checked the CCTV yet", oh no, we're busy with other stuff. I was really livid. I then asked the policeman a question. Where is the incentive for citizens to report crime when you're doing this. I thought the whole idea of what I was doing was helping prevent crime by someone viewing the CCTV to prevent this guy re-offending. According to the pub landlady, the recording is very clear as we were sitting directly under the camera. She was just as frustrated as you can imagine, it's giving her pub a bad name.
The police reacted and promised to look at the case, I've not heard back from them since then and don't really expect to. I've told my insurance company. It seems reporting a crime is simply about paper work for insurance claims. What a bloody pain. I'll think twice before reporting a crime again.

My laptop bag containing my passport was found by the manager of Levante Lebanese Wine Bar, Foods in the trash bin in front of his house. Apparently, whoever, put it there did so in a hurry under a few cardboard boxes. I guess, I should count myself fortunate, my passport, keys, bank details and other stuff were still in the bag !!

I planned to write about Dynamic languages today but will have to do this later.

Before, I stop, there is a very interesting post by Phil Wainewright here at looselycoupled

The one about "What will spark ignite" It seems finally people including Microsoft are starting to see beyond the whole web 2.0 and focusing on the practical implications as I've been suggesting. Of course, I'll not make all my ideas public just yet. One person I know personally involved in Sparks is Richard Veryard. I worked with Richard at Texas Instruments. At least, I know he's good at seeing beyond the hype.

So Mr Thief, if you think you and your eBay friends have taken away my most valueable. Think again. I've got my brain and all the content is spread across cyber space. I just need to assemble things again. Thanks to box.net, mindshare, del.icio.us and Wizz RSS, It doesn't take that long to get back to where I was. A lesson for everyone. Alway use offline backup. 

Stuff I’m Working On, Mash-UP SOA for the Intention Economy March 17, 2006

Posted by poseidongroove in Apple, Chaos, Collaboration, e-WorkPlace, Edge Thinking, ESB, eWorkPlace, Graveyard Portal, iTunes, Mashup, Mashup SOA, Microsoft, SOA, Social Software, Web Services, Weblogs.
1 comment so far

I feel vindicated that Ray Ozzie was on the Gillmor Gang articulating some of what I’ve been saying again, on the Gillmor Gang (WIKICalc Gang) that there is value in Web 2.0 beyond media content, Podcasts and shared calendars. A full expose on this will come later, been reading Doc Searls article here on Intention Economy Great read. It’s pretty much describing some of the ideas I’ve been working on and articulating, it’s called Collaborative Services Description Language – I’ll describe it as an extension to Web Services Description Language and BPEL. However, CSDL goes beyond mere description of network services and simply wiring plain old business processes in a sequence for execution. If you’re wondering why not just use Business Process Execution Language, (BPEL) It’s because we need to get away from the straight-jacket of Business Processes described only in the context of IT Users alone and UDDI directories and allow for web mash-ups by real users to happily co-exist with business applications that have a social context of use. So maybe we extend BPEL !!! As long as your grandma can interact with it, that’s okay!

Think of a software agent that’s using underlying messaging workflows and rules engine on an ESB to connect multiple websites together to fulfil a composite transaction. So a Super Paypal might be the one that mediates the payment between intermediate sites that are part of this multi-step transaction.

So CSDL from an architecture perspective describes discrete events and services that any end user can easily orchestrate from a SOA or Mash-Up perspective, the important thing here is you allow chaotic services to happily co-exist with Business Processes. Loosen up that nasty straight jacket in Enterprise Applications which is really engineering user disconnect from enterprise applications. The most important thing is that some recognisable icon needs to exist to allow users interact with services in a fool proof manner from their browser. This icon, like the RSS feed icon that you, the end user can configure a personal agent. Okay, we’ve got enough acronyms to worry about, the important things is let’s provide a standard way of doing it.

For example, find me the cheapest multi stop flight to Hawaii from Paris, Book a Sea View room at my stop over hotel in Florida, Create a Watch List Agent that notifies me of any location on my specified route where I can watch Bon Jovi live or similar bands from liveplasma This mash-up spans a typical user browse session. In fact, it could be saved as a “Personal Holiday Agent” that other’s can clone or consume for a Service Bookmark Site!!! Imagine, this can complement the Lonely Planet Guides; you can just clone the experience. This is possible using Enterprise Service Buses with their messaging capability and routing capabilities but we need to build interaction services on top of them to make them useable. So where the money exists on the Web is not Attention Economy, it’s the Intention Economy, we’ll happily part with our hard earned cash if anyone can give you an experience or service that can take the burden off you !

  • The browser UI Interaction can be completely written in
    AJAX whatever given the interactive nature of these services,
  • Provide for a standard interface that describes these first class objects and their properties Forums, WIKIs, Blogs, Documents, Media Content, a Tag-able Content from an abstract perspective, therefore, If company a ships over the wire a WIKI objects and all it’s properties from IBM to MSOFT, Oracle or BEA’s collaboration platform, the stuff is created without any problem,
  • Give semantic meaning to user interaction/transactions in a social network context, as well as making it meaningful to computers and competing social networking or collaborative platforms,
  • Provide a unified social networking services or so called mash-up SOA,
  • Allow different platforms to exchange collaborative data/services in a structured manner,
  • Combine SOA Services and Social Network Services(Web 2.0) transparently from an end user perspective,
  • The primary aim of CSDL is to provide a means to unify the semantic web and provide a Create, Read, Update and Delete invocation mechanism in XML
  • Enable a standard metaphor to organise bazaar applications,

So whilst everyone is focussing on Apple and iTunes, calendars, Digg, Newsvine, and Flikr. They’re really missing the whole point. Web 2.0 is the first time we really made an effort to empower end users, yet everyone is wetting themselves on shared calendars. Its companies and services that provide a compelling service and infrastructure around helping us spend our money in a way we feel good those are the real winners in this new world.

I thought, I’d have time to walk through the XML Schema tonight, However, I’m struggling to stay awake now. Will post later. Goodnight.

Architecting e-WorkPlace Applications for Participation March 10, 2006

Posted by poseidongroove in Bazaar, Chaos, Collaboration, e-WorkPlace, Edge Thinking, eMail Management, eWorkPlace, Mashup, Mashup SOA, SalesForce, SOA, Social Software, Web Services.

I’ve had a very busy last few weeks practising what I preach. Before I launch into my muse, a friend asked me why I don’t go deep and dirty into technical details on the blog. If anyone else is wondering, it’s because I also have a business audience trying to understand our thought process as it relates to application design, expressed in a way they can grasp(Even though sometimes, I forget about this). So I’ve been integrating Salesforce.com into a Global Marketing Collaborative WorkSpace for an Investment Bank in the City.
In summary, the sales guys use salesforce.com to create sales opportunities on the road with multiple devices, (Micro View). Managers and sales support team use their Global Marketing Collaborative team rooms to review, approve and discuss the macro issues related to each specific marketing request (behind the corporate firewall).
The integration piece is relatively straight-forward, I call it “Right Coupling” Salesforce generates an email of the captured opportunity in simple xml tag name value pair format as each request is being created.

Each unique request is sent by email to a specific context in the Global Marketing Workspace. The context, in each case, is a regional dashboard of Marketing Requests RFP e.g. Japan. A Jython scripting event is subscribed to each context listening for incoming emails. The event is simply a “Search Agent” looking for anything that matches specified criteria.
The Jython event picks up the incoming XML name value pair metadata in the email and creates a team room for that specific opportunity using the values in the email as attributes.
The team room includes a discussion forum, document templates and task list. All cases are viewable in a dashboard. They can be sorted/filtered by status and whatever else anyone fancies.
This simple integration solves a problem most companies might be facing today when faced with integrating several applications that on the surface have similar features. As an architect, you need to pay attention to the following:-

  • Context of Use – What categories of users love using a particular application and why? You simply can’t implement new technology for technology sake. It also applies to design patterns. If email is sufficient use it.
  • Macro/Micro View – It’s important to appreciate where detail and summary information needs to reside. In this case, it was obvious that it needed to be in SalesForce.com The managers only need access to summary dashboards, sales support need access to emails, tasks, documents and everything else related to the case.
  • Confidentiality – Even though On Demand platforms are brilliant at what they do, there is a segregation of duty between externally hosted applications and internal applications. In the case of banks and pharmaceutical, it’s easy to tell what belongs where.
  • Creating a Context for Exception Management – Very few companies pay attention to exception management when implementing applications. This is where the most value is created and significant knowledge about process exists. A collaborative environment is better suited for managing the conversation thread around any exception that relates to that opportunity. Think of forums, WIKI, and Document Templates Library.

Why am I writing about this? I’m a big fan of top heavy command and control architecture, reference architecture name it as James McGovern described it in a recent post. However, what I’ve come to appreciate in my entire career in IT is that creating an inclusiveness culture in application design invariably makes them pervasive. You will quickly realise a return on your investments in these assets. I’m not talking about machines when I say assets, I mean people. People in companies increase the value of the brands. You need their collective assets, Organisational Memory to give meaning to your business. It therefore follows that you need to architect for participation. An environment where thoughts and ideas can flow sits comfortably with command and control applications such as ERPs, CRMs and Sales Force Applications.
For this customer, it would have been easy to say use an ESB/Web Services/SOA whatever to mediate the messaging between the two platforms however, as with everything else in our sphere of work, a pragmatic approach might often be a better approach. It’s also possible that the customer wants to move to a more secure alternative that assures guaranteed message delivery.
Everyone including moi knocks emails. As you can see in this example, email is not only a powerful medium of communication; it’s also a low cost and effective integration mechanism.
When architecting enterprise applications, think about barriers of entry for end users. User adoption and user participation invariably decide how pervasive any application is. Our mission now is to take SOA beyond UDDI directories to become browser icons. My next post is on Collaborative Services Description Language. (CSDL) an idea I’ve been working on that I believe will enable end users to compose and orchestrate services from their favourite applications. (At least that is the hope). I would also call it a unified service interface for social networking. AKA mash up SOA!

Crackberry – Who Cares About The Patent February 27, 2006

Posted by poseidongroove in Blackberry, Chaos, Crackberry, eMail Management, News/Media.
add a comment

Drinking Email From a Fire Hose, The Crackberry is officially, worse than drug addiction. Here are some excellent tips on going to rehab and curing your addiction plus turning off the fire hose.

read more | digg story

Top-Down vs. Bottom-Up Approaches To SOA. No! There is a Third Way. February 24, 2006

Posted by poseidongroove in Bazaar, Chaos, Collaboration, e-WorkPlace, Edge Thinking, ESB, eWorkPlace, Graveyard Portal, Mashup, Mashup SOA, SOA, Social Software, Web Services.

I was passed a link to a Gartner Report report (Sorry you need to have an account to view the report) recently by my CEO, Dan French. The Gartner article claims there is a process war being waged by a “Top-Down Brigade” who are process centric, that see SOA as a framework that underpins the notion of representing business processes in composite applications, that access functionality decomposed into a set of services. The other group, “Bottom-Up” camp are essentially the integration brigade. They see SOA as an improved way for creating interfaces between application. I think I’ll describe this category as adaptive vendors or companies that started off flogging EDI, EAI, Web Services technologies. You might also include Application Server Vendors trying to move up the food chain with so called Enterprise Service Buses.

The article also goes on to compare the two camps as the battle between the purist versus the pragmatist, the value generator versus the cost saver and the Business Evangelist vs IT implementer.

Even though the two camps have good points they still don’t get what SOA really means. Rearranging the Powerpoint Diagram is not enough. I have to take anything Gartner says with a pinch of salt. I don’t respect any company or bunch of analyst for that matter that constantly rig their reports based on which vendor pays the most tip. If they don’t rig or be easily swayed by particular vendors, how the hell does a bunch of unrelated APIs by any vendor suddenly become Enterprise Service Bus or Enterprise Content Management Hence, I call it the “Magic Quadrant Syndrome” I’m glad I’m not the only one that is suspicious of Gartner, James Governor has also bemoaned the problem caused by groups like Gartner and their “hommie” relationship with vendors. If you want any evidence of rigging, checkout this post and the threaded comments from a few years ago. Funny enough, I think the most lucrative job in IT might be Vendor Qualification and RFP/RFI Consulting. I think I’ve decided to go into this line of work!

The challenge that is facing us today is missing in this whole arguement. Where is the third way? I’ll repeat this again. Until SOA grafts on collaborative social networking services it’s going to stay in IT. Hard core processes locked into SAP, Siebel, PeopleSoft are meaningless. The word process drives me nuts. Even when they’re broken we persist with them. No wonder creativity is dying in organisations today.

SOA needs to bring that mash up revolution outside the firewall inside the enterprise and into our homes !!!. The Process Brigade need a social context. e.g. make mash ups become services in SOA, The fact that an activity is undefineable doesn’t mean it can’t be called a process. If you’re looking for good examples, you only need to look at Government Department IT Projects. Total waste of our taxes. There is no real process in government departments. All they really manage is exceptions. How can an exception become a process. You’re more likely to need to converse with a human being somehow to resolve most exceptions. The Bottom Up Brigade need to recognise that Integration for it’s sake is useless unless the integration brigade delivers the services into pervasive end user technologies forget it. A possible reference platform for this mash up is already out there checkout ServiceMix Talk about being Open Source and built from ground up to be Service Oriented. A word of caution, just like App Servers were plumbing so are platforms like ServiceMix. However, the potential exists to build something pervasive on such an open platform. My ideal reference services architecture looks like this. I think this is a starting point.


Next Generation Services Reference Architecture

Here’s a checklist of the Third Way:-

  • Focus on Context of Pervasive Use not UDDI, RSS didn’t become useful overnight. It wasn’t until the word didn’t matter that it had a context of use.
  • End User Presentation Services will drive adoption of SOA technologies. How? By infiltrating everything they do at play, at school and at work.
  • Manage Chaos. Social Software and Mash-up needs horizontal and transparent means of control especially behind the corporate firewall. Remember, there can be Order in Chaos. SOA can be just that. If you focus on what people can’t do you’ve already lost the battle.
  • Build Trust not suspicion, Security Groups in Enterprise IT are out of control. They’re stifling innovation.
  • The word SOA Governance in SOA is being abused. So is the word compliance!
  • Aggregation Services are not as useful as they seem. If they were useful enterprise portals will not be Graveyard Portals today behind your company firewall.
  • Focus on multiple channels of interaction, e.g. email, fax, sms, etc can be service oriented as well. If I can orchestrate in Blackberry or iTunes you’re on to a winner.
  • Mash Up SOA needs an appropriate orchestration language similar to RSS, Something users can click on, browsers can orchestrate, what ever, I call it Collaborative Services Descriptive Language. (CSDL) a possible combination might be a more useful version of BPEL, I’m not comfortable with all the implementation examples I’ve seen so far because it’s not expressed in a typical grandma Josie or Uncle Harry’s context of use.
  • Uncle Harry, for example would like to create a multi step mash up service that monitors the cheapest and best locations based on specified criteria for his next cruise holiday. Think about car hire, guide, villa, golf, flights etc. These types of service need to be available for end users. Not some lonely sandal brigade UDDI Flunkey kicking tyres at an Order Process Orchestration!!!.
  • If you can’t affect the price of fish forget it. Metaphorically speaking.
  • I passionately believe in the vision above hence, I’m diligently going to pursue this vision with or without any help until I see it come to pass.
  • We need a Mash Up SOA Icon like the Universal RSS Icon, The RSS icon now easily recognisable, SOA needs to become like that!!!