Skip to main content

Patterns for service-oriented IT

Last week we attended a workshop that brought together people from universities across the UK who are working on various forms of Service-Oriented Architecture (SOA) to underpin their business IT.  The workshop was organised by Nikki Rogers at the University of Bristol.  Bristol have the the foresight to employ Nikki as a full-time enterprise architect, which they should be congratulated on.  Nikki has written an excellent report of the workshop on her blog.  (Her blog is worth subscribing to, by the way).

What struck me about the day was the variety of architectural patterns that people were pursuing under the general heading of SOA.  This echoed our own situation at Edinburgh, where we have got some traction for the basic ideas of service-orientation and now have to articulate our vision for the next steps. 

Cardiff University, for example, are basically implementing a real-time data warehouse, with web services making the data available to downstream systems.  The data warehouse includes data from the student record, staff database, and finance systems, brought into a common model.  It serves as the source of data both for their business intelligence (BI) initiative and for the aforementioned web services.

At Edinburgh, we have a similar but more ad-hoc system for distributing student record data, and we have our own BI intiative which is looking at data warehousing.  I had not realised that it was possible to combine the two, as I thought data warehouses were updated nightly or even weekly.  I learnt from Cardiff that the technology has now advanced so that the data warehouses can be kept up to date, lagging only a few minutes from the "golden copy" sources.

By contrast, Imperial College London are building a classic SOA architecture, in which multiple business services are orchestrated by the SOA middleware.  This is the approach that is most clearly supported by our current SOA technology, Oracle SOA Suite.  It is no coincidence that Imperial also use this technology.  By contrast, Cardiff started down this route almost a decade ago but have retreated from it, partly because "they don't have services to orchestrate".

A third approach is event-driven SOA, which was exemplified by the University of Lincoln.  In this approach, each data update is announced to a range of services, which can take any action they need to.  This combines the data-driven aspect of Cardiff's approach with the service-based aspect.  It gives a more loosely coupled interation that the centrally orchestrated approach of classis SOA.  A central aspect of this approach is an Enterprise Service Bus, which is the mechanism for announcing each event to the relevant services.

At Edinburgh, our discussions often assume we are taking the event-driven approach to SOA.  However, we haven't really implemented this yet.  We don't have a range of underlying services.  Our chosen SOA software is better at supporting the orchestration model, and our IT mindset hasn't really caught up with the idea of calling services rather than moving data.  In many cases, we are integrating third-party systems and we really do need to transfer data between systems.  So my priority is to clarify these different approaches, explain them to our stakeholders, and decide when we want to use each one.




Comments

Popular posts from this blog

Presentation: Putting IT all together

This is a presentation I gave to an audience of University staff: 

In this seminar, I invite you to consider what the University’s online services would be like, if we worked together to design them from the perspective of the student or member of staff who will use them, instead of designing them around the organisational units that provide them. I’ll start with how the services might appear to that student or member of staff, then work back from there to show what this implies for how we work, how we manage our data, and how we integrate our IT systems. It might even lead to changes in our organisational structure.

Our online services make a vital and valued contribution to the work of our students and staff. I argue that with better integration, more consistent user interfaces, and shared data, this contribution could be significantly enhanced.

This practice is called “Enterprise Architecture”. I’ll describe how it consults multiple organisational units and defines a framework …

Not so simple...

A common approach to explaining the benefits of Enterprise Architecture is to draw two diagrams: one that shows a complicated mess of interconnections, and one that shows a nicely layered set of blocks. Something like this one, which came from some consultants:


I've never felt entirely happy with this approach.  Yes, we do want to remove as much of the needless complexity and ad-hoc design that litters the existing architecture.  Yes, we do want to simplify the architecture and make it more consistent and intelligible.  But the simplicity of the block diagram shown here is unobtainable in the vast majority of real enterprises.  We have a mixture of in-house development and different third-party systems, some hosted in-house, some on cloud infrastructure and some accessed as software-as-a-service.  For all the talk of standards, vendors use different authentication systems, different integration systems, and different user interfaces.

So the simple block diagram is, basically, a l…

2016 has been a good year

So much has happened over the last year with our Enterprise Architecture practice that it's hard to write a succinct summary.  For my day-to-day experience as enterprise architect, the biggest change is that I now have a team to work with.  This time last year, I was in the middle of a 12-month secondment to create the EA practice, working mainly on my own.  Now my post has been made permanent and I have recruited two members of staff to help meet the University's architectural needs.

I have spent a lot of the year meeting people, listening to their concerns and explaining how architecture can help them.  This communication remains vital, the absolute core of what we do and we will continue to meet people in this way.  We also talk to people in other Universities in order to learn from what they are doing and to share our own experience back.  A highlight in this regard was my trip to the USA last January.

Our biggest deliverable for the past year was the design of the data wa…