KR20030094241A - System and method for dynamic web page generation - Google Patents

System and method for dynamic web page generation Download PDF

Info

Publication number
KR20030094241A
KR20030094241A KR10-2003-7010078A KR20037010078A KR20030094241A KR 20030094241 A KR20030094241 A KR 20030094241A KR 20037010078 A KR20037010078 A KR 20037010078A KR 20030094241 A KR20030094241 A KR 20030094241A
Authority
KR
South Korea
Prior art keywords
user
data
instructions
web page
elements
Prior art date
Application number
KR10-2003-7010078A
Other languages
Korean (ko)
Inventor
카이후 첸
조지 홍 즈히 후수
스야라오 브이. 만둘리
마노즈 돕체르네니
파이살 파쿠이흐
다비드 드위어
묘 민 라트
Original Assignee
컴퓨터 어소시에이츠 싱크, 인코포레이티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 컴퓨터 어소시에이츠 싱크, 인코포레이티드 filed Critical 컴퓨터 어소시에이츠 싱크, 인코포레이티드
Publication of KR20030094241A publication Critical patent/KR20030094241A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

웹 페이지를 식별하는 URL을 수신하는 단계를 포함하는 웹 페이지를 동적으로 구성하는 방법이 개시된다. 웹 페이지는 복수의 엘리먼트를 참조한다. 또한 본 방법은 사용자를 표시하는 사용자 식별자를 수신하는 단계 및 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 사용자 식별자에 기초하여 각각의 참조된 엘리먼트를 평가하는 단계를 포함한다. 본 방법은 사용자와 관련된 데이터 변환 사양을 결정하는 단계 및 사용자와 관련된 데이터 표시 사양을 결정하는 단계를 더 포함한다. 사용자가 액세스하도록 인증된 엘리먼트의 서브세트는 사용자에 대해 변환 및 표현된다. 또한 합성 웹 페이지를 정의하고 표현하기 위한 시스템 및 컴퓨터 판독 가능 저장 매체도 개시된다.A method of dynamically constructing a web page is disclosed that includes receiving a URL that identifies the web page. The web page references a plurality of elements. The method also includes receiving a user identifier indicating a user and evaluating each referenced element based on the user identifier to identify a subset of at least one element that the user is authorized to access. The method further includes determining a data conversion specification associated with the user and determining a data presentation specification associated with the user. The subset of elements that the user is authorized to access is translated and represented for the user. Also disclosed are systems and computer readable storage media for defining and presenting composite web pages.

Description

동적으로 웹 페이지를 생성하는 시스템 및 방법{SYSTEM AND METHOD FOR DYNAMIC WEB PAGE GENERATION}System and method for dynamically generating web pages {SYSTEM AND METHOD FOR DYNAMIC WEB PAGE GENERATION}

[관련 출원][Related Application]

본 출원은 참조로서 본 명세서에 모두 포함되는 2001년 1월 31일 출원된 미국 가출원 제60/265,224호, "System and Method For Isomorphic Data-Driven Web Page Generation"로부터 우선권을 주장한다. 또한 동시에 출원된 미국 정규 출원 "System and Method For Defining and Presenting a Composite Web Page"도 참조로서 본 명세서에 모두 포함된다.This application claims priority from US Provisional Application No. 60 / 265,224, "System and Method For Isomorphic Data-Driven Web Page Generation," filed Jan. 31, 2001, which is incorporated herein by reference in its entirety. Also incorporated herein by reference is US Patent Application "System and Method For Defining and Presenting a Composite Web Page," which is also filed at the same time.

예를 들어 인터넷과 같은 네트워크 상에서 정보를 공개하는 작업은 일반적으로 이러한 정보를 컴퓨터 판독 가능 포맷(computer readable format)으로 변환하는 것을 포함한다. HTML, 자바스크립트(JavaScript) 및 자바(Java)와 같은 특정 표준과 일치하는 스크립트(script)가 흔히 이용되는데, 이러한 스크립트는 종래의 웹 브라우저(web browser)를 사용하여 렌더링되고 보여질 수 있기 때문이다. 그러한스크립트를 생성하는 프로세스는 인터넷의 생성 이후부터 실질적으로 발전해오고 있다. 예를 들어, 데이터베이스에 저장된 정보를 상대적으로 용이하게 그러한 스크립트로 변환하는 상업적 소프트웨어 도구가 이용 가능하다. 그러한 도구는 기업 웹 포털(corporate web portal)과 같은 목적에 적당한데, 이는 이러한 경향을 위한 컴퓨팅 환경이 상대적으로 안정적이기 때문이다.Publishing information on a network such as the Internet, for example, generally involves converting this information into a computer readable format. Scripts that conform to certain standards such as HTML, JavaScript, and Java are often used because these scripts can be rendered and viewed using conventional web browsers. . The process of generating such scripts has evolved substantially since the creation of the Internet. For example, commercial software tools are available that relatively easily convert information stored in a database into such scripts. Such a tool is suitable for purposes such as a corporate web portal because the computing environment for this trend is relatively stable.

그러나 애플리케이션 서비스 제공자(Application Service Providers; ASP)와 같은 새로운 비즈니스 모델(business model)은 다른 요구 조건을 가지고 있다. ASP는 다른 비즈니스의 컴퓨팅 요구에 대해 서비스를 제공하고, 그것의 고객을 대신하여 필요한 하드웨어 및 소프트웨어를 동작시킨다. 동적으로 변하는 고객 기반의 요구를 만족시키기 위해서는, ASP가 다른 비즈니스를 지원함으로써 ASP가 광범위한 하드웨어 및 소프트웨어를 인터넷 상으로 액세스 가능하게 되어야 한다. ASP가 사용하는 각각의 소프트웨어 애플리케이션은 자신만의 고유한 웹 기반 인터페이스를 가질 수 있기 때문에, ASP가 이러한 모든 이종의 웹 인터페이스를 동적이고 비용 절감적인 방법으로 통합할 수 있는 방법을 찾을 필요가 있다.But new business models such as Application Service Providers (ASPs) have different requirements. ASPs serve the computing needs of other businesses and operate the necessary hardware and software on behalf of their customers. To meet the needs of a dynamically changing customer base, ASPs need to support other businesses so that they can access a wide range of hardware and software over the Internet. Because each software application that ASP uses can have its own unique web-based interface, you need to find a way for ASP to integrate all these heterogeneous web interfaces in a dynamic and cost-effective way.

웹 페이지는 종래의 여러 방법 중 하나를 사용하여 생성된다. 웹 페이지는 관련된 스크립트를 사용하여 수동으로 코딩될 수 있다. 그러나, 일반적으로 웹 페이지를 수동으로 생성하는 것은 가장 간단한 형태의 웹 페이지가 개발되는 경우에 있어서 적당하다.Web pages are generated using one of several conventional methods. Web pages can be coded manually using the associated scripts. In general, however, manually generating a web page is suitable when the simplest form of the web page is developed.

웹 페이지를 생성하는 두 번째 방법은 시스템적인 방법으로 특정 데이터 소스로부터 웹 페이지를 생성하도록 특별히 개발된 이용 가능한 애플리케이션을 사용하는 것이다. 그러한 프로그램은 예를 들어 CGI 프로그램, 자바 서블릿(Java servlet), 액티브 서버 페이지(active server page) 및 자바 서버 페이지(Java server page)를 포함한다. 이러한 이용 가능한 프로그램은 웹 페이지 표현(presentation) 및 탐색 구조에 관해 내포된 정보를 포함한다. 이것은 시스템적인 방법으로 대량의 데이터로부터 정보를 공개하기 위한 메커니즘으로서 적당하다. 그러나, 많은 페이지 정의(page definition)가 프로그램의 로직에 포함되기 때문에, 이러한 방법으로 생성된 웹 페이지를 갱신하고 유지하는 것은 어렵다.The second way of generating web pages is to use available applications developed specifically to generate web pages from specific data sources in a systematic way. Such programs include, for example, CGI programs, Java servlets, active server pages, and Java server pages. Such available programs include embedded information about web page presentation and navigation structures. This is suitable as a mechanism for publishing information from large amounts of data in a systematic way. However, because many page definitions are included in the logic of the program, it is difficult to update and maintain web pages created in this way.

웹 페이지를 생성하는 세 번째 방법은 SQL 데이터베이스와 같은 특정 형식의 데이터로부터 유연한 방법으로 정보를 공개하도록 디자인된 전문 생성 프로그램을 사용하는 것을 포함한다. 이러한 프로그램은 정보가 어떻게 공개되고 어떤 정보가 공개되는지에 관해서 유연성을 제공할 수 있지만, 지원되는 데이터 소스(data source)의 형태에 제한이 있다.A third way of generating web pages involves using specialized generation programs designed to publish information in a flexible manner from certain types of data, such as SQL databases. Such programs can provide flexibility in how information is disclosed and what information is disclosed, but there are limitations to the type of data source supported.

웹 페이지를 생성하는 네 번째 방법은 다양한 소스로부터 정보를 수집하고 그 정보를 통일된 방식으로 사용자에게 표현하도록 디자인된 전문 생성 프로그램(specialized creation program)을 사용하는 것을 포함한다. 일반적으로 기업이 정보를 사원 또는 고객에게 공개하기 위하여 이러한 프로그램을 사용한다. 이러한 시스템은 상대적으로 안정적인 기업 환경에서 사용하기에 적당한 반면에, 신흥 서비스 제공자 시장과 같은 동적 환경에는 불충분하다. 일반적으로 그러한 프로그램은 개별 웹 페이지에 대한 정밀 액세스 제어(fine-grained access control) 및 페이지의 브랜딩 지원(branding support)과 같이, 서비스 제공자가 이용하는 상당 수의 특징을 거의 또는 전혀 지원하지 않는다.A fourth way of creating a web page involves using a specialized creation program designed to collect information from various sources and present the information to the user in a unified manner. Typically, companies use these programs to disclose information to employees or customers. While such systems are suitable for use in relatively stable enterprise environments, they are insufficient for dynamic environments such as emerging service provider markets. In general, such programs do not support much or no significant number of features that service providers use, such as fine-grained access control for individual web pages and branding support of the pages.

따라서, 웹 페이지를 생성하는 종래의 방법은 서비스 제공자 시장의 웹 페이지를 생성하기 위하여 사용하기에는 단점을 가지고 있다.Thus, the conventional method of generating web pages has disadvantages for use in generating web pages of the service provider market.

본 출원은 네트워크 상에서 정보를 생성하고 표현하는 분야에 관한 것으로, 특히 웹 페이지 컨텐츠(content)를 동적으로 수집하고 표현하는 시스템 및 방법에 관한 것이다.The present application relates to the field of generating and presenting information on a network, and more particularly, to a system and method for dynamically collecting and presenting web page content.

본 출원에 따라서 개시된 시스템 및 방법을 더 완벽하게 이해하기 위하여, 유사한 도면 부호는 유사한 특징을 나타내는 첨부된 도면과 함께 아래의 설명을 참조하기로 한다.For a more complete understanding of the systems and methods disclosed in accordance with the present application, reference is made to the following description in conjunction with the accompanying drawings, in which like reference numerals indicate similar features.

도 1a는 본 출원에 따른 예시적인 서비스 제공자 시스템의 블록도.1A is a block diagram of an exemplary service provider system in accordance with the present application.

도 1b는 본 출원에 따른 예시적인 서비스 제공자 시스템의 블록도.1B is a block diagram of an exemplary service provider system in accordance with the present application.

도 2는 본 출원의 일 실시예에 따라 웹 페이지를 동적으로 생성하는 예시적인 방법을 설명하는 도면.2 illustrates an exemplary method of dynamically generating a web page in accordance with an embodiment of the present application.

도 3a 내지 3c는 본 출원의 일 실시예에 따라 웹 페이지를 동적으로 생성하는 예시적인 방법을 더 상세하게 설명하는 도면.3A-3C illustrate in more detail an exemplary method for dynamically generating web pages in accordance with one embodiment of the present application.

도 4는 본 출원의 일 실시예에 따라 웹 페이지를 동적으로 생성하는 시스템을 도시하는 블록도.4 is a block diagram illustrating a system for dynamically generating web pages in accordance with one embodiment of the present application.

도 5a는 개시된 시스템 및 방법의 일 실시예에 따른 첫 번째 브랜딩된 웹 페이지를 도시하는 컴퓨터 스크린 디스플레이.5A is a computer screen display showing a first branded web page in accordance with one embodiment of the disclosed systems and methods.

도 5b는 개시된 시스템 및 방법의 일 실시예에 따른 두 번째 브랜딩된 웹 페이지를 도시하는 컴퓨터 스크린 디스플레이.5B is a computer screen display showing a second branded web page in accordance with one embodiment of the disclosed systems and methods.

본 출원은 컴퓨터 프로세싱 환경에서 웹 페이지를 동적으로 생성하는 방법 및 시스템을 제공한다. 본 출원의 일 형태에 따르면, 웹 페이지를 동적으로 구성하는 방법이 개시된다. 본 방법은 웹 페이지를 식별하는 URL을 수신하는 단계를 포함한다. 상기 웹 페이지는 복수의 엘리먼트를 참조한다. 또한 본 방법은 사용자를 표시하는 사용자 식별자를 수신하는 단계 및 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 복수의 엘리먼트의 각각을 평가하는 단계를 포함한다. 본 방법은 상기 사용자와 관련된 데이터 변환 사양(data conversion specification)을 결정하는 단계 및 상기 사용자와 관련된 데이터 표시 사양(data representation specification)을 결정하는 단계를 더 포함한다. 또한 본 방법은 동적으로 생성된 웹 페이지를 표시하는 엘리먼트의 서브세트의 각각을 변환하고 표현하는 단계를 더 포함한다.The present application provides a method and system for dynamically generating web pages in a computer processing environment. According to one aspect of the present application, a method of dynamically constructing a web page is disclosed. The method includes receiving a URL that identifies a web page. The web page references a plurality of elements. The method also includes receiving a user identifier indicating a user and evaluating each of the plurality of elements based on the user identifier to identify a subset of at least one element the user is authorized to access. do. The method further includes determining a data conversion specification associated with the user and determining a data representation specification associated with the user. The method further includes transforming and presenting each of the subset of elements representing the dynamically generated web page.

또한 웹 페이지를 동적으로 구성하는 시스템이 개시된다. 본 시스템은 프로세서 및 상기 프로세서의 동작을 제어하는 프로세서 실행 가능 명령어를 저장하는 메모리를 포함한다. 상기 프로세서 실행 가능 명령어는 웹 페이지를 식별하는 URL을 수신하는 명령어를 포함한다. 상기 웹 페이지는 하나 이상의 엘리먼트를 참조한다. 또한 상기 시스템은 사용자를 표시하는 사용자 식별자를 수신하는 명령어 및 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 복수의 엘리먼트의 각각을 평가하는 명령어를 포함한다. 상기 시스템은 상기 사용자와 관련된 데이터 변환 사양을 결정하는 명령어 및 상기 사용자와 관련된 데이터 표시 사양을 결정하는 명령어를 더 포함한다. 또한 상기 시스템은 엘리먼트의 서브세트의 각각을 변환하고 표현하는 명령어를 더 포함한다.Also disclosed is a system for dynamically constructing web pages. The system includes a processor and a memory that stores processor executable instructions for controlling the operation of the processor. The processor executable instructions include instructions for receiving a URL that identifies a web page. The web page references one or more elements. The system also includes instructions to receive a user identifier indicative of a user and to evaluate each of a plurality of elements based on the user identifier to identify a subset of at least one element the user is authorized to access. do. The system further includes instructions for determining a data conversion specification associated with the user and instructions for determining a data presentation specification associated with the user. The system further includes instructions for transforming and representing each of the subset of elements.

또한 웹 페이지를 동적으로 구성하는 장치가 개시된다. 상기 장치는 웹 페이지를 식별하는 URL을 수신하는 수단을 포함한다. 상기 웹 페이지는 적어도 하나의 엘리먼트를 참조한다. 또한 상기 장치는 사용자를 표시하는 사용자 식별자를 수신하는 수단 및 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 참조된 엘리먼트의 각각을 평가하는 수단을 포함한다. 상기 장치는 상기 사용자와 관련된 데이터 변환 사양을 결정하는 수단 및 상기 사용자와 관련된 데이터 표시 사양을 결정하는 수단을 더 포함한다. 또한 상기 장치는 동적으로 생성된 웹 페이지를 표시하는 엘리먼트의 서브세트의 각각을 변환하고 표현하는 수단을 더 포함한다.Also disclosed is an apparatus for dynamically constructing a web page. The apparatus includes means for receiving a URL that identifies a web page. The web page references at least one element. The apparatus also includes means for receiving a user identifier representing a user and means for evaluating each of the referenced elements based on the user identifier to identify a subset of at least one element the user is authorized to access. do. The apparatus further includes means for determining a data conversion specification associated with the user and means for determining a data presentation specification associated with the user. The apparatus further includes means for transforming and presenting each of the subset of elements representing the dynamically generated web page.

또한 특정 개시된 방법을 구현하는 프로세싱 명령어를 포함하는 컴퓨터 판독 가능 저장 매체가 개시된다.Also disclosed is a computer readable storage medium including processing instructions for implementing a particular disclosed method.

개시된 시스템 및 방법으로 한 명 이상의 사용자가 URL과 관련된 웹 페이지를 동시에 액세스하도록 할 수 있으며, 각각의 사용자는 자신이 액세스하도록 인증된 정보만을 수신한다. 개시된 방법 및 시스템의 목적, 특징 및 이점은 첨부된 도면을 참조할 때 바람직한 실시예의 다음의 설명으로부터 명백하다.The disclosed systems and methods allow one or more users to simultaneously access a web page associated with a URL, with each user receiving only the information he or she is authorized to access. The objects, features and advantages of the disclosed method and system are apparent from the following description of the preferred embodiments with reference to the accompanying drawings.

본 출원에 따른 방법 및 시스템은 저장된 페이지 정의에 기초하여 웹 페이지를 생성한다. 그러한 페이지 정의는 예를 들어 도 1a에 도시된 바와 같이 페이지 레지스트리(page registry)(160)에 국지적으로 저장될 수 있고, 또는 분산 저장 매체, 예를 들어 도 1b에 도시된 바와 같은 페이지 레지스트리(160)에 저장될 수 있다. 페이지 정의는 웹 페이지간의 관계에 관한 정보, 이종 소스로부터의 데이터가 페치(fetch)되고 정보를 표시(예를 들어, XML 표시(representation))하기에 적당한 통합 언어(uniform language)로 변환되는 방법, 외래 데이터를 조정하는 스타일 시트 정보(style sheet information), 웹 페이지의 시각적 표시가 구성되는 스타일 시트 정보, 및 서로 다른 사용자가 웹 페이지의 동일한 세트의 다른 부분을 볼 수 있도록 하는 각각의 페이지에 대한 액세스 제어 정보를 포함할 수 있다.The method and system according to the present application generates a web page based on the stored page definition. Such page definitions may be stored locally in a page registry 160, for example as shown in FIG. 1A, or may be distributed storage media, eg, page registry 160, as shown in FIG. 1B. ) Can be stored. Page definitions are information about the relationship between web pages, how data from heterogeneous sources are fetched and translated into a uniform language suitable for displaying information (e.g., XML representation), Style sheet information that coordinates foreign data, style sheet information that constitutes a visual display of a web page, and access to each page that allows different users to view different parts of the same set of web pages. It may include control information.

웹 페이지의 많은 특징 및 서로 다른 웹 페이지 간의 관계가 본 시스템에서 명백히 표시된 예에서, 이 표시는 실제 웹 페이지의 동일 모양의 표시의 형태로 간주될 수 있다. 페이지 간의 탐색 구조뿐만 아니라 개별 웹 페이지가 예를 들어 페이지 레지스트리(160)로부터 동적으로 생성되도록 하는 매핑 메커니즘(mapping mechanism)이 제공된다.In the example in which many features of the web page and the relationship between different web pages are clearly shown in the present system, this indication may be considered in the form of an identically shaped representation of the actual web page. In addition to the navigation structure between pages, a mapping mechanism is provided that allows individual web pages to be dynamically generated, for example, from the page registry 160.

본 출원에 따른 방법 및 시스템은 인터넷과 같은 네트워크 상으로 웹 페이지를 공개하는 프로세스를 간단하게 한다. 본 명세서에서 개시된 방법 및 시스템을 사용하면, 다양한 소스로부터의 웹 페이지는 일관적인 사용자 인터페이스로 용이하고 효율적으로 통합될 수 있다. 또한, 본 방법 및 시스템에 의하면 액세스 제어가 그러한 웹 페이지 상에 위치할 수 있어서, 서로 다른 역할(role)을 가진 사용자는 서로 다른 액세스 레벨을 가질 수 있다. 본 명세서에서 개시된 방법 및 시스템은생성된 웹 페이지의 "동시 브랜딩(concurrent branding)"을 지원하여, 각각의 서비스 제공자(예를 들어, ASP 또는 MAP) 고객은 고유의 룩-앤드-필(look-and-feel)로 표현된 웹 페이지를 가질 수 있다.The method and system according to the present application simplifies the process of publishing a web page over a network such as the Internet. Using the methods and systems disclosed herein, web pages from various sources can be easily and efficiently integrated into a consistent user interface. In addition, according to the present method and system, access control may be located on such a web page such that users with different roles may have different access levels. The methods and systems disclosed herein support "concurrent branding" of generated web pages so that each service provider (eg, ASP or MAP) customer has a unique look-and-feel and-feel).

도 1a에 웹 페이지를 동적으로 생성할 수 있는 예시적인 서비스 제공자 시스템(100)의 블록도가 도시되어 있다. 도 1b는 웹 페이지를 동적으로 생성할 수 있는 서비스 제공자 시스템의 다른 실시예를 도시한다. 도시된 바와 같이, 서비스 제공자 시스템은 애플리케이션(112), 데이터 소스(114, 116 및 118) 및 페이지 레지스트리(160)와 같은 다양한 이종 소스에 연결된 웹 페이지를 동적으로 구성하는 시스템(400)을 포함한다.1A is a block diagram of an example service provider system 100 that can dynamically generate a web page. 1B illustrates another embodiment of a service provider system capable of dynamically generating web pages. As shown, the service provider system includes a system 400 that dynamically constructs web pages connected to various heterogeneous sources, such as applications 112, data sources 114, 116, and 118, and page registry 160. .

애플리케이션 통합 버스(Application Integration Bus)Application Integration Bus

웹 페이지를 동적으로 구성하는 시스템(400)은 하나 이상의 다양한 이종 소스, 예를 들어 애플리케이션(112), 데이터 소스(114, 116 및 118) 및/또는 페이지 레지스트리(160)에 정보를 저장하고 이들로부터 정보를 추출할 수 있는 애플리케이션 통합 버스(110)를 포함한다. 애플리케이션 통합 버스(110)는 일관되고 신뢰되는 방법으로 서로 다른 컴퓨터 프로그램 간의 통신을 용이하게 하는 하부 구조(infrastructure)이다. 적당한 애플리케이션 통합 버스의 예에는 뉴욕 이스랜디아(Islandia)의 "Computer Associates International Inc."에 의해 제작되고, 예전에 Jasmineii라고 알려진 CA 공통 서비스 애플리케이션(Common Service application)이 있다. 도 1a는 POTS, 무선 전화망(wireless telephone networks),근거리 통신망(Local Area Networks) 및 원거리 통신망(Wide Area Networks) 등의 로컬 접속(local connection)을 통하여 애플리케이션(112), 데이터 소스(114, 116 및 118) 및 페이지 레지스트리(160)에 연결된 애플리케이션 통합 버스(110)를 도시한다. 도 1b는 인터넷을 통하여 애플리케이션(112), 데이터 소스(114, 116 및 118) 및 페이지 레지스트리(160)와 연결된 애플리케이션 통합 버스(110)를 도시한다.The system 400 for dynamically constructing web pages stores and stores information in one or more various heterogeneous sources, such as applications 112, data sources 114, 116, and 118, and / or page registry 160. And an application integration bus 110 capable of extracting information. The application integration bus 110 is an infrastructure that facilitates communication between different computer programs in a consistent and trusted manner. An example of a suitable application integration bus is a CA Common Service application produced by "Computer Associates International Inc." in Islandia, New York, and formerly known as Jasmine ii . 1A shows an application 112, data source 114, 116 and a local connection via POTS, wireless telephone networks, Local Area Networks and Wide Area Networks, and the like. 118 and application integration bus 110 coupled to page registry 160. FIG. 1B shows an application integration bus 110 connected to an application 112, data sources 114, 116 and 118 and page registry 160 via the Internet.

애플리케이션 통합 버스(110)는 하나 이상의 이종 소스로부터 데이터 포맷 변환기(data format translator)(120)로 데이터를 전달한다.Application integration bus 110 delivers data from one or more heterogeneous sources to data format translator 120.

데이터 포맷 변환기Data format converter

데이터 포맷 변환기(120)는 정보를 표시하기에 적당하지 않은 포맷, 예를 들어 사설 이진 포맷(proprietary binary format)으로 된 데이터를 표시하기에 적당한 포맷(예를 들어, 텍스트 문서, 스프레드 시트, 데이터베이스 정보 및 웹 정보와 같은 정보를 표시할 수 있는 XML 신택스(syntax)(또는 데이터))으로 변환할 수 있다. 더 구체적으로는, 데이터 포맷 변환기(120)는 예를 들어 이진 형태로 된 데이터 구조를 탐색하여, 그 데이터 구조를 XML 신택스(또는 데이터)일 수 있는, 표시하기에 적당한 포맷으로 변환한다. 데이터 포맷 변환기(120)는 애플리케이션 통합 버스(110)로부터 수신된 데이터를 사용하여 요구(request)를 처리하고 데이터(예를 들어, XML 데이터)를 GUI 데이터 관리자(130)로 전달한다.The data format converter 120 may be configured to display data in a format that is not suitable for displaying information, for example, in a proprietary binary format (eg, text document, spreadsheet, database information). And XML syntax (or data) capable of displaying information such as web information. More specifically, data format converter 120 searches for a data structure, for example in binary form, and converts the data structure into a format suitable for display, which may be XML syntax (or data). The data format converter 120 uses the data received from the application integration bus 110 to process the request and pass the data (eg, XML data) to the GUI data manager 130.

GUI 데이터 관리자GUI data manager

일반적으로, GUI 데이터 관리자(130)는 시스템(400)으로 들어오는 데이터에대한 요구를 처리한다. GUI 데이터 관리자(130)는 데이터 컨텐츠, 표현 사양(presentation specification), 사용자 선호도(user preference) 및 사용자 액세스 권한(user access rights)을 처리하여 요구하는 웹 브라우저로 복귀시킬 웹 페이지를 생성한다. GUI 데이터 관리자(130)에 의하여 처리된 데이터 컨텐츠는 웹 페이지에 디스플레이된 컨텐츠를 포함하는데, 그 컨텐츠는 추출된 데이터가 예를 들어 공통 XML 래퍼(common XML wrapper)를 사용하여 XML 데이터로 변환될 수 있는 애플리케이션 통합 버스(110), 후술하는 "Apache Cocoon" 프레임워크(framework)와 같은 다른 애플리케이션으로부터 도달 가능한 소스, 제3자 제품으로부터의 웹 기반 GUI, 인터넷 상으로 도달 가능한 URL 및/또는 GUI 정의 레지스트리(또는 페이지 레지스트리(160))의 객체와 같은 다양한 소스로부터 올 수 있다.In general, GUI data manager 130 handles requests for data coming into system 400. GUI data manager 130 generates a web page to process the data content, presentation specification, user preferences and user access rights and return to the requesting web browser. The data content processed by the GUI data manager 130 includes content displayed in a web page, where the extracted data can be converted to XML data using, for example, a common XML wrapper. Resident application integration bus 110, sources reachable from other applications, such as the "Apache Cocoon" framework described below, web-based GUIs from third party products, URLs reachable over the Internet, and / or a GUI definition registry. (Or the page registry 160) may come from various sources.

GUI 데이터 관리자(130)에 의하여 이용된 표현 사양은 일반적으로 XSL 파일로 정의된다. 사용자 선호도는 서비스 제공자 레지스트리(예를 들어, ASP 레지스트리)에 저장될 수 있고 사용자에 대한 데이터의 표현에 영향을 미치기 위하여 사용될 수 있다. 또한 사용자의 액세스 권한은 서비스 제공자 레지스트리에 저장될 수 있다. 사용자 액세스 권한은 사용자가 어떤 데이터 또는 어떤 데이터의 클래스를 액세스할 수 있도록 인증되는지를 정의한다.The representation specification used by the GUI data manager 130 is generally defined as an XSL file. User preferences can be stored in a service provider registry (eg, an ASP registry) and used to influence the presentation of data for a user. In addition, the user's access rights may be stored in the service provider registry. User access rights define what data or class of data a user is authorized to access.

특히, GUI 데이터 관리자(130)는 데이터 포맷 변환기(120)로부터의 데이터를 사용자에게 표현하기에 적당한 포맷, 예를 들어 HTML 또는 PDF 포맷으로 변환한다. 예를 들어, 데이터 포맷 변환기(120)의 출력이 XML 데이터이면, GUI 데이터 관리자(130)는 XML 데이터를 HTML 데이터로 변환할 수 있다. 데이터 포맷변환기(120)와 인터페이스하는 것에 추가하여, GUI 데이터 관리자(130)는 애플리케이션 통합 버스(110)를 통하여 페이지 레지스트리(160)에 저장된 웹 페이지를 액세스하고, 갱신하며 유지한다. 또한 GUI 데이터 관리자(130)는 웹 서버(140)로부터 수신된 요구에 응답한다.In particular, the GUI data manager 130 converts the data from the data format converter 120 into a format suitable for presentation to the user, for example HTML or PDF format. For example, if the output of the data format converter 120 is XML data, the GUI data manager 130 may convert the XML data into HTML data. In addition to interfacing with the data formatter 120, the GUI data manager 130 accesses, updates, and maintains web pages stored in the page registry 160 via the application integration bus 110. The GUI data manager 130 also responds to the request received from the web server 140.

웹 서버는 GUI 데이터 관리자(130)에 URL을 제공하고, GUI 데이터 관리자는 HTML 코드를 웹 서버에 송신함으로써 응답한다. 일반적으로, 웹 서버(140)는 인터넷(150)을 통하여 사용자(170)에게 웹 페이지를 제공한다.The web server provides a URL to the GUI data manager 130, which responds by sending HTML code to the web server. In general, the web server 140 provides a web page to the user 170 via the Internet 150.

GUI 데이터 관리자(130)에 의한 HTML 페이지의 생성은 예를 들어 GUI 정의 레지스트리 또는 페이지 레지스트리(160)에 저장된 데이터에 의존한다. 데이터와 표현 사양과의 분리는 몇몇 이점을 제공한다. 특히, 컨텐츠를 생성하는 책임이 다양한 소스 사이에서 분산될 수 있다. 또한, XSL 파일에 의하여 정의된 표현은 정보의 시각화가 별개로 정의될 수 있도록 한다. 따라서, 개시된 GUI 프레임워크는 이러한 시스템으로부터 생성될 수 있는 웹 페이지의 종류에 거의 제한을 가하지 않으면서, 다수의 애플리케이션 GUI를 공개하고 관리하는 프로세스를 단순화한다.Generation of an HTML page by the GUI data manager 130 relies on, for example, data stored in the GUI definition registry or page registry 160. Separation of data from presentation specifications provides several advantages. In particular, the responsibility for generating content may be distributed among various sources. In addition, the representation defined by the XSL file allows the visualization of the information to be defined separately. Thus, the disclosed GUI framework simplifies the process of publishing and managing multiple application GUIs with little limitation on the type of web pages that can be generated from such a system.

일 실시예에 따르면, GUI 데이터 관리자(130)는 인터넷 상으로 컨텐츠를 공개할 수 있는 적어도 하나의 애플리케이션을 구비한 애플리케이션의 모음을 채용하는 아키텍처(architecture)를 사용한다. 이러한 애플리케이션의 예로는 공개 소스 소프트웨어(open source software)를 제공하는 "Apache Software Foundation"에 의하여 개발된 "Apache Cocoon" 프레임워크가 있다. "Apache Software Foundation"에 관한 더 많은 정보는 http://www.apache.org에서 찾을 수 있다. 또한 기능적으로 유사한 다른 애플리케이션도 고려된다. "Apache Cocoon" 애플리케이션을 이용하면, "Apache Cocoon" 애플리케이션은 데이터 포맷 변환기(120)로부터의 XML 데이터를 HTML로 변환한다. 일반적으로, GUI 데이터 관리자(130)는 XML 데이터를 특정 XSL 파일과 합하여 HTML 파일을 만드는데, 그 후 그 HTML 파일은 웹 서버(140)에 의하여 인터넷(150) 상으로 전송될 수 있고 사용자의 컴퓨터에 설치된 웹 브라우저(도시하지 않음)를 통하여 사용자(170)에게 디스플레이될 수 있다.According to one embodiment, the GUI data manager 130 employs an architecture that employs a collection of applications with at least one application that can publish content over the Internet. An example of such an application is the "Apache Cocoon" framework developed by the "Apache Software Foundation" which provides open source software. More information about the "Apache Software Foundation" can be found at http://www.apache.org. Other functionally similar applications are also considered. Using the "Apache Cocoon" application, the "Apache Cocoon" application converts the XML data from the data format converter 120 into HTML. In general, GUI data manager 130 combines the XML data with a particular XSL file to create an HTML file, which may then be transmitted over the Internet 150 by web server 140 and to the user's computer. It may be displayed to the user 170 through an installed web browser (not shown).

또한 "Apache Cocoon"은 다양한 소스로부터의 특정 데이터를 XML 데이터 포맷으로 추출하는 커스텀 플러그-인 모듈(custom plug-in module)을 사용할 수 있게 한다. 다수의 모듈은 애플리케이션 통합 버스(110)에 연결되거나 예를 들어 SQL 데이터베이스에 직접 연결된 소스와 같은 소스로부터 데이터를 추출하기 위하여 사용될 수 있다.Apache Cocoon also enables the use of custom plug-in modules that extract specific data from various sources into an XML data format. Multiple modules may be used to extract data from a source, such as a source connected to the application integration bus 110 or directly connected to, for example, an SQL database.

도 1의 아키텍처를 사용하면, 본 출원에 따른 새로운 웹 페이지의 생성은 GUI 정의 레지스트리에서 새로운 객체를 생성하는 단계 - 상기 객체는 웹 페이지를 생성하기 위하여 사용되는 정보를 포함함 -, 데이터 소스 및 페이지 레이아웃(layout)을 포함하여 웹 페이지를 생성하기 위하여 필요한 관련된 정보에 관한 올바른 참조를 포함하도록 객체의 특성(property)을 편집하는 단계, 관련된 데이터 소스가 데이터를 제공하기 위하여 존재하는지를 보장하는 단계 및 관련된 파일(예를 들어, XSL 파일)이 페이지에 대하여 정의되는지를 보장하는 단계를 포함한다. 바람직하게는, 파일은 특정 웹 페이지의 표현에 관한 정보를 포함한다. 파일은 소정의 라이브러리부터 올 수 있고, 필요하다면 룩-앤드-필 일관성을 제공하기 위하여 다수의 페이지에서 재사용될 수 있다.Using the architecture of FIG. 1, the creation of a new web page in accordance with the present application comprises the steps of creating a new object in a GUI definition registry, the object including information used to generate the web page, data source and page Editing the properties of the object to include the correct reference to the relevant information needed to create the web page, including the layout, ensuring that the associated data source exists to provide the data, and Ensuring that a file (eg, an XSL file) is defined for the page. Preferably, the file contains information regarding the presentation of a particular web page. The file can come from any library and can be reused in multiple pages if necessary to provide look-and-fill consistency.

GUI 정의/페이지 레지스트리GUI Definition / Page Registry

GUI 정의 레지스트리 또는 페이지 레지스트리(160)는 웹 페이지의 정의가 데이터로 구동되고(data-driven) 중심적으로 관리되도록 하는 개시된 시스템의 일 특징이다. 일 실시예에 있어서, X.500 디렉토리를 포함하는 애플리케이션 통합 프레임워크는 회계 관리, 사용자 프로파일(profile) 관리 및 애플리케이션 특정 설정의 저장과 같은 다양한 목적을 위하여 사용될 수 있다. 또한 동일한 X.500 디렉토리는 GUI 정의 레지스트리를 저장하기 위하여 사용될 수 있다.GUI definition registry or page registry 160 is a feature of the disclosed system that allows definitions of web pages to be data-driven and centrally managed. In one embodiment, an application integration framework that includes an X.500 directory may be used for various purposes, such as accounting management, user profile management, and storage of application specific settings. The same X.500 directory can also be used to store the GUI definition registry.

페이지는 GUI 정의 레지스트리에서 GUI 노드(node)로서 정의된다. GUI 노드는 베이스 GUI NODE 클래스의 인스턴스(instance) 또는 그것의 서브클래스(subclass) 중 하나의 인스턴스일 수 있다. 베이스 GUI NODE 클래스는 아래의 속성을 포함한다.Pages are defined as GUI nodes in the GUI definition registry. The GUI node may be an instance of the base GUI NODE class or one of its subclasses. The base GUI NODE class contains the following attributes:

NAME:이 노드를 식별하기 위하여 사용되는 고유한 문자열 특성(string property).NAME: A unique string property used to identify this node.

LABEL:보통 웹 페이지에 디스플레이되는 문자열 특성. 현지화(localization)를 위해서는, 이 문자열은 대체될 필요가 있다.LABEL: String attribute that is normally displayed on a web page. For localization, this string needs to be replaced.

TITLE:적용 가능하다면 웹 페이지의 HTML "title" 태그(tag)에서 보통 사용되는 문자열 특성. 현지화를 위해서는 이 문자열은 대체될 필요가 있다.TITLE: A string property usually used in the HTML "title" tag of a web page, if applicable. This string needs to be replaced for localization.

KEYWORDS:키워드의 리스트를 포함하는 문자열. 이러한 키워드는 웹 페이지의 탐색 엔진의 사용을 용이하게 하는, HTML 페이지의 일부로서 선택적으로 사용될 수 있다.KEYWORDS: string containing a list of keywords. These keywords can optionally be used as part of an HTML page, which facilitates the use of the search engine of the web page.

ACCESS RIGHTS:이 GUI에 대한 액세스를 가진 사용자의 그룹을 정의하는 문자열. 사용자의 액세스 권한은 보안 그룹(security group)으로 정의된다. 각각의 보안 그룹은 이 시스템에서 특정 GUI에 대한 액세스를 할당받는다. 보안 그룹에 속하는 사용자는 보안 그룹과 동일한 GUI에 대하여 액세스가 승인된다. 보안 그룹에 의하여 허용되는 액세스의 범위는 시스템 관리자에 의하여 임의의 시간에 재구성될 수 있다.ACCESS RIGHTS: A string that defines the groups of users who have access to this GUI. A user's access rights are defined by security groups. Each security group is assigned access to a specific GUI in this system. Users belonging to the security group are granted access to the same GUI as the security group. The range of access granted by the security group can be reconfigured at any time by the system administrator.

CONTENT:아래 중 하나를 정의하는 문자열.CONTENT: A string that defines one of the following:

·이 노드와 관련된 XML 데이터의 소스를 지시하는 URL.A URL pointing to the source of the XML data associated with this node.

·HTML을 직접 생성하는 소스를 지시하는 URL. 이것은 제3자 웹 기반 GUI를 이 시스템으로 통합하는데 있어 유용하다.A URL pointing to the source that generates the HTML directly. This is useful for integrating third party web-based GUIs into this system.

·ASP 레지스트리의 객체에 대한 참조.A reference to an object in the ASP registry.

·로컬 기계의 XML 파일.XML file on the local machine.

·Jasmine ⅱ 데이터 버스 상으로 데이터 제공자를 액세스하기 위하여 필요한 정보. 일반적으로 데이터는 메서드 호출(method call) 또는 쿼리(query)를 사용하여 추출된다. XML 래퍼는 Jasmine ⅱ 객체/컬렉션(object/collection)을 XML 포맷으로 변환하기 위하여 이 프로세스에서 이용됨을 주의.Information needed to access the data provider on the Jasmine II data bus. In general, data is extracted using method calls or queries. Note that the XML wrapper is used in this process to convert Jasmine ii objects / collections to XML format.

·Jasmine ⅱ 제공자의 특정 객체를 참조하는 문자열 표현.A string representation that references a specific object of the Jasmine II provider.

CONTENT TYPE:아래와 같은 컨텐츠의 유형을 지시하는 정수특성(integer property).CONTENT TYPE: An integer property that indicates the type of content:

1 - 컨텐츠는 XML이다.1-The content is XML.

2 - 컨텐츠는 HTML이다.2-The content is HTML.

3 - 컨텐츠는 ASP 레지스트리의 객체에 대한 참조이다.3-The content is a reference to an object in the ASP registry.

4 - 컨텐츠는 XML 파일에 저장된다.4-The content is stored in an XML file.

5 - 컨텐츠는 Jasmine ⅱ 제공자에 대한 메서드 호출로부터 온다.5-The content comes from a method call to the Jasmine ii provider.

6 - 컨텐츠는 Jasmine ⅱ 제공자에 대한 쿼리로부터 온다.6-Content comes from a query for Jasmine ii provider.

7 - 컨텐츠는 Jasmine ⅱ 제공자의 특정 객체에 대한 정적 참조(static reference)를 포함한다.7-The content contains a static reference to a specific object of the Jasmine ii provider.

XSL_PRESENTATION:적용 가능하다면, 이 노드의 시각적 표현을 지정하는 XSL 파일을 가리키는 URL인 문자열 특성. 이 특성은 컨텐츠 소스가 HTML을 생성하면 사용되지 않음을 유의.XSL_PRESENTATION: A string property, if applicable, that is a URL pointing to an XSL file specifying the visual representation of this node. Note that this property is not used when the content source generates HTML.

XSL_TRANSFORMATION:CONTENT 특성에 지정된 KML 데이터를 (적용 가능하다면) 다른 형태로 변환하기 위한 XSL 파일을 가리키고 있는 URL인 문자열. 이것은 이종의 XML 데이터 소스를 시스템으로 가져오는데 있어 유용하다.A string that is a URL that points to an XSL file for converting the KML data specified in the XSL_TRANSFORMATION: CONTENT property to another form (if applicable). This is useful for bringing heterogeneous XML data sources into the system.

XSL_TRANSFORMATION_WML:XSL_TRANSFORMATION과 동일한 방식으로 사용되는 문자열 특성. 여기에서 지정된 XSL 파일은 소스 XML 데이터를 WML로 변환하는데 있어 유용하고, 그 WML은 예를 들어 호출기(pager), 셀룰러 전화기(cellular phone) 및 팜탑 컴퓨터(palm-top computer)와 같은 스몰 폼 팩터 핸드핼드장치(small form-factor handheld device) 상에 디스플레이하기에 적당하다.A string property used in the same way as XSL_TRANSFORMATION_WML: XSL_TRANSFORMATION. The XSL file specified here is useful for converting source XML data into WML, which is, for example, small form factor hands such as pagers, cellular phones, and palm-top computers. It is suitable for display on small form-factor handheld devices.

DISPLAY_IN_TREE:이 노드가 트리(tree) GUI에 디스플레이되어야 하는지를 지시하는 부울 특성(Boolean property). 이 특성은 추상적인 GUI 구조를 트리 GUI 또는 상호 참조에 의하여 서로 연결된 연속적인 GUI로 디스플레이할지에 대한 실행시 선택을 가능하도록 한다.DISPLAY_IN_TREE: A Boolean property that indicates whether this node should be displayed in the tree GUI. This property allows the runtime choice whether to display the abstract GUI structure as a tree GUI or as a continuous GUI connected to each other by cross references.

ACCESS DEPTH:노드 정보가 추출되어야 하는 트리가 얼마나 깊은지를 지시하는 정수 특성. 0의 깊이(depth)는 단지 현재의 노드만이 추출될 필요가 있다는 것을 지시한다. 1의 깊이는 현재의 노드 및 그것의 자식 노드(children nodes) 모두가 추출되어야 함을 지시한다. -1의 값은 트리가 얼마나 깊은지에 상관없이, 모든 서브-트리가 페치되어야 함을 지시한다. 디폴트 값은 1이다.ACCESS DEPTH: Integer property indicating how deep the tree should be extracted node information from. A depth of zero indicates that only the current node needs to be extracted. A depth of 1 indicates that both the current node and its child nodes should be extracted. A value of -1 indicates that all sub-trees should be fetched, regardless of how deep the tree is. The default value is 1.

IS-SECURED:이 페이지가 HTTPS와 같은 보안 채널을 통하여 전송될 목적인지를 지시하는 부울 특성. 디폴트 값은 거짓이다.IS-SECURED: Boolean attribute indicating whether this page is intended to be sent over a secure channel such as HTTPS. The default value is false.

ICON_1:이 노드를 위하여 사용되는 아이콘(icon)을 가리키는 URL을 포함하는 문자열 특성.ICON_1: String property containing a URL pointing to the icon used for this node.

ICON_2:이 노드를 위하여 사용되는 다른 아이콘을 가리키는 URL을 포함하는 문자열 특성.ICON_2: String property containing a URL pointing to another icon used for this node.

ICON USED:ICON_1 또는 ICON_2가 이 노드를 위하여 사용되는지를 지시하는 정수 특성. 0의 값은 어떤 아이콘도 사용되지 않음을 지시한다. 다른 아이콘을 가지면 GUI 노드를 트리 GUI의 노드 또는 HTML 페이지 상의 IMAGE 태그로 보여주거나, GUI 노드를 윈도우즈-스타일 이동 가능 32x32 아이콘(Windows-stylemovable 32-bye-32 icon) 또는 일반적인 웹 스타일의 임의의 크기의 이미지로서 보여주는 것이 지원되도록 할 수 있다.Integer property indicating whether ICON USED: ICON_1 or ICON_2 is used for this node. A value of zero indicates that no icon is used. With other icons, you can display GUI nodes as nodes in the tree GUI or IMAGE tags on an HTML page, or you can display GUI nodes as Windows-style moveable 32-bye-32 icons or any size in a common web style. Displaying as an image can be enabled.

TRANSITION EFFECT ENTER:이 노드의 컨텐츠를 표시하는 웹 페이지에 들어갈 때 시각 천이 효과(visual transitional effect)가 적용되는지를 지시하는 정수 특성. 이것은 Internet Explorer V4.0 이상에만 적용되고, Netscape Navigator 브라우저에는 아무런 효과가 없다. 디폴트 값은 -1로, 아무런 효과가 사용되지 않음을 지시한다.TRANSITION EFFECT ENTER: An integer property that indicates whether a visual transitional effect is applied when entering the web page displaying the content of this node. This only applies to Internet Explorer V4.0 or later and has no effect on the Netscape Navigator browser. The default value is -1, indicating that no effect is to be used.

TRANSITION-EFFECT-EXIT:이전 것과 유사한 정수 특성. 이것은 웹 페이지를 나갈 때의 효과가 사용되는지를 지시하기 위하여 사용된다.TRANSITION-EFFECT-EXIT: An integer property similar to the previous one. This is used to indicate whether the effect of exiting a web page is used.

IS VISIBLE:이 노드가 보이는지 그렇지 않은지를 지시하는 부울 특성. 디폴트 값은 참이다.IS VISIBLE: Boolean property indicating whether this node is visible or not. The default value is true.

GUI 정의 레지스트리의 GUI 루트 노드(Root node)는 다른 GUI에 대한 컨테이너(container)를 표시하기 위하여 사용된다. 애플리케이션 레지스트리에 GUI 정의 레지스트리를 위치시킴으로써 그것은 공통 데이터 버스를 통하여 용이하게 액세스될 수 있다.The GUI root node of the GUI definition registry is used to display containers for other GUIs. By placing a GUI definition registry in the application registry it can be easily accessed through a common data bus.

레지스트리(160)의 GUI 노드의 CONTENT 특성은 요구하는 URL로부터의 정보로 구현되는 템플릿(template)을 표시한다. 예를 들어, GUI 노드 "SHOW-PAYMENTS"는 과거 지급 정보를 디스플레이하는 페이지를 표시하기 위하여 생성될 수 있다. 지난 해의 지급에 대한 특정 거주자 X에 대하여 그러한 GUI 노드를 사용하기 위하여, CONTENT 특성에 포함된 정보의 일부는 거주자 X가 관심 사항이고, 그 기간은 1년이라는 사실을 반영하기 위하여 교체된다. 예를 들어, CONTENT 특성이 문자열 "Args=$USERID$"를 포함하면, 그것은 활성화 시에, 현재 액세스하고 있는 사용자의 ID가 "$USERID$"를 교체하기 사용되어져야 함을 지시한다.The CONTENT attribute of the GUI node of registry 160 indicates a template implemented with information from the requesting URL. For example, a GUI node "SHOW-PAYMENTS" may be created to display a page displaying past payment information. In order to use such a GUI node for a particular resident X for last year's payment, some of the information contained in the CONTENT property is replaced to reflect that the resident X is of interest and that the period is one year. For example, if the CONTENT attribute contains the string "Args = $ USERID $", it indicates that upon activation, the ID of the user currently accessing should be used to replace "$ USERID $".

방법론 개관Methodology Overview

도 2를 참조하면, 웹 페이지를 동적으로 생성하기 위한 하나의 방법론의 동작을 설명하는 흐름도가 도시되어 있다. 이 방법론은 사용자에게 웹 페이지를 동적으로 표현하기 위하여 데이터 구조를 XML 신택스로 그리고 XML 신택스를 HTML로 변환하는 것으로 설명될 것이다. 도 1a에 도시된 프로세싱 환경을 사용하면, 시스템에 의하여 공개되는 각각의 개별 웹 페이지를 표시하기 위하여 데이터 표시 방식이 사용된다. GUI 노드라고 불리는 웹 페이지의 그러한 표시는 예를 들어 어디서 어떻게 필요가 데이터가 액세스되고, 추상 데이터가 어떻게 시각적인 표현으로 변경되며, 그러한 웹 페이지가 어떻게 다른 페이지와 관련되고, 누가 이 페이지에 액세스할 수 있는지를 포함하는 웹 페이지의 특징 중 하나의 예이다.Referring to FIG. 2, a flow diagram illustrating the operation of one methodology for dynamically generating web pages is shown. This methodology will be described as converting data structures into XML syntax and XML syntax into HTML in order to present the web page dynamically to the user. Using the processing environment shown in FIG. 1A, a data presentation scheme is used to display each individual web page published by the system. Such representation of a web page, called a GUI node, for example, where and how need data is accessed, how abstract data is changed into a visual representation, how such a web page is related to other pages, and who has access to this page. An example of one of the features of a web page includes whether it can.

블록 "205"에 도시된 바와 같이, 이 GUI 노드 정보는 웹 페이지 디자이너에 의하여 생성되고 디자인 시에 페이지 레지스트리(160)에 저장된다. 일 실시예에서, 페이지 레지스트리(160)는 LDAP 디렉토리 또는 데이터베이스의 위에 구현되는데, 이는 대용량의 데이터를 저장하고 빠른 액세스를 허용하는 그들의 성능 때문이다.As shown in block 205, this GUI node information is generated by the web page designer and stored in the page registry 160 at design time. In one embodiment, page registry 160 is implemented on top of an LDAP directory or database because of their ability to store large amounts of data and allow fast access.

블록 "210"에서, 웹 페이지에서 필요한 데이터의 소스는 관련된 GUI 노드의 일부로 정의된다. 이것은 데이터 소스의 이름, 메서드의 이름 및 필요한인자(argument)와 같은 정보를 포함한다. 웹 페이지의 생성 단계 동안, 그러한 데이터는 애플리케이션 통합 버스(110)를 사용하여 페치될 수 있다.In block " 210 ", the source of data needed in the web page is defined as part of the associated GUI node. This includes information such as the name of the data source, the name of the method, and the arguments required. During the generation of the web page, such data may be fetched using the application integration bus 110.

실행 시에, 이 시스템에 대한 요구는 블록 "215"에 도시된 바와 같이 URL의 형태로 수신되고, 일반적으로 사용자에 의하여 웹 브라우저로부터 개시된다. 시스템의 전체적인 작업은 미리 정해진 형태 및 컨텐츠로 다음의 웹 페이지를 생성하는 것이다. 이것은 GUI 데이터 관리자(130)를 사용하여 이루어진다.At run time, the request for this system is received in the form of a URL, as shown in block 215, and is generally initiated by a user from a web browser. The overall task of the system is to create the next web page in a predetermined form and content. This is done using the GUI data manager 130.

GUI 데이터 관리자(130)는 사용자의 자격 증명(credentials)을 결정한다(블록 "220"). GUI 데이터 관리자(130)는 사용자가 액세스하도록 인증된 요구된 웹 페이지에 대한 페이지 레지스트리(160)로부터 GUI 노드 정보를 추출하기 위하여 URL을 더 디코딩한다(블록 "225").GUI data manager 130 determines the credentials of the user (block “220”). GUI data manager 130 further decodes the URL to extract GUI node information from page registry 160 for the requested web page for which the user is authorized to access (block “225”).

단계 "230"에서, 데이터 포맷 변환기는 주어진 GUI 노드에 관한 XSL 파일을 추출한다. GUI 데이터 관리자는 XSL 파일의 결과를 사용하여 HTML 파일과 같은 스크립트를 생성한다(블록 "235"). 웹 서버(140)는 동적으로 생성된 웹 페이지를 표현하기 위하여 웹 브라우저에 의하여 실행될 스크립트를 전달한다.In step 230, the data format converter extracts an XSL file for a given GUI node. The GUI data manager uses the output of the XSL file to generate a script, such as an HTML file (block "235"). The web server 140 delivers a script to be executed by a web browser to present a dynamically generated web page.

도 3a 내지 3c를 참조하면, 개시된 방법의 일 실시예에 따라 실행 시에 웹 페이지를 동적으로 생성하기 위한 더 상세한 예시적인 방법론이 도시되어 있다. 실행 시에, 웹 페이지 디자이너는 GUI 정의 레지스트리(160)에 정의된 데이터 스키마(schema) 및 인스턴스를 생성하고 저장하였다. 도 3a 내지 도 3c는 시스템의 다양한 구성 요소가 그러한 정보로부터 웹 페이지를 생성하기 위하여 어떻게 함께 동작하는지를 설명한다.3A-3C, a more detailed example methodology for dynamically generating a web page at run time is shown in accordance with one embodiment of the disclosed method. At run time, the web page designer created and stored the data schema and instances defined in the GUI definition registry 160. 3A-3C illustrate how the various components of the system work together to generate a web page from such information.

블록 "305"에서, 하나 이상의 웹 페이지를 디스플레이하기 위한 요구는 웹 서버(140)를 통하여 URL로서 수신되고, GUI 데이터 관리자(130)에 의하여 처리된다. 블록 "310"에서, GUI 데이터 관리자(130)는 URL을 GUI 노드 정보로 파싱(parsing)하는데, 그 정보는 GUI 페이지 레지스트리(160)에 노드에 대한 참조와, 필요에 따라서 데이터 소스에 대한 참조를 포함한다.At block 305, a request to display one or more web pages is received as a URL via web server 140 and processed by GUI data manager 130. In block " 310 ", the GUI data manager 130 parses the URL into GUI node information, which information is referred to the GUI page registry 160 by reference to the node and, if necessary, a reference to the data source. Include.

GUI 데이터 관리자(160)는 관련된 GUI 노드, 노드의 CONTENT 특성으로 지시된 XML 포맷으로 될 수 있는 데이터의 소스, 적용 가능하다면 노드의 XSL 특성에 의하여 지시된 것과 같은 XSL 파일, 예를들어 서비스 제공자 레지스트리로부터의 사용자의 액세스 제어 데이터 및 서비스 제공자 레지스트리로부터의 사용자 선호도 프로파일 등을 추출한다. 프로파일의 몇몇 설정은 GUI 정의 레지스트리의 정보를 오버라이드(override)하기 위하여 사용될 수 있고, 또한 GUI 노드로부터의 정보를 사용하지 않고서 URL의 일부가 추출에 필요한 완전한 정보를 지정하는 것이 가능하다는 것을 유의하여야 한다.GUI data manager 160 may include the associated GUI node, the source of data that may be in an XML format indicated by the node's CONTENT property, and, if applicable, an XSL file as indicated by the node's XSL property, such as a service provider registry Access control data of a user from the user, a user preference profile from the service provider registry, and the like. Note that some settings in the profile can be used to override the information in the GUI definition registry, and it is also possible that part of the URL specifies the complete information needed for extraction without using the information from the GUI node. .

GUI 데이터 관리자(130)는 URL이 참조하는 GUI 노드 G(블록 "315") 및 G에 포함되는, 지정된 깊이에 대한 모든 하위 GUI 노드를 페치한다(블록 "320"). G가 웹 페이지로 실현되면, 이러한 포함된 GUI 노드들은 페이지의 하이퍼링크(hyperlink)로 변한다.GUI data manager 130 fetches GUI node G (block "315") referenced by the URL and all child GUI nodes for the specified depth, included in G (block "320"). If G is realized as a web page, these included GUI nodes are turned into hyperlinks in the page.

블록 "325" 내지 블록 "345"에서, 요구된 URL과 관련된 모든 GUI 노드의 액세스 제어 정보는 요구를 개시한 사용자의 자격 증명과 비교된다. 사용자가 액세스하도록 허용된 GUI 노드는 세트 GS로 복귀되고 수집된다.In blocks 325 through 345, access control information of all GUI nodes associated with the requested URL is compared with the credentials of the user who initiated the request. GUI nodes that the user is allowed to access are returned to the set GS and collected.

블록 "325"에서, 사용자가 액세스하도록 인증된 GUI 노드의 데이터 소스에 관한 정보가 추출된다. 그 후 수신된 데이터는 XML 포맷으로 변환된다. 두 개의 다른 디렉토리 DS1 및 DS2가 특정 사용자 U에 대하여 지정될 수 있다(블록 "360"). 물론, 특정한 데이터 요건이 없는 사용자에 대해서는, 디폴트 디렉토리가 사용될 수 있다.At block 325, information is extracted about data sources of GUI nodes that the user is authorized to access. The received data is then converted into XML format. Two different directories DS1 and DS2 may be designated for a particular user U (block “360”). Of course, for users without specific data requirements, a default directory can be used.

G에서 지정된 두 개의 XSL(Extensible Stylesheet Language) 파일 FS1 및 FS2는 각각 블록 "370" 및 블록 "384"에서 식별된다. FS1은 블록 "370" 내지 블록 "380"에서 추출되고 FS2는 블록 "386" 내지 블록 "390"에서 추출된다. XSL은 XML의 한 형태를 다른 형태로 변화하기 위한 표준 인터넷 스크립팅 언어이다. 블록 "382"에서, XSL 파일 FS1은 XML 데이터로부터 다른 형태로의 변환에 영향을 미치기 위하여 XML 데이터에 적용된다. 이 단계는 몇몇 경우에서 필요할 수 있는데, 그러한 XML 데이터는 XML 태그의 서로 다른 세트를 사용하는 외래 소스로부터 나오고, 이 프로세스는 그들을 이 시스템에서 수용 가능한 포맷으로 변환하기 때문이다.The two Extensible Stylesheet Language (XSL) files FS1 and FS2 specified in G are identified in blocks "370" and "384", respectively. FS1 is extracted from blocks "370" through "380" and FS2 is extracted from blocks "386" through "390". XSL is a standard Internet scripting language for transforming one form of XML into another. In block "382", the XSL file FS1 is applied to the XML data to affect the conversion from XML data to other forms. This step may be necessary in some cases, because such XML data comes from a foreign source using a different set of XML tags, and this process converts them into a format acceptable to this system.

블록 "392"에서, XSL 파일 FS2는 블록 "382"로부터의 결과에 적용되고, 일반적으로 HTML, 자바스크립트 및 자바 코드를 포함하는 스크립트를 생성한다. 그 후 스크립트는 결과가 웹 페이지로서 디스플레이되는 발신(orginating) 웹 브라우저로 복귀된다. 블록 "394"에서, 요구된 페이지를 설명하는 스크립트는 표현을 위하여 사용자 U의 웹 브라우저로 복귀된다.In block "392", the XSL file FS2 is applied to the results from block "382" and generally generates a script that includes HTML, JavaScript, and Java code. The script then returns to the orginating web browser where the results are displayed as a web page. At block "394", the script describing the requested page is returned to user U's web browser for presentation.

서로 다른 사용자가 동일한 GUI 노드를 사용하면서 서로 다른 XSL 파일을 사용하는 것을 허용하기 위하여, 환경 변수(environment variable)의 세트가 이 시스템을 액세스하고 있는 사용자를 위하여 추출된다. 그러한 변수는 페이지 레지스트리(160)에 저장되고, 각각의 사용자는 자신만의 변수의 세트를 가질 수 있다. 그러한 변수는 사용자의 XSL 파일이 상주하는 다른 디렉토리를 지정한다. 필요한 XSL 파일이 다른 디렉토리에 존재하지 않으면, 디폴트 XSL 파일이 사용된다.In order to allow different users to use different XSL files while using the same GUI node, a set of environment variables is extracted for the user accessing this system. Such variables are stored in page registry 160, and each user can have his own set of variables. Such a variable specifies another directory where your XSL files reside. If the required XSL file does not exist in another directory, the default XSL file is used.

상기한 환경 변수를 사용하면 외래 데이터 소스의 브랜딩 및 통합이 가능하다는 것을 유의하여야 한다. 환경 변수는 모든 사용자가 GUI 노드의 동일한 세트를 공유하는 것을 가능하게 하지만, 각각의 사용자에게 FS2 파일의 자신만의 사적인 버전을 제공하며, 선택적인 FS2 파일을 제공함으로써 각각의 사용자가 별개의 룩-앤드-필을 갖는 것을 가능하게 하기 때문에 유용하다.It should be noted that using the above environment variables enables branding and integration of foreign data sources. Environment variables allow all users to share the same set of GUI nodes, but provide each user with their own private version of the FS2 file, providing each user with a separate look It is useful because it makes it possible to have end-fills.

마찬가지로, 사용자에게 자신만의 XSL 파일 FS1을 지정하도록 허용하는 것은 XML 데이터가 데이터 소스에 특정한 방법으로 변환되도록 한다. 이것은 외래 데이터 소스를 이 시스템에서 허용 가능한 형태로 변경하기 위하여, 외래 데이터 소스에 필요한 변환을 적용하는 것을 가능하게 한다.Similarly, allowing users to specify their own XSL file FS1 allows XML data to be transformed in a way that is specific to the data source. This makes it possible to apply the necessary transformations to the foreign data source in order to change the foreign data source into an acceptable form in this system.

도 4에 웹 페이지를 동적으로 생성하는 시스템(400)의 일 실시예가 도시되어 있다. 도시된 바와 같이, 시스템은 프로세서(410) 및 메모리(415)를 포함한다. 메모리(415)는 프로세서(410)에 연결되고 웹 페이지를 동적으로 생성하기 위하여 프로세서 실행 가능 명령어를 저장한다.An embodiment of a system 400 for dynamically generating a web page is shown in FIG. As shown, the system includes a processor 410 and a memory 415. Memory 415 is coupled to processor 410 and stores processor executable instructions for dynamically generating web pages.

메모리(415)는 요구된 웹 페이지를 동적으로 생성하고 표현하기 위하여 동적 웹 페이지 생성 로직(420)을 포함한다. 동적 웹 페이지 생성 로직(420)은 요구된 웹 페이지를 표시하는 URL을 수신하는 URL 수신 모듈(425)을 이용한다. 또한 생성로직(420)은 각각 사용자를 식별하고 사용자가 액세스하도록 인증된 요구된 웹 페이지에 의하여 참조된 엘리먼트를 식별하기 위하여 사용자 식별 수신 모듈(user identification receiving module)(430) 및 엘리먼트 식별 및 평가 모듈(element identification and evaluation module)(435)을 이용한다.The memory 415 includes dynamic web page generation logic 420 to dynamically generate and present the requested web page. Dynamic web page generation logic 420 utilizes a URL receiving module 425 to receive a URL representing the requested web page. Generating logic 420 also includes a user identification receiving module 430 and an element identification and evaluation module to identify the user and to identify the element referenced by the requested web page that the user is authorized to access, respectively. (element identification and evaluation module) 435.

데이터 변환 모듈(440)은 요구된 웹 페이지에 의하여 참조된 데이터를 다양한 프로토콜(protocol)로부터 표준 프로토콜로 변환하기 위하여 동적 웹 페이지 생성 로직(420)에 의하여 사용된다. 생성 로직(420)은 표준 포맷으로 된 데이터를 웹 페이지 표현 모듈(web page presentation module)(445)에 제공한다. 일 실시예에서, 웹 페이지 표현 모듈(445)은 표준 인터넷 웹 브라우저이다.The data conversion module 440 is used by the dynamic web page generation logic 420 to convert the data referenced by the requested web page from various protocols to standard protocols. Generation logic 420 provides data in a standard format to web page presentation module 445. In one embodiment, web page presentation module 445 is a standard Internet web browser.

다른 실시예에서, 도 4에 도시된 시스템은 컴퓨터 판독 가능 매체에 저장된 컴퓨터 판독 가능 코드로서 실시될 수 있다. 코드는 컴퓨터가 선택된 방식으로 실행되도록 하는 하나 이상의 컴퓨터/프로세서 실행 가능 명령어를 포함할 수 있다. 컴퓨터 판독 가능 매체는 CD-ROM 또는 DVD-ROM과 같은 광 저장 장치, 하드디스크 또는 플로피 디스크와 같은 자기 저장 장치, 메모리 카드와 같은 전자 저장 장치, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 컴퓨터 판독 가능 프로세서 명령어를 저장할 수 있는 임의의 다른 저장 장치일 수 있다.In another embodiment, the system shown in FIG. 4 may be embodied as computer readable code stored on a computer readable medium. The code may include one or more computer / processor executable instructions that cause the computer to execute in the selected manner. The computer readable medium may be an optical storage device such as a CD-ROM or DVD-ROM, a magnetic storage device such as a hard disk or floppy disk, an electronic storage device such as a memory card, a RAM, a ROM, an EPROM, an EEPROM, a flash memory, or a computer readout. It can be any other storage device capable of storing possible processor instructions.

개시된 시스템 및 방법이 특정 실시예 및 애플리케이션으로 설명되었지만, 당업자는 본 명세서의 취지나 범위를 벗어나지 않으면서 다양한 변경, 치환 및 변형 등을 포함하여 추가적인 실시예를 생성할 수 있다. 따라서, 본 명세서의 도면 및 설명은 본 시스템 및 방법을 이해하는 것을 용이하게 하기 위함이지, 본 발명의범위를 제한하기 위함은 아님을 유의하여야 한다.Although the disclosed systems and methods have been described in particular embodiments and applications, those skilled in the art can create additional embodiments, including various changes, substitutions, and modifications, without departing from the spirit or scope of the present disclosure. Accordingly, it should be noted that the figures and description herein are intended to facilitate understanding of the present system and method, but not to limit the scope of the present invention.

도 5a에는 첫 번째 사용자를 위하여 브랜딩된 웹 페이지 표현을 도시하는 컴퓨터 스크린 디스플레이가 도시되어 있다. 도 5b에는 두 번째 사용자에 대하여 브랜딩된 대응하는 웹 페이지 표현이 있다. 두 사용자 모두 웹 서버(140)의 동일한 URL을 요구하였지만, 각각의 사용자의 신원에 따라 서로 다른 디스플레이를 수신하였다.5A shows a computer screen display showing a branded web page representation for a first user. In FIG. 5B there is a corresponding web page representation branded for the second user. Both users requested the same URL of the web server 140, but received different displays depending on the identity of each user.

Claims (16)

웹 페이지를 동적으로 구성하는 방법에 있어서,In the method of dynamically constructing a web page, 복수의 엘리먼트를 참조하는 웹 페이지를 식별하는 URL을 수신하는 단계;Receiving a URL identifying a web page referencing a plurality of elements; 사용자를 표시하는 사용자 식별자를 수신하는 단계;Receiving a user identifier indicating a user; 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 상기 복수의 엘리먼트의 각각을 평가하는 단계;Evaluating each of the plurality of elements based on the user identifier to identify a subset of at least one element the user is authorized to access; 상기 사용자와 관련된 데이터 변환 사양을 결정하는 단계;Determining a data conversion specification associated with the user; 상기 사용자와 관련된 데이터 표시 사양을 결정하는 단계; 및Determining a data presentation specification associated with the user; And 상기 엘리먼트의 서브세트의 각각을 변환 및 표현하는 단계Transforming and representing each of the subset of elements 를 포함하는 것을 특징으로 하는 방법.Method comprising a. 제1항에 있어서, 상기 사용자 식별자에 기초하여 역할을 결정하는 단계를 더 포함하고, 상기 복수의 엘리먼트의 각각을 평가하는 단계는 상기 사용자의 역할에 기초하여 수행되는 것을 특징으로 하는 방법.2. The method of claim 1, further comprising determining a role based on the user identifier, wherein evaluating each of the plurality of elements is performed based on the role of the user. 제1항에 있어서, 상기 사용자 식별자에 기초하여 제휴 관계(affiliation)를 결정하는 단계를 더 포함하고, 상기 복수의 엘리먼트의 각각을 평가하는 단계는 상기 사용자의 제휴 관계에 기초하여 수행되는 것을 특징으로 하는 방법.The method of claim 1, further comprising determining an affiliation based on the user identifier, wherein evaluating each of the plurality of elements is performed based on an affiliation of the user. How to. 제3항에 있어서, 상기 데이터 표현 사양은 상기 사용자의 제휴 관계에 기초하여 표현된 브랜딩 데이터(branding data)를 포함하는 것을 특징으로 하는 방법.4. The method of claim 3, wherein the data representation specification includes branding data expressed based on the affiliation of the user. 제1항에 있어서, 환경 변수를 정의하는 단계와, 상기 데이터 변환 사양 및 상기 데이터 표시 사양에 대한 사용자들 간의 동시 액세스를 가능하게 하는 단계를 더 포함하는 것을 특징으로 하는 방법.2. The method of claim 1 further comprising defining an environment variable and enabling concurrent access between users to the data conversion specification and the data presentation specification. 웹 페이지를 동적으로 구성하는 시스템에 있어서,In a system for dynamically constructing web pages, 프로세서;A processor; 상기 프로세서의 동작을 제어하는 프로세서 실행 가능 명령어를 저장하기 위하여 상기 프로세서에 접속된 메모리;A memory coupled to the processor for storing processor executable instructions for controlling the operation of the processor; 를 포함하고, 상기 프로세서 실행 가능 명령어는The processor executable instructions include 복수의 엘리먼트를 참조하는 웹 페이지를 식별하는 URL을 수신하는 명령어;Instructions for receiving a URL identifying a web page that references a plurality of elements; 사용자를 표시하는 사용자 식별자를 수신하는 명령어;Instructions for receiving a user identifier representing a user; 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 상기 복수의 엘리먼트의 각각을 평가하는 명령어;Evaluating each of the plurality of elements based on the user identifier to identify a subset of at least one element that the user is authorized to access; 상기 사용자와 관련된 데이터 변환 사양을 결정하는 명령어;Determining a data conversion specification associated with the user; 상기 사용자와 관련된 데이터 표시 사양을 결정하는 명령어; 및Instructions for determining a data presentation specification associated with the user; And 상기 엘리먼트의 서브세트의 각각을 변환 및 표현하는 명령어Instructions for transforming and representing each of the subset of elements 를 포함하는 것을 특징으로 하는 시스템.System comprising a. 제6항에 있어서, 상기 사용자 식별자에 기초하여 역할을 결정하는 명령어를 더 포함하고, 상기 복수의 엘리먼트의 각각을 평가하는 명령어는 상기 사용자의 역할을 평가하는 명령어를 포함하는 것을 특징으로 하는 시스템.7. The system of claim 6, further comprising instructions for determining a role based on the user identifier, wherein the instructions for evaluating each of the plurality of elements includes instructions for evaluating a role of the user. 제6항에 있어서, 상기 사용자 식별자에 기초하여 제휴 관계를 결정하는 명령어를 더 포함하고, 상기 복수의 엘리먼트의 각각을 평가하는 명령어는 상기 사용자의 제휴 관계를 평가하는 명령어를 포함하는 것을 특징으로 하는 시스템.7. The method of claim 6, further comprising instructions for determining an affiliation based on the user identifier, wherein the instructions for evaluating each of the plurality of elements includes instructions for evaluating an affiliation of the user. system. 제8항에 있어서, 상기 사용자의 제휴 관계에 기초하여 표현된 브랜딩 데이터를 표현하는 명령어를 더 포함하는 것을 특징으로 하는 시스템.The system of claim 8, further comprising instructions for expressing branding data expressed based on the affiliation of the user. 제6항에 있어서, 환경 변수를 정의하고 상기 데이터 변화 사양 및 상기 데이터 표시 사양에 대한 사용자들 간의 동시 액세스를 가능하게 하는 명령어를 더 포함하는 것을 특징으로 하는 시스템.7. The system of claim 6, further comprising instructions defining environment variables and enabling concurrent access between users to the data change specification and the data presentation specification. 웹 페이지를 동적으로 구성하는 장치에 있어서,In a device for dynamically constructing a web page, 복수의 엘리먼트를 참조하는 웹 페이지를 식별하는 URL을 수신하는 수단;Means for receiving a URL identifying a web page that references a plurality of elements; 사용자를 표시하는 사용자 식별자를 수신하는 수단;Means for receiving a user identifier representing a user; 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 상기 복수의 엘리먼트의 각각을 평가하는 수단;Means for evaluating each of the plurality of elements based on the user identifier to identify a subset of at least one element the user is authorized to access; 상기 사용자와 관련된 데이터 변환 사양을 결정하는 수단;Means for determining a data conversion specification associated with the user; 상기 사용자와 관련된 데이터 표시 사양을 결정하는 수단; 및Means for determining a data presentation specification associated with the user; And 상기 엘리먼트의 서브세트의 각각을 변환 및 표현하는 수단Means for transforming and representing each of the subset of elements 을 포함하는 것을 특징으로 하는 장치.Apparatus comprising a. 제11항에 있어서, 상기 사용자 식별자에 기초하여 역할을 결정하는 수단을 더 포함하고, 상기 평가하는 수단은 상기 사용자의 역할에 기초하여 동작하는 것을 특징으로 하는 장치.12. The apparatus of claim 11, further comprising means for determining a role based on the user identifier, wherein the means for evaluating operates based on the role of the user. 제11항에 있어서, 상기 사용자 식별자에 기초하여 제휴 관계를 결정하는 수단을 더 포함하고, 상기 평가하는 수단은 상기 사용자의 제휴 관계에 기초하여 동작하는 것을 특징으로 하는 장치.12. The apparatus of claim 11, further comprising means for determining an affiliation based on the user identifier, the means for evaluating based on the affiliation of the user. 제13항에 있어서, 상기 사용자의 제휴 관계에 기초하여 브랜딩 데이터를 표현하는 수단을 더 포함하는 것을 특징으로 하는 장치.14. The apparatus of claim 13, further comprising means for presenting branding data based on the affiliation of the user. 제11항에 있어서, 상기 데이터 변화 사양 및 상기 데이터 표시 사양에 대한 사용자들 간의 동시 액세스를 가능하게 하는 수단을 더 포함하는 것을 특징으로 하는 장치.12. The apparatus of claim 11, further comprising means for enabling simultaneous access between users of the data change specification and the data presentation specification. 웹 페이지를 동적으로 생성하는 프로세싱 명령어로 인코딩된 컴퓨터 판독 가능 저장 매체에 있어서,A computer readable storage medium encoded with processing instructions for dynamically generating a web page, the method comprising: 복수의 엘리먼트를 참조하는 웹 페이지를 식별하는 URL을 수신하는 컴퓨터 판독 가능 명령어;Computer readable instructions for receiving a URL identifying a web page that references a plurality of elements; 사용자를 표시하는 사용자 식별자를 수신하는 컴퓨터 판독 가능 명령어;Computer readable instructions for receiving a user identifier representing a user; 상기 사용자가 액세스하도록 인증된 적어도 하나의 엘리먼트의 서브세트를 식별하기 위하여 상기 사용자 식별자에 기초하여 상기 복수의 엘리먼트의 각각을 평가하는 컴퓨터 판독 가능 명령어;Computer readable instructions for evaluating each of the plurality of elements based on the user identifier to identify a subset of at least one element the user is authorized to access; 상기 사용자와 관련된 데이터 변환 사양을 결정하는 컴퓨터 판독 가능 명령어;Computer readable instructions for determining a data conversion specification associated with the user; 상기 사용자와 관련된 데이터 표시 사양을 결정하는 컴퓨터 판독 가능 명령어; 및Computer readable instructions for determining a data presentation specification associated with the user; And 상기 엘리먼트의 서브세트의 각각을 변환 및 표현하는 컴퓨터 판독 가능 명령어Computer readable instructions for transforming and representing each of the subset of elements 를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 저장 매체.And a computer readable storage medium.
KR10-2003-7010078A 2001-01-31 2002-01-31 System and method for dynamic web page generation KR20030094241A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US26522401P 2001-01-31 2001-01-31
US26522301P 2001-01-31 2001-01-31
US60/265,224 2001-01-31
US60/265,223 2001-01-31
PCT/US2002/002972 WO2002060558A2 (en) 2001-01-31 2002-01-31 Systeme and method for dynamic web page generation

Publications (1)

Publication Number Publication Date
KR20030094241A true KR20030094241A (en) 2003-12-11

Family

ID=26951059

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2003-7010005A KR20040015052A (en) 2001-01-31 2002-01-31 System and method for defining and presenting a composite web page
KR10-2003-7010078A KR20030094241A (en) 2001-01-31 2002-01-31 System and method for dynamic web page generation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR10-2003-7010005A KR20040015052A (en) 2001-01-31 2002-01-31 System and method for defining and presenting a composite web page

Country Status (7)

Country Link
EP (2) EP1370985A2 (en)
JP (1) JP2005506593A (en)
KR (2) KR20040015052A (en)
CN (1) CN1524238A (en)
CA (2) CA2436542A1 (en)
IL (2) IL157137A0 (en)
WO (2) WO2002060558A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484243B2 (en) * 2003-09-30 2009-01-27 International Business Machines Corporation Heterogenous domain-based routing mechanism for user authentication
CN100444163C (en) * 2005-03-29 2008-12-17 腾讯科技(深圳)有限公司 Configuration method for webpage display
EP1710715A1 (en) * 2005-04-06 2006-10-11 Amadeus s.a.s Dynamic method for visually rendering windows to display and input data on a computer screen
US20070157082A1 (en) * 2006-01-04 2007-07-05 Computer Associates Think, Inc. Web portal layout manager system and method
US7620653B1 (en) * 2006-02-01 2009-11-17 Amazon Technologies, Inc. Service for retrieving and aggregating data used to generate web pages or other content items
US9418171B2 (en) * 2008-03-04 2016-08-16 Apple Inc. Acceleration of rendering of web-based content
US8289333B2 (en) 2008-03-04 2012-10-16 Apple Inc. Multi-context graphics processing
US10803232B2 (en) 2013-06-06 2020-10-13 International Business Machines Corporation Optimizing loading of web page based on aggregated user preferences for web page elements of web page

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
JP3202968B2 (en) * 1998-06-30 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション Display control information generation method and computer
US6128655A (en) * 1998-07-10 2000-10-03 International Business Machines Corporation Distribution mechanism for filtering, formatting and reuse of web based content

Also Published As

Publication number Publication date
WO2002060558A2 (en) 2002-08-08
WO2002060558A3 (en) 2003-10-09
WO2002061562A3 (en) 2004-01-08
EP1370985A2 (en) 2003-12-17
JP2005506593A (en) 2005-03-03
CA2436538A1 (en) 2002-08-08
KR20040015052A (en) 2004-02-18
CN1524238A (en) 2004-08-25
CA2436542A1 (en) 2002-08-08
WO2002061562A2 (en) 2002-08-08
IL157137A0 (en) 2004-02-08
EP1395896A2 (en) 2004-03-10
IL157138A0 (en) 2004-02-08

Similar Documents

Publication Publication Date Title
US7716591B2 (en) System and method for dynamically generating a web page
Ceri et al. Model-driven development of context-aware web applications
US6456308B1 (en) Embedded web server
US8700988B2 (en) Selectively interpreted portal page layout template
US5973696A (en) Embedded web server
US7873668B2 (en) Application data binding
US7877682B2 (en) Modular distributed mobile data applications
US7194683B2 (en) Representing and managing dynamic data content for web documents
US7308646B1 (en) Integrating diverse data sources using a mark-up language
US20040103090A1 (en) Document search and analyzing method and apparatus
US20060015843A1 (en) Semantic system for integrating software components
US20050192771A1 (en) System and method for dynamically integrating remote portal fragments into a local portal
US8122346B2 (en) Methods and systems for merging software-level objects with document-level objects in a document publishing environment
WO2005052811A1 (en) Searching in a computer network
CA2687479A1 (en) Method and system for generating an aggregate website search database using smart indexes for searching
JP2004334866A (en) Conversion of web site summary through tag rib
Lehto et al. Real‐time generalization of XML‐encoded spatial data for the Web and mobile devices
JP2003288143A (en) Method for automatically generating user interface
JPWO2003060764A1 (en) Information retrieval system
KR20030094241A (en) System and method for dynamic web page generation
US20080059429A1 (en) Integrated search processing method and device
JP2007172482A (en) Information display system
JP2007058804A (en) Content delivery system, content delivery method and content delivery program
KR20000024526A (en) Method for saving search data on Internet
Agosti et al. Managing the interactions between handheld devices, mobile applications, and users

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid