The Wayback Machine - https://web.archive.org/all/20100420181707/http://smart421.wordpress.com:80/

I was recently fortunate enough to be able to attend the JAX London conference at Hammersmith. The JAX series of conferences have been going since 2001 although this was their first event here in the UK. The event itself was held over 3 days at the Novotel London West in Hammersmith; it consisted of multiple speakers, over a series of different “tracks”, covering a variety of topics. These different tracks covered agile development, architecture and Java enterprise development. In addition, there were a set of keynote sessions. One of the nice things about the structure of the tracks was that you were not “locked into” a particular track each day but could move from session to session as different subjects caught your interest.

Unlike other conferences that Smart421 frequently attends or presents at, this was more focused on developers, architects and to a lesser extend Project Managers (mainly on the agile side) whereas previously Smart421 has focused on seminars and conferences aimed at business decision makers.

The first session I attended was entitled “the busy developers guide to iconoclasm”. An interesting title to say the least, I went into this keynote not knowing what to expect. The main thrust of Ted Neward’s talk (an excellent speaker, by the way) was that with the expanding global job market, it is no longer sufficient for a successful developer to see himself as just a “code monkey”. Many emerging markets can provide coders at a rate far less than what any Western software developer would accept as a basic salary. In order to compete against this we need to bring more to the business than just providing code (even high quality code). The iconoclasts of the title are technology practitioners who were able to challenge preconceived ideas and succeed! These are people that just went their own way or did their own thing, these are people who made a success where others said “it can’t be done!” A suitable example was the rise of Apple Corporation thanks to the massive commercial success of the Apple iPod.

The idea of questioning what we accept as everyday decisions and the default “best practices” would be raised a few more times through out the conference. As new technologies arrive, the old ways may no longer be the best way forward. Every few years the best practices have been redefined, and the correct way of doing things has changed. Some of you will be able to remember when the mainframes ruled corporate IT. Since then we have moved to Client – Server being the “best practice”. This gave way to the “n-tier” architecture, then the web-enabled AJAX solution. Now, we have the rise of the Cloud. Procedural programming was superseded by Object Orientation. Now we can add Dynamic and Functional programming to that mix. Currently every enterprise solution starts with “a client application talks to a server which talks to a relational database”. This is the “default” option selected by business, architects and software companies as this is what they know, it’s familiar and it’s “what we have always done”. With these new paradigms we should be looking at this “default” option and asking “is it correct for this problem?” Does our data fit into the relational database model? Do we need concurrency across all our servers in the cloud right now? Can we survive with making our data consistent when it matters and not instantly?

With these shifts in thinking, we need to refocus on what is actually important to our applications. Entities such as “Transfer Object” are actually an oxymoron. What you are interested in is transferring data not objects. What defines your program is the data and the operations on the data, you are not really interested in the actual objects themselves. With the transfer object problem there is a real danger of exposing your data access details from yor data tier to your UI and presentation tier.

During the Tuesday evening there was an open panel discussion covering discussion on the future of Java, the JVM and the rise in newer languages such as Scala, Clojure, Groovy, Ruby, etc. With these new dyanamic and / or functional languages gaining more and more attention over Java there is some concern as to whether or not this was showing bad signs towards the future of Java as a whole. Dynamic languages, such as Ruby and Groovy, add scripting to the JVM platform and even feature interactive prompts unlike the current statically compiled Java language. Functional languages, such as Scala and Clojure, have been gaining more and more attention and provide features of interest that are not available in Java (e.g. closures). These languages have been gaining more and more attention instead of Java. One of the important things to gain from this was that these languages are being run on top of the JVM. Rather than replace Java, these languages are able to compliment Java by sharing the JVM. Any code written in a language like Scala is converted to byte code and run on the JVM, as is Java. Rather than seeing this as the death of Java, this shows how much power is available to the Java JVM thanks to these languages; do you require an object oriented solution? there is Java. Do you need to use a functional language? Well, we have Scala and Clojure running on the JVM! Dynamic language? You can have Groovy or Python on the JVM. Pick the tool that gives you the best solution to your problem.

When does a busy developer find time to learn or investigate one of these new languages? Well, this goes back to the opening of the event, if you are going to provide more value to your employer than an off-shore developer then you will need to invest in your own career yourself and spend some of your free time investigating these new languages. Anyway, you became a software developer because you enjoy coding right? And what could be more fun than learning a new language!

It would unusual to have a gathering of IT people without a mention of the cloud these days. Various parts of the architecture track focused on the cloud and cloud architectures. Without going into detail here on the differences of IaaS, SaaS or PaaS, the focus during JAX London was on the development of cloud solutions. When moving to the cloud there are several possible approaches depending on the amount of scalability required: is it a simple matter of adding more “tin”? do you require the use of parallel computing or are you going to use an already available platform? There was also some discussion on clustering and consistency of data across servers. When moving to a cloud solution, do you require all your data to be consistent across all your servers? If you can avoid this requirement then the overhead of maintaining every server in sync can be reduced or removed. Some examples of this are sites such as Amazon. The stock catalogue only needs to be update when you place your order, when you are browsing the site does it matter if the stock level drops from 80 to 60? When you are adding to your cart do you need a real time stock level of 54 items rather than the previous cached value of 62? Make sure your data is consistent only when it matters.

I found I gained a lot of useful information and insights into current Java development. The strength and quality of the speakers chosen only added to the event. If the opportunity would present itself I would be interested in attending a future event. The next JAX London conference is scheduled for 27-29 September 2010.

rome-headerWe generally try and send at least one EA-type Smartie to each of the European Open Group conferences, and this time I’m lucky enough that it’s my chance to go. There is no such thing as a free lunch in Rome though, and so I’m presenting in one of the conference streams on the subject of how to put some quantitative measures on the mythical business strategy-IT strategy alignment that is often discussed in Enterprise Architecture circles. If you happen to be attending, just come and say hello.

The conference is split into three main themes – architecture, security and cloud. It is interesting to see that cloud computing gets its own seat at the agenda top table, which is topical I guess, but also rather fashionable in architecture circles at the moment. My prediction is that it won’t have it’s own conference stream in three years time once the industry marketing hype machine has moved on to the next shiny thing, but “architecture” will still be there, because that is fundamentally what it is all about – enterprises that are designed rather than evolving accidentally will typically be more successful and efficient in the long run. Cloud computing just gives the Enterprise Architect some more tools in the toolbox to perform this task, albeit some very significant industry-changing tools.

I love the fact that the job I have gets me involved in some really interesting projects where you can be at the forefront and help shape the future for companies.

So it is of no surprise that I am finding myself increasingly looking at Cloud-based solutions for our clientsCloud-based Solutions and out of interest too and finding myself thinking “hey, this is great, it helps solve so many of my issues – reducing capex, increasing business  agility and reducing time to market” but I still keep coming back to what should I do with my data?

Data is the currency of all businesses and therefore is vital that it is protected; plus in the EU there are so many different rules that we need to adhere to that when you think about handing that over to someone else it just doesn’t feel right – just because I can put my data in the cloud, should I?

Will my data be safe? Who will have access to it? Where is my data? How is my data protected? What control will I have? How will my data be backed up and verified? What access will I have to my data? What happens if it all goes wrong? These are all common questions and are the main ones that people come back to and are the questions that you will need to take up with your Cloud provider. They should be happy to answer all of these questions and if not, then I would seriously consider if they are the right provider for you.

These are key questions and points that need to be understood and agreed with your provider as these will ultimately form part of the SLR and should match your organisations SLA; You will be losing some control over the data so ask yourself is this right for you? Remember that you will still be responsible for the data whilst it is in the Cloud so make sure that all the associated legalities are  addressed (PCI DSS, DPA etc), have a clear exit strategy in case it all goes wrong – you should be able to get you data back and in a usable form. You may find that the security provided by the provider coupled with your SLA’s offers you a more secure solution than if hosted in house. Speak to other customers and other providers for references and guides on price and capabilities – as is true with so much in life you often end up getting what you pay for.

If you can address these points then there is no reason why you shouldn’t move your data to the cloud, but ultimately you have to ask yourself just because I can, should I? There are many people out there hosting their data in the Cloud, some have some of their data in the Cloud and there are others who don’t host any data in the Cloud – just because you don’t move your data now doesn’t mean that you never will and likewise, if you do  move your data to the Cloud then there is no reason why you can’t then bring this back in house if it is not working for you (make sure this exit strategy is part of your agreement with the provider!!!)

If you consider the points above then I am sure you will make an well informed and thought out decision on if you do put your data in the Cloud or not…

We like to track what’s going on in this market because we’ve been involved in it before. Following on from the last post on this subject, I noticed a news announcement about I-Kube who are now offering a curfew-based telematics motor insurance solution, as reported in the Telegraph. I note that I-Kube are backed by Royal Sun Alliance so I’m not sure if this is truly a new telematics market entrant.

The basic model is that you (a young driver) are charged £45 for driving after 11pm, so as we’ve discussed before it’s a nice simple model; easy to implement without massive IT/data capture requirements, but of course still requires someone to come and attack your prized hot hatch with an electric drill etc.

It’s been a while since I have attended one of these so I went with an element of excited anticipation…honest :-)

In truth it was good to have a day away from the office and client site to refresh my view on as many Websphere related topics that I could cram into one day. Another important facet of attending the event was to ‘man’ the Smart421 marketing stand in between the various sessions with one of our Lead Consultant colleagues as part of our long-standing commitment and relationship with the WUG. This is always a bit of a daunting prospect but I saw it as a way of ‘dip-sticking’ the current IT temperature gauge – I was kind of expecting some stumbling conversations around the Cloud but there were more conversations around SOA…….a debate for another time but perhaps SOA is still more real for many organisations at the moment as they continue to experience the pain of their SOA journeys. 

The breadth of the sessions available is a real attraction of one of these events and to me adequately justifies any time and cost of attending one these events. We weren’t disappointed by the topics up for discussion. I went to 4 sessions consisting of:

  • Business Process Management: Collaborate, Iterate, Refine, Validate – by Waverney Croson, Consulting IT Specialist, IBM
  • Java 6 Unleashed: Tuning the IBM JVM – presented by Chris Bailey, IBM Java Technology Center, Hurlsey Lab
  • Learning from Other People’s SOA Experiences – presented by John Moe, Head of Integration Services, Tori Global
  • Websphere Message Broker V7 Introduction and New Features – presently by Dave Page, IBM Consulting IT Specialist

All the presentations I attended were well prepared and well presented but the one that in the end stood out for me was the ‘Learning from Other People’s SOA experiences’. There has been much debate on the subject of SOA generally and there has been much discussion amongst our consultants in Smart421; where it is today, where it is heading and how it relates to the emergence of the Cloud. Anyway back to the presentation……the slides rolled through but there were a few gems that I thought were worth repeating. The presenter clearly had lived and breathed this stuff and had also been burnt by it; his opening gambit was ‘its not easy’!. He stated that many large organisations had good messaging architectures (hub and spoke) and that moving to a SOA architecture (n layer) wasn’t necessarily a natural next step; “just because you can doesn’t mean you should”. Some reasonable advice was to begin your SOA evolution in small chunks; stay with the core capability of the product you are using to help avoid vendor lock-in around some obscure functionality only available in that product. He did say that the products in this area were far more mature than a few years ago but his strong advice was always to use vendor support to help you through the evolution process. He mentioned that the original implementations of most the products in this area were embarrassingly poor and this did remind me of some work with a client some time ago (circa. 2006) on an early enterprise version of one of these products – it would have been overly generous to even suggest this was ready for ‘beta’ trialing. Some of the other challenges he mentioned were around the adoption of service-based development practices and that organisations entering their SOA evolution should initially look to use agile methodologies to deliver services where tight control could be maintained; when the processes were more mature this could go to a waterfall methodology and off shored. The definition he used for determining SOA maturity was one around reuse; a rough figure of 30-40% reuse of services would represent a mature SOA architecture.

An interesting debate was around governance and it was made clear that this was one of the key barriers to success. This developed into an interesting discussion about versioning of services; this has been raised before on a client site and I was expecting a concise and polished answer but there wasn’t one. The answer given was that there wasn’t a tool out there to help with effective versioning of production services and typically the service would be split into 2 separate production services. He justified this by saying that as soon as a service goes live it effectively becomes legacy and there should be an acceptance that it will be difficult to change due to the potential impacts on consuming platforms. This is certainly something I have seen in practice but I wasn’t expecting that to be the norm!

The session that I was eager to attend based on the original order of the day’s events was the Business Process Management (BPM). I see a lot of need within organisations to manage their processes more efficiently and realise the cost savings that just a few key improvements can often bring. The presentation didn’t disappoint but I was left trying to work out how an organisation could effectively adopt such an array of tools in this area. It may be a reflection of some of the clients I have worked with but it seems to me to require such a large amount of transformation within an organisation to perhaps make it too big a shift to bite off in one go. Maybe the answer is in the question in terms of concentrating on implementing the products/tooling (let’s ignore the cost and vendor lock-in issues for the purposes of this discussion) and target a particular problematic or high-value process and just deliver it. If the delivery is successful (and of course it should be because you will have heavily weighted the first implementation in your favour) then get the recognition and buy-in from other areas and rollout the adoption of the tool and the other requisite skills, training etc. across more and more of your organisation. Perhaps to convince me, I need to attend a ‘Learning from Other People’s BPM experiences’ next time :-)

One of the great benefits of being a member of the British Computer Society is being able to attend the very good conferences, forums and presentations they host and run, one of which I attended earlier this – “Software as a Service – Is it the right time to move services into or from the cloud?”.

The event was run by the CMA who are part of BCS from the BCS headquarters in London and was very well attended, with the likes of IBM, Shell, Sun, Fujitsu, Logica, Barron McCann, Experian, BT, Siemens, Ordnance Survey and many others sending delegates showing the rise in interest in Cloud Computing across all sectors. There were seven presentations in all, two of which were examples of companies that have embraced Cloud Computing, and a presentation from Rahoul Bhansali from Hudson & Yorke who has been heavily involved in the government’s G-Cloud initiative (which is something I am sure I / Smart421 will blog on later as the initiative matures). However for this blog entry I want to focus on the two presentations that caught my eye and overlay these with the two examples of companies embracing Cloud Computing.

The first presentation I want to focus on was from Nick Coleman of IBM (author of the Coleman report) who delivered a presentation on “The future directions of the Cloud Computing”. The presentation focussed on the message that “Cloud Computing is evolutionally and not revolutionary”, something which I wholeheartedly agree with; managed services have been around for years, virtualisation is not new and many companies have run / hosted applications on hardware hosted by a third party – Cloud Computing is about pulling these together and enabling different combinations of SaaS, PaaS and IaaS to be put together to meet the specific and individual needs of a company. Cloud Computing is transformative; it offers businesses, especially SMEs, a lot of benefits such as a reduction in costs, agility in deliveries, quicker time to market, easy to scale solutions etc, but there are still a number of considerations that need to be taken into account – security is still the main concern with the Cloud – in 2009 just under 50% of vulnerabilities found in web apps were not patchable, with Cloud based solutions you are not aware of what else is being hosted with your application, and where is your app being hosted? – these are all answerable but you will most likely have to dig down to get these answers and may even end up having to pay extra to resolve them. As Nick alluded to during his presentation, Cloud Computing is transformative, businesses and people need to adapt and be willing to relinquish control over some key aspects that have traditionally been kept in house. It was these considerations that featured heavily in the presentations from the companies that had embraced Cloud Computing – Ordnance Survey and EasyNet Connect.

Richard Britton who was up until recently IT Director for EasyNet Connect, presented on how they migrated their complex 50+ applications into a SalesForce Cloud based solution. They also surveyed their customers and:

  • 73% of their customers said they would be using Cloud based solutions within 5 years
  • 37% of their customers said they would be using Cloud based solutions within 1 years
  • 66% of their large SME (50+ staff) customers are already using Cloud based solutions or plan to do so within a year

EasyNet have definitely embraced Cloud based solutions and plan to press forward with this as they grow.

Tim Martin and Ian Hoult from Ordnance Survey presented on how the OS OpenSpace product had been migrated to the Cloud; The OpenSpace application is used by many companies, including many local councils that seek the level of detail in the maps they provide. The application has between 5,00 and 10,000 updates on a daily basis that were shipped to all of the app consumers on a 6 weekly cycle, this equated to about 60GB worth of information so had to be loaded onto multiple DVD’s so was a very expensive process and a prime candidate to be converted to SaaS. In addition to the expense of shipping all of the updates, the demand for information on the local council web sites can flux quite a bit, the example they used was the recent increase in volume (around 80% above and beyond normal use) during the cold weather of people looking for salt bins. With this is in mind, it would have being very expensive for them to build the extra capacity that would be required to deal with a huge serge in requests. They decided to push OpenSpace into the Cloud to deal with these issues and can now serve 7 million tiles as opposed to 500,000 and for a third of the cost for delivering and now have a scalable and economical solution with reduced support costs – they can now add an additional server into an environment within 5 minutes if the need arises. With that said it wasn’t all plain sailing, they had to switch their database as the licensing with their existing DB was not “Cloud Friendly”, also the data has been split, so all personal data is held locally within Ordnance Survey and only the public data is hosted within the Cloud within the EU. All in all they have seen this as a huge success and will be delivering 2 more of their products into the Cloud, but will spend more time in looking into the contracts and licensing aspects which leads me nicely into the 2nd presentation I wanted to focus on that was delivered by Richard Kemp from Kemp Little who specialise in IT litigation on the differences between cloud services and outsourcing.

Richard, who has worked with Google and SalesForce on this subject, was a very captivating speaker with an interesting subject, one of which I think is the most important for those looking at Cloud Computing. As I mention earlier, Cloud Computing is evolutionary and not revolutionary, we have all been involved in outsourcing in some way, shape or form in our careers and we all know that one of the hardest aspects is the contracts that need to be drawn up to support these. The traditional approach is a transfer out of assets and in return you receive a service contract. Richard said that with the ever increasing shift to Cloud based solutions, things are not changing as much as people think; you still need to set the KPIs, SLAs and service description but now certain items are becoming critical to these agreements such as:

  • Performance – key service metrics need to be specified
  • Availability – with the services being accessed over the internet who bears the risk of an outage?
  • Data – Data Security is always a key item to any business, but when hosting that data in the Cloud you need to be sure that the data standards applied by the Cloud provider is that that you require; you should be able to access that data at any given point and most importantly, you need to be able to get your data back at any given point and in a usable format
  • Exit – an exit strategy is key – being able to regain control of the service in a quick and timely manner

As well as these key points, there are some differences in the approaches taken to draw up the agreements for either outsourcing or Cloud:

  • Outsourcing tends to be a custom / bespoke deal where as with a Cloud based deal being a one to many / generic deal
  • With outsourcing the supplier is responsible for delivery; with Cloud based solutions the customer takes on the risk of their services being served over the internet and accept the risks with that
  • Outsourcing generally work to a set up front free where as Cloud is generally pay as you use

I think the key thing is to do all of the hard thinking up front when thinking about moving to a Cloud based solution, look at the key points above, remember the criticality of your data and the fact that the customer is responsible for the data (make sure you specify where it needs to be hosted, what standards need to be adhered and make sure that the data can not be used with express consent), make sure an exit plan is agreed up front as this helps things nearer the end of any agreement and helps avoid litigation as it is always the lawyers who win!

All in all I thought the event was very good and gave some excellent insight as to what to bear in mind – in my honest opinion I think now is the time to be moving items into the Cloud, SOA is fast becoming adopted as much of a standard as OO and Cloud based solutions can be a truly cost effective, flexible and scalable solution for any business!!

Mimecast workshopToday I attended this event at Olympia with Smart421’s Managing Director. I must confess that I’ve been to enough events like this now to have become a little jaded by the repetition and the vendor sales pitches – I guess it wouldn’t be much different if I was presenting :) , but you know what I mean…however I am also constantly surprised by the fact that even the apparently most dull presentation usually contains a few gems that get me reaching for my notebook. Here’s some of those notes…

Following the intro, the keynote was by Phillip Dunne from Salesforce.com – which was essentially a sales pitch. What struck me about this material was how Phillip referred several times to the “success” of cloud computing, whereas I was thinking that what Salesforce.com have done so well is provided a great product with the right features at an attractive price, and kept maturing and enhancing that product in a very agile manner. Now of course this has been enabled by the underlying IaaS platform, but it’s the appropriateness of their SaaS offering that’s given them the edge – if the product hadn’t made the grade then would cloud computing be a failure? Of course not. The pace of their functionality growth is so breathtaking it is almost alarming, with Chatter (a kind of enterprise social networking capability) in beta and inroads being made into contact centres. I’m guessing that there are some very nervous software vendors out there, because you certainly don’t want these guys chasing your market.

Amongst other things, Andy Steven from VMWare described Project Redwood which is an interesting initiative to agree open standards across the industry for VMs – the OVF standard from DMTF but also API standards around moving them between CSPs and manipulating them. I guess this is a defensive move to counter the de facto AMI standard from Amazon Web Services. He also explained VMWare’s strategy around the acquisition of SpringSource, and his basic message was that they wanted to play/have some skin in the game in all the layers – IaaS (VMWare), PaaS (Spring) and SaaS (I forget what they’ve acquired in this space). I thought this was an interesting message – he was saying that they had no ambition to become massive SaaS leaders for example, but they wanted to have real exposure to it, presumably in order to really understand where to take VMWare ESX etc. He also implied that they would add some VMWare-specific cleverness in the Spring world so it is VMWare-aware and able to influence dynamic movement of workloads via vMotion etc.

There was a stream of workshops running in parallel with the main conference sessions, and the “interesting workshop of the day” award has to go to ex-ethical hacker Jason Hart from Cryptocard’s explanation and demo of the insecurity of username/password based authentication strategies, leading to the conclusion that two-factor authentication is the only way to go. He showed some sites that had just been hacked on the web, usually due to political motivations, and also showed some hacking tools and approaches (technical and human engineered) that can easily be used to capture username and passwords. Fascinating. And scary – but I guess that was the idea…

Some other observations that I picked out…

  • It’s a generalisation, but I detected that the main driver for cloud computing adoption (and most people meant IaaS when they said this) was agility and speed to market rather than cost savings. Cost savings were a consideration but not the primary one.
  • Chris Rae from CA talked about the likely expectations of Gen Z users when they hit the workplace in a few year’s time, and reinforced my view that the world is going “interruption-mad”, with a real desire from users to have several concurrent interruption-based interactions going on, e.g. Facebook + Twitter + texting + IM etc at the same time. This reminds me a little of the challenge from mainframe-based colleagues in years gone by as to “why do I need to use a mouse?”. You just do – right…? In the same way, for good or bad the world is changing and this interruption-based reactive working pattern is coming and needs to be embraced in the workplace.
  • It is not surprising but interesting to see how dominated the IaaS space is by Amazon Web Services/Rackspace. Other market entrants benchmark themselves against AWS and this completely drives how they position themselves in the market.
  • Mimecast’s take on cloud-based email services is interesting, in that rather than offer the typical “hosted Exchange” model (thought they do offer this via partnerships) they offer a hybrid model where Exchange stays on premise and they provide services integrated with it for archiving, eDiscovery, DR etc.
  • Private vs public cloud – the classic debate. I’ll blog about this some other time as there’s quite a lot to say – but for now, suffice to say that at the event the broad agreement was that private clouds are the next step in the enterprise journey to cloud adoption, regardless of whether that appears to be sensible or not – and there are a number of drivers causing this.

Top analogies of the day

You can’t talk about cloud without some analogies – it appears to be an unwritten rule. Apart from the usual electricity supply one that always gets a look in, my favourites were (both from Phillip of Salesforce.com):

  • Analogy #1 – Comparing multi-tenancy with an office block, where each company has their own “private space” but shares the lifts, fire prevention systems, front desk reception etc.
  • Analogy #2 – Comparing TCO for infrastructure to an iceberg, with the obvious costs above the waterline being things like software licenses etc, when in fact most of the costs are much less visible such as staffing, data centre space, insurance, power, cooling etc.

Top PowerPoint images of the day

You’ve got to love PowerPoint presentations haven’t you? One presenter (somehow) managed to weave in a photo of fish and chips into his presentation, and I’m still not sure how. But my favourite image was from Magic Software who used a piggy bank squeezed in the jaws of a vice to represent the pressure on infrastructure costs – genius!

cloud computing congress 2010As blogged earlier here, myself and Smart421’s Managing Director will be attending this event at Olympia next week. I’m looking forward to it and so I’ve had a more detailed look though the agenda to see what catches my eye. As always, the customer-presented sessions should be good. A speaker from Morgan Stanley is presenting “a practical guide on Cloud Computing for your business” and I’m keen to hear a financial services perspective from a customer as this is one of the markets Smart421 operates in. There are also customer presentations with speakers from the Royal Mail and SportingIndex.

In the afternoon there are some sessions discussing data security, backup, recovery etc and how they relate to a cloud computing deployment model which I’m hoping will get into specifics and real-world experience in this area – it’s a key concern for customers and the industry still has lots to do to convince customers in this area, despite the general feeling from the cloud service providers that they have data security “sorted”.

Towards the end of the day there is some discussion of “opinions and feedback from CIOs across Europe” which could be good, and a panel session about the future of cloud – I’m not sure if anyone really knows the answer to this given the immaturity of the marketplace, but it’ll be an appropriate wrap-up to what I’m sure will be an enjoyable day.

My current client has posed an interesting challenge: they have an SOA architecture and want to leverage it in some of their batch activities. Now, while SOA and batch may not jump out as obvious bedfellows, it doesn’t strike me as unreasonable to want to take advantage of an existing SOA investment. How do you process hundreds of thousands of records whilst reusing those lovely enterprise services you’ve spent so much cash creating – and do it in a performant way?

As you might expect, some reasonable concerns have begun to surface. But my client is currently taking a mature approach to the problem: while some of the team think there may be a problem, we don’t have numbers to prove it. And so, we’re going to get the numbers and let that inform our response.

So the point of my post is not to say what we found out, but rather the explore the intellectual space. After all, while SOA isn’t perhaps a natural candidate for batch, I must admit to being a little disappointed by the alternatives. How can you do SOA batch without dropping SOA? Well, I think there are some options. (Which I’ll cover in just a second, below.)

Having been through some of them, I feel a mixture of happiness with a twinge of disappointment. On the positive side, there are a few options that offer benefit, with varying degrees of cost. On the negative side, there’s no switch that’s going to make SOA performant without investment. In some ways, perhaps I’m asking SOA to address a use case it really isn’t intended for but I’m not so defeatist – clearly SOA batch is not out of the question. It’ll be interesting to see how this area develops – if enterprises are to extract their maximum value from SOA, then batch is a unique use case that cannot be avoided.

  1. Pare down the per-record process to a bare minimum. Rather than calling a single heavyweight service to do everything, perhaps part of the work can be carried out per-record, leaving the rest to be dealt with in the background. One could perhaps even take this to the extent of only performing validation in the per-record loop – a read-only SOA validation service isn’t completely out of the question. It is a necessary part of the implementation in any case.
  2. Make the services themselves a bit more batch oriented. Make the services accept 1..* records to work on, and supply them, perhaps 100 at a time. This really cuts down the round-trip time, at the expense of necessitating a bit of forethought in service design. But it’s an easy pattern to understand, and potentially one that could be retrofitted to an existing service layer if the ESB can be moved close enough to reduce the round trip overhead, or the implementation and interfaces changed slightly.
  3. Have a two stage process that validates the input, prior to processing the content, and decoupling them. The idea would be to perform a quick first pass (perhaps even not leveraging SOA at all), and then loading the known valid data into SOA in the background. Ideally, the validation step catches enough problems to make the remainder that fail at run time a not inconceivable problem to deal with operationally.
  4. Stick with SOA, but go for less heavyweight components. For example – in our case, we are using a BPEL engine to do the load and orchestration, but that could be switched out for a ESB only orchestration. A bit more fiddly, but doable.
  5. Some times, things can be done in different places. (In our case, actually they can’t, but I’ve seen this enough times to mention it.) For example, if part of the job is aimed at ensuring data wasn’t corrupted or truncated in transit, there are approaches to dealing with this at the network or transport layer that mean the service layer can be freed from such a menial task to do the heavier lifting.
  6. Process things in parallel, and leverage the spare capacity in your system. So, this only applies if there is capacity that can be used. But if you have it, then perhaps more of it can be dedicated to the batch processing at certain times (overnight or in quiet times). This can require some deep reconfiguration of the platform, perhaps to leverage multiple queues with differently performant configurations, but it is only configuration.
  7. Partition your environment, so that no matter how much you throw at batch, the rest of the system remains responsive and available. This is more of a environmental deployment approach, but if you can do it, it’s another option that doesn’t require re-development.
  8. Make your services batch oriented, but also take advantage of SOAP with Attachments and stream your data. Not something that can be done without effort. But if your payload has a few hundred thousand records in it, and you can avoid the overhead of a request/reply for each record, the saving could be significant. However, I don’t know of many tools that could take advantage of this without some clever implementation.
  9. In some situations, it might be possible to redeploy components so as they are co-located. It is clearly not always going to be possible. But if it is, and if the overhead associated with the across-the-network trip is a significant contributor to the problem, then this could really help.

And if I find out what the answer is, I’ll come back and let you know!

Middle-out?Following a long stint at one of our largest clients, mainly working on Service Management transformation and a review of their Enterprise Architecture capability, I moved into the role of Business Design Authority at a smaller, more dynamic client in October last year.

This is a great opportunity for me to use all of the experience I have gained in my 15 year career to help the client develop a more structured approach to understanding and documenting strategy, processes, structures and requirements. The client has clear business objectives including significant growth within current markets, entry to new markets, improving consistency and effectiveness of their processes and doing all of this in a controlled and sustainable manner.

We could have come in and tried to impose a rigid top-down architectural approach. We could have focused on the lowest level requirements for their new core business system and worked bottom-up. But neither of those would have worked in isolation.

So we’ve taken a middle-out approach. Sort of. What we have actually done is to be pragmatic in helping to make sure that progress is being made against key business milestones and deliverables, whilst bringing in more rigour and structure to the way that things are done. For example…

We’ve confirmed that the strategy, principles and business objectives for the next 5 years are clearly understood and communicated.

We’ve worked with key stakeholders to define and document a new product that will allow the client to enter their key new market segment. We’ve taken this product definition and assessed it for impacts throughout the organisation – what changes to areas such as people, processes, information and technology are needed in order to sell and service the product? And now we’re delving into the detail of each of these areas to ensure that there will be “just enough” capability in place to be able to meet the immediate needs of the business – but in a way that can be scaled quickly as demand for the product increases.

We’re looking at existing processes and have brought in a method and templates for process documentation from “Level 1″ right down to “work instructions” where necessary.

We’ve mapped the entire Application Landscape – a few larger/core systems in a sea of Access databases and Excel spreadsheets. And we’re working on a strategy that will gradually bring more of the “sea” under tighter control, whilst keeping some of the existing flexibility and adaptability. We’re also looking at how and where the applications can be hosted to best meet the needs of the business.

And yes, we’re also keeping a careful eye on the detailed requirements for the new core business system and elsewhere – because, as we all know, the devil is always in the detail.

I could go on. But you get the idea. It’s about doing whatever adds value NOW, but with an eye on a more structured, sustainable, strategic future. It’s about saying what you’ll do and doing it. It’s about keeping the communications channels open so that the whole organisation can find out what’s going on, how this programme of change will help them and how they can help the success of the programme.

And it’s about having some fun along the way!

Next Page »