Visual application partitioning for creating distributed object oriented applications
First Claim
1. A method for creating a distributed application for an object oriented environment comprising the computer implemented steps of:
- displaying an application layout in a visual environment illustrating program object parts and connections between the objects;
defining an internal representation of the displayed application;
in response to user action, displaying at least one partition boundary and defining said at least one partition boundary in the internal representation;
in response to user action, relocating, on the displayed application, at least one program object so that its connection with other program objects cross said at least one partition boundary and defining said connections as distributed connections in the internal representation;
determining from said distributed connections server objects and client objects; and
in response to a user commit action, generating server code structure with a distributed interface for each server part and generating a client stub with the distributed interface for every client part corresponding to said each server part.
1 Assignment
0 Petitions
Accused Products
Abstract
A software partitioning tool is disclosed. Based on a visual display of an application that shows program objects and the connections or interactions between the objects, an internal representation of the application is defined. As the user interacts with the visual display of the application, creating new partitions and relocating program objects in the new partitions, the internal representation of the display is constantly updated. Once a connection between program objects crosses partition boundaries, it is redefined in the internal representation as a distributed interaction (a connection), and representative server and client stubs are defined. At a number of points, the user also has the opportunity to set middleware protocols. Once the user commits to a distribution design, a code generator in the tool generates the actual server and client stubs for all distributed connections based on the definitions in the internal representation of the application.
45 Citations
12 Claims
-
1. A method for creating a distributed application for an object oriented environment comprising the computer implemented steps of:
-
displaying an application layout in a visual environment illustrating program object parts and connections between the objects; defining an internal representation of the displayed application; in response to user action, displaying at least one partition boundary and defining said at least one partition boundary in the internal representation; in response to user action, relocating, on the displayed application, at least one program object so that its connection with other program objects cross said at least one partition boundary and defining said connections as distributed connections in the internal representation; determining from said distributed connections server objects and client objects; and in response to a user commit action, generating server code structure with a distributed interface for each server part and generating a client stub with the distributed interface for every client part corresponding to said each server part. - View Dependent Claims (2)
-
-
3. A method for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the method comprising the computer-implemented steps of:
-
initially defining an internal representation of the objects and connections of the displayed application design; in response to user definition of at least one partition boundary in the displayed application design, defining corresponding empty partition containers in the internal representation; in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, redefining said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and in response to a user commit action, generating code including middleware characteristics for every distributed connection defined in the internal representation. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A software development tool for designing and coding a distributed application, the tool being adaptable to interoperate with a visual building component for displaying an application as multiple program objects having connections between them representing method calls, for displaying discrete partitions having boundaries, and for permitting a user to relocate program objects across partition boundaries while maintaining the visual representation of connections between the objects, the tool comprising:
-
a metadata generator for defining a current internal representation of the displayed application and for defining any connections crossing partition boundaries in said displayed application as distributed connections in the current internal representation; and a code generator for generating distributed interfaces for all distributed connections defined in the current internal representation, said code generator being activated by user action. - View Dependent Claims (10, 11)
-
-
12. A computer program product comprising:
-
a computer usable medium having computer readable program code means embodied therein for creating a distributed application for an object oriented environment having a visual building component adapted to display an application design input by a user, the displayed application design having multiple program objects and connections between said objects representing method calls, the computer readable program code means in said computer program product comprising; computer readable program code means for causing the computer to initially define an internal representation of the objects and connections of the displayed application design; computer readable program code means for causing the computer, in response to user definition of at least one partition boundary in the displayed application design, to define corresponding empty partition containers in the internal representation; computer readable program code means for causing the computer, in response to user relocation of at least one program object across said at least one partition boundary in the displayed application design, to redefine said at least one program object in the internal representation as a distributed object and its connections crossing said at least one partition boundary as distributed connections; and computer readable program code means for causing the computer, in response to a user commit action, to generate code including middleware characteristics for every distributed connection defined in the internal representation.
-
Specification