The Eclipse Platform and Projects


The Eclipse platform is an open source, cross-platform, and extensible IDE built using Java. The Eclipse platform is essentially a framework that provides a set of services that other plug-ins can build on (as depicted in Figure 8.1). Each plug-in is developed to the same platform, which translates into a set of highly integrated tools.

Figure 8.1. The Eclipse platform and some sample plug-ins (for example, JDT).


Eclipse: A Consolidated Toolbox

The Eclipse platform, combined with the large number of highly integrated plug-ins available, essentially serves as a consolidated software development environment. For example, there are plug-ins available for UML diagramming, coding, debugging, database management, unit testing, application server management, documentation, and much more. You could think of Eclipse as a toolbox, analogous to a carpenter's toolbox, which has many types of tools to get the job done.


Eclipse comes bundled with the Java Development Tools (JDT), which is of high interest to us, given the nature of this book. However, Eclipse doesn't stop at Java; plug-ins are available for languages including HTML, C/C++, COBOL, and Eiffel. In addition, you will find third-party plug-ins for other languages such as PERL, PHP, and Ruby on Rails.

You can also develop your own custom plug-in to extend Eclipse. Although I have not personally done this, others who have suggest that it is not that difficult to do because you develop the plug-ins in Java. Also, you will typically hear about Eclipse in the context of development tools, plug-ins are under development for functionality other than programming, such as content management and other tools, from companies such as webMethods, SAS, Hitachi Software, and many more.

Eclipse Platform Objectives

Let's take a look at the objectives for the Eclipse platform, set by the Eclipse Foundation. It is a good idea to know these because it'll help tie things together when we see the enormous functionality provided by Eclipse in this chapter. Some of Eclipse's objectives are

  • To provide a robust platform for highly integrated application development tools

  • To enable viewing or editing of any content type (Java, JSP, XML, C/C++, Word documents, and others, for example)

  • To attract a large community of developers to develop plug-ins for this platform

Eclipse Projects

To give you a better idea of the growing scope of the Eclipse Foundation, Table 8.1 shows the Eclipse projects underway at the time of this writing. Note that every project is overseen by a Project Management Committee (PMC). Each project can be divided into subprojects with each having a leader. Furthermore, each subproject, in turn, can have one or more components.

Table 8.1. Eclipse Projects (Organized by Topics) at the Time of This Writing

Topic

Project(s)

Application Development

Application Lifecycle Management Framework

 

Model Driven Development Infrastructure

 

Eclipse Communications Framework

 

Buckminister Component Assembly Project

 

Eclipse SDK Platform

 

EJB 3.0/Java Persistence API Development Tools (Dali-ORM)

 

Task Focused UI (Mylar Project)

 

Parallel Development Tools

 

Business Intelligence and Reporting Tools (BIRT) Project

 

Voice Tools Project

 

Eclipse Web Tools Platform Project

Editors

Graphical Editor Framework (GEF)

 

Visual Editor (VE)

 

Eclipse Web Tools Platform Project (HTML, JSP)

Modeling

Generative Model Transformer

 

Graphical Modeling Framework

 

EMF Modeling Framework

 

UML2EMF-based implementation of UML 2.0

Performance and Testing

Eclipse Test and Performance Tools Platform Project

Programming Languages

COBOL

 

AspectJ Development Tools Project

 

C/C++ IDE

 

Photran project (Fortran)

 

JDTJava Development Tools

 

Java/JSPEclipse Web Tools Platform Project




Agile Java Development with Spring, Hibernate and Eclipse
Agile Java Development with Spring, Hibernate and Eclipse
ISBN: 0672328968
EAN: 2147483647
Year: 2006
Pages: 219

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net