Source: https://patents.google.com/patent/US9055002B2/en
Timestamp: 2020-01-21 00:49:00
Document Index: 419938219

Matched Legal Cases: ['Application No. 61', 'Application No. 61', 'Application No. 61', 'Application No. 61', 'Application No. 61', 'Application No. 61', 'Application No. 61']

US9055002B2 - Modernization of legacy application by reorganization of executable legacy tasks by role - Google Patents
Modernization of legacy application by reorganization of executable legacy tasks by role Download PDF
US9055002B2
US9055002B2 US12/914,831 US91483110A US9055002B2 US 9055002 B2 US9055002 B2 US 9055002B2 US 91483110 A US91483110 A US 91483110A US 9055002 B2 US9055002 B2 US 9055002B2
US12/914,831
US20110231851A1 (en
2009-10-28 Priority to US28004109P priority Critical
2010-10-28 Priority to US12/914,831 priority patent/US9055002B2/en
2010-10-28 Application filed by Advanced BusinessLink Corp filed Critical Advanced BusinessLink Corp
2011-09-22 Publication of US20110231851A1 publication Critical patent/US20110231851A1/en
2014-06-06 Assigned to ADVANCED BUSINESSLINK CORPORATION reassignment ADVANCED BUSINESSLINK CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LATEGAN, CHRISTOPHER F.
2015-06-09 Publication of US9055002B2 publication Critical patent/US9055002B2/en
Methods, systems, and techniques for role-based modernization of legacy applications are provided. Example embodiments provide a Role-Based Modernization System (“RBMS”), which enables the reorganization of (menu-based) legacy applications by role as a method of modernization and enables user access to such modernized applications through roles. In addition the RBMS supports the ability to enhance such legacy applications by blending them with non-legacy tasks and functions in a user-transparent fashion. In one embodiment, the RBMS comprises a client-side javascript display and control module and a java applet host interface and a server-side emulation control services module. These components cooperate to uniformly present legacy and non-legacy tasks that have been reorganized according to role modernization techniques.
The present disclosure relates to methods, systems, and techniques for modernizing menu-based legacy applications and, in particular, to methods, systems, and techniques for providing modernization to legacy applications through role-based reorganization and access.
FIGS. 18A-18D are example screen displays of different tasks associated with different roles according to an example role-based modernization technique.
FIGS. 19A-19G are example screen displays of a sequence for adding legacy tasks to an example role in a Role-Based Modernization System.
FIGS. 20A-20G are example screen displays of a sequence for adding non-legacy tasks to an example role in a Role-Based Modernization System.
Once a legacy application has been reorganized and configured to provide role-based modernization, as mentioned, a user with proper privileges can administer the RBMS to assign different tasks to different roles. FIGS. 18A-18D are example screen displays of different tasks associated with different roles according to an example role-based modernization technique. In FIG. 18A, the RBMS is shown with the home page in the task workspace area 1802 of the client role indicated by client indicator 1801. As described above, the client role is currently configured to include a variety of tasks shown in task list 1803. Of these, the tasks shown by the task indicators (tabs) 1805-1807 have been started. From the end users perspective, these tasks continue to execute even when they are not shown in the foreground. So that, when the user switches to a task, its output will reflect the current state of the task running on a host computing system. A role extension 1808 is also available for the client role.
To change the viewed role, the end user can selected the role pull-down menu using UI control 1804. The RBMS displays a role menu 1810 as shown in FIG. 18B. When the end user selects a desired role to access, for example, the logistics role indicated by menu item 1811, in FIG. 18C, the RBMS display is altered to reflect the home page of the selected role.
FIG. 18D shows the home page (desktop) of the logistics role in task workspace area 1822. As can be seen, the task list 1823 for the logistics role includes a different set of tasks than those available for the client role. In addition, the role extension 1825 is a pie chart, which is a different role extension that was available on the home page for the client role. This reflects that the user, when using the system in different roles, is using them with different “hats” on—and thus has different capacities available. FIG. 18D also shows that the role indicators 1820 and 1821 have changed to show that the logistics role is now active.
Once a role is defined, it may become desirable to configure additional legacy and non-legacy functionality for use by end users. FIGS. 19A-19G are example screen displays of a sequence for adding legacy tasks to an example role in a Role-Based Modernization System. FIG. 19A shows the initial logistics role home page before configuration. The task list 1905 shows five tasks, of which, only two have been initiated—as indicated by the tabs 1903 and 1904. The five tasks may include legacy and non-legacy tasks—the user (end user or administrator) need not necessarily know which task is which. To configure an additional legacy task, the administrator enters a configuration tool (here shown as RolePlay Admin 1910) and selects the role menu item 1912 from the administration menu 1911 to select a role to configure. After selecting the logistics role as identified by 19I control 1913, a list of the currently configured tasks is shown in list 1915. The administrator has an opportunity to mark an existing task as “sticky” (control 1916) or to configure other attributes.
In addition, by selecting the add/remove tasks 19I control (button 1914), the administrator can determine which tasks should be added and which removed. FIG. 19C shows all of the tasks in list 1920 that have been configured as possible additions for this instance of the RBMS. By simply selecting or deselecting a checkbox, the user can add and remove tasks associated with the selected role. In this case, item 1921 shows that the “Signup Activity—USA” task has been previously added to the role. FIG. 19D illustrates the tasks in list 1920 after the user has selected the task “Send File to User” indicated by item 1922.
FIG. 19E shows that the task list 1930 now contains a new item 1931 “Send File to User.” When the administrator or end user returns to the home page of the logistics role, the user will see that this task has been added. FIG. 19F shows the home page of the logistics role after adding the “Send File to User” task. Indicator 1940 indicates the new task in the list of tasks, now containing six elements. When the user selects the new task using indicator 1940, the new task is run, as illustrated in FIG. 19G. There are now three tabs corresponding to running tasks, with the new task running as the current task in the forefront.
Non-legacy tasks are similarly added to a role in an instance of an RBMS. FIGS. 20A-20G are example screen displays of a sequence for adding non-legacy tasks to an example role in a Role-Based Modernization System. Again, in FIG. 20A, task list 2003 contains a current list of tasks for the currently shown role, here the client role, as indicated by role indicator 2001. As demonstrated in FIG. 20B, an administrator enters the configuration tool (here shown as RolePlay Admin 2013) and selects the role menu item 2012 from the administration menu 2011 to select a role to configure. After selecting the client role as identified by user control 2014, a list of the currently configured tasks is displayed as shown in list 2010. This is the same list as list 2003 shown in FIG. 20A. FIG. 20C shows a portion of a list of the currently available tasks, once the add/remove tasks user control 2015 has been selected. The “A/R Batch Detail” indicated by item 2020 has been previously added to the role. FIG. 20D shows a different portion of the list of currently available tasks. Here, the administrator has chosen to add the non-legacy task “HotSteel Inc.” indentified in item 2030 to the current set of tasks. FIG. 20E shows that the current task list 2041 now includes new item 2040.
When the administrator or end user returns to the home page of the client role, the user will see that this new non-legacy task has been added to the role. FIG. 20F shows the revised home page of the client role after adding the “HotSteel Inc.” task. Indicator 2050 indicates the new task in the list of tasks, now containing seven elements. When the user selects the new task using indicator 2050, the new task is run, as illustrated in FIG. 20G. To invoke the new task, the user is navigated to the webpage for HotSteel, Inc. 2060. There are now three tabs corresponding to running tasks, with the new task running as the current task in the forefront.
FIGS. 18A-18D, 19A-19G, and 20A-20G illustrate one example user interface for configuring and working with legacy and non-legacy tasks in a uniform manner. In addition, as seen from these examples, a user can utilize the RBMS without any knowledge as to what tasks are legacy versus non-legacy. In addition, other ways to configure tasks can be similarly incorporated.
Once application tasks are reorganized by role, the RBMS can execute a multitude of tasks concurrently and allow further configurations such as hotkey access or additional non-legacy task extensions as shown in FIGS. 4 and 5. Moreover, the user interface between legacy and non-legacy tasks is seamless—the RBMS provides a uniform mechanism for invoking a task and displaying the results. In addition, example embodiments of the RBMS present only a single log-on for the user. Authentication and credential management is thereafter handled automatically between the client-side and server-side of the RBMS and with the host applications.
Furthermore, in some embodiments, some or all of the components of the RBMS may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the system components and/or data structures may also be stored (e.g., as executable or other machine readable software instructions or structured data) on a computer-readable medium (e.g., a hard disk; a memory; a network; or a portable media article to be read by an appropriate drive or via an appropriate connection). Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
All of the above U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet, including but not limited to U.S. Provisional Patent Application No. 61/280,034, entitled “ROLE-BASED MODERNIZATION OF LEGACY APPLICATIONS,” filed Oct. 28, 2009; U.S. Provisional Patent Application No. 61/280,044, entitled “SESSION POOLING FOR LEGACY APPLICATION TASKS,” filed Oct. 28, 2009; U.S. Provisional Patent Application No. 61/280,040, entitled “MODERNIZATION OF LEGACY APPLICATIONS USING DYNAMIC ICONS,” filed Oct. 28, 2009; U.S. Provisional Patent Application No. 61/280,060, entitled “DYNAMIC EXTENSIONS TO LEGACY APPLICATION TASKS,” filed Oct. 28, 2009; U.S. Provisional Patent Application No. 61/280,042, entitled “HOTKEY ACCESS TO LEGACY APPLICATION TASKS,” filed Oct. 28, 2009; U.S. Provisional Patent Application No. 61/280,041, entitled “TIERED CONFIGURATION OF LEGACY APPLICATION TASKS,” filed Oct. 28, 2009; and U.S. Provisional Patent Application No. 61/280,043, entitled “MANAGEMENT OF MULTIPLE INSTANCES OF LEGACY APPLICATION TASKS,” filed Oct. 28, 2009; are incorporated herein by reference, in their entireties.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the present disclosure. For example, the methods and systems for performing role-based modernization discussed herein are applicable to other architectures other than a windowing architecture. Also, the methods and systems discussed herein are applicable to differing protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.).
1. A computer-assisted method for modernizing a menu-driven legacy application having a plurality of tasks that are configured to be executed on a host computing system, comprising:
reorganizing the determined plurality of executable legacy tasks by role by assigning one or more of the determined executable legacy tasks to each of a plurality of roles, each role comprising a definition of one or more users authorized to use the role to access the legacy application tasks and a set of identifiers of the one or more determined executable tasks assigned to the role;
storing the roles in a configuration data repository, such that when the configuration data repository is downloaded to a client computing system, the determined executable legacy tasks assigned to a role are made accessible to a user authorized to access the host computing system by that role;
under control of a client computing system, using at least one of the roles stored in the downloaded configuration data repository to directly access one or more of the determined executable legacy tasks assigned to the at least one of the roles, wherein using at least one of the roles to directly access one or more of the determined executable legacy tasks further comprises directly invoking the one or more of the determined executable legacy tasks without invoking menus of the legacy application; and
further modernizing at least one of the executable legacy tasks by supplementing the at least one of the executable legacy tasks with access to non-legacy functionality.
2. The method of claim 1 wherein the using at least one of the roles to directly access one or more of the determined executable legacy tasks further comprises causing the one or more of the determined executable legacy tasks to execute in a terminal emulation session on the host computing system without a user opening the terminal emulation session.
3. The method of claim 1 wherein the set of identifiers of the one or more determined executable legacy tasks assigned to the at least one of the roles is presented on a display of the client computing system using a role desktop metaphor.
receiving from a user authorized to access the at least one of the roles an indication to execute one of the executable legacy tasks indicated by the displayed set of indicators;
displaying an indicator of the corresponding task on the client computing system, such that a user can directly switch between displaying output of the corresponding task and displaying a role desktop.
using the at least one of the roles to cause several of the executable legacy tasks assigned to the at least one of the roles to be executed on the host computing system;
presenting indicators to the output of the executing tasks; and
providing a mechanism for a user to switch between viewing each of the output of the executing tasks without opening or closing terminal emulator sessions on the client computing system.
6. The method of claim 5 wherein the presenting the indicators to the output of the executing tasks is performed by presenting user interface controls usable to shift a task workspace area between the output of the executing tasks.
7. The method of claim 1 wherein the determining the plurality of executable tasks from the plurality of tasks of the menu-driven legacy application is performed by a computer application that harvests task data automatically from information regarding the menu-driven legacy application.
8. The method of claim 6 wherein the information is information regarding the menu items of the menu-driven legacy application.
9. The method of claim 1 wherein the non-legacy functionality is made to appear as part of the at least one of the executable legacy tasks.
a code module, stored in the memory and executed on the computer processor, configured to:
determine from the plurality of tasks of the menu-driven legacy application a plurality of executable legacy tasks that are configured to be executed on the host computing system;
reorganize the determined plurality of executable legacy tasks by role by assigning one or more of the determined executable legacy tasks to each of a plurality of roles, each role comprising a definition of one or more users authorized to use the role to access the legacy application tasks and a set of identifiers of the one or more determined executable legacy tasks assigned to the role;
store the roles in a configuration data repository, such that when the configuration data repository is downloaded to a client computing system, the determined executable legacy tasks assigned to a role are made accessible to a user authorized to access the host computing system by that role;
under control of a client computing system, use at least one of the roles stored in the downloaded configuration data repository to directly access one or more of the determined executable legacy tasks assigned to the at least one of the roles, wherein using at least one of the roles to directly access one or more of the determined executable legacy tasks further comprises directly invoking the one or more of the determined executable legacy tasks without invoking menus of the legacy application; and
further modernize at least one of the executable legacy tasks by supplementing the at least one of the executable legacy tasks with access to non-legacy functionality.
11. A non-transitory computer-readable medium containing instructions for controlling a computer processor to assist in modernizing a menu-driven legacy application having a plurality of tasks that are configured to be executed on a host computing system, using a method comprising:
reorganizing the determined plurality of executable legacy tasks by role by assigning one or more of the determined executable legacy tasks to each of a plurality of roles, each role comprising a definition of one or more users authorized to use the role to access the legacy application tasks and a set of identifiers of the one or more determined executable legacy tasks assigned to the role;
storing the roles in a configuration data repository, such that when the configuration data repository is downloaded to a client computing system, the determined executable legacy tasks assigned to a role are made accessible to a user authorized to access the legacy application by that role;
12. A non-transitory computer-readable medium comprising content for enabling a computing system to facilitate modernizing a menu-driven legacy application having a plurality of tasks that are configured to be executed on a host computing system, by performing a method comprising:
determining from the plurality of tasks of the menu-driven legacy application a plurality of executable legacy tasks that are configured to be executed on the host computing system, wherein the determining the plurality of executable tasks from the plurality of tasks of the menu-driven legacy application is performed by a computer application that harvests task data automatically from information regarding the menu-driven legacy application;
storing the roles in a configuration data repository, such that when the configuration data repository is downloaded to the client computing system, the determined executable legacy tasks assigned to a role are made accessible to a user authorized to access the host computing system by that role;
under control of a client computing system, using at least one of the roles stored in the downloaded configuration data repository to directly access one or more of the determined executable legacy tasks assigned to the at least one of the roles; and
13. The non-transitory computer-readable medium of claim 12 wherein the computer readable medium is a memory of the computing system and wherein the contents are instructions stored on the memory that are configured to cause the computing system to perform the method.
14. The non-transitory computer-readable medium of claim 12 wherein the method further comprises directly invoking the one or more of the determined executable legacy tasks without invoking menus of the legacy application.
15. The non-transitory computer-readable medium of claim 12 wherein the set of identifiers of the one or more determined executable legacy tasks assigned to the at least one of the roles is presented on a display of the client computing system using a role desktop metaphor.
determine from the plurality of tasks of the menu-driven legacy application a plurality of executable legacy tasks that are configured to be executed on a host computing system, wherein the determining the plurality of executable tasks from the plurality of tasks of the menu-driven legacy application is performed by a computer application that harvests task data automatically from information regarding the menu-driven legacy application;
reorganize the determined plurality of executable legacy tasks by role by assigning one or more of the determined executable legacy tasks to each of a plurality of roles, each role comprising a definition of one or more users authorized to use the role to access the legacy application tasks and a set of identifiers of the one or more determined executable tasks assigned to the role;
under control of a client computing system, use at least one of the roles stored in the downloaded configuration data repository to directly access one or more of the determined executable legacy tasks assigned to the at least one of the roles; and
17. The computing system of claim 16 wherein the one or more executable tasks are executed in a session on the host computing system without opening a session on the client computing system.
18. The computing system of claim 16 wherein the one or more executable tasks are executed in one of a plurality of pooled sessions on the host computing system.
19. The computing system of claim 16 wherein the configuration data repository is downloaded upon a startup procedure of the client computing system triggered by navigation to a URL.
US12/914,831 2009-10-28 2010-10-28 Modernization of legacy application by reorganization of executable legacy tasks by role Active 2033-10-08 US9055002B2 (en)
US12/914,831 US9055002B2 (en) 2009-10-28 2010-10-28 Modernization of legacy application by reorganization of executable legacy tasks by role
US14/697,413 US9483252B2 (en) 2009-10-28 2015-04-27 Role-based modernization of legacy applications
US15/293,216 US10001985B2 (en) 2009-10-28 2016-10-13 Role-based modernization of legacy applications
US14/697,413 Continuation US9483252B2 (en) 2009-10-28 2015-04-27 Role-based modernization of legacy applications
US20110231851A1 US20110231851A1 (en) 2011-09-22
US9055002B2 true US9055002B2 (en) 2015-06-09
US12/914,850 Active 2031-07-13 US9049152B2 (en) 2009-10-28 2010-10-28 Hotkey access to legacy application tasks
US12/914,831 Active 2033-10-08 US9055002B2 (en) 2009-10-28 2010-10-28 Modernization of legacy application by reorganization of executable legacy tasks by role
US12/914,837 Active 2034-09-23 US9304754B2 (en) 2009-10-28 2010-10-28 Modernization of legacy applications using dynamic icons
US12/914,834 Active 2031-06-10 US8489677B2 (en) 2009-10-28 2010-10-28 Session pooling for legacy application tasks
US12/914,861 Abandoned US20110231847A1 (en) 2009-10-28 2010-10-28 Management of multiple instances of legacy application tasks
US12/914,843 Active 2034-04-30 US9106685B2 (en) 2009-10-28 2010-10-28 Dynamic extensions to legacy application tasks
US12/914,856 Active 2033-04-22 US9106686B2 (en) 2009-10-28 2010-10-28 Tiered Configuration of legacy application tasks
US13/922,106 Active US8903898B2 (en) 2009-10-28 2013-06-19 Session pooling for legacy application tasks
US14/272,219 Active 2031-05-06 US9519473B2 (en) 2009-10-28 2014-05-07 Facilitating access to multiple instances of a legacy application task through summary representations
US14/506,912 Active US9191339B2 (en) 2009-10-28 2014-10-06 Session pooling for legacy application tasks
US14/697,413 Active US9483252B2 (en) 2009-10-28 2015-04-27 Role-based modernization of legacy applications
US14/697,417 Active 2031-08-28 US9841964B2 (en) 2009-10-28 2015-04-27 Hotkey access to legacy application tasks
US14/796,973 Active 2031-08-03 US9965266B2 (en) 2009-10-28 2015-07-10 Dynamic extensions to legacy application tasks
US14/796,977 Active 2032-02-15 US10055214B2 (en) 2009-10-28 2015-07-10 Tiered configuration of legacy application tasks
US15/069,869 Active 2032-03-03 US10310835B2 (en) 2009-10-28 2016-03-14 Modernization of legacy applications using dynamic icons
US15/293,216 Active 2030-12-24 US10001985B2 (en) 2009-10-28 2016-10-13 Role-based modernization of legacy applications
US15/339,253 Active US9875117B2 (en) 2009-10-28 2016-10-31 Management of multiple instances of legacy application tasks
US15/789,956 Pending US20180046449A1 (en) 2009-10-28 2017-10-20 Hotkey access to legacy application tasks
WO2011053729A1 (en) 2011-05-05
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LATEGAN, CHRISTOPHER F.;REEL/FRAME:033051/0525