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

Publishing Venue

IBM

Related People

Authors:
Arthur Ryman Vlad Klicnik

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