US20060059127A1 - Method, system, and storage medium for facilitating application development - Google Patents
Method, system, and storage medium for facilitating application development Download PDFInfo
- Publication number
- US20060059127A1 US20060059127A1 US10/942,530 US94253004A US2006059127A1 US 20060059127 A1 US20060059127 A1 US 20060059127A1 US 94253004 A US94253004 A US 94253004A US 2006059127 A1 US2006059127 A1 US 2006059127A1
- Authority
- US
- United States
- Prior art keywords
- data
- user interface
- request
- business logic
- page
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Definitions
- the present invention relates generally to application development, and more particularly, to a method, system, and storage medium for facilitating application development using a modified Model-View-Controller architecture.
- Object-oriented programming is a popular means for developing applications.
- Object-oriented programming is implemented by a special language such as Java, C++, Smalltalk®, etc. and refers to a type of programming that enables programmers to define a data type of a data structure, as well as operation functions to be applied to the data structure. In this manner, the data structure becomes an object that includes the data and its functions.
- object-oriented programs are easily modified as application changes are needed (e.g., a new object can be created that inherits features of existing objects), although they require substantial amounts of complex code even for simple applications.
- Model-View-Controller MVC
- the Model-View-Controller architecture distinguishes between a model (the data the user is manipulating along with its associated business logic), a view (a graphical representation of the data), and a controller (the mechanisms by which the user manipulates the data).
- the controller may be used to change the state of the model which, in turn, is displayed in the view. Segregating these components enables developers to re-use object code thereby reducing the time it takes to develop applications.
- the MVC model still requires rather extensive development even for simple applications.
- Embodiments of the invention include a method for facilitating application development.
- the method includes initializing a page token in response to receiving a request.
- the page token comprises an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and also a view component operable for providing referential format specifications for data provided in the abstract model component.
- the method also includes passing the page token between at least two components of a modified model-view-controller architecture.
- the components include a user interface controller, a user interface builder, an application layer, a data access manager, concrete models, and the standard interfaces between these components.
- the method further includes applying business logic to contents of the page token as a result of the passing, and presenting a response to the request based upon results of applying the business logic.
- Embodiments also include a modified model-view-controller architecture for facilitating application development.
- the components of the modified model-view-controller architecture include a user interface controller and a user interface builder.
- the user interface controller is in communication with the user interface builder via a first standard interface.
- the components also include an application layer.
- the user interface builder is in communication with application layer via a second standard interface.
- the components further include a page token comprising an abstract model component containing a specification for obtaining data designated to be sent in a response to a request or updating data obtained from a request, and a view component operable for providing referential format specifications for data provided in the abstract model component.
- the page token is initialized by the user interface controller and passed to one of the components via the first standard interface, business logic is applied to contents of the page token as a result of the passing, and a response to the request is presented based upon results of applying the business logic.
- Embodiments also include a storage medium encoded with machine-readable program code for facilitating application development.
- the program code includes instructions for causing a host system to initialize a page token in response to receiving a request.
- the page token comprises an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and also a view component operable for providing referential format specifications for data provided in the abstract model component.
- the program code also includes instructions for causing the host system to pass the page token between at least two components of a modified model-view-controller architecture.
- the components include a user interface controller, a user interface builder, an application layer, a data access manager, concrete models, and the standard interfaces between these components.
- the program code further includes instructions for causing the host system to apply business logic to contents of the page token as a result of the passing, and to present a response to the request based upon results of applying the business logic.
- FIG. 1 is a block diagram of a system upon which the modified MVC framework may be implemented in exemplary embodiments
- FIG. 2 is a diagram of the modified MVC framework and its components in exemplary embodiments.
- FIG. 3 represents a flow diagram describing a sample implementation of the modified MVC framework in exemplary embodiments.
- a method, system, and storage medium for facilitating application development is disclosed.
- the modified Model-View-Controller (MVC) framework of the invention allows for rapid application development and simple application integration and enhancement whereby most of the development is left to simple configuration rather than complex code development.
- the flexibility of the modified MVC framework's implementation provides custom application-specific extensions while maintaining a standard interface at each level to ensure simple integration.
- the implementation of the standard interface combined with a standard data structure (i.e., page token) eliminates the need for coding controller and model components.
- the page token object introduces the concept of an abstract model which is integrated with the view component to provide a more data-driven aspect to the existing MVC model architecture.
- FIG. 1 a block diagram of an exemplary system upon which the modified MVC framework may be implemented is generally shown.
- the system of FIG. 1 includes one or more client systems 102 through which users at one or more geographic locations may contact a host system 104 .
- the host system 104 executes computer instructions for implementing the modified MVC framework and the client systems 102 are in communication with the host system 104 via a network 106 .
- Client systems 102 interact with host system 104 by initiating one or more requests.
- Client systems 102 may be one of many different types of client systems, e.g., a personal computer that initiates HTTP requests via a web browser (or a full-featured interface such as a rich client that is written with, e.g., J2SE technology), a mobile computing device such as a personal digital assistant (PDA) or cellular telephone that initiate requests using Wireless Markup Language (WML), or a server (e.g., a web service peer that requests services with Electronic Business XML (ebXML) or Simple Object Access Protocol (SOAP) messages).
- a web browser or a full-featured interface such as a rich client that is written with, e.g., J2SE technology
- PDA personal digital assistant
- WML Wireless Markup Language
- server e.g., a web service peer that requests services with Electronic Business XML (ebXML) or Simple Object Access Protocol (SOAP) messages.
- ebXML Electronic Business XML
- SOAP Simple Object Access Protocol
- the network 106 may be any type of known network including, but not limited to, a wide area network (WAN), a local area network (LAN), a global network (e.g., Internet), a virtual private network (VPN), and an intranet.
- the network 106 may be implemented using a wireless network or any kind of physical network implementation known in the art.
- a client system 102 may be coupled to the host system 104 through multiple networks (e.g., intranet and Internet) so that not all client systems 102 are coupled to the host system 104 through the same network.
- One or more of the client systems 102 and the host system 104 may be connected to the network 106 in a wireless fashion.
- the network is an intranet and one or more client systems 102 execute a user interface application (e.g., a web browser) to contact the host system 104 through the network 106 , while another client system 102 is directly connected to the host system 104 .
- a user interface application e.g., a web browser
- the client system 102 is connected directly (i.e., not through the network 106 ) to the host system 104 and the host system 104 is connected directly to or contains a storage device 108 .
- the storage device 108 may be implemented using a variety of devices for storing electronic information. It is understood that the storage device 108 may be implemented using memory contained in the host system 104 or it may be a separate physical device. The storage device 108 is logically addressable as a consolidated data source across a distributed environment that includes a network 106 . Information stored in the storage device 108 may be retrieved and manipulated via the host system 104 .
- the storage device 108 includes a data repository containing documents, data, web pages, images, multi-media, etc. Further, storage device 108 stores configuration files (also referred to herein as page tokens).
- the host system 104 operates as a database server and coordinates access to application data including data stored on storage device 108 .
- the host system 104 depicted in FIG. 1 may be implemented using one or more servers operating in response to a computer program stored in a storage medium accessible by the server.
- the host system 104 may operate as a network server (e.g., a web server) to communicate with the client system 102 .
- the host system 104 handles sending and receiving information to and from the client system 102 and can perform associated tasks.
- Host system 104 executes various applications utilizing the modified MVC framework.
- the host system 104 may also include a firewall to prevent unauthorized access to the host system 104 and enforce any limitations on authorized access. For instance, an administrator may have access to the entire system and have authority to modify portions of the system.
- a firewall may be implemented using conventional hardware and/or software, as is known in the art.
- the host system 104 may also operate as an application server.
- the host system 104 executes one or more computer programs to implement business logic and related functions.
- separate servers may be utilized to implement the network server functions and the application server functions.
- the network server, the firewall, and the application server may be implemented by a single server executing computer programs to perform the requisite functions.
- a request 201 may be a browser-initiated HTTP request, or may be a request for data, a document, image, or other content.
- the request 201 may also be a search request or a request to launch an application.
- Response 203 refers to the results of the request processing.
- Response 203 for example, might be a web page, search result, etc. Requests and responses are handled by the user interface controller 202 as described herein.
- User interface controller 202 employs, e.g., a standard Java Action Servlet for managing configuration information as well as creating session-associated information (e.g., creating and destroying objects required by an application). User interface controller 202 also manages panel flow using the configuration information and status information received from the page token 218 via a standard interface 204 .
- Standard interface 204 (as well as standard interfaces 208 , 212 , and 224 a - 224 c ) enables and facilitates the independent functionality of the various elements that comprise the modified MVC framework model 200 .
- Page token 218 is a data structure that contains a view component 220 and an abstract model component 222 .
- the page token 218 is passed back and forth between model 200 components including: the user interface controller 202 , one of the user interface builders 206 , one of the application layer components 210 , and zero or more data access utilities 226 a - c via the data access manager 214 during the request and response processes.
- the abstract model component 222 contains a specification for obtaining data to be sent in a response 203 or updating data obtained from the request 201 .
- the view component 220 contains a specification for formatting a response (e.g., a web page) and also referentially specifies how data from the abstract model component 222 will be formatted in the view.
- the user interface builder 206 interacts with user interface controller 202 via the standard interface 204 described above.
- An application layer 210 provides a set of high-level application programming interfaces (APIs) for handling the page token 218 , and includes functionality to perform paging, searching, and standard validation (e.g., checking required fields).
- Application layer 210 may be extended as necessary to apply business logic such as custom validation functions. For example, application layer 210 manages requests sent via the data access manager 214 to the concrete models 216 if default interaction is not desired via the implementation of custom business logic.
- Business logic is applied by updating the page token 218 as it is received from a user interface builder 206 or after it has been updated by one or more of concrete models 216 . Additionally, a single piece of business logic may produce many page formats by updating the page token 218 as needed.
- the modified MVC model 200 includes a set of standard user interface builders 206 that interact with the application layer 210 using a standard interface 208 which performs requests to update the page token 218 associated with the current panel or panel flow.
- This enables the modified MVC framework 200 to provide a standardized way of building all like panels, e.g. all add panels, all modify panels, all delete panels, all list panels, and all search panels.
- User interface builders 206 use the view component 220 of page token 218 to identify what fields, data, and text should be placed on the panel as well as in which format to place them.
- user interface builders 206 handle the ‘plumbing’ associated with obtaining data from a client request by placing this data into the page token 218 so that the business logic can be used to validate the request data without having to write the code to obtain it.
- These user interface builders 206 may be extended if the needed type is not available in the existing framework as described further herein. Once extended, they become immediately available as standard page types.
- modified MVC framework model 200 Also included in modified MVC framework model 200 are data access manager 214 and concrete models 216 .
- the abstract model component 222 of page token 218 contains a specification for obtaining data to be sent in a response 203 or updating data obtained from a request 201 .
- This specification is then routed by the data access manager 214 to be translated into data store specific procedures by a translation layer provided by data access utilities 226 a - 226 c implemented in concrete models 216 .
- data store independent functionality may be achieved, thereby eliminating the need to write code to access a data store.
- Concrete models 216 represent a collection of objects responsible for managing data sources, such as data sources 228 - 232 .
- This collection may consist of objects that manage one or more such sources comprising a variety of types (e.g., IBM's DB2TM 230 , Lightweight Directory Access Protocol (LDAP) 228 , eXtensible Markup Language (XML) 232 , Structured Query Language (SQL), etc.).
- LDAP Lightweight Directory Access Protocol
- XML eXtensible Markup Language
- SQL Structured Query Language
- Standard interfaces 224 a - 224 c enable specific actions such as add, delete, modify, and query to be applied to one or more data sources for each page.
- each data access utility 226 a - 226 c is provided by each data access utility 226 a - 226 c to enable the abstract model component 222 to be applied in the language of the underlying data store. Since multiple data sources (e.g., 228 - 232 ) are managed by the data access manager 214 , it is possible to join data obtained from any of the underlying data stores without suffering performance degradation traditionally associated with join operations. This standard interface for a data access utility enables newly developed concrete model objects to become immediately re-useable by any application using this framework.
- a client request 201 generated by a user at client system 102 is received by the user interface controller 202 on host system 104 at step 302 .
- the user interface controller 202 may include state machine information that enables controller 202 to keep track of the page flow.
- the user interface controller 202 initializes the page token 218 , creates a session for the request at step 304 , and passes the page token 218 to a user interface builder 206 .
- the user interface builder 206 extracts data from the request 201 at step 306 .
- step 308 it is determined whether default interaction is required for the request 201 . If not, custom logic is applied to the request 201 at step 310 .
- the extensibility of the user interface builders 206 as described in steps 308 - 310 enable an application developer to provide custom code to the user interface builder 206 in situations where the configuration information in the page token does not satisfy the requirements needed or the results desired by the developer. For example, a developer may wish to provide a standard validation procedure that is built into the user interface builder 206 . This may be accomplished by the custom logic in step 310 .
- step 308 the default logic is applied to the request at step 312 .
- the view component 220 is then updated to reflect the application of the default logic from step 312 , or alternatively, to reflect the application of the custom logic from step 310 at step 314 .
- step 316 it is determined whether application logic is required for the request 201 . This step determines whether the flow will proceed to the application layer 210 for applying business logic and further processing or whether such application of business logic is not required, whereby the flow will return to the user interface controller 202 . If no application logic is required at step 316 , the user interface builder 206 updates the view component 220 at step 318 and presents a response 203 to the requesting client system 102 at step 320 .
- a message (e.g., validation failed) may be presented at step 320 .
- the user interface builder 206 handles the view, e.g., builds a web page, updates the view component 220 , and sends the view (i.e., response) to user interface controller 202 , which transforms the view into a format recognized by the requesting client system 102 , and presents the result to the client system 102 .
- step 316 the user interface builder 206 calls, e.g., a validation method or subroutine in the application layer 210 via the standard interface 208 . It is then determined whether default interaction is required within the application layer 210 at step 322 . If not, custom business logic is applied to the page token 218 at step 324 . Similar to steps 308 - 310 recited above, steps 322 - 324 enable an application developer to extend the utility of a configuration file in a page token 218 if desired by providing customized code.
- custom business logic may be needed to handle this complex page flow.
- Handling logic associated with password account administration is another example of a workflow that may require custom business logic.
- default interaction is required at step 322 .
- An example of default business logic may include validating forms.
- data access is required at step 328 . This step determines whether the flow returns to the user interface builder 206 or whether the flow proceeds to the data access manager 214 . If no data access is required, then the page token 218 is passed back to the user interface builder 206 .
- the application layer 210 calls a subroutine or method via standard interface 212 and the page token 218 is passed to the data access manager 214 .
- the data access manager 214 parses the abstract model component 222 of the page token 218 into abstract component pieces or segments, if needed, and calls method or subroutine via standard interface 224 a - c and passes the segments (or the entire abstract model component 222 if no segmentation is required) to one or more of the corresponding data access utilities 226 a - c at step 338 .
- the data access utilities 226 a - c translate the operation provided in the abstract model component 222 , or segments, into the language recognized by their respective concrete model data stores (e.g., LDAP 228 , XML 232 , DB2TM 230 , etc.) at step 340 .
- the operation is executed (e.g., search, retrieve, add, delete, etc.) at step 342 .
- the results are then returned to the data access manager 214 which reassembles the page token (e.g., aggregates the various abstract model component segments received from the data access utilities 226 a - c via standard interfaces 224 a - c, respectively), updates the page token 218 with the data received from the data access utilities 226 a - c at step 344 , and passes the page token 218 back to the application layer 210 .
- the page token e.g., aggregates the various abstract model component segments received from the data access utilities 226 a - c via standard interfaces 224 a - c, respectively
- step 346 it is determined whether application logic is required. If so, custom business logic is applied to the page token 218 at step 348 . Once the custom logic has been applied at step 348 , or alternatively, if no application logic is required at step 346 , the page token is passed to the user interface builder. At step 330 , it is again determined whether default interaction is desired. If so, then the view component 220 is updated to reflect the data access transaction at step 318 , and the client is presented with a response at step 320 . Otherwise, custom view logic is applied to the page token 218 at step 332 , followed by updating the view component as described in step 318 .
- the modified Model-View-Controller (MVC) framework 200 of the invention allows for rapid application development and simple application integration and enhancement whereby most of the development is left to simple configuration rather than complex code development.
- the flexibility of the modified MVC framework's implementation provides custom application-specific extensions while maintaining a standard interface at each level to ensure simple integration.
- the implementation of the standard interface combined with the standard data structure (i.e., page token) eliminates the need for coding controller and model components.
- the page token object introduces the concept of an abstract model which is integrated with the view component to provide a more data-driven aspect to the existing MVC model architecture.
- the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes.
- the present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention.
- the present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the invention.
- the computer program code segments configure the microprocessor to create specific logic circuits.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
A method for facilitating application development, the method including initializing a page token in response to receiving a request. The page token comprises an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and also a view component for providing referential format specifications for data provided in the abstract model component. The method further includes passing the page token between at least two components of a modified model-view-controller architecture via a standard interface. The components include a user interface controller, a user interface builder implementing a first standard interface, an application layer implementing a second standard interface, a data access manager implementing a third standard interface, and at least one data access utility implementing a fourth standard interface. The method further includes applying business logic to contents of the page token as a result of the passing, and presenting a response to the request based upon results of applying the business logic.
Description
- The present invention relates generally to application development, and more particularly, to a method, system, and storage medium for facilitating application development using a modified Model-View-Controller architecture.
- Object-oriented programming is a popular means for developing applications. Object-oriented programming is implemented by a special language such as Java, C++, Smalltalk®, etc. and refers to a type of programming that enables programmers to define a data type of a data structure, as well as operation functions to be applied to the data structure. In this manner, the data structure becomes an object that includes the data and its functions. By design, object-oriented programs are easily modified as application changes are needed (e.g., a new object can be created that inherits features of existing objects), although they require substantial amounts of complex code even for simple applications.
- Advanced object-oriented programming techniques provide the ability to better manage program code, as well as reduce the complexity of the code, by compartmentalizing the code into organized ‘chunks’ or by implementing a general pattern during code development. One general pattern used is the Model-View-Controller (MVC) architecture. In a programming environment, the Model-View-Controller architecture distinguishes between a model (the data the user is manipulating along with its associated business logic), a view (a graphical representation of the data), and a controller (the mechanisms by which the user manipulates the data). The controller may be used to change the state of the model which, in turn, is displayed in the view. Segregating these components enables developers to re-use object code thereby reducing the time it takes to develop applications. Despite this, the MVC model still requires rather extensive development even for simple applications.
- What is desirable, therefore, is the ability to provide rapid application development and simple application integration where most of the development is left to simple configuration rather than complex code development.
- Embodiments of the invention include a method for facilitating application development. The method includes initializing a page token in response to receiving a request. The page token comprises an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and also a view component operable for providing referential format specifications for data provided in the abstract model component. The method also includes passing the page token between at least two components of a modified model-view-controller architecture. The components include a user interface controller, a user interface builder, an application layer, a data access manager, concrete models, and the standard interfaces between these components. The method further includes applying business logic to contents of the page token as a result of the passing, and presenting a response to the request based upon results of applying the business logic.
- Embodiments also include a modified model-view-controller architecture for facilitating application development. The components of the modified model-view-controller architecture include a user interface controller and a user interface builder. The user interface controller is in communication with the user interface builder via a first standard interface. The components also include an application layer. The user interface builder is in communication with application layer via a second standard interface. The components further include a page token comprising an abstract model component containing a specification for obtaining data designated to be sent in a response to a request or updating data obtained from a request, and a view component operable for providing referential format specifications for data provided in the abstract model component. The page token is initialized by the user interface controller and passed to one of the components via the first standard interface, business logic is applied to contents of the page token as a result of the passing, and a response to the request is presented based upon results of applying the business logic.
- Embodiments also include a storage medium encoded with machine-readable program code for facilitating application development. The program code includes instructions for causing a host system to initialize a page token in response to receiving a request. The page token comprises an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and also a view component operable for providing referential format specifications for data provided in the abstract model component. The program code also includes instructions for causing the host system to pass the page token between at least two components of a modified model-view-controller architecture. The components include a user interface controller, a user interface builder, an application layer, a data access manager, concrete models, and the standard interfaces between these components. The program code further includes instructions for causing the host system to apply business logic to contents of the page token as a result of the passing, and to present a response to the request based upon results of applying the business logic.
- Other systems, methods, and/or computer program products according to embodiments will be or become apparent to one with skill in the art upon review of the following drawings and detailed description. It is intended that all such additional systems, methods, and/or computer program products be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
- Referring now to the drawings, wherein like elements are numbered alike in the several FIGURES:
-
FIG. 1 is a block diagram of a system upon which the modified MVC framework may be implemented in exemplary embodiments; -
FIG. 2 is a diagram of the modified MVC framework and its components in exemplary embodiments; and -
FIG. 3 represents a flow diagram describing a sample implementation of the modified MVC framework in exemplary embodiments. - In accordance with exemplary embodiments, a method, system, and storage medium for facilitating application development is disclosed. The modified Model-View-Controller (MVC) framework of the invention allows for rapid application development and simple application integration and enhancement whereby most of the development is left to simple configuration rather than complex code development. The flexibility of the modified MVC framework's implementation provides custom application-specific extensions while maintaining a standard interface at each level to ensure simple integration. The implementation of the standard interface combined with a standard data structure (i.e., page token), eliminates the need for coding controller and model components. The page token object introduces the concept of an abstract model which is integrated with the view component to provide a more data-driven aspect to the existing MVC model architecture.
- In
FIG. 1 , a block diagram of an exemplary system upon which the modified MVC framework may be implemented is generally shown. The system ofFIG. 1 includes one ormore client systems 102 through which users at one or more geographic locations may contact ahost system 104. Thehost system 104 executes computer instructions for implementing the modified MVC framework and theclient systems 102 are in communication with thehost system 104 via anetwork 106.Client systems 102 interact withhost system 104 by initiating one or more requests.Client systems 102 may be one of many different types of client systems, e.g., a personal computer that initiates HTTP requests via a web browser (or a full-featured interface such as a rich client that is written with, e.g., J2SE technology), a mobile computing device such as a personal digital assistant (PDA) or cellular telephone that initiate requests using Wireless Markup Language (WML), or a server (e.g., a web service peer that requests services with Electronic Business XML (ebXML) or Simple Object Access Protocol (SOAP) messages). - The
network 106 may be any type of known network including, but not limited to, a wide area network (WAN), a local area network (LAN), a global network (e.g., Internet), a virtual private network (VPN), and an intranet. Thenetwork 106 may be implemented using a wireless network or any kind of physical network implementation known in the art. Aclient system 102 may be coupled to thehost system 104 through multiple networks (e.g., intranet and Internet) so that not allclient systems 102 are coupled to thehost system 104 through the same network. One or more of theclient systems 102 and thehost system 104 may be connected to thenetwork 106 in a wireless fashion. In one embodiment, the network is an intranet and one ormore client systems 102 execute a user interface application (e.g., a web browser) to contact thehost system 104 through thenetwork 106, while anotherclient system 102 is directly connected to thehost system 104. In another exemplary embodiment, theclient system 102 is connected directly (i.e., not through the network 106) to thehost system 104 and thehost system 104 is connected directly to or contains astorage device 108. - The
storage device 108 may be implemented using a variety of devices for storing electronic information. It is understood that thestorage device 108 may be implemented using memory contained in thehost system 104 or it may be a separate physical device. Thestorage device 108 is logically addressable as a consolidated data source across a distributed environment that includes anetwork 106. Information stored in thestorage device 108 may be retrieved and manipulated via thehost system 104. Thestorage device 108 includes a data repository containing documents, data, web pages, images, multi-media, etc. Further,storage device 108 stores configuration files (also referred to herein as page tokens). In an exemplary embodiment, thehost system 104 operates as a database server and coordinates access to application data including data stored onstorage device 108. - The
host system 104 depicted inFIG. 1 may be implemented using one or more servers operating in response to a computer program stored in a storage medium accessible by the server. Thehost system 104 may operate as a network server (e.g., a web server) to communicate with theclient system 102. Thehost system 104 handles sending and receiving information to and from theclient system 102 and can perform associated tasks.Host system 104 executes various applications utilizing the modified MVC framework. - The
host system 104 may also include a firewall to prevent unauthorized access to thehost system 104 and enforce any limitations on authorized access. For instance, an administrator may have access to the entire system and have authority to modify portions of the system. A firewall may be implemented using conventional hardware and/or software, as is known in the art. - The
host system 104 may also operate as an application server. Thehost system 104 executes one or more computer programs to implement business logic and related functions. As previously described, it is understood that separate servers may be utilized to implement the network server functions and the application server functions. Alternatively, the network server, the firewall, and the application server may be implemented by a single server executing computer programs to perform the requisite functions. - Turning now to
FIG. 2 , an exemplary model of the modified MVC framework 200 is described. Also shown inFIG. 2 is arequest 201 andresponse 203. Arequest 201 may be a browser-initiated HTTP request, or may be a request for data, a document, image, or other content. Therequest 201 may also be a search request or a request to launch an application.Response 203 refers to the results of the request processing.Response 203, for example, might be a web page, search result, etc. Requests and responses are handled by theuser interface controller 202 as described herein. -
User interface controller 202 employs, e.g., a standard Java Action Servlet for managing configuration information as well as creating session-associated information (e.g., creating and destroying objects required by an application).User interface controller 202 also manages panel flow using the configuration information and status information received from thepage token 218 via astandard interface 204. Standard interface 204 (as well asstandard interfaces - Also included in the modified MVC framework model 200 is a
page token 218.Page token 218 is a data structure that contains aview component 220 and anabstract model component 222. Thepage token 218 is passed back and forth between model 200 components including: theuser interface controller 202, one of theuser interface builders 206, one of theapplication layer components 210, and zero or more data access utilities 226 a-c via thedata access manager 214 during the request and response processes. Theabstract model component 222 contains a specification for obtaining data to be sent in aresponse 203 or updating data obtained from therequest 201. Theview component 220 contains a specification for formatting a response (e.g., a web page) and also referentially specifies how data from theabstract model component 222 will be formatted in the view. - The
user interface builder 206 interacts withuser interface controller 202 via thestandard interface 204 described above. Anapplication layer 210 provides a set of high-level application programming interfaces (APIs) for handling thepage token 218, and includes functionality to perform paging, searching, and standard validation (e.g., checking required fields).Application layer 210 may be extended as necessary to apply business logic such as custom validation functions. For example,application layer 210 manages requests sent via thedata access manager 214 to theconcrete models 216 if default interaction is not desired via the implementation of custom business logic. Business logic is applied by updating the page token 218 as it is received from auser interface builder 206 or after it has been updated by one or more ofconcrete models 216. Additionally, a single piece of business logic may produce many page formats by updating the page token 218 as needed. - The modified MVC model 200 includes a set of standard
user interface builders 206 that interact with theapplication layer 210 using astandard interface 208 which performs requests to update the page token 218 associated with the current panel or panel flow. This enables the modified MVC framework 200 to provide a standardized way of building all like panels, e.g. all add panels, all modify panels, all delete panels, all list panels, and all search panels.User interface builders 206 use theview component 220 of page token 218 to identify what fields, data, and text should be placed on the panel as well as in which format to place them. Further,user interface builders 206 handle the ‘plumbing’ associated with obtaining data from a client request by placing this data into the page token 218 so that the business logic can be used to validate the request data without having to write the code to obtain it. Theseuser interface builders 206 may be extended if the needed type is not available in the existing framework as described further herein. Once extended, they become immediately available as standard page types. - Also included in modified MVC framework model 200 are
data access manager 214 andconcrete models 216. As indicated above, theabstract model component 222 of page token 218 contains a specification for obtaining data to be sent in aresponse 203 or updating data obtained from arequest 201. This specification is then routed by thedata access manager 214 to be translated into data store specific procedures by a translation layer provided by data access utilities 226 a-226 c implemented inconcrete models 216. By performing translation of the specification at this location in the framework, data store independent functionality may be achieved, thereby eliminating the need to write code to access a data store. -
Concrete models 216 represent a collection of objects responsible for managing data sources, such as data sources 228-232. This collection may consist of objects that manage one or more such sources comprising a variety of types (e.g., IBM'sDB2™ 230, Lightweight Directory Access Protocol (LDAP) 228, eXtensible Markup Language (XML) 232, Structured Query Language (SQL), etc.). There may also be as many different data sources as an application requires (e.g., multiple DB 2 databases or a DB2 database and an LDAP database). Standard interfaces 224 a-224 c enable specific actions such as add, delete, modify, and query to be applied to one or more data sources for each page. - As indicated above, a translation layer is provided by each data access utility 226 a-226 c to enable the
abstract model component 222 to be applied in the language of the underlying data store. Since multiple data sources (e.g., 228-232) are managed by thedata access manager 214, it is possible to join data obtained from any of the underlying data stores without suffering performance degradation traditionally associated with join operations. This standard interface for a data access utility enables newly developed concrete model objects to become immediately re-useable by any application using this framework. - Turning now to
FIG. 3 , a flow diagram describing a sample implementation of the modified MVC framework is described. Aclient request 201 generated by a user atclient system 102 is received by theuser interface controller 202 onhost system 104 atstep 302. Theuser interface controller 202 may include state machine information that enablescontroller 202 to keep track of the page flow. Theuser interface controller 202 initializes thepage token 218, creates a session for the request atstep 304, and passes the page token 218 to auser interface builder 206. Theuser interface builder 206 extracts data from therequest 201 atstep 306. - At
step 308, it is determined whether default interaction is required for therequest 201. If not, custom logic is applied to therequest 201 atstep 310. The extensibility of theuser interface builders 206 as described in steps 308-310 enable an application developer to provide custom code to theuser interface builder 206 in situations where the configuration information in the page token does not satisfy the requirements needed or the results desired by the developer. For example, a developer may wish to provide a standard validation procedure that is built into theuser interface builder 206. This may be accomplished by the custom logic instep 310. - If default interaction is required at
step 308, the default logic is applied to the request atstep 312. Theview component 220 is then updated to reflect the application of the default logic fromstep 312, or alternatively, to reflect the application of the custom logic fromstep 310 atstep 314. Atstep 316, it is determined whether application logic is required for therequest 201. This step determines whether the flow will proceed to theapplication layer 210 for applying business logic and further processing or whether such application of business logic is not required, whereby the flow will return to theuser interface controller 202. If no application logic is required atstep 316, theuser interface builder 206 updates theview component 220 atstep 318 and presents aresponse 203 to the requestingclient system 102 atstep 320. For example, using the example above, if a custom validation procedure is performed atstep 310 and no application logic is required atstep 316, then a message (e.g., validation failed) may be presented atstep 320. Theuser interface builder 206 handles the view, e.g., builds a web page, updates theview component 220, and sends the view (i.e., response) touser interface controller 202, which transforms the view into a format recognized by the requestingclient system 102, and presents the result to theclient system 102. - If on the other hand, it is determined that application logic is required at
step 316, theuser interface builder 206 calls, e.g., a validation method or subroutine in theapplication layer 210 via thestandard interface 208. It is then determined whether default interaction is required within theapplication layer 210 atstep 322. If not, custom business logic is applied to the page token 218 at step 324. Similar to steps 308-310 recited above, steps 322-324 enable an application developer to extend the utility of a configuration file in apage token 218 if desired by providing customized code. For example, if a page flow requires that information be gathered from different screens and a request is sent to a web service for further action, then custom business logic may be needed to handle this complex page flow. Handling logic associated with password account administration is another example of a workflow that may require custom business logic. - If, on the other hand, default interaction is required at
step 322, the default logic is applied to the page token 218 atstep 326. An example of default business logic may include validating forms. Once the default logic has been applied atstep 326, or alternatively, once the custom business logic has been applied at step 324, it is then determined whether data access is required atstep 328. This step determines whether the flow returns to theuser interface builder 206 or whether the flow proceeds to thedata access manager 214. If no data access is required, then thepage token 218 is passed back to theuser interface builder 206. - Once again it is determined whether default interaction is required for the page token 218 at
step 330. If not, then custom view logic is applied to the page token 218 atstep 332, followed up updating theview component 220 to reflect this application of logic atstep 318. A response is then presented to the client via the user interface controller atstep 320. If default interaction is required atstep 330, theview component 220 is updated atstep 318 to prepare it for transformation by the User Interface Controller. - Returning back to step 328, if data access is required, the
application layer 210 calls a subroutine or method viastandard interface 212 and thepage token 218 is passed to thedata access manager 214. Thedata access manager 214 parses theabstract model component 222 of the page token 218 into abstract component pieces or segments, if needed, and calls method or subroutine via standard interface 224 a-c and passes the segments (or the entireabstract model component 222 if no segmentation is required) to one or more of the corresponding data access utilities 226 a-c atstep 338. The data access utilities 226 a-c translate the operation provided in theabstract model component 222, or segments, into the language recognized by their respective concrete model data stores (e.g.,LDAP 228,XML 232,DB2™ 230, etc.) atstep 340. The operation is executed (e.g., search, retrieve, add, delete, etc.) atstep 342. The results are then returned to thedata access manager 214 which reassembles the page token (e.g., aggregates the various abstract model component segments received from the data access utilities 226 a-c via standard interfaces 224 a-c, respectively), updates the page token 218 with the data received from the data access utilities 226 a-c atstep 344, and passes thepage token 218 back to theapplication layer 210. - At
step 346, it is determined whether application logic is required. If so, custom business logic is applied to the page token 218 atstep 348. Once the custom logic has been applied atstep 348, or alternatively, if no application logic is required atstep 346, the page token is passed to the user interface builder. Atstep 330, it is again determined whether default interaction is desired. If so, then theview component 220 is updated to reflect the data access transaction atstep 318, and the client is presented with a response atstep 320. Otherwise, custom view logic is applied to the page token 218 atstep 332, followed by updating the view component as described instep 318. - As described above, the modified Model-View-Controller (MVC) framework 200 of the invention allows for rapid application development and simple application integration and enhancement whereby most of the development is left to simple configuration rather than complex code development. The flexibility of the modified MVC framework's implementation provides custom application-specific extensions while maintaining a standard interface at each level to ensure simple integration. The implementation of the standard interface combined with the standard data structure (i.e., page token), eliminates the need for coding controller and model components. The page token object introduces the concept of an abstract model which is integrated with the view component to provide a more data-driven aspect to the existing MVC model architecture.
- As described above, the present invention can be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into an executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
- While the invention has been described with reference to an exemplary embodiment, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the scope of the invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the invention without departing from the essential scope thereof. Therefore, it is intended that the invention not be limited to a particular embodiment disclosed as the best mode contemplated for carrying out this invention, but that the invention will include all embodiments falling within the scope of the appended claims.
Claims (30)
1. A method for facilitating application development, comprising:
initializing a page token in response to receiving a request, the page token comprising an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and a view component operable for providing referential format specifications for the data provided in the abstract model component;
passing the page token between at least two components of a modified model-view-controller architecture via a standard interface, the components of the modified model-view-controller architecture including:
a user interface controller;
a user interface builder implementing a first standard interface;
an application layer implementing a second standard interface;
a data access manager implementing a third standard interface; and
at least one data access utility implementing a fourth standard interface;
applying business logic to contents of the page token as a result of the passing; and
presenting a response to the request based upon results of the applying business logic.
2. The method of claim 1 , wherein the business logic is one of default business logic and custom business logic.
3. The method of claim 1 , wherein the request includes at least one of:
a browser-initiated hypertext transport protocol request;
a request for at least one of data, a document, an image, and multi-media content;
a search request; and
a request to launch an application.
4. The method of claim 2 , further comprising updating the page token via at least one of:
the default business logic, wherein the default business logic is applied by a call to the at least one data access utility, and the page token is updated with data from a data store or data from the user interface builder operable for rendering panels; and
the custom business logic, wherein the custom business logic is applied by a call to the application layer, and wherein further the custom business logic is operable for updating data retrieved or for updating a view.
5. The method of claim 2 , further comprising updating a data store with data in the page token by the default business logic.
6. The method of claim 1 , wherein the response to the request includes at least one of:
a search result;
at least one of data, a document, an image, and multi-media content; and
a web page.
7. The method of claim 1 , wherein:
the user interface controller interacts with the user interface builder via the first standard interface;
the user interface builder interacts with the application layer via the second standard interface;
the application layer interacts with the data access manager via the third standard user interface; and
the data access manager interacts with the at least one data access utility via the fourth standard interface.
8. The method of claim 1 , further comprising managing panel flow via the user interface controller.
9. The method of claim 8 , wherein the panel flow is managed using specification information in the page token and machine status information tracked by the user interface controller.
10. The method of claim 9 , wherein the user interface builder performs:
extracting data from the request and placing extracted data into the page token;
identifying fields, data, and text designated for placement on a current panel; and
identifying a format for the fields, data, and text.
11. The method of claim 10 , wherein the application layer performs:
validating the extracted data by applying business logic to the page token.
12. The method of claim 11 , wherein the data access manager performs:
parsing the specification contained in the abstract model component into segments, each of the segments classified by a corresponding type of data store, each type of data store associated with a data access utility.
13. The method of claim 12 , wherein types of data stores include:
eXtensible Markup Language;
Lightweight Directory Access Protocol;
Structured Query Language; and
DB2.
14. The method of claim 12 , further comprising:
translating each of the segments using the data access utility associated with a data store specified by the segment, the translating including translating each of the segments into a language understood by the data store;
executing an operation based upon results of the translating;
updating the segments to reference the results when the operation executed is one that yields results;
aggregating the segments in the abstract model component of the page token; and
passing the page token back to the application layer.
15. A modified model-view-controller architecture, wherein components of the modified model-view-controller architecture include:
a user interface controller;
a user interface builder, wherein the user interface controller is in communication with the user interface builder via a first standard interface;
an application layer, wherein the user interface builder is in communication with application layer via a second standard interface;
a page token comprising an abstract model component containing a specification for obtaining data designated to be sent in a response to a request or updating data obtained from a request, and a view component operable for providing referential format specifications for data provided in the abstract model component;
wherein, the page token is initialized by the user interface controller and passed to one of the components via the first standard interface; and
wherein further, business logic is applied to contents of the page token as a result of passing, and a response to the request is presented based upon results of applying the business logic.
16. The modified model-view-controller architecture of claim 15 , further comprising:
a data access manager, wherein the application layer is in communication with the data access manager via a third standard interface; and
concrete models, wherein the data access manager is in communication with the concrete models via a fourth standard interface, each of the concrete models comprising a corresponding data access utility and a corresponding data store;
wherein in response to receiving the page token from the application layer, the data access manager parses the abstract model component and sends parsed data to one or more concrete models associated with the parsed data; and
wherein further, corresponding data access utilities associated with the one or more concrete models translate the parsed data into a language understood by corresponding data stores, execute an operation specified in the parsed data, and return results of the executed operation to the data access manager.
17. The modified model-view-controller architecture of claim 16 , wherein in response to receiving the results of the executed operation, the data access manager updates the page token with the results and passes the page token back to the application layer.
18. The modified model-view-controller architecture of claim 17 , wherein in response to receiving the page token, the application layer applies business logic and passes the page token back to the user interface builder.
19. The modified model-view-controller architecture of claim 18 , wherein in response to receiving the page token, the user interface builder formats the data in the page token into a page for viewing and passes the page back to the user interface controller.
20. The modified model-view-controller architecture of claim 19 , wherein in response to receiving the page, the user interface controller sends the page to a display device.
21. The modified model-view-controller architecture of claim 20 , wherein the display device includes one of:
a web browser; and
a cell phone.
22. A storage medium encoded with machine-readable program code for facilitating application development, the program code including instructions for causing a host system to implement a method, comprising:
initializing a page token in response to receiving a request, the page token comprising an abstract model component containing a specification for obtaining data designated to be sent in a response to the request or a specification for updating data obtained from the request, and a view component operable for providing referential format specifications for the data provided in the abstract model component;
passing the page token between at least two components of a modified model-view-controller architecture via a standard interface, the components of the modified model-view-controller architecture including:
a user interface controller;
a user interface builder implementing a first standard interface, an application layer implementing a second standard interface;
a data access manager implementing a third standard interface; and
at least one data access utility implementing a fourth standard user interface;
applying business logic to contents of the page token as a result of the passing; and
presenting a response to the request based upon results of the applying business logic.
23. The storage medium of claim 22 , wherein the business logic is one of default business logic and custom business logic.
24. The storage medium of claim 23 , wherein the request includes at least one of:
a browser-initiated hypertext transport protocol request;
a request for at least one of data, a document, an image, and multi-media content;
a search request; and
a request to launch an application.
25. The storage medium of claim 24 , further comprising instructions for causing the host system to perform:
updating the page token via at least one of:
the default business logic, wherein the default business logic is applied by a call to the at least one data access utility, and the page token is updated with data from a data store or data from the user interface builder operable for rendering panels; and
the custom business logic, wherein the custom business logic is applied by a call to the application layer, and wherein further the custom business logic is operable for updating data retrieved or for updating a view; and
updating a data store with data in the page token by the default business logic.
26. The storage medium of claim 23 , wherein:
the user interface controller interacts with the user interface builder via the first standard interface;
the user interface builder interacts with the application layer via the second standard interface;
the application layer interacts with the data access manager via the third standard user
interface; and
the data access manager interacts with the at least one data access utility via the fourth standard interface.
27. The storage medium of claim 23 , further comprising instructions for causing the host system to implement managing panel flow via the user interface controller, wherein the panel flow is managed using specification information in the page token and machine status information tracked by the user interface controller.
28. The storage medium of claim 27 , wherein the user interface builder performs:
extracting data from the request and placing extracted data into the page token;
identifying fields, data, and text designated for placement on a current panel; and
identifying a format for the fields, data, and text.
29. The storage medium of claim 28 , wherein the application layer performs:
validating the extracted data by applying business logic to the page token.
30. The storage medium of claim 29 , wherein the data access manager performs:
parsing the specification contained in the abstract model component into segments, each of the segments classified by a corresponding type of data store, each type of data store associated with a data access utility;
translating each of the segments using the data access utility associated with a data store specified by the segment, the translating including translating each of the segments into a language understood by the data store;
executing an operation based upon results of the translating;
updating the segments to reference the results when the operation executed is one that yields results;
aggregating the segments in the abstract model component of the page token; and
passing the page token back to the application layer.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/942,530 US20060059127A1 (en) | 2004-09-15 | 2004-09-15 | Method, system, and storage medium for facilitating application development |
US11/856,128 US7814125B2 (en) | 2004-09-15 | 2007-09-17 | Methods for facilitating application development |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/942,530 US20060059127A1 (en) | 2004-09-15 | 2004-09-15 | Method, system, and storage medium for facilitating application development |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/856,128 Continuation US7814125B2 (en) | 2004-09-15 | 2007-09-17 | Methods for facilitating application development |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060059127A1 true US20060059127A1 (en) | 2006-03-16 |
Family
ID=36035317
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/942,530 Abandoned US20060059127A1 (en) | 2004-09-15 | 2004-09-15 | Method, system, and storage medium for facilitating application development |
US11/856,128 Expired - Fee Related US7814125B2 (en) | 2004-09-15 | 2007-09-17 | Methods for facilitating application development |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/856,128 Expired - Fee Related US7814125B2 (en) | 2004-09-15 | 2007-09-17 | Methods for facilitating application development |
Country Status (1)
Country | Link |
---|---|
US (2) | US20060059127A1 (en) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005287A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Reconfigurable,hierarchical component-based architecture & framework and methods for rapidly developing sensor device-enabling software applications |
US20080005721A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing Sensor-Enabled Software Applications |
US20080005729A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing and Deploying Sensor-Enabled Software Applications |
US20080010631A1 (en) * | 2006-06-29 | 2008-01-10 | Augusta Systems, Inc. | System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network |
US20100082123A1 (en) * | 2008-09-30 | 2010-04-01 | Rockwell Automation Technologies, Inc. | Modular object and host matching |
US20110022827A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Multiple interface support |
US20110022626A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Hosting requirements for services |
US20110022198A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Layered interface in an industrial environment |
US20110022195A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Multiple machine interface |
US20110022192A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Management and development of an industrial environment |
US20120158764A1 (en) * | 2009-03-03 | 2012-06-21 | Microsoft Corporation | Mapping from objects to data model |
US8726245B2 (en) | 2011-01-28 | 2014-05-13 | International Business Machines Corporation | Static analysis of computer software applications having a model-view-controller architecture |
CN103793471A (en) * | 2013-12-31 | 2014-05-14 | 青岛中科软件股份有限公司 | MVC (model view controller)-based paging inquiring system |
US20160371348A1 (en) * | 2015-06-22 | 2016-12-22 | Samsung Electronics Co., Ltd. | Method and electronic device for displaying related information of parsed data |
CN106598655A (en) * | 2016-12-05 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Application page processing method and apparatus |
US9864764B2 (en) | 2014-08-29 | 2018-01-09 | Accenture Global Solutions Limited | Evolving data archives |
CN110989976A (en) * | 2019-11-29 | 2020-04-10 | 北京美络克思科技有限公司 | Web application componentization development method based on J2EE, storage medium and electronic device |
CN111427546A (en) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | Page event processing device and method and electronic equipment |
CN113032087A (en) * | 2019-12-25 | 2021-06-25 | 亚信科技(南京)有限公司 | Data interaction method and device based on Chromium kernel |
US11080625B2 (en) * | 2007-11-28 | 2021-08-03 | International Business Machines Corporation | Enforcing context model based policies with forward chaining |
CN114924782A (en) * | 2022-03-31 | 2022-08-19 | 北京达佳互联信息技术有限公司 | Service update processing method and device, electronic equipment and storage medium |
WO2023120879A1 (en) * | 2021-12-22 | 2023-06-29 | 삼성전자 주식회사 | Method and device for creating application |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060242104A1 (en) * | 2005-04-21 | 2006-10-26 | Microsoft Corporation | Systems and methods for manipulating data in a data storage system |
US8418072B1 (en) * | 2007-12-24 | 2013-04-09 | Emc Corporation | UI data model abstraction |
US8255875B2 (en) * | 2008-09-30 | 2012-08-28 | Rockwell Automation Technologies, Inc. | Application builder for industrial automation |
US20130041828A1 (en) * | 2011-08-10 | 2013-02-14 | Cox Communications, Inc. | Systems, Methods, and Apparatus for Managing Digital Content and Rights Tokens |
US9182951B1 (en) * | 2013-10-04 | 2015-11-10 | Progress Software Corporation | Multi-ecosystem application platform as a service (aPaaS) |
CN106227523B (en) * | 2016-07-18 | 2019-03-08 | 浪潮通用软件有限公司 | A kind of general JavaScript data source component |
US10846060B2 (en) | 2018-01-29 | 2020-11-24 | Q2 Software, Inc. | Single-page web application builder system and method based on a finite-state machine |
US11743040B2 (en) * | 2021-06-25 | 2023-08-29 | Bank Of America Corporation | Vault encryption abstraction framework system |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212787A (en) * | 1991-03-12 | 1993-05-18 | International Business Machines Corporation | Method and apparatus for accessing a relational database without exiting an object-oriented environment |
US5950190A (en) * | 1997-05-13 | 1999-09-07 | Aptek, Inc. | Dynamic, self-modifying graphical user interface for relational database applications |
US6161136A (en) * | 1998-10-16 | 2000-12-12 | Nortel Networks Limited | High performance user interface and method of structuring same |
US6289382B1 (en) * | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US20020143800A1 (en) * | 2001-01-24 | 2002-10-03 | Henrik Lindberg | Model view controller |
US20030145305A1 (en) * | 2001-11-16 | 2003-07-31 | Mario Ruggier | Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI |
US20030197726A1 (en) * | 2002-03-28 | 2003-10-23 | International Business Machines Corporation | Method, system and program product in a model-view-controller (MVC) programming architecture for inter-object communication with transformation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004019160A2 (en) * | 2002-08-23 | 2004-03-04 | Jway Group, Inc. | Extensible user interface (xui) framework and development environment |
US7441187B2 (en) * | 2004-12-16 | 2008-10-21 | International Business Machines Corporation | Web template processing utilizing dynamic rules defined by data structure language |
-
2004
- 2004-09-15 US US10/942,530 patent/US20060059127A1/en not_active Abandoned
-
2007
- 2007-09-17 US US11/856,128 patent/US7814125B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5212787A (en) * | 1991-03-12 | 1993-05-18 | International Business Machines Corporation | Method and apparatus for accessing a relational database without exiting an object-oriented environment |
US5950190A (en) * | 1997-05-13 | 1999-09-07 | Aptek, Inc. | Dynamic, self-modifying graphical user interface for relational database applications |
US6161136A (en) * | 1998-10-16 | 2000-12-12 | Nortel Networks Limited | High performance user interface and method of structuring same |
US6289382B1 (en) * | 1999-08-31 | 2001-09-11 | Andersen Consulting, Llp | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment |
US20020143800A1 (en) * | 2001-01-24 | 2002-10-03 | Henrik Lindberg | Model view controller |
US20030145305A1 (en) * | 2001-11-16 | 2003-07-31 | Mario Ruggier | Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI |
US20030197726A1 (en) * | 2002-03-28 | 2003-10-23 | International Business Machines Corporation | Method, system and program product in a model-view-controller (MVC) programming architecture for inter-object communication with transformation |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8015547B2 (en) | 2006-06-29 | 2011-09-06 | Augusta Systems, Inc. | Reconfigurable, hierarchical component-based architecture and framework and methods for rapidly developing sensor device-enabling software applications |
US20080005721A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing Sensor-Enabled Software Applications |
US20080005729A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Method and System for Rapidly Developing and Deploying Sensor-Enabled Software Applications |
US20080010631A1 (en) * | 2006-06-29 | 2008-01-10 | Augusta Systems, Inc. | System and Method for Deploying and Managing Intelligent Nodes in a Distributed Network |
US20080005287A1 (en) * | 2006-06-29 | 2008-01-03 | Augusta Systems, Inc. | Reconfigurable,hierarchical component-based architecture & framework and methods for rapidly developing sensor device-enabling software applications |
US7735060B2 (en) | 2006-06-29 | 2010-06-08 | Augusta Systems, Inc. | Method and system for rapidly developing and deploying sensor-enabled software applications |
US8095923B2 (en) | 2006-06-29 | 2012-01-10 | Augusta Systems, Inc. | System and method for deploying and managing intelligent nodes in a distributed network |
US8776092B2 (en) | 2006-09-29 | 2014-07-08 | Rockwell Automation Technologies, Inc. | Multiple interface support |
US8732658B2 (en) * | 2006-09-29 | 2014-05-20 | Rockwell Automation Technologies, Inc. | Layered interface in an industrial environment |
US20110022195A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Multiple machine interface |
US20110022192A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Management and development of an industrial environment |
US20110022626A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Hosting requirements for services |
US20110022827A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Multiple interface support |
US9217998B2 (en) | 2006-09-29 | 2015-12-22 | Rockwell Automation Technologies, Inc. | Management and development of an industrial environment |
US10185600B2 (en) | 2006-09-29 | 2019-01-22 | Rockwell Automation Technologies, Inc. | Multiple interface support |
US20110022198A1 (en) * | 2006-09-29 | 2011-01-27 | Rockwell Automation Technologies, Inc. | Layered interface in an industrial environment |
US9058032B2 (en) | 2006-09-29 | 2015-06-16 | Rockwell Automation Technologies, Inc. | Hosting requirements for services |
US9261877B2 (en) | 2006-09-29 | 2016-02-16 | Rockwell Automation Technologies, Inc. | Multiple machine interface |
US11080625B2 (en) * | 2007-11-28 | 2021-08-03 | International Business Machines Corporation | Enforcing context model based policies with forward chaining |
US20100082123A1 (en) * | 2008-09-30 | 2010-04-01 | Rockwell Automation Technologies, Inc. | Modular object and host matching |
US8818757B2 (en) | 2008-09-30 | 2014-08-26 | Rockwell Automation Technologies, Inc. | Modular object and host matching |
US8392462B2 (en) * | 2009-03-03 | 2013-03-05 | Microsoft Corporation | Mapping from objects to data model |
US20120158764A1 (en) * | 2009-03-03 | 2012-06-21 | Microsoft Corporation | Mapping from objects to data model |
US8726245B2 (en) | 2011-01-28 | 2014-05-13 | International Business Machines Corporation | Static analysis of computer software applications having a model-view-controller architecture |
US9189204B2 (en) | 2011-01-28 | 2015-11-17 | International Business Machines Corporation | Static analysis of computer software applications having a model-view-controller architecture |
CN103793471A (en) * | 2013-12-31 | 2014-05-14 | 青岛中科软件股份有限公司 | MVC (model view controller)-based paging inquiring system |
US9864764B2 (en) | 2014-08-29 | 2018-01-09 | Accenture Global Solutions Limited | Evolving data archives |
US10769121B2 (en) | 2014-08-29 | 2020-09-08 | Accenture Global Solutions Limited | Evolving data archives |
US10496256B2 (en) * | 2015-06-22 | 2019-12-03 | Samsung Electronics Co., Ltd | Method and electronic device for displaying related information of parsed data |
US20160371348A1 (en) * | 2015-06-22 | 2016-12-22 | Samsung Electronics Co., Ltd. | Method and electronic device for displaying related information of parsed data |
CN106598655A (en) * | 2016-12-05 | 2017-04-26 | 腾讯科技(深圳)有限公司 | Application page processing method and apparatus |
US11868785B2 (en) | 2016-12-05 | 2024-01-09 | Tencent Technology (Shenzhen) Company Limited | Application program page processing method and device |
CN111427546A (en) * | 2019-01-10 | 2020-07-17 | 阿里巴巴集团控股有限公司 | Page event processing device and method and electronic equipment |
CN110989976A (en) * | 2019-11-29 | 2020-04-10 | 北京美络克思科技有限公司 | Web application componentization development method based on J2EE, storage medium and electronic device |
CN113032087A (en) * | 2019-12-25 | 2021-06-25 | 亚信科技(南京)有限公司 | Data interaction method and device based on Chromium kernel |
WO2023120879A1 (en) * | 2021-12-22 | 2023-06-29 | 삼성전자 주식회사 | Method and device for creating application |
CN114924782A (en) * | 2022-03-31 | 2022-08-19 | 北京达佳互联信息技术有限公司 | Service update processing method and device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US7814125B2 (en) | 2010-10-12 |
US20080109410A1 (en) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814125B2 (en) | Methods for facilitating application development | |
Chatterjee et al. | Developing enterprise Web services: an architect's guide | |
US8626803B2 (en) | Method and apparatus for automatically providing network services | |
US6782542B1 (en) | Simple object access protocol | |
US7849437B2 (en) | Object oriented web application framework | |
US7930364B2 (en) | Persistence of inter-application communication patterns and behavior under user control | |
US6973483B2 (en) | System and method for using dynamic web components to automatically customize web pages | |
US6477665B1 (en) | System, method, and article of manufacture for environment services patterns in a netcentic environment | |
US6289382B1 (en) | System, method and article of manufacture for a globally addressable interface in a communication services patterns environment | |
US7810107B2 (en) | Dynamic portal registration of generic data source | |
AU2006200694B2 (en) | Method and system for creating, storing, managing and consuming culture specific data | |
US8281283B2 (en) | Model-based integration of business logic implemented in enterprise javabeans into a UI framework | |
US20150213146A1 (en) | Content management application for an interactive environment | |
US9747353B2 (en) | Database content publisher | |
US7146618B1 (en) | Simple object access protocol | |
EP1308841A2 (en) | Service portal with application framework for facilitating application and feature development | |
US20020069192A1 (en) | Modular distributed mobile data applications | |
US7577672B2 (en) | Systems and methods for providing a portal including multiple windows | |
JP2003518683A (en) | Method and apparatus for presenting data to a user | |
Bussler | The role of Semantic Web technology in enterprise application integration. | |
US20060136355A1 (en) | Scalable object model | |
US6931599B1 (en) | Page sub-component prerequisite control mechanism | |
US6922813B1 (en) | Page prerequisite control mechanism | |
US10114617B2 (en) | Rapid visualization rendering package for statistical programming language | |
US7831905B1 (en) | Method and system for creating and providing web-based documents to information devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: IBM CORPORATION, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BERRY BRIAN D.;SACK, NOAH G.;REEL/FRAME:015338/0132 Effective date: 20041018 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |