280 likes | 415 Vues
Discover how Pilz Ireland utilizes Eclipse as a powerful application platform for developing desktop software tailored to industrial automation products. By transitioning to the Rich Client Platform (RCP) and adopting the Standard Widget Toolkit (SWT), Pilz has enhanced performance, usability, and extensibility through plug-ins. This article explores the benefits of Eclipse, including improved application features, modular design through OSGi, and graphical modeling capabilities, making it an ideal choice for future-proofed development in machine safety and automation.
E N D
Leveraging Eclipse For Desktop Applications Why Pilz Use Eclipse As An Application Platform James Sugrue Pilz Ireland
Pilz IrelandWhat We Do • Specialists in machine safety • Develop desktop software for Pilz industrial automation products • Experts in Usability • Automation tool suite
SWT – Standard Widget ToolkitPilz 2002 • Prototype was written with Swing • Moved to SWT for production • Platform level widgets • Better performance • JFace provides enhanced components and utilities
Drivers for ChangeWhy Move to RCP • Fast Rich Client Application Development • Stable, Tested Platform • Easily Extendable via Plug-ins • Rich Set of Features
What Is OSGi? A Brief Introduction • Component system for Java • More than just implementation code • Metadata to describe • Module and who provides it • Dependencies • What the module provides • Avoid “classpath hell” and hidden dependencies
An Illustration • Eclipse Drawing Tool Plug-in • Invoke through menu item • Data model to represent drawing • Graphical model (RCP/Plug - in Development) (EMF) (GEF / GMF)
Eclipse Modelling FrameworkCreate New Model XML Schema UML Annotated Java Ecore Model
Eclipse Modelling FrameworkSummary • Simple models mixed with hand-written code • Powerful Code Generation Tools • Built-in change notification mechanism • Validation of model constraints • User interface for domain objects
Graphical Editing FrameworkProviding A View • Based on Draw2D • Takes any model as input • Provides graphical viewers • Need to wire into EMF notifications manually
Graphical Modelling FrameworkCreate A Graphical Editor For Your Model • Import EMF Model • Graphical Definition • Tooling Definition • Mapping Definition • Generate Code
Architectural Benefits Why Eclipse is Right for Pilz • Equinox with support for bundles and extensibility • UI Extensibility (Menus, Toolbar, Views,…) • Support for updating bundles • Jobs API to perform background tasks and showing progress • Extensive Amount Of Frameworks • Similar Goals For The Future • It’s Free