Source: http://www.google.nl/patents/US7441188?hl=nl
Timestamp: 2013-05-22 03:38:34
Document Index: 497905981

Matched Legal Cases: ['art 200312', 'art 2002', 'art 200126', 'art 2003', 'art 20029', 'art 200317', 'art 20039', 'art 200418']

Patent US7441188 - Web construction framework presentation tier - Google PatentenZoeken Afbeeldingen Maps Play YouTube Nieuws Gmail Drive Meer » Geavanceerd zoeken naar patenten | Webgeschiedenis | Inloggen Geavanceerd zoeken naar patenten PatentenA system for constructing a view provided by a web application is provided. The system includes a viewer component that is used to compose at least a portion of a web application. The viewer component enables web applications to generate a hypertext markup language file containing input fields for communication...http://www.google.nl/patents/US7441188?utm_source=gb-gplus-sharePatent US7441188 - Web construction framework presentation tier PublicatienummerUS7441188 B1PublicatietypeVerlening Aanvraagnummer10/910,871 Publicatiedatum21 okt 2008 Aanvraagdatum4 aug 2004 Prioriteitsdatum4 aug 2004 UitvindersNick S. RussellJoshua D. Turner Oorspronkelijke patenteigenaarSprint Communications Company L.P.Sprint Communications Company, L.P. Classificatie in de VS715/273 Internationale classificatieG06F17/00 Co�peratieve classificatieG06F8/38G06F8/36 Europese classificatieG06F 8/38G06F 8/36ReferentiesPatentcitaties (28)Niet-patentcitaties (5) Verwijzingen naar dit patent (5)Externe linksUSPTO USPTO-toewijzing EspacenetWeb construction framework presentation tierUS 7441188 B1 Samenvatting A system for constructing a view provided by a web application is provided. The system includes a viewer component that is used to compose at least a portion of a web application. The viewer component enables web applications to generate a hypertext markup language file containing input fields for communication to a web server. The viewer component includes an input field file, a script file and a java server page template. The input filed file defines a plurality of constraints on the input fields and the script file reads the input field file and places instructions into the hypertext markup language file. The instructions validate an input to one of the input fields based on the input field file. The java server page template is extendable to create a java server page that is operable to generate a part of the hypertext markup language file.
1. A system for constructing a view component of a web application, comprising:
at least one input field file stored on a computer readable medium defining a plurality of input field types and associated field formats;
a template java server page stored on the computer readable medium, the template java server page to serve as a baseline for deriving at least one java server page; and
a script stored on the computer readable medium that, when executed by a processor, analyzes the at least one input field file, generates at least one input check based on the field formats, and installs the at least one input check in the at least one java server page,
wherein the view component of the web application comprises the at least one java server page and wherein the at least one Java server page, when the web application is executed on a web server and is accessed by a client browser, generates a hypertext markup language file including input fields validated by the input checks based on the field formats that the web application returns to the client browser.
2. The system of claim 1 wherein the at least one input field file is an extensible markup language file.
3. The system of claim 1 further comprising a navigation extensible markup language file stored on the computer readable medium defining a user interface and including tags defining at least one menu, wherein when the web application is accessed by the client browser, the java server page generates the hypertext markup language file based at least in part on the navigation extensible markup language file and wherein the hypertext markup language file includes the user interface.
4. The system of claim 3 wherein the tags defining at least one menu include an attribute to selectably designate a placement of the at least one menu as one of a vertical menu along a left-hand or a right-hand side of the user interface or a horizontal menu along a top or a bottom of the user interface.
5. The system of claim 1 wherein the java server page does not contain active codes or scripts except for the script.
6. The system of claim 1, wherein the view component of the web application includes plurality of java server pages, wherein each of the plurality of java server pages is created by extending the template java server page.
a controller component of the web application configured to define how the web application responds to requests, the controller component comprising:
a servlet configured to track a sequence of universal resource locators accessed by the web application, wherein upon selection of a back button in a secure environment, the servlet maps the selection to a previously accessed universal resource locator in the sequence and input associated with the previously accessed universal resource locator.
8. A framework that constructs a view component of a web application, comprising:
an input file defining a plurality of input field types and constraints associated with the input field types;
a template java server page to serve as a baseline for deriving a java server page; and
a script that, when executed by the processor, analyzes the input file and builds input checks into the java server page derived from the template java server page based on analyzing the input file,
wherein the view component comprises at least the java server page and wherein when the web application is executed on a web server and is accessed by a client browser, the lava server page generates a graphical user interface, including at least one input field validated by the input checks, that the web application returns to the client browser.
9. The framework of claim 8 wherein the graphical user interface is further defined as a hypertext markup language file.
10. The framework of claim 9 further comprising a navigation extensible markup language file defining an interactive portion of the graphical user interface.
11. The framework of claim 10 wherein the script is operable to define at least one menu into the hypertext markup language file using the navigation extensible markup language file by placing tags in the hypertext markup language file.
12. The framework of claim 8, wherein the one of the types of input fields is a telephone number input field,
wherein the input field file defines the constraint of the telephone number input field as including a predetermined number of digits, and
wherein the graphical user interface generated by the java server page includes at least one telephone number input field validated by an input check that includes verifying the user input has the predetermined number of digits.
13. A method of constructing a plurality of view components provided by one or more web applications using a presentation tier of a web construction framework, the method comprising:
providing a jar containing at least a template java server page, a navigation file, a script, and a presentation extensible markup language file, wherein the presentation extensible markup language file defines a plurality of input fields and at least one constraint on each of the plurality of input fields, and wherein the at least one constraint is a format to be adhered to by input provided to the plurality of input fields;
customizing a first java server page based on the template java server page for a first web application, the first java server page including one or more input fields defined by the presentation extensible markup language file;
using the script to analyze the one or more input fields of the first java server page based on the definition of the one or more input fields of the first java server page in the presentation extensible markup language file, wherein based on the analysis of the one or more input fields of the first java server page the script inserts instructions into the first java server page to validate user input in the one or more input fields of the first java server page based on the at least one constraint;
using the navigation file to customize a first navigation element of the first web application to create menus for the first web application;
customizing a second java server page based on the template java server page for a second web application, the second java server page including one or more input fields defined by the presentation extensible markup language file;
using the script to analyze the one or more input fields of the second java server page based on the definition of the one or more input fields of the second java server page in the presentation extensible markup language file, wherein based on the analysis of the one or more input fields of the second java server page the script inserts instructions into the second java server page to validate user input in the one or more input fields of the second java server page based on the at least one constraint; and
using the navigation file to customize a second navigation element of the second web application to create menus for the second web application.
the script placing tags defining at least one menu in the first java server page, the tags designating locations at which to display the at least one menu; and
the script placing tags defining at least one menu in the second java server page, the tags designating locations at which to display the at least one menu.
15. The method of claim 13 wherein the navigation file is an extensible markup language file.
16. The method of claim 13 wherein the script inserts the instructions into the first java server page in response to a first request for a first service of the first web application by a client application.
17. The method of claim 16 wherein the script inserts the instructions into the second java server page in response to a second request for a second service of the second web application by a client application.
18. The method of claim 13, wherein the first java server page and the second java server page do not contain active codes or scripts except for the script. Beschrijving
SUMMARY OF THE INVENTION In one embodiment, a system for constructing a view provided by a web application is provided. The system includes a viewer component that is used to compose at least a portion of a web application. The viewer component enables web applications to generate a hypertext markup language file containing input fields for communication to a web server. The viewer component includes an input field file, a script file and a java server page template. The input filed file defines a plurality of constraints on the input fields and the script file reads the input field file and places instructions into the hypertext markup language file. The instructions validate an input to one of the input fields based on the input field file. The java server page template is extendable to create a java server page that is operable to generate a part of the hypertext markup language file.
In another embodiment, the present disclosure provides a framework for construction of a presentation tier of a web application. The framework includes an input file that defines a plurality of fields. Each field has a type used at least for data validation. The framework includes a template that is extendable to create a java server page. The framework also includes a script that is operable in response to a request from a client application to construct a graphical user interface using the template for communication to the client application for user input via the graphical user interface. The script uses the java server page and the input file field definitions to validate the fields as the user inputs via the graphical user interface at the client application.
In one embodiment, a method of constructing a plurality of views provided by one or more web applications using a presentation tier of a web construction framework is provided. The method includes providing a jar containing at least a template java server page, a navigation file, a script, and a presentation extensible markup language file. The method provides for customizing a first java server page based on the template java server page for a first web application. The first java server page defines one or more input fields.
The method includes using the script to analyze the input fields of the first java server page based on the presentation extensible markup language file. The script is operable based on the analysis of the input fields of the first java server page to insert instructions into the first java server page to validate user input in the input fields of the first java server page. The method further includes using the navigation file to customize a first navigation element of the first web application to create menus for the first web application. The method provides for customizing a second java server page based on the template java server page for a second web application. The second java server page defines one or more input fields.
The method includes using the script to analyze the input fields of the second java server page based on the presentation extensible markup language file. The script is operable based on the analysis of the input fields of the second java server page to insert instructions into the second java server page to validate user input in the input fields of the second java server page. The method also includes using the navigation file to customize a second navigation element of the second web application to create menus for the second web application.
The EJBs 74 are Java objects, or business logic objects, which may be developed independently of the web application 22. In general, EJBs 74 are Java objects that adhere to a standard framework supporting distributed components and discovery of the properties of the Java object. Some of the EJBs 74 may represent tables in the back- end data store 20 and the attributes of these table EJBs 74 represent columns in the tables of the back-end data store 20.
<method>businessProcessld</method>
<table name=�MORPH_OWN.TM_BUSINESS_UNIT�/>
<tables> <table name=�MORPH_OWN.TM_SYSTEM_VERSION_PROCESS�/> </tables>
The custom XML tag library 80 provides a means for parts of the view component to access the data contained in the EJBs 74. The custom XML tag library 80 may be extended when needed by the developer when the subject web application 22 requires new access behaviors.
The controller component 50 comprises a servlet 156, a site flow XML file 158, the XML types file 64, and the function library 62. The site flow XML file 158 may be referred to as a flow file. XML types file 64 may be referred to as a types file. The servlet 156 is a Java servlet based on the template servlet 56 which a developer customizes for the specific application. The servlet 156 includes one or more form instances or form objects 164 derived from the generic form class 60. The form object 164 is an instance of a class that is subclassed or extended from the generic form class 60 by the developer to provide capabilities specific to the web application 22. The generic form class 60 may be subclassed in one or more classes, depending on the requirements of the web application 22.
The servlet 156 includes instructions which may dynamically generate SQL commands when form input is received. When the web application 22 is first loaded, the servlet 156 parses the data store XML file 76 and the data store object XML file 78 and establishes associations between EJBs 74 and the persistence of objects corresponding to the EJBs 74 in the data store 20. These associations are relied upon by the servlet 156 when dynamically generating SQL commands.
The model component 54 comprises a data store object XML file 78, a data store table XML file 76, a custom XML tag library 80, and a plurality of enterprise java beans (EJBs) 74 which are stored in session memory. Session memory is memory allocated to a specific web session. The EJBs 74 in the model component 54 provide local access to data stored in the back-end data store 20. SQL commands to access the back- end data stores 20 are embedded in stored procedures in XML to ease code changes.
The data store table XML file 76 defines tables in the back-end data store 20. The object XML file 78 defines objects in the back-end data store 20. The model 54 is able to access the back-end data store 20 to create and persist EJBs 74, based on the data in the back-end data store 20, using the data store table XML file 76 and the data store object XML file 78. When the web application 22 is loaded, such as for example when the application server 18 is brought into service, the data store table XML file 76 and the data store object XML file 78 are read and analyzed so that when an object is written back to the back-end data store 20, the knowledge of what fields, what tables, and what back-end data store 20 need to be written to is pre-determined. These objects may be said to know how to write themselves to the back-end data store 20. Additionally, the model 54 attempts to establish a test connection to the back-end data store 20 when the web application 22 is loaded. If the test connection to the back-end data store 20 can not be established, appropriate notice is provided to support personnel.
The view component 52 comprises one or more Java server pages (JSPs) 174, the generic JavaScript 70 which may be included within the JSPs 174, the presentation XML file 72, and a navigation XML file 180. The JSPs 174 are based on the template JSP 66 which is then modified to accommodate the special needs of the specific web application 22. The JSPs 174 may be �zero code� JSPs, for example JSPs 174 which contain no active Java code or JavaScript within the JSP 174 (excluding the included generic JavaScript 70). JSPs 174 which contain code may be difficult to debug and to maintain, hence it may be desirable to keep code out of the JSPs 174. The JSPs 174 may be precompiled before installing the web application 22 so that the client 12 may receive a more rapid response than if the JSPs 174 compile when a request from the client 12 is received. When the controller 50 so directs, one of the JSPs 174 executes and generates the HTML document which is returned to the client 12.
- <element group=�user� sortOrder=�1� subMenu=� �>
The <menu></menu>tag pairs surround the definition of a menu which may comprise definitions of multiple menu selections. The �position� attribute identifies the positioning mode employed for placing the menu on the page to be seen by the client 12. The <element></element>tag pairs surround the definition of elements of the menu, for example menu selections. The �group� attribute identifies the class of users that are permitted to view the defined element. The �sortOrder� attribute identifies the relative positioning of the element versus other elements defined for the menu. The �target� attribute ties to the site flow XML file 158. The �label� attribute is the name which will display on the page to be seen by the client 12. The �id� attribute is used to identify the click on the menu item to the servlet 156 and is passed on to the web application 22 when the client 12 clicks on the menu item. The �selected_id�, �deselected�id�, �selected_class�, and �deselected_class� are used to support cascading style sheet (CSS) capabilities.
Turning now to FIG. 4, a flow chart depicts a method of creating a new web application 22 according to the web application system 10 described above. In block 200, a form class 164 is derived from the generic form class 60 provided by the web application construction framework. The generic form class 60 is extended by the developer to provide behavior and business logic specific to the requirements of the web application 22.
The method proceeds to block 202 where the JSP 174 is developed based on the JSP template 66. The JSP 174 is related to the form class 164 created in block 200.
The method proceeds to block 206 where the XML types file 64 is extended by adding new input field definitions, if needed. The method proceeds to block 208 where the site flow XML file 158 is developed based on the template site flow XML file 58.
The system described above may be implemented on any general-purpose computer with sufficient processing power, memory resources, and network throughput capability to handle the necessary workload placed upon it. FIG. 5 illustrates a typical, general-purpose computer system suitable for implementing one or more embodiments disclosed herein. The computer system 380 includes a processor 382 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage 384, read only memory (ROM) 386, random access memory (RAM) 388, input/output (I/O) 390 devices, and network connectivity devices 392. The processor may be implemented as one or more CPU chips.
I/O 390 devices may include printers, video monitors, liquid crystal displays (LCDs), touch screen displays, keyboards, keypads, switches, dials, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices. The network connectivity devices 392 may take the form of modems, modem banks, ethernet cards, universal serial bus (USB) interface cards, serial interfaces, token ring cards, fiber distributed data interface (FDDI) cards, wireless local area network (WLAN) cards, radio transceiver cards such as Global System for Mobile Communications (GSM) radio transceiver cards, and other well-known network devices. These network connectivity 392 devices may enable the processor 382 to communicate with an Internet or one or more intranets. With such a network connection, it is contemplated that the processor 382 might receive information from the network, or might output information to the network in the course of performing the above-described method steps.
Such information, which may include data or instructions to be executed using processor 382 for example, may be received from and outputted to the network, for example, in the form of a computer data baseband signal or signal embodied in a carrier wave. The baseband signal or signal embodied in the carrier wave generated by the network connectivity 392 devices may propagate in or on the surface of electrical conductors, in coaxial cables, in waveguides, in optical media, for example optical fiber, or in the air or free space. The information contained in the baseband signal or signal embedded in the carrier wave may be ordered according to different sequences, as may be desirable for either processing or generating the information or transmitting or receiving the information. The baseband signal or signal embedded in the carrier wave, or other types of signals currently used or hereafter developed, may be generated according to several methods well known to one skilled in the art.
Patentcitaties Geciteerd patent Aanvraagdatum Publicatiedatum Aanvrager TitelUS62336202 juli 199615 mei 2001Sun Microsystems, Inc.Object-oriented system, method and article of manufacture for a presentation engine in an interprise computing framework systemUS62725551 juli 19967 aug 2001Sun Microsystems, Inc.Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework systemUS62725561 juli 19967 aug 2001Sun Microsystems, Inc.Object-oriented system, method and article of manufacture for migrating a client-server application (#5)US63048931 juli 199616 okt 2001Sun Microsystems, Inc.Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework systemUS63245243 nov 199827 nov 2001Nextcard, Inc.Method and apparatus for an account level offer of credit and real time balance transferUS64345981 juli 199613 aug 2002Sun Microsystems, Inc.Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework systemUS645333712 jan 200117 sept 2002Zaplet, Inc.Methods and systems to manage and track the states of electronic mediaUS646346125 okt 19998 okt 2002Zaplet, Inc.System for communicating information among a group of participantsUS652306314 jan 200018 feb 2003Zaplet, Inc.Method system and program product for accessing a file using values from a redirect message string for each change of the link identifierUS710728514 maart 200312 sept 2006Questerra CorporationMethod, system, and program for an improved enterprise spatial systemUS71338459 juni 19997 nov 2006Intertrust Technologies Corp.System and methods for secure transaction management and electronic rights protectionUS723726813 juli 200526 juni 2007Fields, Daniel M.Apparatus and method for storing and distributing encrypted digital content and functionality suite associated therewithUS2002003548620 juli 200121 maart 2002Ppd Biomarker Discovery Sciences, LlcComputerized clinical questionnaire with dynamically presented questionsUS2002011215431 okt 200115 aug 2002Secure Axcess LlcSecure network user statesUS2002013863323 maart 200126 sept 2002International Business Machines CorporationMethod, apparatus, and program for providing scripted electronic business cards and electronic calendarsUS2002015237831 okt 200117 okt 2002Secure Axcess LlcKey-based secure network user statesUS2003004829623 aug 200213 maart 2003Attachmate CorporationMethod & apparatus for enhancing the graphical user interface presented by an applicationUS2003007896030 april 200124 april 2003Ge Capital CorporationArchitecture and process for creating software applications for multiple domainsUS2003019167727 maart 20029 okt 2003International Business Machines CorporationMethod and system for integrating e-Logistics processes into a user/provider interface using Web ServicesUS2004011735814 maart 200317 juni 2004Questerra LlcMethod, system, and program for an improved enterprise spatial systemUS200401770106 maart 20039 sept 2004Francis John JacobDealerstackUS2004021604422 jan 200428 okt 2004Silicon Valley Bank, As Agent And In Its Individual CapacitySystems and methods for a programming environment for a simulation of a computer applicationUS2004021604526 juli 200228 okt 2004Silicon Valley Bank, As Agent And In Its Individual CapacitySystem and process for gathering recording and validating requirments for computer applicationsUS2004022125622 jan 20044 nov 2004IriseSystems and methods for collaborative programming of simulations of computer programsUS2004022126022 jan 20044 nov 2004Silicon Valley Bank, As Agent And In Its Individual CapacitySystems and methods for defining a simulated interactive web pageUS200402308252 maart 200418 nov 2004Kleeman JohnSecure browserUS2005013865019 dec 200323 juni 2005Emergia Inc.Method and system for creating and providing a multi-tier networked serviceUS2005017754511 feb 200411 aug 2005International Business Machines CorporationMethod and apparatus for representing and managing service level agreement management data and relationships thereofNiet-patentcitatiesReferentie1Art Taylor, J2EE and Beyond: Design, Develop, and Deploy World-Class Java Software publishing Dec. 23, 2002 by Prentice Hall, accessed through Safari books on line, relevant sections supplied with page Nos. 1-15 entered by hand.2Office Action dated Jan. 9, 2008, 21 pages, U.S. Appl. No. 10/910,870, filed Aug. 4, 2004.3Office Action dated Jul. 31, 2007, 19 pages, U.S. Appl. No. 10/910,870, filed Aug. 4, 2004.4Russell, Nick S., et al., Web Construction Framework Controller and Model Tiers, U.S. Appl. No. 10/910,870, filed Aug. 4, 2004.5Taylor, Art, "J2EE and Beyond: Design, Develop, and Deploy World-Class Java(TM) Software", Dec. 23, 2002, Prentice hall, accessed through Safari books on line, relevant sections supplied with page Nos. 1-15 entered by hand. Verwijzingen naar dit patent Citerend patent Aanvraagdatum Publicatiedatum Aanvrager TitelUS773959210 nov 200515 juni 2010International Business Machines CorporationDelivery, organization, and management of data capture elementsUS800617621 okt 200523 aug 2011Sharp Laboratories Of America, Inc.Methods and systems for imaging-device-based form field managementUS837535830 jan 200812 feb 2013International Business Machines CorporationAutomatically generating rest clients from rest resourcesUS2009019339330 jan 200830 juli 2009International Business Machines CorporationAutomatically generating rest clients from rest resourcesUS2010009527214 okt 200815 april 2010Microsoft CorporationDeclarative programming model for authoring and execution control and data flow for resource oriented systemDraaienOriginele afbeeldingGoogle Startpagina - Sitemap - USPTO-bulkdownloads - Privacybeleid - Servicevoorwaarden - Over Google Patenten - Feedback verzendenGegevens geleverd door IFI CLAIMS Patent Services© 2012 Google