CERN Middleware OVERVIEW CMW@GSI 25 th april 201 3
description
Transcript of CERN Middleware OVERVIEW CMW@GSI 25 th april 201 3
CERN MIDDLEWARE OVERVIEW
CMW@GSI 25TH APRIL 2013
Wojciech Sliwinski BE-CO-IN
Felix Ehm BE-CO-IN
for the Middleware team
Wojciech Sliwinski, CERN Middleware Overview 225th April 2013
Wojciech Sliwinski, CERN Middleware Overview 3
Photo with CCC seen from above
“Operations are our main client”
25th April 2013
25th April 2013 Wojciech Sliwinski, CERN Middleware Overview 4
Fixed Displays
Operator Consoles
Wojciech Sliwinski, CERN Middleware Overview 5
Java Applications
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview
TCP/IP communication services
TCP/IP communication services
TIMING GENERATION
CERN
GIG
ABIT
ETH
ERN
ET
TECH
NIC
AL N
ETW
ORK
FILE SERVERS
APPLICATION SERVERS
SCADA SERVERS
TCP/IP communication services
RT Lynx/OSVME Front Ends
WORLDFIPFront EndsPLC
Alarms (LASER)
AcceleraorLogging
LHC Software Architecture Core (LSA)
Software InterlockSystem
Front-End FESA servers
Business Layer
Front End Layer
CERN Controls System
6
Front-End FESA serversFront-End FESA servers
device servers
PostMortem
Tim
ing
Man
agem
ent
DBSettings &LoggingDiagnostics
MonitoringDIAMON
Controls Middleware
DBSettings &Logging
DB:Settings &LoggingData
Concentrators
Role Based Access Control RBAC
Developed by BE-CO Using BE-CO Frameworks
OP Specific GUIsFixed Displays Expert GUIsSequencerOP Specific GUIs DB Access
Controls Middleware
Java
C/C
++
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 7
Some Software-Releated Numbers
GUI and Middle-tier (Java) ~8 million lines of production code> 1000 jar files in productionCombined to 400 different GUIs and 200 server programsUp to 1000 processes running on 550 machinesDeveloped by 80 people from 10 different groups
Front-End Layer (C/C++)550 different device types70’000 device instances on 1000 different front-end machinesDeveloped by 80 people from 8 different groups
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 8
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)
GUI Applications
Control Logic
Middleware
Control System
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 9
CMW in the Controls System
LHC MACHINE
GENERAL PURPOSE
NETWORK
OPERATORCONSOLES
OPERATORCONSOLES
FIXEDDISPLAYS
CER
N G
IGAB
IT E
THER
NET
TEC
HN
ICAL
NET
WO
RK
FILE SERVERS APPLICATION SERVERSSCADA SERVERS
RT Lynx/OSVME FRONT ENDS
WORLDFIPFront Ends PLCs
ACTUATORS AND SENSORSCRYOGENICS, VACUUM, ETC…
QUENCH PROTECTION AGENTS,POWER CONVERTERS FUNCTIONSGENERATORS, CRYO TEMPERATURE SENSORS…
BEAM POSITION MONITORS,BEAM LOSS MONITORS,BEAM INTERLOCKS,RF SYSTEMS, ETC…
Wor
ldFI
PS
EG
ME
NT
(1, 2
.5 M
Bits
/sec
)
PRO
FIB
US
FIP
/IO
TCP/IP communication services
OP
TIC
AL
FIB
ER
S
TCP/IP communication services
TCP/IP communication services
TIMING GENERATION
TT
T
T
TT
T T T T
DIR
EC
T I/O
PRESEN
TATIO
N TIER
MID
DLE TIER
RESO
URCE TIER
CMW client (C++/Java)JAPC
GUIs, LabView, RADE
CMW client (Java)JAPC
Logging, LSA, InCA, SIS
CMW client/server (C++/Java)Proxy, DIP, AlarmMon, AQ
CMW server (C++)FESA, FGC, GM
CMW server (C++)PVSS (Cryo, Vacuum)
JMS client (Java)GUIs
JMS client (Java)Servers: Logging, InCA, SIS
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 10
CMW in the Controls System
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 11
CMW ArchitectureUser written
Middleware
Central services
Physical Devices (BI, BT, COLL, PC, RF, …)
Java Control Programs
RDA Client API (C++/Java)Device/Property Model
DirectoryService
ConfigurationDatabase
CCDB
VB, Excel, LabView
ServersClients
Virtual Devices(Java)
PS-GMServer
FESAServer
FGCServer
PVSSGateway
C++ Programs
MoreServers
Administrationconsole
Passerelle C++
ProxyServer
CMW InfrastructureCORBA-IIOP
ConfigurationServer
Log/TracingService
DIP GWAlarmMon
Wojciech Sliwinski, BE-CO TC: Middleware Progress Report and Plans25th April 2013
RDA Server API (C++/Java)Device/Property Model
RBAC A1Service
DirectoryService
RBAC A1Service
Wojciech Sliwinski, CERN Middleware Overview 12
MW Services & Components
RDA Directory Service RBAC
JMS Brokers CMW Proxies DIP Gateways
Passerelle Tracing Facility JAPC
Feedback (ACET)
Metrics (ACET) SIP4C++ Common
Makefile
CoreActivities
Primary Contributor
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 13
Middleware Infrastructure in numbers
4’000 CMW Servers 85’000 Devices => 2’000’000 Properties
24 Proxies (10 Injectors, 14 LHC) 20 JMS Brokers (10 single Brokers, 5 HA Clusters) 15 DIP Gateways 2 RBAC A1 Servers 2 Directory Servers 1 Configuration Server 1 Log Converter & DB Writer
Middleware Core
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 14
Middleware Software in numbers
21 Java modules 15 C++ modulescmw-directory-server
2 C modules
1 Ada module
japcjapc-contextjapc-directory-clientjapc-ext-cmwrdajapc-ext-dbjapcs-ext-remotejapc-ext-yamijapc-value...
>10 JAPC Core modules
Complex & huge codebase to maintain!!
cmw-directory-client-cppcmw-ext-fesa-cppcmw-gm-cppcmw-log-cppcmw-log-stomp-cppcmw-log-syslog-cppcmw-passerellecmw-proxy-cppcmw-rbac-cppcmw-rda-cppcmw-serializer-cppcmw-stomp-cppcmw-tools-cppcmw-util-cppcmw-yami-server-cpp
cmw-feedback-ccmw-feedback-shmem-c
cmw-admin-guicmw-config-servercmw-device-explorer-guicmw-dip-gatewaycmw-directory-clientcmw-log-clientcmw-log-client-guicmw-log-commoncmw-log-convertercmw-log-log4jcmw-log-registrycmw-log-servercmw-log-writercmw-rdacmw-serializercmw-toolscmw-yami-serverrbac-clientrbac-serverrbac-utilrbac-util-gui
25th April 2013
Wojciech Sliwinski, CERN Middleware Overview 15
Middleware Team
Wojtek Sliwinski (Lead) 100% – Directory, RDA, Proxy, RBACFelix Ehm 30% – JMS, Log/Tracing, Feedback/MetricsJoel Lauener 90% – CMW Admin, Directory, RDA, GM, DIP Gw.Kris Kostro 20% – DIP Gateways, RDA3Wojtek Buczak 30% – JAPC CoreIlia Yastrebov 100% – RDA, RBAC, Passerelle, Proxy, LogRadoslaw Orecki 100% – Directory, RDA3
Support: [email protected], [email protected]
Docs: http://wikis/display/MW
25th April 2013