Browse Prior Art Database

A System for Allowing Software Development Tools to Remotely Access an Integrated Development Environment

IP.com Disclosure Number: IPCOM000013817D
Original Publication Date: 1999-Oct-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 3 page(s) / 236K

Publishing Venue

IBM

Related People

Arthur Ryman: AUTHOR [+2]

Abstract

A program is disclosed that allows an integrated development environment (IDE) to be extended by third party tools that run in separate processes or on remote machines. The extension mechanism consists of a lightweight Hypertext Transmission Protocol (HTTP) server embodied in the IDE that can execute third party-provided Java servlets that access the IDE using a local tool application programming interface (API). The servlets can be invoked via the HTTP protocol from any local or remote process which can be written in any version of Java or other programming language. IDEs provide basic functions such as source code editing, browsing, compilation, and debugging. The power of an IDE is considerably increased by allowing third party tool developers to extend it, for example by automatically generating source code based on user input, or by transferring source and object files into and out of the IDE. If the extension mechanism requires that the tool run on the same machine and in the same process as the IDE, the usability and maintainability of the tool is reduced. Also, while an IDE may allow tool extensions to be written in Java and executed in the IDE's Java virtual machine, that tool may constrain extension to be written to the tool's Java Development Kit (JDK) level and/or prevent other applications from invoking tool actions from other processes. This disclosure solves these problems by providing a Tool Server that runs in the IDE and allows other processes to invoke tool actions. The first part of the solution disclosed herein is a lightweight HTTP Tool Server embedded in the IDE that includes a servlet engine and an administration user interface for administering the Tool Server. Fig. 1 shows the administration user interface: Figure 1. Tool Server Options Dialog

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

  A System for Allowing Software Development Tools to Remotely Access an Integrated Development Environment

   A program is disclosed that allows an integrated development environment (IDE) to be extended by third party tools that run in separate processes or on remote machines. The extension mechanism consists of a lightweight Hypertext Transmission Protocol (HTTP) server embodied in the IDE that can execute third party-provided Java servlets that access the IDE using a local tool application programming interface (API). The servlets can be invoked via the HTTP protocol from any local or remote process which can be written in any version of Java or other programming language.

IDEs provide basic functions such as source code editing, browsing, compilation, and debugging. The power of an IDE is considerably increased by allowing third party tool developers to extend it, for example by automatically generating source code based on user input, or by transferring source and object files into and out of the IDE. If the extension mechanism requires that the tool run on the same machine and in the same process as the IDE, the usability and maintainability of the tool is reduced. Also, while an IDE may allow tool extensions to be written in Java and executed in the IDE's Java virtual machine, that tool may constrain extension to be written to the tool's Java Development Kit (JDK) level and/or prevent other applications from invoking tool actions from other processes. This disclosure solves these problems by providing a Tool Server that runs in the IDE and allows other processes to invoke tool actions.

The first part of the solution disclosed herein is a lightweight HTTP Tool Server embedded in the IDE that includes a servlet engine and an administration user interface for administering the Tool Server. Fig. 1 shows the administration user interface:

Figure 1. Tool Server Options Dialog

The Tool Server can be configured to automatically start when the IDE starts. The port can be set by default or selectively by the user, and access control can be configured through lists of Internet Protocol (IP) address patterns to allow and disallow access. The Tool Server can also be stopped and restarted selectively by the user.

1

[This page contains 8 pictures or other non-text objects]

Page 2 of 3

To create a tool, the third party developer writes a servlet that runs in the IDE, and which can then be invoked from another application. For example, a Web application development tool can invoke tool servlets to import and export Java be...