Eclipse is an open source, Java-based, extensible development platform. By itself, it is simply a framework and a set of services for building a development environment from plug-in components. Fortunately, Eclipse comes with a standard set of plug-ins, including the Java Development Tools, or JDT for short.
While most users are quite happy to use Eclipse as a Java IDE, its ambitions do not stop there. Eclipse also includes the Plug-in Development Environment (PDE), which is mainly of interest to software developers who want to extend Eclipse, since it allows them to build tools that integrate seamlessly with the Eclipse environment. Because everything in Eclipse is a plug-in, all tool developers have a level playing field for offering extensions to Eclipse and providing a consistent, unified integrated development environment for users.
This parity and consistency aren't limited to Java development tools. Although Eclipse is written in the Java language, its use isn't limited to the Java language; for example, plug-ins are available or planned that include support for programming languages such C/C++, COBOL, and Eiffel. The Eclipse framework can also be used as the basis for other types of applications unrelated to software development, such as content management systems.
The premiere example of an Eclipse-based application is IBM's WebSphere Studio Workbench, which forms the basis of IBM's family of Java development tools. WebSphere Studio Application Developer, for example, adds support for JSPs, servlets, EJBs, XML, Web services, and database access.
Who is Eclipse?
The Eclipse.org Consortium manages and directs Eclipse's ongoing development. Created by IBM after reportedly spending $40 million developing Eclipse and releasing it as an open source project, the Eclipse.org Consortium recruited a number of software tool vendors.
The Eclipse Platform is a framework with a powerful set of services that support plug-ins, such as JDT and the Plug-in Development Environment. It consists of several major components: the Platform runtime, Workspace, Workbench, Team Support, and Help.
The Platform runtime is the kernel that discovers at start-up what plug-ins are installed and creates a registry of information about them.
The Workspace is the plug-in responsible for managing the user's resources.
The Workbench provides Eclipse with a user interface. It is built using the Standard Widget Toolkit (SWT) and a higher-level API, JFace.The SWT has proven to be the most controversial part of Eclipse. SWT is more closely mapped to the native graphics capabilities of the underlying operating system than Swing or AWT, which not only makes SWT faster, but also allows Java programs to have a look and feel more like native applications. The use of this new GUI API could limit the portability of the Eclipse workbench, but SWT ports for the most popular operating systems are already available.
The team support component is responsible for providing support for version control and configuration management.
The help component parallels the extensibility of the Eclipse Platform itself. It provides an add-on navigation structure that allows tools to add documentation in the form of HTML files.
Future of Eclipse:
A critical mass is developing around Eclipse. Major software tool vendors are on board, and the number of open source Eclipse plug-in projects is growing every day.
A portable, extensible, open source framework isn't a new idea, but because of its mature, robust, and elegant design, Eclipse brings a whole new dynamic into play.
Note: The OMONDO EclipseUML plugin provides UML modelling capabilities like Reverse Engineering the code to draw Class Diagrams.