Minutes of meeting on SL-Equip gateway

Tuesday, 5 of September 2000


Present: Alessandro, Francois, Jens, Kris (secretary), Pedro,  Pierre, Steen, Vito


1. Rationale and constrains

Kris presented the motivation for the gateway: It is important for the credibility within SL and for people wanting to "play" with MW using their equipment. Another motivation is validation of the Device Adapter Framework. The only operational client for the startup is the EA upgrade project. For this project other techniques to connect from Java such as a gateway already developed by BI are feasible as well. 

We shall implement a solution which fits well in the current architecture which means that 

2. SL-Equip architecture

Pierre prepared a slide describing the SL-Equip architecture (SL-EQUIP layout). The gateway can use the Equip library which allows the remote access to MH or a local version of it which can access local equipment servers. The MH is using a private API which could be used as well. The latter method was employed to implement the CDEV gateway with NC/RPC being replaced by Sun RPC.

3. Implementation possibilities

Following considerations have to be taken into account:

3.1. Protocol

It is preferable to use the CORBA based protocol for compatibility reasons. If gateway is implemented in Java then JMS could be used directly to push data. In both cases the MW client side does not have to be touched. 

If gateway has to run on all supported SL platforms versions for HP-UX and LynxOS PC would be required. This could be straightforward but could also require considerable effort, especially for Lynx PC's.

It could be envisaged to use existing solutions which are the Equip gateway developed in BI and the CDEV gateway. Both use proprietary protocols based on sockets or Sun RPC. In both cases this would have to be integrated in the client.

3.2. Server framework.

It is preferable that the server framework is used. The framework has only been planned for LynxOS in C++  so far. Porting of C++ would require some effort (LynxOS PC). The server framework is not available in Java yet.

3.3. Implementation language.

It can be C++/C or Java. As stated above the Java framework is not available yet. Java is not available on the current production version of LynxOS. In case of Java solution the SL-Equip library would have to linked using JNI. Since this would normally require shared library of SL-Equip it was not clear whether this is feasible on LynxOS.

4. Implementation variants.

Following cases have been identified and discussed:

A. Java BI client, socket protocol, BI Equip gateway.

This could be used "as it is" for EA upgrade project as fallback solution. It shall not be integrated in MW.

B. Java MW client, MW protocols, C/C++ server framework, SL-Equip from device adapter

This probably the most straightforward choice. It can be run as a central service with limited performance or it can be run on all server machines using local Equip. In the latter case some porting (to HP, to LynxOS PC) would be required.

C. Java MW client, MW protocols, Java server framework, SL-Equip from device adapter through JNI

Portable solution. Requires porting of the server framework to Java which is interesting since we will need it anyway. Cannot be used on LynxOS at present but could be deployed when Chai JVM is available.

D. Java MW client, MW protocols, C/C++ server framework, private MH API

Similar to (B) but probably slightly better performance. BTW this approach is possible with Java as well.

E. Java CDEV client, Sun RPC protocol, special MH supporting Sun RPC

We do not want to use this option but it could serve as example to implement (D).

5. Implementation choice

We decided to attempt solution (C) because additional manpower can be used to implement this solution. There is a cooperant which will be available next week and which will work on the gateway implementation in Java. It will be under the supervision of Vito. A technical student which will arrive Oct. 1 will work on implementing the framework in Java.

The fall-back solution is (B). The first version could be implemented on LynxOS PPC when the framework is finished. 

6. Timescale

The MW milestone is for Nov. 15 which is not realistic. End of the year is realistic. We shall meet again end of October and decide whether the solution (C) can be implemented or shall we fall-back on (B).