Eclipse members, which now number 30, operate under an open source model of a common public license. The Eclipse platform provides a common framework for implementing application development plug-ins. A plug-in “contributes” to one or more extension points of the Eclipse platform and may offer itself again new extension points, to provide interoperability between plug-ins. The platform’s open source nature encourages enterprises to integrate each other’s plug-ins such as editors, analyzers and debuggers into a single powerful Integrated Development Environment (IDE).
IBM launched Eclipse with its $40 million donation of software tools to the public domain in November 2001, along with several vendors, including Rational Software, Borland, Red Hat and SuSE. Skip McGaughey, chairman of the Eclipse Board of Stewards, on assignment from IBM, explained the partners decided to make the basic platform available for free so that developers could spend their time working and solving the problems they were best equipped to do and not just rewrite the code over and over again. “The market is speaking for itself,” McGaughey said. “There have been over 4,000,000 downloaded copies in 125 countries and at least 175 different companies that are building what we call plug-ins, the pieces that you build on top of the platform.”
The requirements of SAP are listened to
Recent new board members include smaller companies such as AltoWeb and Flashline as well as industry heavyweights SAP and Hewlett Packard. As the steward for the company, Michael Bechauf, SAP vice president of Java architecture and standards, said the company committed to contributing technology and development expertise to Eclipse projects by signing on as a member of the consortium’s board of stewards in December, 2002. Bechauf, who participates at Eclipse board meetings, gets to vote on which Eclipse projects should be initiated, which direction existing projects should take and on topics related to the Eclipse organization. That way, he can ensure that the requirements of SAP are listened to and that Eclipse moves into a direction that is beneficial for SAP. He also interfaces with the necessary development organizations in Germany to facilitate communication between SAP and Eclipse.
SAP was invited to contribute, Bechauf said, and from the very first board meeting, “Eclipse provided a very positive, constructive and professional work environment.” Bechauf maintained Eclipse offers many advantages compared to either building everything in-house or licensing from an external third party vendor. SAP can influence in a significant way the direction in which Eclipse could go. On the other side, SAP benefits significantly from contributions of other Eclipse community members to the Eclipse project.
SAP started to evaluate the Eclipse project after it decided to make a Java 2 Enterprise Edition (J2EE) server an integral part of its Web application server (SAP WAS).
SAP found itself in a situation where the company needed very general-purpose Java development tools, like a debugger and J2EE deployment tools. In addition to that, the company needed to have an extensible development environment capable of plugging in tools that were specifically built for SAP application developers to increase their development productivity.
Local development, central testing
The traditional SAP developer environment resides on a central application server and a thin client with very little logic on the developer workstation is used to log on to that server. For example, the SAP development environment has a central source code repository where the program code is being stored and no code is kept on the developer’s workstation. Also, the program’s code is executed and tested on the SAP application server whereas in a typical Java environment, the test would happen on the developer’s workstation.
“We used to have only a very general purpose front-end called SAP GUI,” Bechauf said. “It can be used to run any arbitrary business application or it can be run to use it as a development environment.” He said if you look at what the typical Java-development workstation looks like, it’s fundamentally different. “Java development objects are kept on the developer workstation and typically the developer develops a piece of code or modifies a database table as part of a software program and tests it locally,” he said.
At some point, for example, when a certain milestone has been reached, the developer would check the sources back into a central repository where all Java sources are being kept. “This will trigger a recompile of all dependent objects,” he said. “In a way, we have the best of both worlds, a local development environment for Java programs on the developer’s workstation as well as a central test environment where we guarantee the consistency and integrity of all development components that a business application consists of.”
SAP NetWeaver Developer Studio will be based on the Eclipse platform
In addition to its expertise in building large-scale business applications, Bechauf believes that SAP can have a positive influence on the Eclipse board because of its involvement in other Java initiatives and standard bodies. For example, SAP has been nominated to join the SE/EE Executive Board of the Java Community Process (JCP) and as a result has the unique opportunity to influence the future direction of Java in a major way, which it said will also create synergies for its work on Eclipse.
“For example, JSR 88 introduces a standardized way to deploy software components on a J2EE 1.4 compliant application server, so that a developer can deploy software right out of the Eclipse development environment in a standard-compliant way,” Bechauf said. Eclipse will have a long-lasting and significant impact on the future SAP strategy. In a major technological shift for the business software maker, SAP launched a new software product, SAP NetWeaver. It provides all the capabilities that an integration and applications platform requires to develop, integrate, and run solutions following an enterprise services architecture.
As part of the overall product, the SAP NetWeaver Developer Studio will provide full life-cycle development tools for all aspects of enterprise class application developments and will be based on the Eclipse platform. Within SAP the development frameworks organization is responsible for the majority of Eclipse tools that SAP application developers are using to build SAP NetWeaver applications.
Gartner: The concept of best tools combined in a single workbench
This includes the core Eclipse IDE, which offers tools such as editors and compilers combined with additional business application development tools, such as dictionary tools, Web services tools, persistence tools, a design time repository and an automated component build service. Furthermore, SAP NetWeaver Developer Studio provides a set of tools for the development of sophisticated, enterprise level user interfaces based on SAP’s Web Dynpro technology.
Web Dynpro uses declarative design principles and Rainer Ehre’s – vice president of development frameworks at SAP – group provides a number of Eclipse plug-ins that aid a developer in interactively composing rather than programming a Web-based user interface based on predefined application patterns, control libraries and editors for application flow and screen layout. According to Ehre, many of SAP application developers will move over time to the Eclipse-based Java-development environment, “probably over the course of the next year or two.” He adds, “We are very excited about Eclipse, because it offers all the key capabilities that we require to build the SAP NetWeaver Developer Studio tools that make our application developers successful and highly productive.”
Gartner analyst Mark Driver said the Eclipse platform provides greater interoperability by offering common services for plug-ins from all participating companies. “Its open-source nature will enable enterprises to integrate tools from multiple companies into a single development environment,” Driver said. But he also mentioned challenges, such as the degree to which it involves both components and integration, that need to be met. “The more a participating company’s product is broken into components, the easier it is to integrate with Eclipse,” Driver said. “But many companies with monolithic tools would limit themselves to just an invocation from Eclipse, an unessential type of integration.” Driver maintained Eclipse is an ambitious project and if it succeeds it will revive the concept of best tools combined in a single workbench.