Dear members of the openEHR community,

We announced Project Bosphorus from UCL, CHIME at the end of 2010 and
have been preparing an update on progress, including access to source
code and a web services implementation, for testing purposes . Recent
questions on the openEHR lists are relevant to the progress made and
the following is therefore posted as an interim update, indicating the
open source materials that we expect to release shortly, as a further
component of the Opereffa platform, that has been under development
here since 2008.

The Bosphorus project was initiated in order to improve Java
implementations of openEHR, by providing direct access to the Eiffel
code base, which has been made available as open source software by
Ocean Informatics.

Over the past year, we have been working on a new method for
connecting Java technology to the Eiffel code base. For simple
applications, and in a technically simple scenario, such connectivity
is not hard to construct. However, we have realized that the outcomes
we wish to achieve must address more complex and demanding
requirements.

It is quite hard to imagine a successful openEHR implementation today
which does not have a service-based design. Web-based approaches are
strongly dominating everything else, and realizing their advantages in
openEHR has required detailed exploration of a number of architectural
and technological design choices. Scalability, performance and
technology neutral access to underlying functionality are key
considerations for any modern architecture.

This study led us to develop a software layer which would go beyond
out of the box integration options for Java and Eiffel. Especially in
relation to scalability and stability requirements, it proved
extremely hard to develop a satisfactory solution with available out
of the box options for these two technologies. Therefore, we went on
to develop a custom communication channel, using two high performance,
open source frameworks: ZeroMQ from iMatix Corporation and Protocol
Buffers from Google. We had earlier adopted a service-focused design
for our related research on a new openEHR-based data analysis
framework, and for this the new Bosphorus connectivity layer needed to
be exposed to other software components, as a web service.

We are excited by the potential of the evolving Bosphorus
architecture, since it allows us to expose the very mature and capable
open source Eiffel code base as a Java web service, with excellent
characteristics in terms of scalability and performance. We believe
the design will prove an important new approach to system
implementation, as we start to pull key low level openEHR
functionality into web services. Components, such as archetype parsers
and new functionality required to exploit ADL 1.5, have proven to be
good early candidates for such web services.

By slowly moving to provide key openEHR functionalities as web
services, we are aiming to lower current barriers to openEHR
implementation, very significantly. To demonstrate the outcomes
achieved to date, using this approach, we will be deploying a test web
service under the Opereffa Studio Project, using Bosphorus, as
previously announced. This test web-service,will provide the
functionality of an archetype parser, with outputs in the form of
openEHR XML schema compatible XML, and JSON.

We are currently finalising our first full implementation and will be
providing further details and access to the web service, shortly.

We would appreciate feedback regarding the approach and, later on,
regarding the use of the test web service. This is an open source
project, and source code will be available with the release.

We would like to thank Thomas Beale for his excellent open source
Eiffel code, and his support and feedback during the development of
Bosphorus.

Seref Arikan and David Ingram  UCL, CHIME

Reply via email to