The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Size: px
Start display at page:

Download "The New Generation of the Eclipse Platform. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék"

Transcription

1 The New Generation of the Eclipse Platform Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

2 Eclipse RCP For developing client applications o Based on the Eclipse workbench model o But without IDE functionality Or possibly including a limited function set Since Eclipse 3.0 (2004) o Eclipse IDE is a specific Eclipse application

3 Eclipse Application Platform 4.x Rework of Eclipse RCP platform Goals o Easier programming o Better reuse o Compatibility Using a compatibility layer 3

4 Eclipse Application Platform 4.x Most important new functions o Context handling Platform service access Dependency Injection o EMF- based workbench model Editor and view are not separate entities o CSS based theming RCP application should look different to IDE

5 Glossary e4 o Incubation project at eclipse.org o Collection of new generation techniques o Eclipse 4.x Application Platform started here Eclipse 4.x o New release of the platform o New services o Can be used a stable base software

6 Accessing services Based on the What s the context? talk from EclipseCon

7 Service access - 3.x Selection Lifecycle Custom view, editor Extension handling Workbench access Resources

8 Service access - 3.x Selection Base class#getsite().getselectionprovider() Lifecycle Custom view, editor Extension handling Workbench access Resources

9 Service access - 3.x Selection Base class# createpartcontrol(), save(), Custom view, editor Lifecycle Extension handling Workbench access Resources

10 Service access - 3.x Selection Lifecycle Custom Platform.getExtensionRegistry() view, editor Extension handling Workbench access Resources

11 Service access - 3.x Selection Lifecycle Custom view, editor PlatformUI.getWorkbench() Extension handling Workbench access Resources

12 Service access - 3.x Selection Lifecycle Custom view, editor ResourcesPlugin.getWorkspace() Resources Extension handling Workbench access

13 Service access - 3.x Selection Lifecycle Custom view, editor Extension handling Workbench access Resources

14 Singleton service providers

15 Singleton service providers Accessing common services o Not always provided by the Platform itself

16 Singleton service providers Accessing common services o Not always provided by the Platform itself Nice and comfortable solution o Simple client code o Information hiding: returning service interface At first glance o What is the problem?

17 Singleton service providers Alternative providers? o Service stub for testing o Remote services Reuse services at different locations o Using editor (or view) inside a dialog E.g. textual editor in a Preference page

18 Singleton service providers Alternative providers? o Service stub for testing o Remote services Reuse services at different locations o Using editor (or view) inside a dialog E.g. textual editor in a Preference page Environment hard- coded in a single plug- in

19 Hardcoded environment - example Eclipse IDE o Exactly one IWorkspace o Client: ResourcesPlugin.getWorkspace() Bespin IDE o Experimental project from 2009 (Mozilla) o IDE in the web o Goal: different IWorkspace instances for each user o Client Removing singleton references is a lot of work 10

20 Defining custom services Singleton provider o Such as Eclipse 3.x platform OSGi service o Easier to integrate Manager classes for service access OSGi code written by hand o Declarative services Direct integration problematic Instantiation by DS or Eclipse? 11

21 Event Handling I. Event o If a data is interesting, usually its changes as well! Many event types o Service appearance/disappearance o Service specific listener Resource changes Selection Service o User interface Data binding Editor/view lifecycle events 12

22 Example: Workbench window change Several thousand events o Main cause: Complex event chains (event storm) 13

23 Problems o Multiple event handling Event Handling II. o Complex, implicit effects between listeners Unnecessary event handling in inconsistent states Event storm o For simple cases Many, repeated code Easy to miss something

24 Base problem Problem o Extension knows service provider Solution: indirection o Service provider is a parameter of a class o On extension instantiation Collect services Set up parameters o Platform can do all of this If it knows the list of available services

25 Service access 3.x Selection Lifecycle Custom view, editor Extension handling Accessing Workbench Resources 16

26 Service access 4.x Selection Lifecycle Custom view, editor Extension handling Accessing Workbench Resources

27 Service access 4.x Selection Context Lifecycle Custom view, editor Extension handling Accessing Workbench Resources

28 Platform service access o Built- in services Resources, selection, etc. o Properties Preferences Hierarchic key- value pairs o OSGi services Context o Common event handling! 18

29 Service access I. Context is accessed via o Dependency injection (@inject public void execute IResource file) { } // do something 19

30 Service access I. Context is accessed via o Dependency injection (@inject public void execute IResource file) { } // do something Lets inject... 19

31 Service access I. Context is accessed via o Dependency injection (@inject public void execute IResource file) { } // do something Lets inject the selection variable,... 19

32 Service access I. Context is accessed via o Dependency injection (@inject public void execute IResource file) { } // do something Lets inject the selection variable, that might be empty... 19

33 Service access I. Context is accessed via o Dependency injection (@inject public void execute IResource file) { } // do something and has a type of IResource. Lets inject the selection variable, that might be empty... 19

34 Service access II. What happens in the background? o Find variables from context o If matches parameters, it is transferred o If not, and Optional => null value, callee handles this; Not optional => inject error o Used annotations based on JSR- 330 specification JSR 330: Dependency Injection for Java

35 Base class o Queried value changes Event Handling o Solved by dependency injection In case of changes framework recalls method Much fewer event handler required Internal optimalization o Notification only in consistent context states

36 Model- based Workbench

37 Strict hierarchy o Window o Site o Perspective o Editors and views Workbench stucture In 3.x, defined in code o New instances set up via extensions

38 Common behaviour o Defined in base classes Inheritance hierarchy o Not required to code all the time o Same behaviour all the time 24

39 Common behaviour o Defined in base classes Inheritance hierarchy o Not required to code all the time o Same behaviour all the time View 24

40 Common behaviour o Defined in base classes Inheritance hierarchy o Not required to code all the time o Same behaviour all the time View Editor 24

41 Inheritance hierarchy Common behaviour o Defined in base classes o Not required to code all the time o Same behaviour all the time View Textual editor Editor 24

42 New approach Application model o Describing the workbench structure Does not contain the entire GUI (on the widget level) Widget set independent o Available during runtime AND modifiable

43 Custom model Application model o Basically one for an RCP application o Structure of the entire application Model fragment o Extensions to running application model o A single fragment replaces a large set of extensions More understandable than scattered extensions Registration of models and fragments o Using a single extension point

44 Application Models Extensibility 27

45 Application Models Extensibility Model fragments o Contributed parts to application model o Models are merged Fragments reusable in different applications 27

46 Application Models Extensibility Model fragments o Contributed parts to application model o Models are merged Fragments reusable in different applications Model processors o Programmed modifications of application model 27

47 Technology: EMF model o Metamodel available o Extensions possible Contains o Application window Application model o Views and editors (commonly referred to as Part) +layout o Commands, menu Detailed documentation o 28

48 Application model Live model o Synchronized with the GUI User interactions are reflected here Changes update the user interface E.g. programmatic opening of a View o Model is serialized on save State restore Processed using basic EMF tools 29

49 Workbench metamodel not up to date! Forrás: incubator- e4- dev/msg00222.html 30

50 Workbench metamodel not up to date! Forrás: incubator- e4- dev/msg00222.html 30

51 Workbench metamodel not up to date! Menus and other elements Views and Editors Workbench window Forrás: incubator- e4- dev/msg00222.html 31

52 Application model editor (e4 tools) 32

53 Annotation based API Implementing classes o Free inheritance hierarchy o Lifecycle events via annotations o JSR 250: Common Annotations for the Java TM Platform 33

54 View example 3.x public class SampleView extends ViewPart public void createpartcontrol(composite parent) { // TODO Auto-generated method stub public void setfocus() { // TODO Auto-generated method stub public void dispose() { // TODO Auto-generated method stub } } 34

55 View example 4.x public class SampleView extends ViewPart public void createpartcontrol(composite parent) { // TODO Auto-generated method stub public void setfocus() { // TODO Auto-generated method stub public void dispose() { // TODO Auto-generated method stub } }

56 View example 4.x public class SampleView extends ViewPart public void createpartcontrol(composite parent) { // TODO Auto-generated method stub public void setfocus() { // TODO Auto-generated method stub public void dispose() { // TODO Auto-generated method stub } No inheritance }

57 View example 4.x public class SampleView extends ViewPart public void createpartcontrol(composite parent) { // TODO Auto-generated method stub } Semantic Szöveg public void setfocus() { // TODO Auto-generated method stub public void dispose() { // TODO Auto-generated method stub } No inheritance }

58 View example 4.x public class SampleView extends ViewPart public void createpartcontrol(composite parent) { // TODO Auto-generated method stub } Semantic Szöveg public void setfocus() { // TODO Auto-generated method stub } No inheritance public void dispose() { // TODO Auto-generated method stub } What are the benefits?

59 Annotation based API

60 Annotation based API What have we gained? o Free inheritance hierarchy Any use is possible o Container idependent code Class is free to reuse Even outside Eclipse Injection needs to be done

61 Annotation based API What have we gained? o Free inheritance hierarchy Any use is possible o Container idependent code Class is free to reuse Even outside Eclipse Injection needs to be done What have we lost? o Compatibility with previous platform If plug- ins not working, nobody will update

62 Compatibility with 3.x API Re- implement the base classes required by 3.x o Use the new API Not a perfect clone o Smaller issues o API compatibility achieved Using 3.x and 4.x GUI parallel o Not supported officially (in 2012) o BUT: based on a EclipseCon 12 talk possible

63 Compatibility with 3.x API Re- implement the base classes required by 3.x o Use the new API Not a perfect clone o Smaller issues o API compatibility achieved Using 3.x and 4.x GUI parallel o Not supported officially (in 2012) o BUT: based on a EclipseCon 12 talk possible

64 Model processing during runtime Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 38 Eclipse e4 tutorial, EclipseCon 2010

65 Model processing during runtime Complex renderer Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 38 Eclipse e4 tutorial, EclipseCon 2010

66 Model processing during runtime Complex renderer Replaceable Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 38 Eclipse e4 tutorial, EclipseCon 2010

67 Rendering Engines SWT Presentation Engine o Bundled with Eclipse o Relies on SWT o Compatible with old API JavaFX Renderer o Provided by e(fx)clipse project o Relies of JavaFX (requires Java 8) o Incompatible with old GUI plug- ins! RAP Renderer o RCP on the web ( getting- started- with- eclipse4- applications- on- rap/) o Details: next week 39

68 Compatibility Layer Application model implementation o Processed extensions from 3.x API o Creates corresponding models Basically full API compatibility o Platform works as expected 40

69 CSS based theming 41

70 Eclipse 3.x o Partially possible Application theming Colors, formatting stored and queried Basically key- value pairs Not flexible enough o How serious is this problem? IDE Good question RCP application Must not look like the IDE! 42

71 Eclipse 3.x o Partially possible Application theming Colors, formatting stored and queried Basically key- value pairs Not flexible enough o How serious is this problem? IDE Good question RCP application Must not look like the IDE! 42

72 Theming Contacts demo Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 43 Eclipse e4 tutorial, EclipseCon 2010

73 Theming Contacts demo Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 43 Eclipse e4 tutorial, EclipseCon 2010

74 Theming Contacts demo Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 43 Eclipse e4 tutorial, EclipseCon 2010

75 Theming Contacts demo Forrás: Tom Schindl, Lars Vogel, Kai Tödter: 43 Eclipse e4 tutorial, EclipseCon 2010

76 Styles o Based on products o More possible Theming Eclipse IDE Changes possible during runtime Unique attributes attached to widgets: Label label = new Label(parent, SWT.NONE); label.setdata("org.eclipse.e4.ui.cs s.id, "SeparatorLabel");

77 Theming in platform 4.x Reasonably wide possibilities Report from EclipseCon 12: o CSS on E4 o css- on- e4- eclipsecon/

78 New problems

79 New Platform New problems Are there any? 47

80 New Platform New problems Are there any? Performance problems o In some cases noticeable slowdowns Platform team asks: report it (reproducibly)! 47

81 New Platform New problems Are there any? Performance problems o In some cases noticeable slowdowns Platform team asks: report it (reproducibly)! Service list is dynamic o Exploration based learning How can I get the current selection? o Debugging Why do I get a null from the injector? 47

82 Summary

83 Eclipse Application Platform 4.x Platform advances o Dependency injection o OSGi services as first- class citizens o New services Theming Better event handling o Sadly: new bugs Sometimes performance issues But this is the future o Worth learning it 49

84 Sources, additional materials e4 wiki o Eclipse 4 wiki o John Arthorne, Paul Webster, Boris Bokowski, Oleg Besedin: What s the context? o Wim Jongman: Why Eclipse 4? (the Egg Laying WoolMilkPig) o tsi- wim.blogspot.hu/2012/10/why- eclipse- e4- egg- laying- woolmilkpig.html 50

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council

About Tom. CEO BestSolution Systemhaus GmbH. Eclipse Committer. Platform UI EMF. Projectlead: UFaceKit, Nebula. Member of the Architectual Council State of Eclipse 4.x Tom Schindl - BestSolution Systemhaus GmbH, Eric Moffatt IBM Leuven October 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit,

More information

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Eclipse 4 Eclipse Day Toulouse 24 mai 2012 Eclipse 4 Eclipse Day Toulouse 24 mai 2012 OPC 12 ECD PRE E4A 01 A OPCOACH 2012 Table of contents I - Eclipse 4 5 A. Application Model... 10 B. E4 injection and annotations... 14 C. CSS Styling... 17

More information

Single Sourceing for Eclipse 4.x and 3.x

Single Sourceing for Eclipse 4.x and 3.x Single Sourceing for Eclipse 4.x and 3.x Tom Schindl - BestSolution Systemhaus GmbH EclipseCon 2011 - March 21st 2011 About Me CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead:

More information

Kai Tödter Siemens Corporate Technology

Kai Tödter Siemens Corporate Technology Kai Tödter Siemens Corporate Technology Objectives of e4 e4 Workbench Model Models & Rendering Other UI Models Services CSS Styling Demo Discussion 2 Making it easier to write plug-ins Allowing better

More information

Migration to E4. Eclipse Con France 2016

Migration to E4. Eclipse Con France 2016 Migration to E4 Eclipse Con France 2016 8th June 2016 Table des matières I - Migration to E4 5 A. Presentation... 6 B. Migration to E4... 6 C. Migration tooling... 9 D. Model Fragments and Processors...

More information

Technical Debt in Eclipse Development. Eclipse Con France 2018

Technical Debt in Eclipse Development. Eclipse Con France 2018 Technical Debt in Eclipse Development Eclipse Con France 2018 13 June 2018 Table of content I - Technical debt in your RCP application 5, June 2018 3 Technical debt in your RCP application I- I Who?

More information

Eclipse 4.0. Jochen Krause EclipseSource

Eclipse 4.0. Jochen Krause EclipseSource Eclipse 4.0 Jochen Krause jkrause@eclipsesource.com EclipseSource based on EclipseCon 2008 talk by Mike Wilson, Jochen Krause, Jeff McAffer, Steve Northover 2008 EclipseSource December 2008 e4 adapting

More information

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Web Applica+on Development. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Web Applica+on Development Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék UI Development Trends Desktop applica+ons Opera+ng system integra+on Rich set of

More information

Eclipse 4. Brian de Alwis. Abstract

Eclipse 4. Brian de Alwis. Abstract Eclipse 4 Brian de Alwis Abstract This year's Juno release sees the mainstream deployment of Eclipse 4, the new application platform from the Eclipse Foundation. Over four years in the making, Eclipse

More information

Eclipse 4 Application Platform

Eclipse 4 Application Platform Eclipse 4 Application Platform Tom Schindl - BestSolution Systemhaus GmbH EclipseCon Nov 2011 About Tom CEO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Projectlead: UFaceKit, Nebula

More information

e4 Project 0.9 Release Review

e4 Project 0.9 Release Review e4 Project 0.9 Release Review July 30, 2009 Review communication channel: e4-dev@eclipse.org 1 Highlights 0.9 is a technology preview of interesting work happening in the e4 incubator This is not a commercial

More information

The Eclipse Rich Ajax Platform

The Eclipse Rich Ajax Platform The Eclipse Rich Ajax Platform Frank Appel RAP Tech Lead fappel@innoopract.com Eclipse RAP 1.1 Copyright Innoopract made available under the EPL 1.0 page: 1 The Innoopract pitch Integration & delivery

More information

Eclipse 4 Programming Model and Practices. Jin Mingjian

Eclipse 4 Programming Model and Practices. Jin Mingjian Eclipse 4 Programming Model and Practices Jin Mingjian Agenda Eclipse 4 and Kepler Programming Model Good Practices Random Thoughts Eclipse 4 Modeled UI modeling(mdd): EMF Dependency Injection home made

More information

RAP (The Rich Ajax Platform)

RAP (The Rich Ajax Platform) RAP (The Rich Ajax Platform) Eclipse Banking Day New York Jochen Krause RAP Project lead jkrause@eclipsesource.com 2008 EclipseSource December 2008 RAP enables building modular applications for web and

More information

Foundations of User Interface Programming Using the Eclipse Rich Client Platform

Foundations of User Interface Programming Using the Eclipse Rich Client Platform Foundations of User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Foundations of User Interface Programming Using the Eclipse Rich Client Platform Page

More information

I A D P A T A B L E A N D W O R K B E N C H

I A D P A T A B L E A N D W O R K B E N C H I A D P A T A B L E A N D W O R K B E N C H I m p l e m e n t i n g a W o r k b e n c h V i e w a n d U s i n g I A d a p t a b l e 1 9 A u g u s t 2 0 0 8 TABLE OF CONTENTS 1 Goals...3 2 Defining A View...4

More information

Eclipse on Cell phones?

Eclipse on Cell phones? Eclipse on Cell phones? An Introduction to the ercp ~ Chris Aniszczyk ~ 1 Agenda Overview (~10 mins) eswt (~20 mins) Introduction Mobile Extensions Working with Devices (~10 minutes) Troubleshooting

More information

Testing Eclipse plug-ins: Tips & Tricks

Testing Eclipse plug-ins: Tips & Tricks Testing Eclipse plug-ins: Tips & Tricks Lorenzo Bettini DISIA University Firenze, Italy Vincenzo Caselli Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe 2017 Project Quality Day Motivations

More information

Developing Rich Clients with Eclipse 4.x RCP

Developing Rich Clients with Eclipse 4.x RCP Developing Rich Clients with Eclipse 4.x RCP Kai Tödter, Siemens AG Tom Schindl, BestSolution.at 3/20/2011 Kai Tödter and others, Licensed under Creative Commons Attribution-Noncommercial-No Derivative

More information

Workbench Selection 2/15

Workbench Selection 2/15 W o r k b e n c h S e l e c t i o n U s i n g S e l e c t i o n S e r v i c e w i t h a C u s t o m V i e w Table of Contents 1 Introduction... 3 2 Defining A View... 4 3 Implementing SelectionView...

More information

Eclipse 4.x Compatibility Layer: What's hot? What's not?

Eclipse 4.x Compatibility Layer: What's hot? What's not? Eclipse 4.x Compatibility Layer: What's hot? What's not? Remy Suen, IBM Rational Boris Bokowski, IBM Rational What's in the compatibility layer? A reimplementation of the org.eclipse.ui.workbench bundle

More information

eclipse rich ajax platform (rap)

eclipse rich ajax platform (rap) eclipse rich ajax platform (rap) winner Jochen Krause CEO Innoopract Member of the Board of Directors Eclipse Foundation jkrause@innoopract.com GmbH outline rich ajax platform project status and background

More information

How we reached 0 technical debt in our Eclipse project

How we reached 0 technical debt in our Eclipse project How we reached 0 technical debt in our Eclipse project Lorenzo Bettini Dip. DISIA, University of Firenze, Italy Vincenzo Caselli, Francesco Guidieri RCP-Vision, Firenze, Italy EclipseCon Europe, 2016 Our

More information

Rich Client GUI's with RCP & RAP

Rich Client GUI's with RCP & RAP Rich Client GUI's with RCP & RAP Alexey Aristov WeigleWilczek GmbH aristov@weiglewilczek.com What is Rich Client? A fat client or rich client is a computer (client) in client-server architecture networks

More information

Advanced User Interface Programming Using the Eclipse Rich Client Platform

Advanced User Interface Programming Using the Eclipse Rich Client Platform Advanced User Interface Programming Using the Eclipse Rich Client Platform Tod Creasey IBM Canada Tod Creasey Advanced User Interface Programming Using the Eclipse Rich Client Platform Page 1 About the

More information

Workbench and JFace Foundations. Part One, of a two part tutorial series

Workbench and JFace Foundations. Part One, of a two part tutorial series Workbench and JFace Foundations Part One, of a two part tutorial series 2005 by IBM; made available under the EPL v1.0 Date: February 28, 2005 About the Speakers Tod Creasey Senior Software Developer,

More information

Component-Based Development

Component-Based Development Component-Based Development 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Outline Views Introduction View Declaration View Model Content Provider Label Provider 2 Introduction (1/5) Many plug-ins either

More information

WindowBuilder Graduation & Release Review

WindowBuilder Graduation & Release Review WindowBuilder Graduation & 1.0.0 Release Review http://www.eclipse.org/windowbuilder Planned Review Date: June 2011 Communication Channel: WindowBuilder Forum Eric Clayberg (Project Lead) 1 History Smalltalk

More information

ECLIPSE RICH CLIENT PLATFORM

ECLIPSE RICH CLIENT PLATFORM ECLIPSE RICH CLIENT PLATFORM DESIGNING, CODING, AND PACKAGING JAVA TM APPLICATIONS Jeff McAffer Jean-Michel Lemieux v:addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto

More information

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces)

Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces) Model Driven Development with EMF and EclipseLink (experiences in MDD and generating user interfaces) Suresh Krishna, Oracle Inc. EclipseCon, 03.20.2008. 1 Background : Model acts as the heart of the business

More information

Patterns and Best Practices for Dynamic OSGi Applications

Patterns and Best Practices for Dynamic OSGi Applications Patterns and Best Practices for Dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Goulwen Le Fur Obeo EclipseCon NA 2014

Goulwen Le Fur Obeo EclipseCon NA 2014 Goulwen Le Fur Obeo EclipseCon NA 2014 Most of the Eclipse RCP developers need to design GUIs Thank you Captain Obvious! Fortunately, the Eclipse community can help you! The very large... and very prolific

More information

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Lessons learned from building Eclipse-based add-ons for commercial modeling tools Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool

More information

Oracle Fusion Middleware 11g: Build Applications with ADF Accel

Oracle Fusion Middleware 11g: Build Applications with ADF Accel Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware

More information

Programming ArchiTech

Programming ArchiTech Programming ArchiTech The intention of this document is to give a description of the way ArchiTech has been programmed, in order to make anyone who wants to take a look to the code easier to understand

More information

eclipse.org. Tom Schindl

eclipse.org. Tom Schindl JavaFX @ eclipse.org Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Me CTO BestSolution.at Systemhaus GmbH

More information

Patterns and Best Practices for dynamic OSGi Applications

Patterns and Best Practices for dynamic OSGi Applications Patterns and Best Practices for dynamic OSGi Applications Kai Tödter, Siemens Corporate Technology Gerd Wütherich, Freelancer Martin Lippert, akquinet it-agile GmbH Agenda» Dynamic OSGi applications» Basics»

More information

Eclipse Data Binding - Updating RCP Mail 2.0 Handout

Eclipse Data Binding - Updating RCP Mail 2.0 Handout 1 of 16 Eclipse Data Binding - Updating RCP Mail 2.0 Handout Dr. Frank Gerhardt (Gerhardt Informatics), Dr. Boris Bokowski (IBM) Eclipse Application Developer Day Karlsruhe, 07.07.2009 [1] All rights reserved.

More information

Smart Client development with the Eclipse Rich Client Platform

Smart Client development with the Eclipse Rich Client Platform Smart Client development with the Eclipse Rich Client Platform Nick Edgar and Pascal Rapicault IBM Rational Software Ottawa, Ontario Eclipse Platform Committers To contact us: news://news.eclipse.org/eclipse.platform.rcp

More information

Common Navigator Framework

Common Navigator Framework Common Navigator Framework file://c:\d\workspaces\eclipsecnf\org.eclipse.platform.doc.isv\guide\cnf.htm Page 1 of 3 Common Navigator Framework A Viewer provides the user with a view of objects using a

More information

Eclipse Platform Rise and Shine Javaland 2016

Eclipse Platform Rise and Shine Javaland 2016 Eclipse Platform Rise and Shine Javaland 2016 Lars Vogel https://twitter.com/vogella Disclaimer: No API talk here, its more a state of the art about Eclipse talk Lars Vogel Eclipse PMC member Platform

More information

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250)

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS. For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) 1 Lab instructions This lab teaches you how to use IBM Rational HATS to create a rich client plug-in application

More information

open source RCP Eclipse based Visualization analysis Python Workflow

open source RCP Eclipse based Visualization analysis Python Workflow An open source not for profit project built on the Eclipse Rich Client Platform (RCP) framework Eclipse based workbench for doing scientific data analysis. It supports: Visualization and analysis of data

More information

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250)

Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS For IBM System i (5250) Introduction to Eclipse Rich Client Platform Support in IBM Rational HATS 1 Lab instructions This lab teaches

More information

Getting the Most from Eclipse

Getting the Most from Eclipse Getting the Most from Eclipse Darin Swanson IBM Rational Portland, Oregon Darin_Swanson@us.ibm.com March 17, 2005 What is Eclipse An extensible tools platform Out-of-box function and quality to attract

More information

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009

First Steps in RCP. Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany. February 19th, 2009 First Steps in RCP Jan Blankenhorn, WeigleWilczek GmbH, Stuttgart, Germany February 19th, 2009 Agenda» About us» RCP Architecture and Bundles» Extension Points and Views» Bundle Dependencies 2 Jan Blankenhorn»

More information

Target Management New and Noteworthy. Martin Oberhuber, Wind River

Target Management New and Noteworthy. Martin Oberhuber, Wind River Target Management New and Noteworthy Martin Oberhuber, Wind River www.eclipse.org/dsdp/tm 2007, 2008 by Wind River; made available under the EPL v1.0 20-Mar-2008 The Eclipse Target Management Project why

More information

JavaFX Codeeditors. Tom Schindl

JavaFX Codeeditors. Tom Schindl JavaFX Codeeditors Tom Schindl Twitter: @tomsontom Blog: http://tomsondev.bestsolution.at Website: http://www.bestsolution.at About Me CTO BestSolution.at Systemhaus GmbH

More information

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2

More information

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct

Lesson learned from using EMF to build Desktop & Web Applications. Ludwigsburg, Oct Lesson learned from using EMF to build Desktop & Web Applications Ludwigsburg, Oct 26 2017 About us Lorenzo Bettini Dip. Informatica, Univ. Firenze, Italy bettini@disia.unifi.it @lorenzo_bettini www.lorenzobettini.it

More information

Developing Eclipse Rich-Client Applications Tutorial

Developing Eclipse Rich-Client Applications Tutorial Developing Eclipse Rich-Client Applications Tutorial Dr. Frank Gerhardt Gerhardt Informatics Kft. fg@gerhardtinformatics.com Michael Scharf Wind River eclipsecon@scharf.gr 2008 by Frank Gerhardt and Michael

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1

Java Program Structure and Eclipse. Overview. Eclipse Projects and Project Structure. COMP 210: Object-Oriented Programming Lecture Notes 1 COMP 210: Object-Oriented Programming Lecture Notes 1 Java Program Structure and Eclipse Robert Utterback In these notes we talk about the basic structure of Java-based OOP programs and how to setup and

More information

Eclipse + Html: A Journey

Eclipse + Html: A Journey Eclipse + Html: A Journey Kris De Volder , Pivotal Software Martin Lippert , Pivotal Software 1 Outline Goal Motivation Case Studies The Journey API Comparison

More information

Creating an Eclipse View

Creating an Eclipse View Copyright 2001 Object Technology International, Inc. Eclipse Corner Article Creating an Eclipse View Summary In the Eclipse Platform a view is typically used to navigate a hierarchy of information, open

More information

Tools to Develop New Linux Applications

Tools to Develop New Linux Applications Tools to Develop New Linux Applications IBM Software Development Platform Tools for every member of the Development Team Supports best practices in Software Development Analyst Architect Developer Tester

More information

Equinox Project 3.6 Release Review

Equinox Project 3.6 Release Review Equinox Project 3.6 Release Review Equinox Project Leadership 1 Highlights 3.6 new features: Introduction of p2 API Multiple instances of p2 in one VM New Discovery UI Multi-locale support in extension

More information

QOOMdOO. 1 open source I community experience distilled. Beginner's Guide. Develop Rich Internet Applications (RIA) with qooxdoo. Rajesh Kumar Bachu

QOOMdOO. 1 open source I community experience distilled. Beginner's Guide. Develop Rich Internet Applications (RIA) with qooxdoo. Rajesh Kumar Bachu QOOMdOO Beginner's Guide Develop Rich Internet Applications (RIA) with qooxdoo Rajesh Kumar Bachu Mohamed Raffi [ PUBLISHING 1 open source I community experience distilled BIRMINGHAM MUMBAI Table of Contents

More information

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2

Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain. OSGi p2 JUnit Beware: Testing RCP Applications in Tycho can cause Serious Harm to your Brain Dependencies Debugging Surefire OSGi p2 Mac OS X Update Site Tycho Redistribution and other use of this material requires

More information

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum ApacheCon NA 2015 How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum 1Tech, Ltd. 29 Harley Street, London, W1G 9QR, UK www.1tech.eu 1 Overview Common Getting Started Problems Common

More information

20. Eclipse and Framework Extension Languages

20. Eclipse and Framework Extension Languages 20. Eclipse and Framework Extension Languages Prof. Uwe Aßmann TU Dresden Institut für Software und Multimediatechnik Lehrstuhl Softwaretechnologie Version 11-1.0, 12/17/11 Design Patterns and Frameworks,

More information

Implementation of a 2D Graph Viewer

Implementation of a 2D Graph Viewer Degree Project Implementation of a 2D Graph Viewer Javier de Muga 2010-01-29 Subject: computer science Level: master Course code: DA4014 Abstract The VizzAnalyzer tool is a program analysis tool with a

More information

Regular Forum of Lreis. Speechmaker: Gao Ang

Regular Forum of Lreis. Speechmaker: Gao Ang Regular Forum of Lreis Speechmaker: Gao Ang Content: A. Overview of Eclipse Project B. Rich Client Platform C. The progress of ustudio Project D. The development of Grid technology and Grid GIS E. Future

More information

News in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018

News in RSA-RTE 10.2 updated for sprint Mattias Mohlin, May 2018 News in RSA-RTE 10.2 updated for sprint 2018.18 Mattias Mohlin, May 2018 Overview Now based on Eclipse Oxygen.3 (4.7.3) Contains everything from RSARTE 10.1 and also additional features and bug fixes See

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

The Eclipse Rich Client Platform

The Eclipse Rich Client Platform The Eclipse Rich Client Platform Slides by various members of the Eclipse JDT and Platform teams Slides 2004 IBM Corporation Outline Rich Client Application? The Eclipse Plug-in Architecture Eclipse Plug-ins

More information

EMF Compare Ganymede Simultaneous Release

EMF Compare Ganymede Simultaneous Release EMF Compare 0.8.0 Ganymede Simultaneous Release June 16 th, 2008 Ganymede Release Talking Point Noteworthy New Features 2 way / 3 way comparison detecting conflics differencing, merging and extensibility

More information

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02

Mobile Application Workbench. SAP Mobile Platform 3.0 SP02 SAP Mobile Platform 3.0 SP02 DOCUMENT ID: DC-01-0302-01 LAST REVISED: January 2014 Copyright 2014 by SAP AG or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced

More information

DTP Help-Helper for Dynamic Context-Sensitive Help

DTP Help-Helper for Dynamic Context-Sensitive Help DTP Help-Helper for Dynamic Context-Sensitive Help This document introduces the Data Tools Platform (DTP) help-helper plug-in, which is provided in the Eclipse DTP project, since version 1.5 (released

More information

Semantic Web T LS Update

Semantic Web T LS Update Semantic Web Tools Update Semantic Web T LS Update Presented at the DARPA DAML PI Conference 25 May 04 By Troy Self Jeremy Lerner Ryan Owens InfoEther Agenda Semantic Web Central Ryan Owens InfoEther Semantic

More information

Eclipse project update by the Eclipse project PMC March 11 th 2008

Eclipse project update by the Eclipse project PMC March 11 th 2008 Eclipse project update by the Eclipse project PMC March 11 th 2008 This document provides an update of the developments accomplished within the Eclipse Project, how they align with the Ganymede simultaneous

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Ed Gehringer Using (with permission) slides developed by Dwight Deugo (dwight@espirity.com) Nesa Matic (nesa@espirity.com( nesa@espirity.com) Sreekanth Konireddygari (IBM Corp.)

More information

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress* The Definitive Guide to NetBeans Platform 7 Heiko Bock Apress* Contents About the Author About the Translator About the Technical Reviewers Acknowledgments Introduction xiv xiv xv xvi xvii * Part 1: Basics

More information

An Eclipse-based Environment for Programming and Using Service-Oriented Grid

An Eclipse-based Environment for Programming and Using Service-Oriented Grid An Eclipse-based Environment for Programming and Using Service-Oriented Grid Tianchao Li and Michael Gerndt Institut fuer Informatik, Technische Universitaet Muenchen, Germany Abstract The convergence

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Java EE 6: Develop Web Applications with JSF

Java EE 6: Develop Web Applications with JSF Oracle University Contact Us: +966 1 1 2739 894 Java EE 6: Develop Web Applications with JSF Duration: 4 Days What you will learn JavaServer Faces technology, the server-side component framework designed

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Getting started with Eclipse 05/02/2010 Prepared by Chris Panayiotou for EPL 233 1 What is Eclipse? o Eclipse is an open source project http://www.eclipse.org Consortium of companies,

More information

Comparing graphical DSL editors

Comparing graphical DSL editors Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Written in

More information

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s) What is Wazaabi 2.0? Declarative UI framework based on live EMF model(s) What is an EMF Model? Specification of an application s data Object attributes Relationships (associations) between objects Operations

More information

API Tooling in the Eclipse SDK

API Tooling in the Eclipse SDK API Tooling in the Eclipse SDK Olivier Thomann Darin Wright Michael Rennie IBM Rational March 17 th, 2008 1 Overview The need for tooling Tooling features Tooling architecture Future work Summary Q&A 2

More information

EMF Europa Simultaneous Release

EMF Europa Simultaneous Release EMF 2.3.0 Europa Simultaneous Release 6 June, 2007 Release Review revision 2.3.1 17 January, 2007 1 Europa Simultaneous Release 2007 by IBM Corporation, made available under the EPL v1.0 EMF - Europa Release

More information

Mitglied der Helmholtz-Gemeinschaft. Eclipse Parallel Tools Platform (PTP)

Mitglied der Helmholtz-Gemeinschaft. Eclipse Parallel Tools Platform (PTP) Mitglied der Helmholtz-Gemeinschaft Eclipse Parallel Tools Platform (PTP) April 25, 2013 Carsten Karbach Content 1 Parallel Tools Platform (PTP) 2 Eclipse Plug-In Development April 25, 2013 Carsten Karbach

More information

From Design Patterns: Elements of Reusable Object Oriented Software. Read the sections corresponding to patterns covered in the following slides.

From Design Patterns: Elements of Reusable Object Oriented Software. Read the sections corresponding to patterns covered in the following slides. From Design Patterns: Elements of Reusable Object Oriented Software Read the sections corresponding to patterns covered in the following slides. DESIGN PRINCIPLES Modularity Cohesion Coupling Separation

More information

Complex Event Processing A brief overview

Complex Event Processing A brief overview Complex Event Processing A brief overview Dávid István davidi@inf.mit.bme.hu Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Event Key concepts o An immutable

More information

Distributed Objects. Object-Oriented Application Development

Distributed Objects. Object-Oriented Application Development Distributed s -Oriented Application Development Procedural (non-object oriented) development Data: variables Behavior: procedures, subroutines, functions Languages: C, COBOL, Pascal Structured Programming

More information

JQueryScapes: customizable Java code perspectives

JQueryScapes: customizable Java code perspectives JQueryScapes: customizable Java code perspectives [Forum Demonstration Proposal] Lloyd Markle, Kris De Volder Department of Computer Science University of British Columbia Vancouver, BC, Canada 604-822-1290

More information

CA ERwin Data Modeler

CA ERwin Data Modeler CA ERwin Data Modeler Implementation Guide Service Pack 9.5.2 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to only and is subject

More information

An Introduction to Eclipse: Quick Guide. Part 1: Getting Started with Eclipse Part 2: Working with Eclipse Useful Online Guides

An Introduction to Eclipse: Quick Guide. Part 1: Getting Started with Eclipse Part 2: Working with Eclipse Useful Online Guides An Introduction to Eclipse: Quick Guide Part 1: Getting Started with Eclipse Part 2: Working with Eclipse Useful Online Guides 1 1 Part 1: Getting Started with Eclipse Installation & Running The User Interface

More information

Eclipse Building Commercial-Quality Plug-ins Second Edition

Eclipse Building Commercial-Quality Plug-ins Second Edition Eclipse Building Commercial-Quality Plug-ins Second Edition Eric Clayberg Dan Rubel v:addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris

More information

UML PROFILING AND DSL

UML PROFILING AND DSL UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803

SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 SAP Edge Services, cloud edition Edge Services Predictive Analytics Service Guide Version 1803 Table of Contents MACHINE LEARNING AND PREDICTIVE ANALYTICS... 3 Model Trained with R and Exported as PMML...

More information

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, November 2017

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, November 2017 News in RSA-RTE 10.1 updated for sprint 2017.46 Mattias Mohlin, November 2017 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10

More information

Simulate This! - The Eclipse Platform as an Integrated Computational Environment

Simulate This! - The Eclipse Platform as an Integrated Computational Environment Simulate This! - The Eclipse Platform as an Integrated Computational Environment Jay Jay Billings Research Staff, Oak Ridge National Laboratory billingsjj@ornl.gov @jayjaybillings +jayjaybillings 20130327

More information

EGit/Gerrit Hands-on training #1: Installation and Configuration

EGit/Gerrit Hands-on training #1: Installation and Configuration EGit/Gerrit Hands-on training #1: Installation and Configuration Introduction To use git from Eclipse you need the EGit plug-in. With EGit you do nearly all of your gitrelated tasks. But for certain operations

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper July 2009 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

XWT Declarative UI for Eclipse

XWT Declarative UI for Eclipse XWT Declarative UI for Eclipse Yves YANG (Soyatec) Contents What is XWT? Architecture XWT Fundamentals JFace integration Component and Data View Management Integration with Existing Application Binding

More information

Android Essentials with Java

Android Essentials with Java Android Essentials with Java Before You Program o Exercise in algorithm generation Getting Started o Using IntelliJ CE Using Variables and Values o Store data in typed variables Static Methods o Write

More information

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, January 2018

News in RSA-RTE 10.1 updated for sprint Mattias Mohlin, January 2018 News in RSA-RTE 10.1 updated for sprint 2018.03 Mattias Mohlin, January 2018 Overview Now based on Eclipse Neon.3 (4.6.3) Many general improvements since Eclipse Mars Contains everything from RSARTE 10

More information

CS 349 / SE 382 Design Patterns. Professor Michael Terry January 21, 2009

CS 349 / SE 382 Design Patterns. Professor Michael Terry January 21, 2009 CS 349 / SE 382 Design Patterns Professor Michael Terry January 21, 2009 Today s Agenda More demos! Design patterns CS 349 / SE 382 / 2 Announcements Assignment 1 due Monday at 5PM! CS 349 / SE 382 / 3

More information