A method, system, computer readable medium containing instructions to execute a method for an intermediary, such as a controller, to interact between the interface of an older application and a newly programmed user interface in order to take advantage of existing transactional logic while still allowing a user to interface with a new user interface.
|
43. A system comprising:
a processor;
means for receiving input data from a first user interface, the input data submitted in accordance with a user-interactive process;
means for transmitting the input data to an intermediary;
means for mapping the input data to correspond to inputs accepted by a second user interface;
means for transmitting the mapped input data to the second user interface;
means for processing the mapped input data;
means for transmitting the processed data from the second user interface to the intermediary; and
means for creating a new third user interface based on the processed data, wherein the new third user interface displays both a process chain illustrating steps of the user-interactive process and a current state of the user-interactive process.
1. A computer-implemented method, comprising:
receiving input data from a first user interface, the input data submitted in accordance with a user-interactive process;
transmitting the input data to an intermediary;
at the intermediary, mapping the input data to correspond to inputs accepted by a second user interface of an application;
transmitting the mapped input data to the second user interface;
processing, by an application associated with the second user interface, the mapped input data;
transmitting the processed data from the second user interface to the intermediary; and
based on the processed data, creating a new third user interface, wherein the new third user interface displays both a process chain illustrating steps of the user-interactive process and a current state of the user-interactive process.
15. A system comprising:
a receiver receiving input data from a first user interface, the input data submitted in accordance with a user-interactive process;
a transmitter transmitting the input data to an intermediary;
a processor mapping the input data to a second user interface to obtain the mapped input data,
wherein the transmitter transmits the mapped input data to the second user interface,
wherein the processor processes the mapped input data to obtain the processed data,
wherein the transmitter transmits the processed data from the second user interface to the intermediary,
wherein the processor creates a new third user interface; and
a terminal providing the new third user interface, the third user interface displaying both a process chain illustrating steps of the user-interactive process and a current state of the user-interactive process.
29. A computer readable storage medium containing instructions that executed by a processor result in a performance of a method comprising:
receiving input data from a first user interface, the input data submitted in accordance with a user-interactive process;
transmitting the input data to an intermediary;
at the intermediary, mapping the input data to correspond to inputs accepted by a second user interface;
transmitting the mapped input data to the second user interface;
processing, by an application associated with the second user interface, the mapped input data;
transmitting the processed data from the second user interface to the intermediary; and
based on the processed data, creating a new third user interface, wherein the new third user interface displays both a process chain illustrating steps of the user-interactive process and a current state of the user-interactive process.
2. The method according to
5. The method according to
6. The method according to
7. The method according to
9. The method according to
11. The method according to
12. The method according to
13. The method according to
14. The method according to
16. The system according to
19. The system according to
20. The system according to
23. The system according to
25. The system according to
26. The system according to
27. The system according to
28. The system according to
30. The computer readable storage medium according to
31. The computer readable storage medium according to
32. The computer readable storage medium according to
33. The computer readable storage medium according to
34. The computer readable storage medium according to
35. The computer readable storage medium according to
36. The computer readable storage medium according to
37. The computer readable storage medium according to
38. The computer readable storage medium according to
39. The computer readable storage medium according to
40. The computer readable storage medium according to
41. The computer readable storage medium according to
42. The computer readable storage medium according to
44. The system according to
47. The system according to
48. The system according to
51. The system according to
53. The system according to
54. The system according to
55. The system according to
56. The system according to
|
Software programs frequently go through many version cycles. Often, new versions provide maintenance upgrades, such as security enhancements of fixing bugs. New versions can also provide substantive changes such as altering a user interface (UI) or altering the backend processing or functionality, even when it is processing that is not observed by the user. For example, current Enterprise Resource Planning (ERP) systems help to automate business practices by using sophisticated business logic on the back end and dynamic user interfaces on the front end. These ERP systems are highly adaptable to specific business practices and change frequently to reflect changes in the business environment, or the specific business type that the software is being tailored for. However, in some cases, older “legacy” software contains much of the needed functionality base of a software system and all that needs to be “upgraded” is additive functionality and a new UI.
Legacy software applications may have front-end UIs which may be inseparable with backend transactional logic, such as business logic. Due to the inseparability, the newer software may not be able to utilize the same or similar transactional logic of the older applications. Companies would thus have to rewrite existing transactional logic for the sole purpose of interacting with the newer interfaces. This create a significant burden on a company in terms of programming man-hours as well as money.
In order to promote not only code reusability, but also entire transactional logic reusability, data must be able to be transmitted to and accessed from the transactional logic of legacy software programs. However, if a UI layer is integrated with a transactional logic layer, there is not a method in the art to separate the code in order to access the transactional logic. An advantage of an embodiment of the invention is that it uses an intermediary to serve as a surrogate user by mapping inputs by the user from a new first interface to an older second interface. The intermediary then takes the data or messages that are returned from the older second interface back to the new interface logic to create a new third interface display for the user to manipulate. In this way, newer UIs can be developed while being able to access older transactional logic.
An embodiment of the invention may utilize a new UI if it contained an arrangement receiving input data from a first user interface. The arrangement may contain any type of computing device or processor on a server, PDA, laptop, etc. An embodiment of the invention may further contain an arrangement transmitting a first set of data to an intermediary, the arrangement comprising a network device, router, ethernet cable, ethernet card, wireless card, etc. An embodiment may further comprise an arrangement mapping the first set of data to a second user interface, the arrangement comprising a processor on a computing device, such as a server, laptop, PDA, desktop, etc. An embodiment may further contain an arrangement transmitting a second set of data to the second user interface, the arrangement comprising the same or a different transmitting device such as a network device, router, ethernet cable, ethernet card, wireless card, etc. An embodiment may further comprise an arrangement transmitting a third set of data from the second interface to the intermediary, the arrangement comprising the same or a different transmitting device such as a network device, router, ethernet cable, ethernet card, wireless card, etc. The embodiment may also contain an arrangement providing a third user interface, the arrangement comprising a laptop monitor, TV monitor, LCD display on a computing device, etc.
In
One advantage of having a separate UI paradigm is that UIs typically undergo significant changes, either to adapt to changes in UI practice or to accommodate different classes of users. For example, web or client UI may be adaptable depending on the role of the user, such as a manager versus an employee, or a sales person versus an administrator. The UI carries only the necessary screen logic to display information to a specific user. Otherwise, it typically contains no transactional logic of its own. This allows the UI that is presented to the user to be adaptable and flexible. Moreover, because these interfaces are separate, they can be implemented on the same hardware or on different hardware, such as on a web interface or a sub-GUI rich client that is installed on another computer, viewed over the Internet or an intranet. These interfaces can also be adapted to work with different kinds of modules that contain various types of transactional logic.
The present invention is not limited to only modular software applications. Integrated applications would still be able to take advantage of an embodiment of the present invention. For example, if an integrated application was completely rewritten but required access to transactional logic on an older version, an intermediary could still be created within the transactional logic of the newer integrated application to act as the surrogate user to interact with the UI of an older version of an integrated application.
When the interface logic 200 receives the mapped data 306, the transactional logic 201 processes the data and updates data if necessary 202. Any messages, data, or attributes of data can be transmitted 306 through the mapping 400 back 302 to the controller 300. The controller 300 can store the sets of data that are mapped back. The controller can use the mapped data to update a new interface logic 304. The new interface logic 304 can take any available data, attributes of the data, and mapping information, if available, to provide 305 a new display to the user 100.
Several embodiments of the present invention are specifically illustrated and described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.
Zurmuehl, Martin, Elfner, Stefan, Kretschmer, Ruediger
Patent | Priority | Assignee | Title |
10386985, | Jul 14 2015 | International Business Machines Corporation | User interface pattern mapping |
11481233, | Sep 13 2019 | LOGISTIVIEW, INC | Augmenting legacy user interfaces using workflows |
8732677, | Sep 28 2006 | SAP SE | System and method for extending legacy application with undo/redo functionality |
8856365, | Feb 28 2012 | SAP SE | Computer-implemented method, computer system and computer readable medium |
9128886, | Dec 20 2011 | SAP SE | Computer implemented method, computer system, electronic interface, mobile computing device and computer readable medium |
9298429, | Sep 28 2006 | SAP SE | System and method for extending legacy applications with undo/redo functionality |
9524147, | May 10 2013 | SAP SE | Entity-based cross-application navigation |
Patent | Priority | Assignee | Title |
5850548, | Nov 14 1994 | CODEGEAR LLC | System and methods for visual programming based on a high-level hierarchical data flow model |
5870727, | May 22 1995 | Verizon Data Services LLC | Rule-based system for the provision of complex navigational logic |
6158044, | May 21 1997 | EPROPOSE, INC | Proposal based architecture system |
6272675, | Oct 01 1998 | Unisys Corporation | Development system for automatically enabling a server application to execute with an XATMI-compliant transaction manager managing transactions within multiple environments |
6298478, | Dec 31 1998 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
6550057, | Aug 31 1999 | Accenture Global Services Limited | Piecemeal retrieval in an information services patterns environment |
6697880, | Jan 11 1999 | GLOBALFOUNDRIES Inc | Methodology and graphical user interface for building logic synthesis command scripts using micro-templates |
6901554, | Aug 03 1999 | International Business Machines Corporation | Method and apparatus in a data processing system for systematically separating application graphical user interface component placement from component sequencing and compound creation |
6987838, | Apr 16 2003 | TELEFONAKTIEBOLAGET LM ERICSSON PUBL | System and method for deploying new equipment and services in conjunction with a legacy provisioning system |
7027408, | Mar 05 2001 | Qwest Communications International, Inc | Method and system for dynamic service profile integration by a service controller |
7028221, | May 10 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Apparatus and method for capturing knowledge through an expert interface |
7031320, | Dec 22 2000 | Samsung Electronics Co., Ltd.; SAMSUNG ELECTRONICS CO , LTD | Apparatus and method for performing high-speed IP route lookup and managing routing/forwarding tables |
7036043, | Dec 28 2001 | Oracle America, Inc | Data management with virtual recovery mapping and backward moves |
7036128, | Jan 05 1999 | IPA TECHNOLOGIES INC | Using a community of distributed electronic agents to support a highly mobile, ambient computing environment |
7051071, | Feb 16 2000 | Oracle International Corporation | Workflow integration system for enterprise wide electronic collaboration |
7694272, | Oct 01 2003 | Fidelity Information Services, LLC | Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language |
20030121027, | |||
20030145305, | |||
20040107414, | |||
20040128648, | |||
20050050551, | |||
20050144174, | |||
20050203764, | |||
20060136833, | |||
20070168907, | |||
20070168974, | |||
20080235610, | |||
WO3032139, | |||
WO2004019160, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 25 2006 | SAP AG | (assignment on the face of the patent) | / | |||
Jul 17 2006 | ELFNER, STEFAN | SAP AG | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017958 | /0053 | |
Jul 17 2006 | KRETSCHMER, RUEDIGER | SAP AG | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017958 | /0053 | |
Jul 17 2006 | ZURMUEL, MARTIN | SAP AG | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 017958 | /0053 | |
Jul 07 2014 | SAP AG | SAP SE | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 033625 | /0334 |
Date | Maintenance Fee Events |
Aug 24 2010 | ASPN: Payor Number Assigned. |
Sep 13 2010 | ASPN: Payor Number Assigned. |
Sep 13 2010 | RMPN: Payer Number De-assigned. |
Jan 23 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 14 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Feb 16 2022 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 24 2013 | 4 years fee payment window open |
Feb 24 2014 | 6 months grace period start (w surcharge) |
Aug 24 2014 | patent expiry (for year 4) |
Aug 24 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 24 2017 | 8 years fee payment window open |
Feb 24 2018 | 6 months grace period start (w surcharge) |
Aug 24 2018 | patent expiry (for year 8) |
Aug 24 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 24 2021 | 12 years fee payment window open |
Feb 24 2022 | 6 months grace period start (w surcharge) |
Aug 24 2022 | patent expiry (for year 12) |
Aug 24 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |