Apparatus and method for automatically migrating client server applications to other architectures and platforms
First Claim
1. Method for automatically migrating client server application in a power builder binary format to an open architecture comprising the steps of:
- [a] importing the client server application in the power builder binary, format into a converter means and converting the binary format of the application to an ASCII character format;
[b] receiving the client server application in the ASCII format in a form of a stream of characters;
[c] parsing the stream of characters into a plurality of tokens and creating a stream of tokens, and composing the tokens into a plurality of constructs;
[d] generating a model in a model generator by identifying the constructs and converting the constructs into (i) user interface elements in a generic form including their global variables and properties of the user interface elements and events defined on the user interface elements;
(ii) flagged event handler elements in the power builder ASCII character format for each event in the user interface element; and
(iii) inter element dependent relationships in the generic form; and
mapping the generic user interface elements;
the flagged event handler elements and the dependent relationships in the model;
[e] analyzing the model and selectively picking the flagged event handler elements having constructs sequentially and transferring the event handler elements for tree building to a tree building means;
[f] identifying constructs in the event handler elements and converting the event handling constructs into sub trees and further composing the sub trees into discrete event handling tree instances representing the power builder constructs , each tree instance corresponding to an event handler element;
[g] picking up the tree instances built in the tree building means and attaching each of the discrete event handling tree instances to an event handler element associated therewith in the model;
[h] again picking the attached tree instances representing the power builder constructs; and
utilizing;
[1] a schema of trees resident in an apparatus;
said schema of trees containing a first sub set of definitions for event handling instances defining various possible trees and sub trees representing the power builder format and a second sub set of plurality of tree instances representing constructs in an open architecture format selected from C #, vb.net and bytecode programming language, [2] a set of mappings resident in the apparatus which defines unique corresponding of a sub tree or tree instance representing the power builder format to at least one tree and sub tree instance representing the selected open architecture;
for transforming the tree or sub tree instance in the power builder format to a tree instance in the selected format by searching in the schema of trees for a matching tree or sub tree instance using the set of mappings;
[i] picking up the transformed tree instance, detaching the trees attached to the event handler elements representing the power builder format and replace the said detached trees with the corresponding transformed trees in the selected format;
[j] providing an unparser which includes a class generator which is adapted to create classes in the selected format, a second set of mappings having a first set of rules for converting trees into concrete syntax of the selected format and a second set of rules for converting user interface elements in the generic form to concrete syntax in the selected format and a third set of rules to create a class for global variables;
querying means adapted to send and receive queries relating to information required for the creation of classes and its contents including its attributes, methods and bodies;
[k] picking the user interface elements in the generic form in the model and global variables and sending the picked user interface elements to the unparser for class creation;
by querying and responding to queries received from the querying means of the unparser and selectively filling the contents of the created classes with appropriate attributes and methods based on the responses relating to the events defined in the user interface elements and interdependencies between the user interface elements, properties of the user interface element and bodies from responses relating to trees representing the selected format of the event handler element related to the event defined on the user interface element; and
after all the classes have been created, picking up all the global variables from the user interface elements in the model and passing them to the unparser for creating a special class for all global variables;
[l] receiving the classes in the open architecture format the classes of the said application and transferring the classes in the open architecture format the classes of the said application to a storage means for further use.
1 Assignment
0 Petitions
Accused Products
Abstract
Method for automatically migrating power builder application to an open architecture is disclosed. The method includes converting to ASCII character format stream, parsing the stream to form constructs, generating a model from the constructs, analyzing the model and building trees in the model in the power builder format. The apparatus of the invention includes a schema of trees, one set, representing trees in the power builder format and another set in the selected open architecture format and a set of mappings defining correspondence between the two sets. Trees in one set are transformed into the other and attached in the model. An Unparser is provided having a class generator which generates classes including a global variable class in the open architecture and the classes are filled with the help of the parser and a model traverser by querying and responses thereto.
23 Citations
2 Claims
-
1. Method for automatically migrating client server application in a power builder binary format to an open architecture comprising the steps of:
-
[a] importing the client server application in the power builder binary, format into a converter means and converting the binary format of the application to an ASCII character format; [b] receiving the client server application in the ASCII format in a form of a stream of characters; [c] parsing the stream of characters into a plurality of tokens and creating a stream of tokens, and composing the tokens into a plurality of constructs; [d] generating a model in a model generator by identifying the constructs and converting the constructs into (i) user interface elements in a generic form including their global variables and properties of the user interface elements and events defined on the user interface elements;
(ii) flagged event handler elements in the power builder ASCII character format for each event in the user interface element; and
(iii) inter element dependent relationships in the generic form; and
mapping the generic user interface elements;
the flagged event handler elements and the dependent relationships in the model;[e] analyzing the model and selectively picking the flagged event handler elements having constructs sequentially and transferring the event handler elements for tree building to a tree building means; [f] identifying constructs in the event handler elements and converting the event handling constructs into sub trees and further composing the sub trees into discrete event handling tree instances representing the power builder constructs , each tree instance corresponding to an event handler element; [g] picking up the tree instances built in the tree building means and attaching each of the discrete event handling tree instances to an event handler element associated therewith in the model; [h] again picking the attached tree instances representing the power builder constructs; and
utilizing;
[1] a schema of trees resident in an apparatus;
said schema of trees containing a first sub set of definitions for event handling instances defining various possible trees and sub trees representing the power builder format and a second sub set of plurality of tree instances representing constructs in an open architecture format selected from C #, vb.net and bytecode programming language, [2] a set of mappings resident in the apparatus which defines unique corresponding of a sub tree or tree instance representing the power builder format to at least one tree and sub tree instance representing the selected open architecture;
for transforming the tree or sub tree instance in the power builder format to a tree instance in the selected format by searching in the schema of trees for a matching tree or sub tree instance using the set of mappings;[i] picking up the transformed tree instance, detaching the trees attached to the event handler elements representing the power builder format and replace the said detached trees with the corresponding transformed trees in the selected format; [j] providing an unparser which includes a class generator which is adapted to create classes in the selected format, a second set of mappings having a first set of rules for converting trees into concrete syntax of the selected format and a second set of rules for converting user interface elements in the generic form to concrete syntax in the selected format and a third set of rules to create a class for global variables;
querying means adapted to send and receive queries relating to information required for the creation of classes and its contents including its attributes, methods and bodies;[k] picking the user interface elements in the generic form in the model and global variables and sending the picked user interface elements to the unparser for class creation;
by querying and responding to queries received from the querying means of the unparser and selectively filling the contents of the created classes with appropriate attributes and methods based on the responses relating to the events defined in the user interface elements and interdependencies between the user interface elements, properties of the user interface element and bodies from responses relating to trees representing the selected format of the event handler element related to the event defined on the user interface element; and
after all the classes have been created, picking up all the global variables from the user interface elements in the model and passing them to the unparser for creating a special class for all global variables;[l] receiving the classes in the open architecture format the classes of the said application and transferring the classes in the open architecture format the classes of the said application to a storage means for further use.
-
-
2. Apparatus for carrying out a method for automatically migrating client server application in a power builder binary format to an open architecture consisting of:
-
[a] importer means for receiving the client server application in the power builder binary format, said importer having a converter means to convert the binary format of the application to an ASCII character format; [b] receiver means for receiving the client server application in the ASCII format in a form of a stream of characters; [c] a first parser for parsing the stream of characters into a plurality of tokens and creating a stream of tokens, and composing the tokens into a plurality of constructs; [d] a model generator for receiving from the first parser the said constructs, identifying the constructs and converting the constructs into (i) user interface elements in a generic form including their global variables and properties of the user interface elements and events defined on the user interface elements;
(ii) flagged event handler elements in the power builder ASCII character format for each event in the user interface element; and
(iii) inter element dependent relationships in the generic form; and
mapping the generic user interface elements;
the flagged event handler elements and the dependent relationships in a model;[e] a model analyzer adapted to traverse the model and selectively pick the flagged event handler elements having constructs sequentially and further adapted to transfer the event handler elements to a tree building means; [f] the tree building means for receiving the event handler element and its constructs;
said tree building means having a second parser means for receiving the event handler elements identifying the constructs therein and sending the constructs to a tree constructor for converting the event handler constructs into sub trees and further composing the sub trees into discrete event handling tree instances representing the power builder constructs, each tree instance corresponding to an event handler element;[g] a first model traverser which picks up the tree instances built in the tree building means and is adapted to attach each of the discrete event handling tree instances to an event handler element associated therewith in the model; [h] a second model traverser adapted to traverse the model and pick the attached tree instances representing the power builder constructs; [i] a schema of trees resident in the apparatus;
said schema of trees containing a first sub set of definitions for event handling instances defining various possible trees and sub trees representing the power builder format and a second sub set of plurality of tree instances representing constructs in an open architecture format selected from C #, vb.net and bytecode programming language,[j] a set of mappings resident in the apparatus which defines unique corresponding of a sub tree or tree instance representing the power builder format to at least one tree and sub tree instance representing the selected open architecture; [k] a tree translator means adapted to receive tree instances representing the power builder format from the second model traverser, search in the schema of trees for a matching tree or sub tree instance using the set of mappings and upon locating a matching tree or sub tree instance and transform the tree or sub tree instance in the power builder format to a tree instance in the selected format using the set of mappings; [l] a third model traverser which is adapted to pick up the transformed tree instance from the tree translator and further adapted to traverse the model and still further adapted to detach the trees attached to the event handler elements representing the power builder format and replace the said detached trees with the corresponding trees in the selected format; [m] an unparser which includes a class generator which is adapted to create classes in the selected format, a second set of mappings having a first rules for converting trees into concrete syntax of the selected format and a second set of rules for converting user interface elements in the generic form to concrete syntax in the selected format and a third set of rules to create a class for global variables;
querying means adapted to send and receive queries relating to information required for the creation of classes and its contents including its attributes, methods and bodies;[n] a fourth model traverser means which is adapted to pick the user interface elements in the generic form in the model and global variables and send the picked user interface elements to the unparser for class creation;
said fourth model traverser means having a query responding means to respond to queries received from the querying means of the unparser and sending the responses to the unparser for selectively filling the contents of the created classes with appropriate attributes and methods based on the responses relating to the events defined in the user interface elements and interdependencies between the user interface elements, properties of the user interface element and bodies from responses relating to trees representing the selected format of the event handler element related to the event defined on the user interface element; and
after all the classes have been created, the fourth model traverser means is further adapted to pick all the global variables from the user interface elements in the model and to pass it to the unparser for creating a special class for all global variables;[o] an emitter for receiving in the open architecture format the classes of the said application and transferring the classes of the said application in the open architecture format to a storage means for further use.
-
Specification