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

