CMSC 466 / 666 Yong Rao Feb. 11, 2004 Revised Mar. 15, 2004
35 Slides432.00 KB
CMSC 466 / 666 Yong Rao Feb. 11, 2004 Revised Mar. 15, 2004
TOPICS Project Requirement Introduction to Eclipse
Project Requirement Please send an email to [email protected] about your 1. group members 2. company name and a brief introduction
Expected Project An fully functional on-line site for your proposed company
Project Requirement Client Presentation logic : JSP, ASP, PHP etc. Business Logic: Java Beans, Java Servlets or other applications etc. Database server : Oracle, MySql, MS SQL server etc. Choose the one that best matches your business
Presentation Schedules Please turn in the following things at least 1 day before your presentation 1. Final Project report modeled by standards of scientific publication. 2. Group member contribution log. 3. Source codes (optional ) Please make a demo on the day right before or after your class presentation
Beyond these Business Setup Business Model Selection Why you select a certain model Supporting Technology selection Why do you want to setup this company Where will you register and host your site What functionalities you will provide and more . Why you choose certain technologies Detailed implementation Show your work
Introduction to Eclipse http://www.eclipse.org http://www.eclipse.org/downloads/in dex.php http://www.eclipse.org/whitepapers/ eclipse-overview.pdf http://www.eclipse.org/eclipse/prese ntation/eclipse-slides.ppt
Eclipse Origins Eclipse created by OTI and IBM teams responsible for IDE products Initially staffed with 40 full-time developers Geographically dispersed development teams IBM VisualAge/Smalltalk (Smalltalk IDE) IBM VisualAge/Java (Java IDE) IBM VisualAge/Micro Edition (Java IDE) OTI Ottawa, OTI Minneapolis, OTI Zurich, IBM Toronto, OTI Raleigh, IBM RTP, IBM St. Nazaire (France) Effort transitioned into open source project IBM donated initial Eclipse code base Platform, JDT, PDE
Brief History of Eclipse 1999 April - Work begins on Eclipse inside OTI/IBM 2000 June - Eclipse Tech Preview ships 2001 March - http://www.eclipsecorner.org/ opens June - Eclipse 0.9 ships October - Eclipse 1.0 ships November - IBM donates Eclipse source base - eclipse.org board announced - http://www.eclipse.org/ opens 2002 June September November - Eclipse 2.0 ships - Eclipse 2.0.1 ships - Eclipse 2.0.2 ships 2003 March - Eclipse 2.1 ships
Introduction to Eclipse Eclipse is a universal platform for integrating development tools Open, extensible architecture based on plug-ins Plug-in development environment PDE Java development tools JDT Eclipse Platform Platform Standard Java2 Virtual Machine Java VM
Eclipse Plug-in Architecture plug-in B plug-in A extension point P interface I Plug-in A contributes extension implements class C creates, calls Declares extension point P Declares interface I to go with P Plug-in B Implements interface I with its own class C Contributes class C to extension point P Plug-in A instantiates C and calls its I methods
Eclipse Plug-in Architecture 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 Plug-in identification Other plug-ins needed Location of plug-in’s code Declare contribution this plug-in makes Declare new extension poin open to contributions from other plug-ins
Plug-in Architecture Summary All functionality provided by plug-ins Communication via extension points Includes all aspects of Eclipse Platform itself Contributing does not require plug-in activation Packaged into separately installable features Downloadable
Plug-in Development Environment PDE Plug-in development environment Specialized tools for developing Eclipse plug-ins Built atop Eclipse Platform and JDT Implemented as Eclipse plug-ins Using Eclipse Platform and JDT APIs and extension points Included in Eclipse Project releases Separately installable feature Part of Eclipse SDK drops
PDE templates for creating simple plug-in projects
PDE editor for plug-in manifest files
PDE - Summary PDE makes it easier to develop Eclipse plug-ins PDE also generates Ant build scripts Compile and create deployed form of plug-in
Java Development Tools JDT Java development tools State of the art Java development environment Built atop Eclipse Platform Implemented as Eclipse plug-ins Using Eclipse Platform APIs and extension points Included in Eclipse Project releases Available as separately installable feature Part of Eclipse SDK drops
Java-centric view of files in Java projects
Eclipse JDT - Summary JDT is a state of the art Java IDE Java views, editor, refactoring Java compiler Helps programmer write and maintain Java code Takes care of translating Java sources to binaries Java debugger Allows programmer to get inside the running program
Eclipse Platform Eclipse Platform is the common base Consists of several key components Eclipse Platform Workbench “UI” JFace SWT “Core” Workspace Team Ant Platform Runtime Help Debug
Workspace Component Workspace holds 1 or more top-level projects Tree of folders and files
Workbench Component Workbench JFace SWT SWT – generic low-level graphics and widget set JFace – UI frameworks for common UI tasks Workbench – UI personality of Eclipse Platform
SWT SWT Standard Widget Toolkit Generic graphics and GUI widget set buttons, lists, text, menus, trees, styled text. Simple Small Fast OS-independent API Uses native widgets where available Emulates widgets where unavailable
SWT : Authentic native windows look and feel
JFace JFace is set of UI frameworks for common UI tasks Designed to be used in conjunction with SWT Classes for handling common UI tasks API and implementation are windowsystem independent
JFace APIs Image and font registries Dialog, preference, and wizard frameworks Structured viewers Text infrastructure Model-aware adapters for SWT tree, table, list widgets Document model for SWT styled text widget Coloring, formatting, partitioning, completion Actions Location-independent user commands Contribute action to menu, tool bar, or button
Workbench Component Workbench is UI personality of Eclipse Platform UI paradigm centered around Editors Views Perspectives
Team Component Version and configuration management (VCM) Share resources with team via a repository Repository associated at project level Extension point for new types of repositories Repository provider API and framework Eclipse Platform includes CVS repository provider Available repository providers* ChangeMan (Serena) - AllFusion Harvest (CA) ClearCase (Rational) - Perforce CM Synergy (Telelogic) - Source Integrity (MKS) PVCS (Merant) - TeamCode (Interwoven) Microsoft Visual Source Safe
Debug Component
Ant Component Eclipse incorporates Apache Ant Ant is Java-based build tool “Kind of like Make without Make's wrinkles” XML-based build files instead of makefiles Available from workbench External Tools menu Run Ant targets in build files inside or outside workspace PDE uses Ant for building deployed form of plug-in
Help Component
Eclipse Platform Summary Eclipse Platform is the nucleus of IDE products Plug-ins, extension points, extensions Workspace, projects, files, folders Common place to organize & store development artifacts Workbench, editors, views, perspectives Open, extensible architecture Common user presentation and UI paradigm Key building blocks and facilities Help, team support, internationalization,
Thank you.