Keeping Promises and Excuses ! September 6, 2006Posted 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, 2006Posted 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, 2006Posted 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 !!!
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.
Reporting Crime is all about Insurance Claims – Damn !! March 26, 2006Posted 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.
Crackberry – Who Cares About The Patent February 27, 2006Posted 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.