Data processing: presentation processing of document – operator i – Presentation processing of document – Layout
Reexamination Certificate
1999-10-13
2004-03-30
Hong, Stephen S. (Department: 2178)
Data processing: presentation processing of document, operator i
Presentation processing of document
Layout
C715S252000, C715S252000, C715S252000, C717S116000
Reexamination Certificate
active
06715129
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a computer system, and deals more particularly with a method, system, and computer program product for using Java Server Pages to achieve application-specific document content. The disclosed technique enables the Java Server Page application author to have more control over the content of a client-requested document generated by this application.
2. Description of the Related Art
“Transcoding” is a technique well known in the art. In general, a transcoder translates or transforms the content of a document or file, resulting in creation of a different document or file. In the Internet and World Wide Web environments, transcoding is used in a number of ways. As one example, transcoding may be used to transform a full-color graphic image that is embedded within a Web document into a grayscale image, in order to reduce the size of the information content before transmitting it from a server to a client that has requested the document. As another example, an HTML (HyperText Markup Language) document may be translated into an XML (Extensible Markup Language) document before transmitting it to a client. Many other examples of transcoding can be envisaged by one of skill in the art.
Servlets have proven to be a powerful tool in generation of dynamic Web content. A servlet is a program typically written in the Java object-oriented programming language. (Java is a trademark of Sun Microsystems, Inc., referred to hereinafter as “Sun”.) A servlet is created in a way that allows it to be easily added to the code already running on a server, and is intended to extend the functionality provided by the server. A servlet typically implements code to perform a specific task, such as retrieving information from a particular type of database, performing some business application function, or performing a particular type of transcoding operation. When used for transcoding, a servlet may operate upon a static document (that is, a document having a predefined content) to change the content of this document into another form, in the manner discussed above (i.e. operating upon images, translating from one syntax to another, etc.) Servlets may also be used to dynamically generate the content, or portions of the content, for a requested Web page. For example, run-time information may be obtained by an executing servlet, such as the identification of the client requesting the document; this dynamically-obtained information can then be used when generating the output document to be returned to the client (such as inserting a client-specific greeting in the document; tailoring the document format according to stored preferences for this client; etc.).
Sun Microsystems, Inc. has recently defined a server-side scripting language known as “javaServer Pages”, or “JSP”. This JSP language provides access to the servlet API (Application Programming Interface), the Java API, and the JavaBeans API. The JSP model simplifies the development of servlets by enabling servlet code to use a scripting paradigm, thereby enabling software developers to more easily build applications that generate Web content dynamically. The deployment of servlets is also made simpler, as all that is required when using JSP is to invoke a Web document (such as an HTML page or XML document) that contains JSP code embedded within it. The referenced servlet code will then be invoked automatically, by the JSP processing engine, as the Web document is being processed. (As is known in the art, invocation of a Web page is typically done by transmitting an HTTP, or HyperText Transfer Protocol, GET request from a client to a Web server, where this GET request specifies the Uniform Resource Locator, or URL, used to locate the desired page.) By incorporating the “Write Once, Run Anywhere” vision of the Java programming language, JSPs allow servlets to be defined by scripts that may be easily accessed by Web application servers. A further advantage of JSPs is that the servlet registration process, which varies from one server to another, is no longer required. (“JavaServer Pages”, “JSP”, “Java Beans”, and “Write Once, Run Anywhere” arm trademarks of Sun Microsystems. Inc.)
Under this distributed computing model where transcoding is performed by servlets, the transcoding engine is a filter in the output stream of the application server (or Web server). This transcoding engine typically has access to characteristics about the source of the input request. (These characteristics are also referred to herein as the “target context” of a requested document, as the requester of the document is also typically the target of the output document.) Examples of the input source characteristics are: the type of user agent (e.g. a browser) from which a document was requested; the type of device on which the user agent is operating; the type of network connection over which the requesting device is connected; etc. Some aspects of this input source characteristic information may be available to a servlet operating at the Web server from which a requested document is being deployed; other aspects of the information may be available only at intermediaries in the distributed network (such as the gateway into a wireless or wired network, transcoding proxies, or transcoding servers) in a complex delivery chain between this deploying Web server and the requesting client. The transcoding engine may use these input source characteristics to choose the type of transformation it will perform on the output document, in order to transform the requested content into a form adapted specifically to the target environment in which it will be rendered for the requesting user. The filter can exist anywhere in the overall output network path to the requesting device, as stated above, but an ideal location is at the application server itself. When the filter is located at the application server, it can be coupled to the application generating the output document, enabling high-speed, efficient transcoding.
While there are many embodiments of transcoding possible, as has been stated, one which has emerged as significant in the enterprise computing marketplace is built using an Extensible Stylesheet Language (“XSL”) processor which uses an XSL style sheet to transform an XML document into almost any target format—including a new XML document. U.S. Pat. No. 6,463,440 (Ser. No. 09/287,988, filed Apr. 8, 1999), titled “Retrieval of Style Sheets from Directories Based Upon Partial Characteristic Matching” (hereinafter, “the referenced invention”), discloses a technique whereby an appropriate XSL style sheet can be dynamically selected and retrieved for use by an XSL transcoding engine in order to tailor an output document to the characteristics of the source of the input request. (Refer to “Extensible Stylesheet Language (XSL), W3C Working Draft 21 April 1999” and “XSL Transformations (XSLT), Version 1.0, W3C Working Draft 9 July 1999”, which are available on the Web at http://www.w3.org/TR/WD-xsl and http://www.w3.org/TR/WD-xslt, respectively, for more information on using XSL for formatting and transforming documents.)
One of the limiting factors of this transcoding model to date is that only the input source request characteristics are used for style sheet selection, and thus to influence the content of the output document, along with very limited information about the characteristics of the application generating the output document. In particular, only the Document Type Definition (“DTD”) of the XML document being transformed is available as this type of application characteristic for use by the transcoding filter. Typically, an entire family of different applications will share a single DTD, yet the transformation to be performed at the transcoding filter would ideally be modified based upon application-specific characteristics. For example, a consortium of banks might define a single DTD for all banking products, such as: statements for savings accounts, checking accounts, loans, or certificates of depo
Hind John Raithel
Lindquist David B.
Topol Brad B.
Wesley Ajamu A.
Doubet Marcia L.
Hong Stephen S.
International Business Machines - Corporation
Ludwig Matthew
Ray-Yarletts Jeanine S.
LandOfFree
Achieving application-specific document content by... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Achieving application-specific document content by..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Achieving application-specific document content by... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3192318