Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Computing infrastructure at PETRA III beamline P05

27 views

Published on

P05 review rehearsal

Published in: Software
  • Be the first to comment

  • Be the first to like this

Computing infrastructure at PETRA III beamline P05

  1. 1. Igor Khokhriakov Computing Infrastructure @PETRA III beamline P05 (&P07) HZG, 21/03/18
  2. 2. X-Environment
  3. 3. PreExperiment Data Collector FEATURES: • Customizable on-the-fly view forms defined in YAML • Different policies are applicable to the view forms: web, web-readonly, tango • Supports different validations: number, double, string, text, required • Provides tango access to data • Offline clients
  4. 4. Status Server FEATURES: • Forms continuous timeline of the experiment • Simple configuration, defined in XML • Values can be obtained through event or polling mechanism • Different interpolation strategies: last, nearest and linear
  5. 5. Control Environment [IDL Scripts]
  6. 6. TangoWebapp: All-in-one screenshot
  7. 7. X-Environment
  8. 8. DataFormatServer NXComposer: YAML NeXus definition:
  9. 9. Integrating everything together
  10. 10. Data transfer between Tango servers. Apache Camel Integration.
  11. 11. Apache Camel routes.
  12. 12. Packaging and Continuous Integration
  13. 13. Packaging Every component is an independent single Executable jar file! Dedicated project holds all configuration files.
  14. 14. Packaging
  15. 15. Continuous Integration. 1. Release 2. Assemble & test 3. Deploy 4. Feedback 5. Repeat 1. Release 2. Assemble & test 3. Deploy 4. Feedback 1. Release 2. Assemble & test 3. Deploy 4. Feedback
  16. 16. 16 A good example of how Java is used as an infrastructure at a beamline KIT CMOS Camera server deployment
  17. 17. ● Beamline scientist friendly environment ● Integrates smoothly into the user interface ● Fully automatized and easy deployment ● Integration with DESY computer center ● Opensource, available @bitbucket.org/hzgwpn Summary
  18. 18. Thank you! Questions?
  19. 19. ezTangORB Consider the following example: DeviceProxy proxy = new DeviceProxy("some-device"); DeviceAttribute attribute = proxy.read_attribute("some-attribute"); if(result.hasFailed()){ throw new Exception("Can not read attribute."); } int dataFormat = result.getDataFormat() int dataType = result.getType() double result; switch(dataType){ case Tango_DEV_Double: switch(dataFormat){ case _SCALAR: result = attribute.extractDouble() ... } ... } ... Using the API the same result can be achieved with the following code: TangoProxyWrapper proxy = new TangoProxyWrapper("some-device"); double result = proxy.<Double>readAttribute("some-attribute"); ... This library is a part of the Tango distribution since version 9.

×