IP Library Granted Patent US 8,843,909
Granted Patent B2
US 8,843,909 · App. 10/887,538 · Granted Sep 23, 2014

Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems

Inventors: David L. Tondreau, Jr. (Vienna, VA); John P. Mahony (Sterling, VA)
Assignee: CA, Inc.
G06F8/45G06F9/465G06F8/51
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,843,909
App. No.
10/887,538
Granted
Sep 23, 2014
Kind
B2
Abstract

A method for transforming a procedural program having procedural language code into an object-oriented distributed software program is provided. A procedural program is transformed into intermediate client-server code. The intermediate client-server code is partitioned into an N-tier application program.

Claims (58)

1. A method comprising:

transforming a procedural program using a processor into object-oriented, intermediate client-server code;

partitioning the object-oriented, intermediate client-server code into an N-tier application program;

transforming a first portion of the procedural program into a first portion of object-oriented, intermediate client-server code;

suspending transformation of a second portion of the procedural program when a predetermined segment of the second portion of the procedural program is detected; and

modifying the first portion of object-oriented, intermediate client-server code based on the predetermined segment.

2. The method of claim 1 , wherein the N-tier application program includes a thin client and a plurality of server-based components.

3. The method of claim 2 , wherein the thin client includes user interface components, and the server-based components include business logic components.

4. The method of claim 3 , wherein the business logic components include web services.

5. The method of claim 2 , wherein the server-based components include a DBMS server component.

6. The method of claim 1 , wherein partitioning the intermediate client-server code into an N-tier application program includes separating user interface logic from application code logic.

7. The method of claim 1 , wherein partitioning the intermediate client-server code into an N-tier application program includes adding application state management.

8. The method of claim 1 , wherein partitioning the intermediate client-server code into an N-tier application program includes separating interface logic from transactional logic.

9. The method of claim 1 , wherein partitioning the intermediate client-server code into an N-tier application program includes implementing a browser-enabled, thin client interface.

10. A computer system, comprising:

a processor; and

a program storage memory device readable by the computer system, tangibly embodying a program of instructions executable by the processor to perform the method claimed in claim 1 .

11. A program storage memory device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform the method claimed in claim 1 .

12. Logic encoded in a tangible computer-readable memory comprising:

means for transforming a procedural program into object-oriented, intermediate client-server code;

means for partitioning the object-oriented, intermediate client-server code into an N-tier application program;

means for transforming a first portion of the procedural program into a first portion of object-oriented, intermediate client-server code;

means for suspending transformation of a second portion of the procedural program when a predetermined segment of the second portion of the procedural program is detected; and

means for modifying the first portion of object-oriented, intermediate client-server code based on the predetermined segment.

13. A method comprising:

transforming a procedural program into object-oriented, intermediate client-server code using a processor;

separating user interface from application code logic of a source procedural program;

adding application state management to a target distributed software system;

separating interface logic from business logic of the source procedural program;

implementing a browser-enabled, thin client interface for the target distributed software system;

presenting the business logic as server-side components for the target distributed software system;

transforming a first portion of the procedural program into a first portion of object-oriented, intermediate client-server code;

suspending transformation of a second portion of the procedural program when a predetermined segment of the second portion of the procedural program is detected; and

modifying the first portion of object-oriented, intermediate client-server code based on the predetermined segment.

14. A computer system, comprising:

a processor; and

a program storage memory device readable by the computer system, tangibly embodying a program of instructions executable by the processor to perform the method claimed in claim 13 .

15. A program storage memory device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform the method claimed in claim 13 .

16. Logic encoded in a tangible computer-readable memory comprising:

means for transforming a procedural program into object-oriented, intermediate client-server code;

means for separating user interface from application code logic of a source procedural program;

means for adding application state management to a target distributed software system;

means for separating interface logic from business logic of the source procedural program;

means for implementing a browser-enabled, thin client interface for the target distributed software system;

means for presenting the business logic as server-side components for the target distributed software system;

means for transforming a first portion of the procedural program into a first portion of object-oriented, intermediate client-server code;

means for suspending transformation of a second portion of the procedural program when a predetermined segment of the second portion of the procedural program is detected; and

means for modifying the first portion of object-oriented, intermediate client-server code based on the predetermined segment.

17. A computer program product comprising:

a computer-readable storage memory having computer-readable program code embodied therewith, the computer-readable program code comprising:

computer readable program code configured to transform a procedural program using a processor into object-oriented, intermediate client-server code;

computer readable program code configured to partition the object-oriented, intermediate client-server code into an N-tier application program;

computer readable program code configured to transform a first portion of the procedural program into a first portion of object-oriented, intermediate client-server code;

computer readable program code configured to suspend transformation of a second portion of the procedural program when a predetermined segment of the second portion of the procedural program is detected; and

computer readable program code configured to modify the first portion of object-oriented, intermediate client-server code based on the predetermined segment.

18. The computer program product of claim 17 , wherein the thin client includes user interface components, and the server-based components include business logic components.

19. The computer program product of claim 17 , wherein the business logic components include web services.

20. The computer program product of claim 17 , wherein the N-tier application program includes a thin client and a plurality of server-based components.

Assignments (2)
MERGER Recorded Jul 15, 2014
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 033311/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2004
From: TONDREAU, DAVID L., JR.; MAHONY, JOHN P.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 015929/0107 →
Continuity (5)
Continuation In Part 10341132 · Jan 13, 2003
Continuation 10142462 · May 10, 2002
Provisional Application 60486651 · Jul 11, 2003
Provisional Application 60290203 · May 11, 2001
Related Publication 20050039173A1 · Feb 17, 2005