1 / 19

WebOPI -Bring BOY OPI to the Web and Mobile

WebOPI -Bring BOY OPI to the Web and Mobile. Xihui Chen, Kay Kasemir chenx1@ornl.gov Spring 2012 EPICS Meeting. We already have good control system displays in control room. Still, Users want Web Access to Ctrl. Sys. From Anywhere On any device and any web browser.

olwen
Download Presentation

WebOPI -Bring BOY OPI to the Web and Mobile

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WebOPI-Bring BOY OPI to the Web and Mobile Xihui Chen, Kay Kasemir chenx1@ornl.gov Spring 2012 EPICS Meeting

  2. We already have good control system displays in control room

  3. Still, Users want Web Access to Ctrl. Sys. • From Anywhere • On any device • and any web browser

  4. WebOPI makes it to reality • BOY OPI goes to Web Browser and Mobile

  5. SNS control room screens in Web Browser

  6. Compatible With… • Mobile devices • iPhone, iPod, iPad • Andriod Phone (Opera 9+ or Firefox 2+ browser is required) • Maybe more… • No Flash • No Java Applets • No browser add-on/plugin Chrome 3+ Safari 3+ Firefox 2+ IE 6+ Opera 9+

  7. Highly Compatible with BOY • 98% BOY OPI functions are supported in WebOPI • All widgets, except Data Browser widget (technically possible) • Actions, Macros, Color & Font Macro • Rules, JavaScript and Python Script • Not supported (minor things) • No advance graphics • No clip (fill level property of Ellipse, Polygon) • No ramp on Gauge, Meter and Knob • No dash line • No 3D effect • No tooltip • No Console • No File Dialog • No Workspace

  8. Can anyone tell the difference? Arc is filled in different way No fill level on Ellipse and Polygon No ramp and 3D effect (gradient)

  9. No special requirement on OPI file • Existing BOY OPI can be reused on WebOPI without any modification • Well, one requirement: • Don’t rely on the unsupported functions as listed before

  10. Technologies behind • Built on Eclipse RAP (Rich Ajax Platform) • Bring Eclipse RCP to Web • Single Sourcing between RCP and RAP applications • JavaScript and HTML5 on client • Supported by all mainstream web browsers • Standard servlet technology  • Server runs on any JEE servlet container, such as Tomcat, Jetty, Glassfish, JBoss and WebSphere • Single sourcing on most of BOY code

  11. Introduction to RAP • Bring Eclipse RCP applications to web browser • Single Sourcing between RCP and RAP applications http://www.eclipse.org/rap/

  12. The major differences • WebOPI is Multi-User • Server side needs to manage the life cycle of each client • PV connect/disconnect • Widget activate/deactivate • No workspace CSS BOY WebOPI

  13. Server and Clients share the load Control System • Major on server side, including • PV connection, read/write • Script executing • Clients life cycle management • Client side • GUI rendering Channel Access HTTP HTTP

  14. Server and Clients share the load • Pros • Low hardware requirement for client devices • No firewall issue • Simple security management • Cons • Heavy loaded OPI could slow down the server • Limit to number of clients

  15. How does WebOPI get updates? • Traditional Webpages make updates by • Refreshing the page periodically • Slow, waste traffic • Adobe Flash, Java Applet • Doesn’t work on iPhone, iPod, iPad… • Web browser add-on • Specific to certain web browsers. Won’t work on all your devices. • WebOPI uses AJAX and long polling approach • XMLHttpRequest long polling • A long-standing request that is answered only in case of server-side updates

  16. Performance • Benchmark test • An OPI with 1000 text update widgets updated at 10Hz • Server: Linux, 4 core, 2.66GHz, 4GB Memory • 18% CPU usage • <200M memory usage • Only one Client: Chrome on Windows, 4 Core, 2.66G, 4GB Memory • 20% CPU usage • 50M memory usage • 300 kB/s • Network • 100Mbps Local Area Network

  17. Take the best use of it • Don’t deploy heavy loaded OPI • Eg. Hundreds of widgets updated at fast rate • Split them to small OPIs if possible • Close the webpage when it is not needed anymore

  18. Deployment is simple • Support all JEE servlet container • Tomcat, Jetty, Glassfish, JBoss and WebSphere • Copy webopi.war to the predefined location specified by servlet container • Configure css_rap.ini • Copy opi files to opi_repository • You are ready to see your opi on web! org.csstudio.opibuilder/opi_repository=C:/path/BOY Examples/ org.csstudio.opibuilder/startup_opi=main.opi org.csstudio.opibuilder/mobile_startup_opi=mobile.opi org.csstudio.opibuilder/color_file=color.def org.csstudio.opibuilder/font_file=font.def

  19. Thank you! • WebOPI homepage: • http://sourceforge.net/apps/trac/cs-studio/wiki/webopi

More Related