News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

There WILL be a JavaOne this year
JavaOne will happen in 2010, as a co-located event with Oracle's OpenWorld, on Sept. 19-23 in San Francisco.
01/27/2010 01:02 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

The Pillars of Eclipse




March 15, 2006 — 
In the past four years Eclipse has enjoyed considerable success in the software industry. Most famous for its widely used open-source Java IDE, Eclipse also has become an important platform for building software development tools and general purpose applications. In fact, there are now more than 58 different open-source projects at Eclipse, and most of these have little to do with building Java development tools.

We also have a growing ecosystem of vendors and other open-source projects creating Eclipse-based products that span many different technology markets. Therefore, the answers to the questions “What is Eclipse?” and “Where is Eclipse going?” often depend on your point of view.

When we think of Eclipse, we often think of different user communities or technology groupings. Right now, we think of seven different pillars as a metaphor to explain the breadth and wealth of technology brought to developers by the Eclipse community. Over time we expect that these pillars will evolve and change.

A Foundation
To begin to answer these questions, it is important to understand that when Eclipse was started, the goal was never to simply build a Java IDE. The goal was to create an extensible platform for building and integrating a myriad of different development tools.

When IBM started Eclipse, it wanted to consolidate its different development tools onto a single platform, and more important, enable a broad ecosystem of open-source and commercial tools sharing a common platform. Having organizations, like ISVs or enterprises, use these frameworks to build their software is how we define success for Eclipse projects.

Contrary to popular belief, Eclipse projects do not focus solely on building tools. They are tasked with the added responsibility of building both frameworks and exemplary, extensible tools. So the focus is not just on building tools—it is on building a platform intended for reuse in products and applications.

The Eclipse Java IDE or Java development tools (JDT) was the first, and is probably the best-known of Eclipse’s exemplary tools. If an organization is going to create frameworks for building tools, having a really good example of how to do it is critical to teaching others. That is the purpose of JDT, and it is the purpose of all of the tools you find at Eclipse. The great thing for the developer community is that most of these tools are very good, and as a result, a lot of people use them.

The roots of Eclipse result in a strong technology platform that enables quick development, integration and deployment of software from different providers. At the heart is a dynamic component model, based on the OSGi v4 specification, which allows software providers to create, extend and update software components or plug-ins. This comprehensive component model has allowed Eclipse to expand and evolve into many different areas.

Enterprise Development
There are numerous Eclipse projects that focus on the requirements of enterprise developers. Eclipse projects provide tools and frameworks that span the entire software development life cycle, including modeling, development, deployment tools, reporting, data manipulation, testing and profiling. The projects in this pillar are primarily focused on the issues of building Java EE, Web services and Web applications. It also provides support for applications in other languages, such as C/C++ and PHP.

In this pillar we have the largest number of vendors that have embedded the Eclipse open-source technology into their commercial products. Major Java EE vendors, such as BEA, Borland, IBM, JBoss and Sybase, have based their developer solutions on the Eclipse technology. Zend, the PHP company, is moving its popular PHP tools to Eclipse.

The major modeling vendors, Borland, Compuware and IBM, have based their modeling solutions on Eclipse. The major Linux distributors, Novell SUSE and Red Hat, have based their developer tools solution on Eclipse. There is also a large and growing ecosystem of ISVs that are providing Eclipse-based developer solutions and services to address the needs of enterprise IT developers.

Deployment
Changing requirements are forcing organizations to rethink how they build end-user applications. Businesses need to create end-user applications that have a highly productive rich user experience but are easy to deploy and manage on multiple platforms, such as Mac, Linux and Windows.

At the heart of the Eclipse Platform project is a set of frameworks called the Eclipse Rich Client Platform (RCP), which was first introduced in 2004 with the Eclipse 3.0 release. It has quickly gained the attention of many ISVs and enterprises as being a stable and productive platform for building and deploying rich client applications.

Eclipse RCP provides a dynamic component model (based on the OSGi v4 standard) that makes it easy to integrate, deploy and update applications, and a runtime environment that runs on many operating systems, including Windows, Linux and Mac, while at the same time providing complete fidelity to the native look and feel. It also provides the tools and frameworks that accelerate the development, packaging, deployment and management of rich client applications.

The Eclipse Rich Client Platform is being used to build, deploy and manage client side end-user applications by organizations such as IBM, NASA, SAS Institute, and more than a hundred small and large organizations.

Device Development
Since the beginnings of Eclipse, the C/C++ development tools project (CDT) has been working to address the needs of embedded and device developers. Over the past three years, the embedded and device communities have embraced Eclipse as the platform for building embedded tools.

Embedded and device developers require tools that are often unique to the target device. In addition to CDT, new projects are being started to address the needs of debugging on remote devices, target management, building GUIs for mobile devices, and development for mobile devices running Java ME.

Eclipse is widely used in the telecommunications, handheld, manufacturing, automobile and defense industry segments. It has the support of many of the key vendors in the embedded and mobile market. Nokia is leading the projects to develop tools for mobile Java applications and has based its J2ME developer tools on Eclipse.

Rich Internet Apps
Because of its extensible architecture, the Eclipse platform is easily adapted to new technologies. Sometimes referred to as “Web 2.0,” a new style of Web development is emerging with the advent of AJAX and other Rich Internet Application (RIA) technologies. The AJAX Tools framework is an example of supplying developer tools that can target a variety of AJAX runtime frameworks, such as Dojo, Kabuki and Rico. Eclipse also has a project to develop an IDE for the Laszlo framework.

Key RIA vendors, including Adobe, Nexaweb and Laszlo, have recognized the flexibility of the Eclipse platform and have used it as the base of their tools solution.

Life-cycle Management
Application life-cycle management is the next step in solving the “How do developer tool vendors interoperate?” question. Eclipse provides the platform for integrating tools on a common technology base. However, how do the tools talk with one another and share information across the software development life cycle? The Eclipse Application Lifecycle Framework (ALF) project has been started to solve this problem.

Although the project is still in the early stages, a number of vendors, including Compuware, Segue Software and Serena, are working to define the meta-level information for having requirements, modeling, development and testing tools all communicating with one another.

Service architecture
Enterprises are building applications based on service-oriented architecture (SOA). We have initiated the SOA Tools project (STP) to address the needs of architects and developers creating software around SOA. This project is building frameworks and exemplary extensible tools that enable the design, configuration, assembly, deployment, monitoring and management of software designed in an SOA.

The SOA Tools Project has just started, but it already has attracted the participation of several SOA vendors, including BEA, Compuware, IBM, Intalio, Iona, LogicBlaze, ObjectWeb, Scapa and Sybase.

Application Frameworks
Application frameworks provide developers the functional building blocks to accelerate the software development process. Unlike developer tools, application frameworks are deployed with the actual applications.

There are a number of well-established Eclipse projects that provide frameworks. In the future we will see more implementations of standard business components and frameworks, such as enterprise content management. These frameworks provide an adaptable and extensible set of application logic that application developers can integrate into their overall application.

An Adaptive Platform
The pillars of Eclipse address the questions “What is Eclipse?” and “Where is Eclipse going?” The Eclipse community and ecosystem is vast, and many different organizations are simultaneously growing it in many different directions. Thankfully, Eclipse is a very adaptive platform, and enables a wide variety of options.

At its heart, Eclipse provides building blocks and tools that allow organizations to improve their software development delivery across the entire software life cycle, across many platforms, languages and operating systems. From its beginnings as a Java IDE, Eclipse has evolved to the industry’s most vital vendor-neutral, open-source development and application platform. The future of the Eclipse technology is limited only by the imagination and the community and ecosystem driving its evolution.

Ian Skerrett is director of marketing for the Eclipse Foundation.


Share this link: http://www.sdtimes.com/link/29184
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading