Presentation is loading. Please wait.

Presentation is loading. Please wait.

Architecture, Components, Configuration

Similar presentations


Presentation on theme: "Architecture, Components, Configuration"— Presentation transcript:

1 Architecture, Components, Configuration
An Introduction to the Eclipse Architecture 1

2 Eclipse is A Java IDE A framework for building IDEs
A framework for building composable, “rich client” applications A platform for doing research on software engineering (refactoring) 2-2

3 Eclipse architecture PDE Photran JDT CDT Workbench UI JFace SWT
Workspace core Runtime 2-3

4 Parts of Eclipse UI 2-44

5 Eclipse components Runtime Workspace Implements plug-ins
Collection of resources (projects, files, folders) 2-5

6 Eclipse components SWT JFACE Workbench Basic display, widgets
Views, actions - interface to model Workbench UI for workspace Perspectives - set of views and editors 2-6

7 Plug-ins JDT - Java IDE CDT - C/C++ IDE Photran - Fortran IDE
Plugin adds menu items editors for new file types 2-7

8 Plug-in Includes some JARs Depends on code in other plug-ins
Extends some extension points Can define new extension points Plug-ins form a directed acyclic graph because of extension points, and because of dependencies When a plug-in starts, it can start plug-ins that extend its extension points 2-8

9 plugin.xml <?xml version="1.0" encoding="UTF-8"?<
<plugin id="id" name="plg" version="5.0" vendor-name="com"< <requires /< <runtime /< <extension point = "com.ibm.etools.egl.generation.base.framework.masterBuildDescriptor"< <masterBuildDescriptor file = "bfil" name = "mas" /< </extension< </plugin< 2-9

10 Software architecture
The structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. Software Architecture in Practice, by Len Bass, Paul Clements, and Rick Kazman The components of a system, their interrelationships, and the principles and guidelines governing their design and evolution. 2-10

11 Components Components reusable parts
well-defined interfaces, dependences limit propagation of changes allow system to be built incrementally allow system to be learned incrementally allow system to be changed in parallel reconfigure application dynamically? 2-11

12 Learning component To use a component, must learn its interface
To change a component, must learn its implementation 2-12

13 Eclipse plug-in architecture
Plug-ins are components One plug-in can depend on another One plug-in can extend another Plug-ins are almost a language extension 2-13

14

15 Organizing people Eclipse is made up of many projects
Project produces one or more plug-ins Each project is independent Each project keeps improving plug-ins Project is customer of plug-ins that it uses, and the supplier to other projects 2-15

16 History of Eclipse … 1997 – VisualAge for Java
1999 – VisualAge for Java Microedition 2001 – Eclipse 2003 – Eclipse.org 2005 – Eclipse V3.1 2006 – Eclipse V3.2 2007 – Eclipse V3.3 2-16

17 More versions 2008 – Eclipse V3.4 (Ganymede)
2009 – Eclipse V3.5 (Galileo) 2010 – Eclipse V3.6 (Helios) 2011 – Eclipse V3.7 (Indigo) 2012 – Eclipse V4.2 (Juno) 2013 – Eclipse V4.3 (Kepler) 2-17

18 Next time Reverse engineering - figuring out someone else’s design
See the “pattern language for reverse engineering” at Read chapter 3 and intro to chapter 2. 427-6 18


Download ppt "Architecture, Components, Configuration"

Similar presentations


Ads by Google