170 likes | 335 Views
JoiMint-eLog. Matthias Clausen. eLog and applications. Integration of eLog into applications (JoiMint) Integration of JoiMint-MIME type and JoiMint config files into eLog. Requirements for our eLog approach – I Extended Functionality. Start from the existing eLog at DESY (TTF-Version)
E N D
JoiMint-eLog Matthias Clausen EPICS’03 @ Abingdon
eLog and applications • Integration of eLog into applications (JoiMint) • Integration of JoiMint-MIME type and JoiMint config files into eLog
Requirements for our eLog approach – IExtended Functionality Start from the existing eLog at DESY (TTF-Version) Keeping the following ideas: • Write messages, screen dumps and files through central print queues (survive database downtimes) • Use Web interface to add and to edit entries • Use Servlets to retrieve data from the eLog and to prepare Web displays. Keep the XSLT style sheet to generate the Web edit page
Requirements for our eLog approach – IINew Functionality • Access and display of multiple eLog sources. • Storing messages, screen dumps (JPG) and any kind of files into an Oracle database. (Rather than XML files) • Support links between messages • Support for entries and screen dumps on Unix and Windows • (Windows: bypassing default PostScript printer driver) • Support command line entries. • Write from applications
eLogbook: Mutiple Sources Tomcat eLogbooks Web Client Servlet: ListEntry MKS-1 MKS-2 MKS-3 MKS-4 KRYO . . Sorted Vector Classes extending LogBook Text + Images Oracle eLog Read/ Write Prepare request and insert entry in vector prepare html Text Oracle MKK Read Text Oracle IT-News Read Read TINE Events Applet set: -eLogbook(s) -From time -To time -Shift Read Text XML eLogs
ExampleThe Applet Select one ormore logbooks Select shift of ‚from‘ day Type in from and to time Select defined time span Entrer search string for:Author or subject or text.
ExampleThe Web Page Statistical Information: (MySql local on Tomcat Server) The selected log books Add new entry to your logbook Add new entry to your log book with reference to this entry. The selected from/ to time Ascending / decending Edit this entry (if allowed) Automatically entered text file Goto the linked entry Entry with screen dump Online help Select your default logbook for entries
eLogbook Edit Display (read) XSL Stylesheet Tomcat eLogbooks Web Client Servlet: ModifyEntry MKS-1 MKS-2 MKS-3 MKS-4 KRYO . . Classes extending LogBook Text + Images Oracle eLog Read/ Write Prepare request and Insert single entry in vector XML Translator Text Oracle MKK Read Text Oracle IT-News Read prepare XML Single Entry Read TINE Events Read Text XML eLogs Html-Link: Activate Servlet With entry ID Edit Button depending on write access to source
Tomcat Servlet Servlet Servlet Servlet Read and Write from/to eLogbook Cenrtal Oracle Server Printer Spooler print2oracle Central Remote Print to queue: oraclelog Windows Unix epicsmenu(Tcl/tk) Capone Web Client Unix also allows to print to oraclelog through the Command line interface (lpr –Poraclelog MKS-2:030612-12:00:00.txt)
IntegratingeLog <-> JoiMint • Create entries in JoiMint and save them into the eLog (Oracle) • Save JoiMint config files and/or config+data files into eLog • Create html links with the MIME type <JOI> and start JoiMint from eLog entries
Post Mortem Query Result The selected log book is:EVENT http links with event information
From http-link to JoiMint Display JoiMint config file: (dynamically created by servlet) <?xml version='1.0' encoding='UTF-8'?> <config> <X arg='100'/> <Y arg='100'/> <ScrollWidth arg='455'/> <ScrollHeight arg='580'/> <Width arg='480'/> <Height arg='637'/> <object type='JoiDataLogger'> <Y arg='130'/> <Width arg='425'/> <Height arg='425'/> <Link0 arg='KRYKSRV/SenderstrHEPHF/AusgangsstrIac/DATA'/> <Link1 arg='KRYKSRV/SenderstrHEPHF/AusgangsstrIdc/DATA'/> <Link2 arg='KRYKSRV/SenderstrHEPHF/AusgangsspgUdc/DATA'/> <Link3 arg='KRYKSRV/SenderstrHEPHF/PulssperrePb/DATA'/> <Event arg='Sat 14.06.2003 18:15:38'/> </object> <object type='JoiTextField'> <Value arg='TINE Event Display'/> <X arg='65'/> <Y arg='5'/> <Width arg='340'/> <Height arg='40'/> <FontStyle arg='Bold'/> <FontSize arg='24'/> <Alignment arg='Center'/> </object> Link: http://krykpcn.desy.de:8080/examples/servlet/eLogbook.GetJoiEvent? EVENT_N=1055491723& ARCHIVE_S=KRYKSRV& DEVICE_S=SenderstrHENL& ID=EVENT:030613-10:08:43.joi JoiMint config file: (dynamically created by servlet) <?xml version='1.0' encoding='UTF-8'?> <config> <X arg='100'/> <Y arg='100'/> <ScrollWidth arg='455'/> <ScrollHeight arg='580'/> <Width arg='480'/> <Height arg='637'/> <object type='JoiDataLogger'> <Y arg='130'/> <Width arg='425'/> <Height arg='425'/> <Link0 arg='KRYKSRV/SenderstrHEPHF/AusgangsstrIac/DATA'/> <Link1 arg='KRYKSRV/SenderstrHEPHF/AusgangsstrIdc/DATA'/> <Link2 arg='KRYKSRV/SenderstrHEPHF/AusgangsspgUdc/DATA'/> <Link3 arg='KRYKSRV/SenderstrHEPHF/PulssperrePb/DATA'/> <Event arg='Sat 14.06.2003 18:15:38'/> </object> <object type='JoiTextField'> <Value arg='TINE Event Display'/> <X arg='65'/> <Y arg='5'/> <Width arg='340'/> <Height arg='40'/> <FontStyle arg='Bold'/> <FontSize arg='24'/> <Alignment arg='Center'/> </object>
eLogbook Display JoiMint Event Displays Web Client Tomcat eLogbooks JoiMint Servlet: ListEntry Step I Classes extending LogBook TINE Data Read Link Information Create html + Link Start MIME Application Read JoiMint file With JOI MIME type Servlet: GetJoiEvent Step II Send html Image (Joi-File) With MIME Header Prepare Joi-File With Archive-Server DeviceServer Event-Number TINE Events Html-Link: Including: Archive-Server DeviceServer Event-Number
Experience • Tomcat is just stable (no crashes ever) • Oracle performance extremely good • Oracle server in computing center • Performance @ DESY: • ~ 50 images @ 100k • ... Which implies 51 interactions with Oracle server • ... in 2 sec • 100 messages (text) from 5 log books (5 interactions) • ... in 1-2 sec • (limits: 50 images / 100 messages configured in config class)
Plans - I: • Add alarms: • Use existing alh-> Oracle functionality and write alarms directly into Oracle • Query alarms in eLog • Create http links for: • JoiMint -> archive data • JoiMint -> alarm settings • ...
Plans - II: • Add support for cmlog (as source) • Line oriented view ( like JLAB eLog) • Configure eLogs in (XML) config file • Add eLog-sources by Java plugins