90 likes | 104 Views
The Middleware Project aims to provide an architecture for communication functions in the PS and SL, with the goal of replacing existing protocols and software components. It includes support for accelerator device models, publish/subscribe paradigm, inter-object communication, integration of industrial devices, and investment in future based on commercial software. The project is a good candidate for CERN inter-domain communication.
E N D
API’s, concepts and Middleware The Middleware Team October 2, 2000
Middleware Project – reminderMandate & Goals • To provide architecture for all PS and SL communication functions … ultimately replace existing PS and SL protocols and software components • Specifically support for • Accelerator device model (named devices accessed by properties) • Publish/subscribe paradigm • Inter-object communication • Integration of industrial devices • Investment into future based on commercial software • SPS2001 • Recent discussions with ST suggested by LHC-CP • Good candidate for CERN inter-domain communication
Middleware Project – reminderPublic process • Public seminar March 1999 • User Requirements Document published in August 1999 • Whitepaper proposing architecture and technology in January 2000 • Various small public presentations during 2000 • (CMW web site) www.cern.ch/proj-cmw
Middleware Projectclients and implementations • PS • Java clients (AD) • ISOLDE • Migration from current CDEV and RPC infrastructure • SL ? SPS2001 (discussions in June) • CESAR (lots of compromises, no problems) • Alarms (great input on pub/sub) • Servers based on Server Framework by CMW • PS Equipment Servers (started) • SL-Equip gateway (starts October) • OPC gateway (started)
User written Middleware Existing or off-shelf Modular API layering User software or API (e.g. SPS2001, CESAR, Alarms) Public API Device/property model get/set, MonitorOn/Off Pub/Sub model Subject hierarchy Private MW API’s Simplification to typical controls operation, Added value such as reliability, complex data Standard API’s Commercial MW products (2 CORBA products, JMS product)
User written Middleware Controls Programs Existing or off-shelf Unix Workstations, Linux, Windows Middleware Client API Middleware Server Framework Device Adapter Physical Device General Approach (Device/Property) Data structured into named properties Get/Set Publish LynxOS Front-Ends
CERN PS SPS Alarms ST Magnet BPM Class N Magnet1 Magnet2 Device instance N CERN - wide topics hierarchy • Common root CERN • Partitioned into administration domains (PS, LHC, SPS2001, ST, Alarms ..) • Every domain defines it’s own hierarchy • All accelerator domains follow the class/device hierarchy Root Domain Class Device
User written Middleware Java Control Programs Existing or off-shelf Unix Workstations, Linux, Windows Middleware Client API Middleware Server Framework (C++) Device Adapter in C Physical Device First Version Data structured into named properties Get/Set Publish LynxOS Front-Ends
User written Middleware Java Control Programs Existing or off-shelf Unix Workstations, Linux, Windows Middleware Client API JMS Broker JMS message MoM Agent CORBA callback Middleware Server Framework (C++) Device Adapter in C Physical Device JMS integration (first version) Data structured into named properties Get/Set CORBA LynxOS Front-Ends