This talk will introduce the attendees to the Faceted Project Framework. The emphasis will be on covering the use cases solved by the framework as well as laying out how the framework can be used by projects at Eclipse and other add-in providers. A road map and update on the status of Faceted Project Framework as an independent project will also be presented.
Faceted Project Framework facilitates treating Eclipse projects as composed of units of functionality (called facets) that can be easily added or removed by users.
Business managers often model their processes as an abstract version. They are not concerned about how those will be executed later on (and they shouldn't be!). The additional information needed by a process engine running the process will be added by the technical staff afterwards. But what happens if the modeled process shall be deployed on different process engines? Each vendor requires different data which has to be added to the process model.
The Eclipse Java Workflow Tooling (JWT) project answers these requirements in its EMF / GEF-based Workflow Editor. Different views on the workflow, e.g. technical or business oriented views, reflect the role of the user while an easy and flexible aspect-oriented customization mechanism allows to handle specificities of target runtime platforms and existing data as well as of modeled business domains.
The process model also builds the basis for automatically generating XPDL- or WSBPEL-code. We will also show the possibility to monitor the process during execution on the engine as well as we'll demonstrate our integration within Service Oriented Architectures in general and the Eclipse STP project (e.g. by generating code for the STP-Intermediate Model) in particular.
Programming SWT/JFace user-interfaces in Java often involves a lot of repetitive boiler-plate code that is overly verbose and hard to map to the user-interface visually. This can significantly hinder maintainability and productivity for Eclipse RCP projects.
Enter Glimmer; a new JRuby API for SWT that takes advantage of the highly productive Ruby language to provide a very simple user-interface DSL (domain-specific language.) It can help Java developers build the presentation layer faster and with more maintainable code. Also, it can help Ruby developers build a complete SWT application in Ruby.
Glimmer comes with built-in data-binding support to greatly facilitate writing maintainable and testable desktop application code.
In this presentation, I will introduce Glimmer, demo the latest features by contrasting the code of an application written in both Glimmer and classic SWT, and finally provide a quick update on the status of the project.
The Open System Engineering Environment (OSEE) Eclipse project is an integrated environment geared at supporting the full product life-cycle. At the core of the project is an object-oriented persistence layer that provides a dynamic data model with advanced version control capabilities.
This talk provides an overview of the OSEE client/server architecture focusing on data modeling using OSEE base types and how to extend these to support different contexts as well as integrating data from external data sources. As we dig deeper into the framework, we will focus on the server side architecture and highlight some of its key components. Lessons learned from the various architectural choices will also be discussed.
Konstantin is an engineering team lead at Oracle working on a product with close ties to Eclipse and has been a committer on the Web Tools Platform since before its first release. He has designed and implemented the Faceted Project Framework which made it possible for people to easily extend capabilities of WTP projects. He is also on the Technology Project's PMC as a reflection of his interest in making it easier to start small projects at Eclipse. In his prior life, he has worked on compilers, custom servers and network protocol design. He graduated from the University of Washington with BS in Computer Science.
Florian Lautenbacher is working as a researcher at the University of Augsburg, Germany since 2005. His interests are in applying semantic technologies to model-driven software development, in particular in workflow and business process technologies as well as service-oriented architectures. Florian is project co-lead of the Eclipse Technology project Java Workflow Tooling (JWT) which started in 2007.
Christian Saad works as a researcher at the University of Augsburg, Germany since 2008. His interests include the application of formal analyis methods to model-driven development and semantic technologies. Christian is a committer of the Eclipse Technology project Java Workflow Tooling (JWT), a customizable toolset for Business Process Management.
Annas "Andy" Maleh is a senior consultant at Obtiva, an agile consulting firm that specializes in Eclipse RCP, JEE, and Rails development. As the founder and lead-developer of Glimmer, he continuously delights in coming up with new ways to make desktop application development easier and more efficient. Andy has given a number of talks related to desktop development, design patterns, usability, agile practices, Ruby, and Glimmer. He presented at EclipseCon 2007/2008, EclipseWorld 2006/2007/2008, RubyConf 2008, and Agile 2008. Andy holds a B.S. in Computer Science from McGill University and an M.S. in Software Engineering from DePaul University.
Roberto Escobar is a software engineer at Boeing and a committer for Eclipse’s Open System Engineering Environment (OSEE) Technology Project. In addition to his work on OSEE, his past projects include the AH64-D Apache Attack Helicopter and Future Combat System’s War-fighter Machine Interface. He has a Bachelor of Science in Computer Engineering from Georgia Institute of Technology and a Masters in Business Administration from Arizona State University.
Benoit Langlois is software architect and project leader at Thales. He has 13+ years of experience in model-driven development in small- and large-scale projects. He always tries to improve software industrialisation and to share this value.