WO2001065389A1 - Echange de donnees - Google Patents
Echange de donnees Download PDFInfo
- Publication number
- WO2001065389A1 WO2001065389A1 PCT/US2001/006872 US0106872W WO0165389A1 WO 2001065389 A1 WO2001065389 A1 WO 2001065389A1 US 0106872 W US0106872 W US 0106872W WO 0165389 A1 WO0165389 A1 WO 0165389A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- environment
- markup language
- data
- information
- html
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Definitions
- the present invention relates to the field of data exchange; more particularly, the present invention relates to exchanging data between two programming environments, such as, for example, HTML and Java.
- Exchange systems provide the mechanism by which information may be passed between two distinct programming environments. In other words, such exchange systems allows information that is in a form for use with one type of program to be accessible through another type of program.
- the exchange systems are based on hardcoding of one type of programming in another.
- one prior art exchange system hardcoded HTML text in a Java program and output it to the user's browser.
- the output of HTML may be hardcoded in a Java servlet.
- another prior art exchange system such as JSP, hardcoded Java programming inside an HTML page to enable the exchange of information.
- the hardcoding essentially ties the two different types of coding together, thereby causing problems.
- JSP if a change is desired in the Java code, the HTML environment must be used. If an individual does not want to use the HTML environment, they cannot duplicate the code and make the desired changes.
- Hardcoding in the prior art is also limiting when multiple natural speaking languages are to be supported for particular content over the Internet.
- to support multiple natural speaking languages separate and distinct web pages had to be created and stored for each distinct language. If a change to the content is to be made, then all the web pages having that content for each separate language had to be corrected. Making changes to a large number of pages increased the chance that an error is made in one or more of the pages. What is needed is a way of supporting multiple natural speaking languages while reducing the chance or affect of such errors when changes are necessary.
- a method comprises receiving a markup language template from a markup language execution environment, the template specifying data, executing one or more functions to cause access to information in a data using routines of another programming language environment, creating a table to associate at least one variable from the markup language execution environment with the data from the programming language environment, and merging data in the table with the markup language template to create a markup language document.
- Figure 1 illustrates one embodiment of a networked environment.
- Figure 2 illustrates another embodiment of a networked environment.
- Figure 3 is a block diagram of one embodiment of a network environment.
- Figure 4 is a block diagram of an exemplary computer system.
- An exchange system is described. Such an exchange system may be used to support multiple markup languages (e.g., HTML, WML, HDML, etc.), multiple natural languages (e.g., English, French, Chinese, etc.), multiple user interaction flows (such as, e.g., various clicks on a web site, various button presses on a WAP phone, etc.), all of which may be based on a common underlying server (e.g., a Java server).
- markup languages e.g., HTML, WML, HDML, etc.
- natural languages e.g., English, French, Chinese, etc.
- user interaction flows such as, e.g., various clicks on a web site, various button presses on a WAP phone, etc.
- a common underlying server e.g., a Java server
- the present invention also relates to apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer.
- a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
- a machine-readable medium includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer).
- a machine-readable medium includes read only memory ("ROM”); random access memory (“RAM”); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
- An exchange mechanism is provided to exchange information between a markup language execution environment and a Java programming execution environment, where "environment" refers to the programming language utilized therein.
- the markup language may be an HTML, WML or another markup language.
- the exchange mechanism translates variables that are in an HTML, WML, or other markup language into information that may be processed using Java and vice versa.
- the exchange mechanism is implemented in XML.
- a benefit of such an approach is that coding done in the HTML environment may operate independent of the programming in the Java environment (as well as the exchange environment) apart from an interface thereto.
- the HTML environment includes multiple HTML templates.
- Each HTML template contains text or other data that may be substituted from the Java environment through the exchange mechanism.
- a complete HTML web page may, in turn, contain multiple templates that are substituted into the web page through the exchange mechanism.
- a web page may be constructed in a modular fashion, thereby simplifying the creation and modification of a web site.
- the dynamic data is obtained from a database via the exchange mechanism.
- the exchange mechanism translates the database information into a table.
- the table maintains a reference to allow access to the Java content that was requested by the HTML environment by associating a variable in the HTML environment with the actual data in the Java environment.
- the table provides a reference between the information in Java objects and a specific substantiation of an HTML template. In this manner, using variables in the HTML environment may be substituted for real values from the Java environment and a relationship is maintained between the substituted text in the HTML document and its representation in the Java environment.
- the exchange mechanism operates using software that provides a set of functions to access Java content and allow building up the table.
- the functions define the method by which the data from the database is accessed and stored in the table.
- the table is a key value table that may be based on property values that are well known in the art for use in Java programming.
- the key value table associates a key word with its specific data (e.g., the key being "phone number” and the value being the actual number itself).
- the exchange mechanism uses a display function to cause the merge operation to occur.
- a function executed by the exchange mechanism is a comparison operation that compares data and selects certain data for entry in the table based on the outcome of the comparison.
- an HTML page may be displayed as a response of the exchange mechanism.
- the individual By entering information on the web page associated with one of the web page templates, the individual causes a request to be made to the exchange mechanism, specifying variables that are inputs to the request.
- the exchange mechanism transfers those variables to the Java environment according to the exchange definition being used.
- the exchange mechanism also executes the underlying Java functionality specified in the exchange definition. The result of the execution is transferred from the Java environment and used by the exchange mechanism to construct a new web page as a response.
- the exchange mechanism handles a request based on the exchange definition that may take the input information from the HTML ⁇ page and store it in the table. Then the exchange mechanism calls functions to assign the information correctly into the database.
- the HTML page need only indicate what functions to call to obtain a particular piece of data and assign a variable to it. For example, if the HTML page provides a paging number, then the HTML page need only add an assignment statement assigning the paging number to a variable recognized and used by an exchange definition in the exchange mechanism. If a voice number is to be added, the HTML need only add another assign statement to cause another variable to be assigned.
- HTML programmer is allowed to change the flow of what data appears on web pages.
- an individual HTML template may be set up with a variety of references and each of the references are linked to executable Java routines, the selection of which information to put in the template essentially controls the flow of information to a user in the HTML environment.
- FIG. 1 illustrates one embodiment of a networked environment showing an HTML template 101, an exchange mechanism 102, and a Java link 103.
- the programming of HTML template 101 includes statements that call for substitution of Java content.
- HTML template 101 may include the following statement:
- Exchange mechanism 102 includes an exchange definition (e.g., code) to handle the substitution requests from individual users.
- exchange mechanism 102 includes a submit function that is responsive to submission of one instantiation of the HTML template.
- the exchange mechanism may include the following:
- exchange mechanism 102 When the user in the HTML environment specifies content, these response operations used by exchange mechanism 102 translate the request into a request for a Java variable to assign to a specific instance of HTML content.
- the submit function performed by the exchange mechanism 102 invokes the translation between the HTML environment and the Java environment.
- exchange mechanism 102 In response to a substitute request by the HTML environment, exchange mechanism 102 causes the assignment of a specific Java content obtained from a database, such as database 104, via Java link 103, and the Java content is made part of a Java object with a substitute data reference.
- the assign statement the Java content is accessed from database 104 and a Java object is created for the submit function.
- the assign statement above specifies that the Java variable "firstn" is to be assigned to the HTML variable "f ame”.
- the assign statement also specifies that the Java content used is a string.
- the assign function is executed to obtain the first name.
- the execution of the function obtains the "Joe” out of the database.
- the user in the HTML environment specified one or more parameters that were submitted to exchange mechanism 102 to help identify the specific Java content "Joe” to be accessed.
- "Joe" is accessed from database 104, a Java object is created and is treated as a string.
- the exchange information receives programming statements that substitute data for a certain user specified information.
- the result of execution of the functions is to generate Java objects when accessing information in the database.
- the exchange mechanism determines which Java object is being called and which Java object is to be associated with the specific template reference tag in the HTML template.
- comparison statements are also available as statements that detect whether a variable in Java is equal to a particular input.
- An example of one such comparison statement is given below in the exchange examples.
- Exchange mechanism 102 creates a table to indicate assignments between the created Java object and its HTML reference. In this manner, a reference in the HTML environment to the same variable will be automatically associated with the correct Java object without having to access database 104 again.
- the table is maintained by exchange mechanism 102 to allow the Java content for references in the HTML document to be accessed quicker and repeatedly.
- the exchange mechanism 102 provides an interface that allows the building up of a table and how to retrieve information from that table.
- exchange mechanism 102 includes a first API to allow Java objects to be created when requested and a second API that allows execution of Java code in order to generate web pages in an HTML environment.
- the exchange mechanism can, as a response, invoke a merge operation to create a web page by merging the table into the HTML template or, as a request, can cause data in the table to be received into the database 104.
- ⁇ subst lang...> is used to display fixed text in the user's natural language.
- the appointment id stored in a hidden field in the page, so it can be read back when the user hits the save button.
- the ⁇ subst data...> is replaced with the corresponding data from the table prepared by the exchange mechanism.
- the location and description fields initially display data from the database, but they can be changed by the user.
- the exchange mechanism may be used to facilitate multi-language and multi-template operation.
- Figure 2 illustrates another embodiment of a networked environment.
- the environment comprises exchange mechanism 201 that obtains a language indication, referred to herein as the grab anguage value 202, from the user.
- Exchange mechanism 201 obtains the language value automatically.
- the language value is set by the user as part of their browser preferences.
- the language indication is set dynamically (e.g., based on user's location, location of service provider, etc.).
- exchange mechanism 201 selects one of the databases 203.
- Each of databases 203 is dedicated to a particular language and stores phrases that have been translated into that particular language.
- the databases 203 are property files.
- the environment also includes HTML template storage 204 and Java link 205.
- Java link 205 provides access to Java content database 206, which stores information.
- Each template has substitute language to receipt of information from database 206.
- exchange mechanism 201 When a page is requested, exchange mechanism 201 causes text in the language indicated by the grab-language value 202 to be substituted into the page. That is, templates (from the HTML template storage) include information that causes the exchange mechanism to substitute text into an HTML document. In one embodiment, the substitution is performed by merging the template and text in the same manner as merging is described above. In one embodiment, exchange mechanism 201 performs the substitution in response to the following command:
- phrase_keyword identifies a particular phrase that has been translated into multiple languages.
- the term "kind” may be static, dynamic, or final. If the kind is static, then the field does not change once the information has been set. If the kind is dynamic, the fields may be regularly updated and the statement indicates to the exchange mechanism that updated information is to be used and /or retrieved (which the exchange mechanism does). If the kind is final, the field may be substituted with information that was subject to dynamic updating but is now is to be made static. For example, in the case of a table that is being substituted, the data in the table may be updated every time the substitute command is executed. However, once the field has been made final, substitution no longer occurs. Note that the information may be received from external sources, in a manner described in U.S. Patent Application Serial No. , entitled “Information Services,” filed concurrently herewith, assigned to the corporate assignee, and incorporated herein by reference.
- the substitute command may be an "if" statement which provides alternative actions to be performed dependent on whether a condition precedent has been met.
- FIG. 3 is a block diagram of one embodiment of a network environment 301 that may be used in the translation technique describe above.
- a server computer system 300 is coupled to a wide-area network 310.
- Wide-area network 310 may include the Internet or other proprietary networks including, but not limited to, America On-LineTM, CompuServeTM, Microsoft NetworkTM, and ProdigyTM.
- Wide-area network 310 may include conventional network backbones, long-haul telephone lines, Internet and /or Intranet service providers, various levels of network routers, and other conventional mechanisms for routing data between computers.
- server 300 may communicate through wide-area network 310 to client computer systems 320, 330, 340, which are possibly connected through wide- area network 310 in various ways or directly connected to server 300.
- client 340 is connected directly to wide-area network 310 through direct or dial-up telephone or other network transmission line.
- clients 330 may be connected through wide-area network 310 using a modem pool 314.
- Modem pool 314 allows multiple client systems to connect with a smaller set of modems in modem pool 314 for connection through wide-area network 310.
- Clients 331 may also be connected directly to server 300 or be coupled to server through modem 315.
- wide-area network 310 is connected to a gateway computer 312.
- Gateway computer 312 is used to route data to clients 320 through a local area network 316. In this manner, clients 320 can communicate with each other through local area network (LAN) 316 or with server 300 through gateway 312 and wide-area network 310.
- LAN 317 may be directly connected to server 300 and clients 321 may be connected through LAN 317.
- server computer 300 can communicate with client computers 350.
- a server computer 300 may operate as a web server if the World-Wide Web ("WWW") portion of the Internet is used for wide area network 310.
- WWW World-Wide Web
- HTTP protocol and the HTML coding language such a web server may communicate across the World-Wide Web with clients 350.
- clients 350 use a client application program known as a web browser such as the NetscapeTM NavigatorTM, the Internet ExplorerTM, the user interface of America On-LineTM, or the web browser or HTML translator of any other conventional supplier.
- a web browser such as the NetscapeTM NavigatorTM, the Internet ExplorerTM, the user interface of America On-LineTM, or the web browser or HTML translator of any other conventional supplier.
- clients 350 may access graphical and textual data or video, audio, or tactile data provided by the web server 300.
- server 300 contains the exchange mechanism and the database storing Java content.
- FIG. 4 is a block diagram of an exemplary computer system.
- computer system 400 may comprise an exemplary client 150 or server 100 computer system.
- Computer system 400 comprises a communication mechanism or bus 411 for communicating information, and a processor 412 coupled with bus 411 for processing information.
- Processor 412 includes a microprocessor, but is not limited to a microprocessor, such as, for example, PentiumTM, PowerPCTM, AlphaTM, etc.
- System 400 further comprises a random access memory (RAM), or other dynamic storage device 404 (referred to as main memory) coupled to bus 411 for storing information and instructions to be executed by processor 412.
- main memory 404 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 412.
- main memory 404 has a portion of its memory allocated to a ad database for storing Java content.
- Computer system 400 also comprises a read only memory (ROM) and /or other static storage device 406 coupled to bus 411 for storing static information and instructions for processor 412, and a data storage device 407, such as a magnetic disk or optical disk and its corresponding disk drive.
- ROM read only memory
- data storage device 407 such as a magnetic disk or optical disk and its corresponding disk drive.
- Data storage device 407 is coupled to bus 411 for storing information and instructions.
- Computer system 400 may further be coupled to a display device 421, such as a cathode ray tube (CRT) or liquid crystal display (LCD), coupled to bus 411 for displaying information to a computer user.
- a display device 421 such as a cathode ray tube (CRT) or liquid crystal display (LCD)
- An alphanumeric input device 422, including alphanumeric and other keys, may also be coupled to bus 411 for communicating information and command selections to processor 412.
- cursor control 423 such as a mouse, trackball, trackpad, stylus, or cursor direction keys, coupled to bus 411 for communicating direction information and command selections to processor 412, and for controlling cursor movement on display 421.
- hard copy device 424 which may be used for printing instructions, data, or other information on a medium such as paper, film, or similar types of media.
- a sound recording and playback device such as a speaker and /or microphone may optionally be coupled to bus 411 for audio interfacing with computer system 400.
- any or all of the components of system 400 and associated hardware may be used in the present invention. However, it can be appreciated that other configurations of the computer system may include some or all of the devices.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2001240030A AU2001240030A1 (en) | 2000-02-28 | 2001-02-28 | Data exchange |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US51482400A | 2000-02-28 | 2000-02-28 | |
| US09/514,824 | 2000-02-28 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2001065389A1 true WO2001065389A1 (fr) | 2001-09-07 |
Family
ID=24048844
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2001/006872 Ceased WO2001065389A1 (fr) | 2000-02-28 | 2001-02-28 | Echange de donnees |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU2001240030A1 (fr) |
| WO (1) | WO2001065389A1 (fr) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6216121B1 (en) * | 1997-12-29 | 2001-04-10 | International Business Machines Corporation | Web page generation with subtemplates displaying information from an electronic post office system |
-
2001
- 2001-02-28 AU AU2001240030A patent/AU2001240030A1/en not_active Abandoned
- 2001-02-28 WO PCT/US2001/006872 patent/WO2001065389A1/fr not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6216121B1 (en) * | 1997-12-29 | 2001-04-10 | International Business Machines Corporation | Web page generation with subtemplates displaying information from an electronic post office system |
Non-Patent Citations (1)
| Title |
|---|
| "Program understanding as constraint satisfaction", IEEE, 1995, pages 318 - 327, XP002940388 * |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2001240030A1 (en) | 2001-09-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1332439B1 (fr) | Developpement d'applications en ligne | |
| US6610105B1 (en) | Method and system for providing resource access in a mobile environment | |
| US7389471B2 (en) | Utilizing common layout and functionality of multiple web pages | |
| US6954751B2 (en) | Accessing data stored at an intermediary from a service | |
| US6571245B2 (en) | Virtual desktop in a computer network | |
| US20030005159A1 (en) | Method and system for generating and serving multilingual web pages | |
| EP1002283A4 (fr) | Systeme permettant la communication entre un client et des programmes serveur non residents | |
| KR20010085878A (ko) | 대화형 가상 기계를 통한 대화형 컴퓨터 | |
| AU2001295024A1 (en) | Developing applications online | |
| EP1330736A2 (fr) | Fourniture de contenu provenant de services multiples a des clients | |
| AU2001291300A1 (en) | Providing content from multiple services | |
| US8291032B2 (en) | Email system | |
| US20030037021A1 (en) | JavaScript in a non-JavaScript environment | |
| JP2004164623A (ja) | 表示データ生成装置、表示データ生成システム、表示データ生成方法、表示データ生成プログラム及び記録媒体 | |
| EP1280055B1 (fr) | Méthode et système informatique pour créer et traiter une description d'une interface humaine conforme à un navigateur | |
| US6965947B1 (en) | Method and apparatus for automated transcoder selection | |
| WO2001065388A1 (fr) | Agencement multilangage a plusieurs modeles | |
| EP1280053B1 (fr) | Méthode et système informatique pour fournir et traiter une description d'une interface humaine | |
| AU2002310851A1 (en) | Method and computer system for providing and processing a human interface description | |
| WO2001065389A1 (fr) | Echange de donnees | |
| EP1168162A2 (fr) | Interface utilisateur basée sur des étiquettes | |
| AU2002308144B2 (en) | Method and computer system for creating and processing a browser compliant human interface description | |
| AU2002308144A1 (en) | Method and computer system for creating and processing a browser compliant human interface description | |
| HK1053381B (en) | Developing applications online | |
| HK1038084A1 (en) | Method and apparatus for updating databases |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |