Browse Prior Art Database

Dynamic Plugin Development Environment

IP.com Disclosure Number: IPCOM000019274D
Original Publication Date: 2003-Sep-09
Included in the Prior Art Database: 2003-Sep-09
Document File: 3 page(s) / 120K

Publishing Venue

IBM

Abstract

Disclosed is a Dynamic Plug-in Development environment. In this environment, anIDE has the capability to dynamically load plug-ins on the fly (in addition to statically loading them on IDE initialization). In this fashion, the IDE functionality is not fixed at startup. Instead, functionality can be incrementally added, or removed, by either dynamically loading new plug-ins, or removing plug-ins that have already been dynamically loaded. This becomes an ideal environment for plug-in development because a plug-in that is being developed in the workspace of a given IDE, can also be dynamically loaded in the same IDE instance. Hence, only one instance of the IDE is needed for both development and testing

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 53% of the total text.

Page 1 of 3

Dynamic Plugin Development Environment

  Most current Integrated Development Environments (IDE's) use a plug-in architecture. In this architecture, functionality is incrementally provided by a set of "plug-ins" that are activated when the IDE starts up. Hence, the available functionality of a given IDE depends on what plug-ins were available when it started up. Two examples of such plug-in environments are: a) The Eclipse Project IDE b) WebSphere Studio Application Developer Integration Edition where J2EE Resource Adapters can be plugged in to provide the functionality to build Web Services for various back-end systems.

In order to create such plug-ins, a development environment must exist. Typically, the IDE is used to program and compile a plug-in under development. However, in order to test this developed plug-in it must be deployed in a new instance in of the IDE (because plug-ins are statically loaded/activated at IDE start-up). This is depicted in figure 1 & 2 below:

ID E Insta n ce

ID E Workspace

P lugin A

 Static P lugin Lo ad er

P lugin B

P lugin C

Figure 1: Current IDE Plugin Architecture (plugins loaded statically at IDE initialization)

ID E T est/D eb u g I n sta nce

ID E D e ve lo p m e nt In st a nce

ID E W o rk sp ace

Plugin A

ID E Workspace

D e v P lugin

P lugin A

 Static P lugin Lo ad er

P lugin B

 Static P lugin Lo ad er

P lugin B

P lugin C

P lugin C

Figure 2: Plugin Development using current IDE Plugin Architecture

This model is not ideal for rapid development/debugging of plug-ins. This is for 2 reasons:
1. Two IDE images need to be running at any given time. One for development and one for testing.
2. Every time a change is made to the developed plug-in (i.e. in the workspace of the development IDE), the testing IDE needs to be re-launched so that it can load/activate the newly modified version of the plug-in.

1

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

Page 2 of 3

To solve this problem we propose a Dynamic Plug-in Development environment. In this environment, the IDE has the capability to dynamically load plug-ins on the fly (in addition to statically loading them on IDE initialization). In this fashion, the IDE functionality is not fixed at sta...