1 / 21

Duke University Program Design & Construction Course

Duke University Program Design & Construction Course. Application Development Tools Sherry Shavor sshavor@us.ibm.com. Software Engineering Roles. Software engineers wear many hats Tool developer Tool user Customizing / Extending a tool Tool evaluator. Software Tools. Design

walden
Download Presentation

Duke University Program Design & Construction Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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. Eclipse Overview Another Tool Eclipse Platform Workbench Help Java Development Tools (JDT) JFace SWT Team Your Tool Plug-in Development Environment (PDE) Workspace Debug Their Tool Platform Runtime Eclipse Project

  9. Registration and Implementation XML <plugin id="com.ibm version="1.0.0" provider-name="IBM" </plugin> Java Code

  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 identification Other plug-ins needed Location of plug-in’s code Declare contributionthis plug-in makes Declare new extension point open to contributions from other plug-ins Plug-in Manifest plugin.xml <plugin id = “com.example.tool" name = “Example Plug-in Tool" class = "com.example.tool.ToolPlugin"> <requires> <import plugin = "org.eclipse.core.resources"/> <import plugin = "org.eclipse.ui"/> </requires> <runtime> <library name = “tool.jar"/> </runtime> <extension point = "org.eclipse.ui.preferencepages"> <page id = "com.example.tool.preferences" icon = "icons/knob.gif" title = “Tool Knobs" class = "com.example.tool.ToolPreferenceWizard“/> </extension> <extension-point name = “Frob Providers“ id = "com.example.tool.frobProvider"/> </plugin>

  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. Workbenchrunning PDE(host) 2. Run-timeworkbench (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.org • “The Java Developer’s Guide to Eclipse” by Shavor, D’Anjou, Fairbrother, Kehn, Kellerman, McCarthy • Addison Wesley, ISBN 0-321-15964-0

More Related