Download presentation
Presentation is loading. Please wait.
Published byRolf Nelson Modified over 9 years ago
1
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor sshavor@us.ibm.com
2
Software Engineering Roles Software engineers wear many hats –Tool developer –Tool user –Customizing / Extending a tool – Tool evaluator
3
Software Tools Design – Rational Design tools Code –Integrated Development Environments Eclipse Visual Studio WebSphere Studio –Editors –Specialized tools User Interface Database Embedded Transaction Security Change Management / Source code control –CVS –Rational ClearCase –PVCS
4
Software Tools Test –JUnit –JProbe Documentation –Help – online help, contextual help –Hardcopy –Web sites Build –Ant, home grown tools
5
Eclipse –Open Source –Java development environment –Integration platform, frameworks –Plug-in development IBM WebSphere application development tools are built on Eclipse –WebSphere Application Developer
6
Eclipse Terminology Plug-in - smallest unit of Eclipse function –Big example: HTML editor –Small example: Action to create zip files –Demo – (night light component) Extension - a contribution –Example: specific HTML editor preferences –Demo – (night light) Extension point - named entity for collecting “contributions” –Example: extension point for workbench preference UI –Demo – (socket) Eclipse platform –Demo – (power strip)
7
Eclipse demo Can you see the common function? Functions provided by plug-ins –Views (panes) –Editors –Preference pages –Dialogs –Help –Etc.
8
Platform Runtime Workspace Help Team Workbench JFace SWT Eclipse Project Java Development Tools (JDT) Their Tool Your Tool Another Tool Eclipse Overview Plug-in Development Environment (PDE) Eclipse Platform Debug
9
Registration and Implementation XML Java Code <plugin id="com.ibm version="1.0.0" provider-name="IBM"
10
Eclipse Plug-in Architecture Each plug-in –Contributes to 1 or more extension points –Optionally declares new extension points –Depends on a set of other plug-ins –Contains Java code libraries and other files –May export Java-based APIs for downstream plug-ins –Lives in its own plug-in subdirectory Details spelled out in the plug-in manifest –Manifest declares contributions –Code implements contributions and provides API –plugin.xml file in root of plug-in subdirectory
11
Plug-in Manifest <plugin id = “com.example.tool" name = “Example Plug-in Tool" class = "com.example.tool.ToolPlugin"> <page id = "com.example.tool.preferences" icon = "icons/knob.gif" title = “Tool Knobs" class = "com.example.tool.ToolPreferenceWizard“/> Declare contribution this plug-in makes Declare new extension point open to contributions from other plug-ins Location of plug-in’s code Other plug-ins needed Plug-in identification plugin.xml
12
Using an Existing Extension Point Find the appropriate extension point (XML) Find out the requirements of that extension point (XML) Write code in Java
13
Plug-in Development Environment Goal: –To make it easier to develop Eclipse plug-ins –Support self-hosted Eclipse development Plug-in development environment (PDE) –Specialized tools for developing Eclipse plug-ins –Built on Eclipse Platform and JDT –Implemented as Eclipse plug-ins –Included in Eclipse Project releases Separately installable feature Part of Eclipse SDK drops Demo of PDE
14
PDE Specialized PDE editor for plug-in manifest files
15
Plug-in Code Generator Generates a plug-in with zero or more extensions. For Example: Menus Editors Views
16
Fill-in the Blank Generation
17
PDE PDE runs and debugs another Eclipse workbench 1. Workbench running PDE (host) 2. Run-time workbench (target)
18
Eclipse Platform Architecture Eclipse Platform Runtime is micro-kernel –All functionality supplied by plug-ins Eclipse Platform Runtime handles start up –Discovers plug-ins installed on disk –Matches up extensions with extension points –Builds global plug-in registry –Caches registry on disk for next time
19
How to learn a tool Purpose of the tool Terminology Function Extensibility License/Support Sources of information –online –books –magazines –newsgroups
20
Assignment Select an application development tool you are using. –Examples: Eclipse, Visual Studio, Emacs …. Each student should assume the role of a computer engineer making a recommendation to management that they would or would not like to use the application development tool selected. Create a presentation (approx 5 min in length) to present your recommendation to management (professor). The presentation should include the –pros/cons of the tool including the function, licensing (open source), support aspects, cost etc. Due on the 13th, each student should be prepared to give their presentation.
21
Where to go for more information Eclipse website –http://www.eclipse.orghttp://www.eclipse.org “The Java Developer’s Guide to Eclipse” by Shavor, D’Anjou, Fairbrother, Kehn, Kellerman, McCarthy –Addison Wesley, ISBN 0- 321-15964-0
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.