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

Changing Principles

In EA, architecture principles set a framework for making architectural decisions.  They help to establish a common understanding across different groups of stakeholders, and provide guidance for portfolios and projects.  Michael Durso of the LSE gave a good introduction to the idea in a webinar last week for the UCISA EA community.

Many organisations take the TOGAF architecture principles as a starting point.  These are based on the four architectural domains of TOGAF: business, information/data, applications, technology/infrastructure.  These principles tend to describe what should be done, e.g. re-use applications, buy in software rather than build it, keep data secure.  See for example the principles adopted at Plymouth University and the University of Birmingham.

Recently though, I encountered a different way of looking at principles.  The user experience design community tend to focus more on how we should do things.  E.g. we should start with user needs, use iterative developm…

Why the UCISA Capability Model is useful

What do Universities do?

This may seem a strange question to ask and the answer may seem obvious.  Universities educate students and undertake research.  And perhaps they work with industrial partners and create spin-off companies of their worn.  And they may work with local communities, and affiliation bodies for certain degress, and they definitely report on their activities to government bodies such as HEFCE.  They provide student services and support.  The longeryou think about it, the more things you can think of that a University does.

In business, the things that an organisation does are called "capabilities", which is a slightly strange term.  I think it is linked to the HR idea of a combination of the CAPacity and ABILITY to do a task.  Whatever the name, it is a useful concept.  A capability is more basic than a process: a University may change the way it educates students but as long as it remains a University it will educate them one way or another.

A capability …

A new EA Repository

One of my goals since starting this job two years ago has always been to create a repository for architecture documents.  The idea is to have a central store where people can find information about the University's applications, data sources, business processes, and other architectural information.  This store will make it easier for us to explain our plans, to show the current state of the University's information systems, and to explain what Enterprise Architecture is all about.

It's taken a long time to reach this goal, mainly because we're often had more pressing and immediate work to be done.  The creation of a repository is one of those tasks that is very important but never quite urgent.  So I'm now very happy to say that we are in the process of deploying a repository and modelling tool.


This is the culmination of a careful process to select the most appropriate tool for our needs.  We began by organising several workshops to gather requirements from a rang…