150 likes | 270 Views
CERN Middleware OVERVIEW CMW@GSI 25 th april 201 3. Wojciech S liwi n ski BE-CO-IN Felix Ehm BE-CO-IN for the Middleware team. Photo with CCC seen from above. “Operations are our main client”. Fixed Displays. Operator Consoles. Java Applications. CERN Controls Syste m.
E N D
CERN Middleware OVERVIEWCMW@GSI25thapril 2013 Wojciech SliwinskiBE-CO-IN • Felix EhmBE-CO-IN for the Middleware team
Photo with CCC seen from above “Operations are our main client” Wojciech Sliwinski, CERN Middleware Overview
Fixed Displays Operator Consoles Wojciech Sliwinski, CERN Middleware Overview
Java Applications Wojciech Sliwinski, CERN Middleware Overview
CERN Controls System TCP/IP communication services OP Specific GUIs OP Specific GUIs DB Access Sequencer Fixed Displays Expert GUIs Controls Middleware Java Business Layer Alarms (LASER) LHC Software Architecture Core (LSA) Post Mortem Acceleraor Logging FILE SERVERS APPLICATION SERVERS SCADA SERVERS TIMING GENERATION DB Settings & Logging DB Settings & Logging DB: Settings & Logging CERN GIGABIT ETHERNET TECHNICAL NETWORK Timing Management TCP/IP communication services Diagnostics Monitoring DIAMON Software InterlockSystem Data Concentrators Controls Middleware C/C++ Role Based Access Control RBAC Front-End FESA servers Front End Layer Front-End FESA servers TCP/IP communication services Front-End FESA servers device servers RT Lynx/OS VME Front Ends WORLDFIP Front Ends PLC Wojciech Sliwinski, CERN Middleware Overview Using BE-CO Frameworks Developed by BE-CO
Some Software-Releated Numbers • GUI and Middle-tier (Java) • ~8 million lines of production code • > 1000 jar files in production • Combined to 400 different GUIs and 200 server programs • Up to 1000 processes running on 550 machines • Developed by 80 people from 10 different groups • Front-End Layer (C/C++) • 550 different device types • 70’000 device instances on 1000 different front-end machines • Developed by80 people from 8 different groups Wojciech Sliwinski, CERN Middleware Overview
Middleware Mandate & Scope • Standard set of MW solutions • Centrally managed services • Track & optimize runtime parameters • Well defined feedback channel for users • Provide support & follow-up issues • Scope: CERN Accelerator Complex • Operational 24*7*365 • Must be Reliable & High Quality • In all Eqp. groups (3 dpts: BE, EN, TE) Wojciech Sliwinski, CERN Middleware Overview
CMW inthe Controls System CMW client (C++/Java) JAPC GUIs, LabView, RADE JMS client (Java) GUIs CMW client (Java) JAPC Logging, LSA, InCA, SIS CMW client/server (C++/Java) Proxy, DIP, AlarmMon, AQ JMS client (Java) Servers: Logging, InCA, SIS CMW server (C++) PVSS (Cryo, Vacuum) CMW server (C++) FESA, FGC, GM Wojciech Sliwinski, CERN Middleware Overview
CMW in the Controls System Wojciech Sliwinski, CERN Middleware Overview
CMW Architecture User written Middleware Configuration Server Central services VB, Excel, LabView Java Control Programs C++ Programs Administration console Passerelle C++ Clients RDA Client API (C++/Java) Device/Property Model Configuration Database CCDB Directory Service RBAC A1 Service Directory Service RBAC A1 Service Log/Tracing Service CMW Infrastructure CORBA-IIOP Proxy Server RDA Server API (C++/Java) Device/Property Model Virtual Devices (Java) FESA Server FGC Server PS-GM Server PVSS Gateway More Servers Servers DIP GW AlarmMon Physical Devices (BI, BT, COLL, PC, RF, …) Wojciech Sliwinski, BE-CO TC: Middleware Progress Report and Plans Wojciech Sliwinski, CERN Middleware Overview
MW Services & Components Core Activities Primary Contributor Wojciech Sliwinski, CERN Middleware Overview
MiddlewareInfrastructure in numbers • 4’000 CMW Servers • 85’000 Devices => 2’000’000 Properties • 24 Proxies (10 Injectors, 14 LHC) • 20 JMSBrokers (10 single Brokers, 5 HA Clusters) • 15 DIP Gateways • 2 RBAC A1 Servers • 2 Directory Servers • 1 Configuration Server • 1 Log Converter & DB Writer MiddlewareCore Wojciech Sliwinski, CERN Middleware Overview
Middleware Software in numbers 21 Java modules 15 C++ modules 1 Ada module cmw-directory-client-cpp cmw-ext-fesa-cpp cmw-gm-cpp cmw-log-cpp cmw-log-stomp-cpp cmw-log-syslog-cpp cmw-passerelle cmw-proxy-cpp cmw-rbac-cpp cmw-rda-cpp cmw-serializer-cpp cmw-stomp-cpp cmw-tools-cpp cmw-util-cpp cmw-yami-server-cpp cmw-admin-gui cmw-config-server cmw-device-explorer-gui cmw-dip-gateway cmw-directory-client cmw-log-client cmw-log-client-gui cmw-log-common cmw-log-converter cmw-log-log4j cmw-log-registry cmw-log-server cmw-log-writer cmw-rda cmw-serializer cmw-tools cmw-yami-server rbac-client rbac-server rbac-util rbac-util-gui cmw-directory-server >10 JAPC Coremodules japc japc-context japc-directory-client japc-ext-cmwrda japc-ext-db japcs-ext-remote japc-ext-yami japc-value ... 2 C modules cmw-feedback-c cmw-feedback-shmem-c Complex & hugecodebase to maintain!! Wojciech Sliwinski, CERN Middleware Overview
Middleware Team • Wojtek Sliwinski (Lead) 100% – Directory, RDA, Proxy, RBAC • Felix Ehm 30% – JMS, Log/Tracing, Feedback/Metrics • Joel Lauener 90% – CMW Admin, Directory, RDA, GM, DIP Gw. • Kris Kostro20% – DIP Gateways, RDA3 • Wojtek Buczak 30% – JAPC Core • Ilia Yastrebov100% – RDA, RBAC, Passerelle, Proxy, Log • Radoslaw Orecki 100% – Directory, RDA3 • Support: cmw-support@cern.ch, rbac-support@cern.ch • Docs: http://wikis/display/MW Wojciech Sliwinski, CERN Middleware Overview