Professional Documents
Culture Documents
the Ecliptic
1
Session Objective
2
Eclipse
3
Session Outline
4
Eclipse Platform Development
Assembly Customization
Adaptation Configuration
Construction Extension
5
Eclipse Platform Development
Advantages Disadvantages
6
Overview of the Platform
7
History
8
SWT
(Standard Widget Toolkit)
9
SWT
10
SWT
11
SWT: Comparison with
AWT/Swing
AWT: thin wrapper around native UI widgets
AWT SWT
Swing
wrapper wrapper
Native UI widgets
12
SWT: Comparison with
AWT/Swing
Swing: full-blown 100% Java widgets
AWT SWT
Swing
wrapper wrapper
Native UI widgets
13
SWT: Comparison with
AWT/Swing
SWT
wrapper around native UI widgets: GTK+, Motif, win32
missing functionality is developed in Java at SWT level
AWT SWT
Swing
wrapper wrapper
Native UI Widgets
15
JFace
16
JFace - Resources
17
JFace - User Interaction
18
JFace - Long-running operations
19
Jobs
20
Jobs
21
JFace - Actions
22
JFace - MVC
23
JFace - SWT
Workbench JFace
SWT
Native UI
24
JFace - Summary
25
OSGi
(Open Services Gateway initiative)
26
OSGi
Service Registry
Publish Discover
Bind
Service Provider Service Requester
Bundle
28
OSGi Service Definition
29
OSGi Services
Wide range of services is already defined ...
Security; Module; Life Cycle, and Service Layers; Framework API; Package
Admin Service; Start Level Service; Conditional Permission Admin; Permission
Admin Service; URL Handlers Service; Log Service; HTTP Service (runs
servlets); Device Access; Configuration Admin Service; Metatype Service;
Preferences Service; User Admin Service; Wire Admin Service; I/O Connector
Service; Initial Provisioning; UPnP Device Service; Declarative Services; Event
Admin Service; Deployment Admin; Auto Configuration; Application Admin
Service; DMT Admin Service; Monitor Admin Service; Foreign Application
Service; Service Tracker; XML Parser Service; Position; Measurement and
State; Execution Environments
Lazy loading
Service decoupling
Mix'n'match services from different vendors
(e.g. Spring Dynamic Modules)
Lifecycle control
Each bundle can have its own classpath
Another layer of privacy - clearer api; internal
packages
31
OSGi Eclipse Equinox
32
Eclipse Plug-ins
33
Eclipse Plug-ins
OSGi bundle
Provide extension points
Contribute to extension points
34
Eclipse Plug-ins
host plug-in exposes extension point
WorkbenchPlugin
plug-in: org.eclipse.ui
extension point
plug-in: org.eclipse.help.ui
35
extender plug-in contributes to an extension point
Rich Client Platform (RCP)
36
RCP
37
Summary so far...
Plug-ins
Workbench JFace
SWT OSGi
Native UI
38
RCP Application
39
RCP Application - General Layout
Menu
Toolbar
View's Toolbar View's Toolbar
Editor View
View
View's Toolbar
View
40
RCP Application - General Layout
41
RCP Application - Flexible Layout
42
RCP Application - Editors
43
RCP Application - Views
Non-related views
44
RCP Application - Perspectives
Java Plug-in
Programmer Developer
J2EE
Debug Developer
46
Perspectives
47
Workspace
48
Workspace
49
Workspace
Auto-upgrade
Version
License Agreement
Certificate
Plugin Registry
Features
Fragments
51
Navigation History
52
Operation History
53
Eclipse Modelling Framework
Persistence
Editing
Validation
GMF
Can generate actions
54
IDE
55
IDE
56
IDE
Built on JDT
Numerous uses when run as a project build
step
59
Final Summary...
RCP Application
views, perspectives, editors
Workspace
IDE Plug-ins Java
Other
Development Development
IDE Text Compare Debug Search Team
IDE
RCP Application
Native Resources 60
Conclusion
61
References
http://www.otug.org/groups/javasig/richclient.pdf
http://www.javaworld.com/javaworld/jw-04-2004/jw-
http://www.ibm.com/developerworks/library/os-
ecl-osgiconsole/index.html
62