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 the 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 the 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 the 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 handling elements and the dependent relationships in a 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 the 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 handling element;
[g] picking up the tree instances built in the tree building means and attaching each of the discrete tree instances to an event handling 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 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 java, [2] a set of mappings resident in the apparatus which defines the 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 handling 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 format in the model and global variables and sending the picked 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 elements, properties of the user interface element and bodies from responses relating to trees representing the selected format of the event handling 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 elements in the model and passing them to the unparser for creating a special class for all global variables;
[o] receiving the classes in the open architecture format the classes of the said application and transferring the same 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.
26 Citations
2 Claims
-
1. Method for automatically migrating client server application in the 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 the 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 the 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 handling elements and the dependent relationships in a 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 the 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 handling element;
[g] picking up the tree instances built in the tree building means and attaching each of the discrete tree instances to an event handling 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 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 java, [2] a set of mappings resident in the apparatus which defines the 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 handling 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 format in the model and global variables and sending the picked 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 elements, properties of the user interface element and bodies from responses relating to trees representing the selected format of the event handling 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 elements in the model and passing them to the unparser for creating a special class for all global variables;
[o] receiving the classes in the open architecture format the classes of the said application and transferring the same to a storage means for further use. - View Dependent Claims (2)
-
Specification