KR100490750B1 - Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans - Google Patents
Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans Download PDFInfo
- Publication number
- KR100490750B1 KR100490750B1 KR10-2001-0086320A KR20010086320A KR100490750B1 KR 100490750 B1 KR100490750 B1 KR 100490750B1 KR 20010086320 A KR20010086320 A KR 20010086320A KR 100490750 B1 KR100490750 B1 KR 100490750B1
- Authority
- KR
- South Korea
- Prior art keywords
- bean
- ejb
- partner
- source
- persistent state
- 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.)
- Expired - Fee Related
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2423—Interactive query statement specification based on a database schema
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 엔터프라이즈 응용 시스템을 개발하기 위한 서버측 자바 표준인 SUN 사의 EJB 2.0 규격의 상태 객체로 표현된 데이터베이스 엔터티들의 자동화된 상호 관계의 관리 방법에 관한 것으로, 특히 EJB 2.0 규격의 CMP 엔터티 빈의 CMR에 대한 서버측 처리 방법에 관한 것이다. 본 발명은, 먼저 EJB 클라이언트가 서버측의 EJB 빈 객체의 CMR 메소드를 호출하였을 때, EJB 엔터티 빈 간의 관계 (1:1, 1:M 또는 M:1)를 파악하여 이를 메모리 상의 상태 객체에 설정하는 단계, 분산 트랜잭션 완료 후, 설정된 메모리 상의 상태 객체의 관계 필드 값과 외래키 값을 참조하여 실제 RDBMS 상의 데이터베이스 테이블의 형과 메모리 필드의 형을 매핑하여 SQL 쿼리를 생성하는 단계, 생성된 SQL 쿼리를 실제 데이터베이스에 적용하는 단계를 포함한다. 본 발명의 방법에 의하면, EJB 2.0 규격의 웹 응용서버 시스템을 작성할 때, EJB 규격에 명시한 바와 같이 개발자가 관계형 데이터베이스의 테이블 조인 작업을 직접 코딩하지 않고, 컨테이너가 자동화할 수 있는 방법을 제공함으로써, EJB를 이용하여 기업의 업무 로직을 개발할 때의 생산성 향상과 유지, 보수 비용의 절감 효과를 가져올 수 있다.The present invention relates to a method for managing the automated interrelationship of database entities represented by the state object of the EJB 2.0 specification of SUN, a server-side Java standard for developing an enterprise application system. In particular, the CMR of the CMP entity bean of the EJB 2.0 specification Server-side processing method for. In the present invention, first, when an EJB client calls a CMR method of an EJB bean object on the server side, it grasps a relationship (1: 1, 1: M or M: 1) between EJB entity beans and sets it in a state object in memory. After the distributed transaction is completed, generating a SQL query by mapping the type of the memory table and the type of the database table in the actual RDBMS by referring to the relationship field value and foreign key value of the state object in the set memory. Applying to the actual database. According to the method of the present invention, when creating an EJB 2.0 specification web application server system, as described in the EJB specification, by providing a method that can be automated by the container without the developer directly coding the table join operation of the relational database, By using EJB, you can improve productivity, reduce maintenance and maintenance costs when developing business logic.
Description
본 발명은 비즈니스 업무 로직을 작성하는 서버측 분산 컴포넌트 기반 소프트웨어 분야에 속하며, 특히 자바 기반의 관계형 데이터베이스 관련 미들웨어 분야에 관련된다. 본 발명은 CMP(Container Managed Persistence) 필드를 자동으로 관리하는 부분과 더불어 EJB(Enterprise JavaBeans) 규격을 구현한 응용서버 시스템의 영속성 관리 모듈에 응용할 수 있는 미들웨어 시스템에 관한 것이다.The present invention belongs to the field of server-side distributed component-based software for writing business task logic, and in particular to the field of Java-based relational database related middleware. The present invention relates to a middleware system that can be applied to a persistence management module of an application server system that implements an Enterprise JavaBeans (EJB) standard together with a part for automatically managing a container managed persistence (CMP) field.
최근 인터넷 전자상거래, 기업의 인트라넷 정보 시스템이 웹 환경으로의 전환되고 인터넷 포털 시스템이 활성화됨에 따라서, 대용량 비즈니스 업무처리와 업무 로직의 재사용 및 분해조립이 가능하고 개발 및 유지 보수가 편리한 분산 컴포넌트 기반의 응용 서버 시스템의 중요성이 크게 부각되고 있다. 또한, 기업간의 시스템 호환을 위해서 표준화된 개발 API와 이를 통한 비즈니스 응용의 개발이 요구되고 있다.Recently, as the Internet e-commerce, corporate intranet information system has been converted into the web environment and the Internet portal system is activated, it is possible to reuse and disassemble and assemble large-scale business processes and business logic, and to develop and maintain distributed components based on easy development and maintenance. The importance of application server systems is gaining much attention. In addition, development of standardized development APIs and business applications through system compatibility between companies is required.
만약 상기와 같은 분산 컴포넌트 기반의 응용 서버 시스템 및 이를 위한 API(Application Programming Interface) 없이 복잡한 기업용 응용 시스템을 개발한다면, 개발자들은 데이터베이스 관련 로직 뿐만 아니라 EIS 시스템들에 대한 분산 트랜잭션 관리, 사용자에 대한 인증 및 접근 권한 검사, 로직 객체의 인스턴스 관리, 상태 관리와 같은 역할을 담당하는 미들웨어 부분을 직접 코딩해야 할 것이다. 또한, 구축된 시스템을 다른 시스템에 이식하거나, 또 다른 시스템을 작성하고자 할 때는, 개발자가 매번 상기와 같은 역할을 하는 미들웨어 부분을 직접 코딩해야 할 것이다. 응용서버 시스템은 이와 같이 개발자들에 의해 공통적으로 필요한 미들웨어 부분과 비즈니스 로직을 개발, 배포, 구동하기 위한 표준 분산 컴포넌트 아키텍쳐(EJB)를 구현한 컨테이너 부분을 포함하고 있어서, 개발자들이 미들웨어에 대한 부분을 직접 코딩하지 않고 단순히 비즈니스 로직만 코딩함으로써 개발 생산성을 높일 수 있는 시스템이다. 또한, 표준의 분산 컴포넌트 아키텍처에 의해 개발된 비즈니스 로직은 EJB를 지원하는 어떠한 응용서버 시스템에서도 구동이 가능하기 때문에 로직의 재사용성을 높일 수 있다.If you develop a complex enterprise application system without the distributed component-based application server system and the API (Application Programming Interface) for the above, developers can manage not only database-related logic but also distributed transaction management for EIS systems, authentication of users and You'll have to code the middleware pieces that are responsible for such things as access checks, instance management of logic objects, and state management. Also, when porting a built system to another system or writing another system, the developer will have to code the middleware part that plays the above role each time. The application server system includes a middleware part that is commonly required by developers and a container part that implements a standard distributed component architecture (EJB) for developing, distributing, and running business logic. It is a system that can increase development productivity by simply coding business logic instead of coding directly. In addition, business logic developed by the standard distributed component architecture can run on any application server system that supports EJBs, increasing logic reusability.
EJB는 이러한 기업형 응용 시스템 개발자들의 요구사항을 충족하기 위하여 SUN 사에 의해 추진되는 산업계 표준 분산 컴포넌트 아키텍처이다. EJB는 기업형 비즈니스 응용을 작성하는 개발자들에게 빈 객체의 생명주기 관리, 인증 및 접근 권한 검사, 분산 트랜잭션 처리, 사용자 및 객체의 상태관리, 멀티 쓰레드, 커넥션 풀링, 영속성 관리 등과 같은 복잡한 하부 미들웨어의 코딩없이 손쉽게 응용 서버 시스템을 개발할 수 있도록 함으로써, 개발 생산성과 비즈니스 업무의 호환성을 높일 수 있다.EJB is an industry-standard distributed component architecture driven by SUN to meet the requirements of these enterprise application system developers. EJBs write complex underlying middleware for developers writing enterprise business applications such as bean lifecycle management, authentication and access checks, distributed transaction processing, user and object state management, multithreading, connection pooling, and persistence management. By making application server systems easier to develop, you can increase development productivity and business compatibility.
EJB 규격 및 본 발명에서 언급되는 영속성의 개념은 영구 저장 매체인 데이터베이스에 데이터를 저장하는 것을 의미한다, 즉, 메모리 상의 변수와 RDBMS의 특정 기억장소를 매핑시켜서 변수의 값의 변화가 영구 저장 매체에 자동으로 반영되게 하는 기능이다. EJB 규격의 엔터티 빈은 RDBMS 테이블의 로(row) 엔터티를 표현하는 객체이며, 만일, 엔터티 빈에서 제공하는 메소드를 이용하여 빈의 속성을 변경하면, 이 변경은 RDBMS 상의 해당 테이블의 해당 컬럼의 값에 자동으로 반영되는 것이다. 이때, 엔터티 빈을 참조하는 측에서는 전혀 데이터베이스의 테이블 구조 및 RDBMS와의 통신을 고려하지 않게 된다. RDBMS와의 통신을 고려하지 않는다는 것은 SQL 문을 전혀 사용할 필요가 없음을 의미한다. 그러나, 빈에서 영속성 관리 코드를 직접 코딩하는 Bean Managed 방식(BMP EJB 엔터티 빈)의 빈 개발자는 데이터베이스와 객체를 매핑시키는 작업을 스스로 해야 하므로, 어쩔 수 없이 SQL를 다루게 된다. 그러나, 본 발명의 대상인 영속성을 컨테이너가 자동으로 관리하는 Container Managed 방식(CMP EJB 엔터티 빈)의 경우에는, 데이터베이스 매핑 작업을 EBJ 서버의 공급자가 제공하는 툴이 대신 수행하기 때문에, 엔터티 빈을 만들거나 사용하는 측에서 SQL을 전혀 사용할 필요가 없게 된다.The EJB specification and the concept of persistence referred to in the present invention mean that data is stored in a database, which is a permanent storage medium. That is, a variable value is mapped to a permanent storage medium by mapping a variable in memory to a specific storage area of an RDBMS. It is a function to be reflected automatically. An EJB-compliant entity bean is an object that represents a row entity in an RDBMS table. If you change the properties of a bean using the methods provided by the entity bean, this change will cause the value of that column of the table in the RDBMS. Will be reflected automatically. At this time, the entity referencing entity bean does not consider the table structure of the database and the communication with the RDBMS at all. Not considering communication with the RDBMS means that you do not need to use SQL statements at all. However, bean developers of bean managed methods (BMP EJB entity beans) that code their persistence management code directly in the bean are forced to deal with SQL because they have to do their own mapping between databases and objects. However, in the case of the Container Managed method (CMP EJB entity bean) in which the container automatically manages persistence, which is the object of the present invention, the entity mapping is performed by a tool provided by the provider of the EBJ server. There is no need to use SQL at all.
EJB 규격은 현재 버전 2.0 상태이며, 기존의 1.1 규격에 대해 JMS를 준수하는 메시지 서버로부터 전송된 메시지를 처리할 수 있는 메시지 빈의 개념과 상기에서 설명한 엔터티 빈의 개념과 더불어 CMR(Container Managed Relationship)의 개념을 추가하였다. CMR의 개념은 상기의 엔터티 빈의 속성에 주키(Primary Key)를 포함한 필드 값만을 포함하던 개념에 관리 필드 또는 외래키(Foreign Key)를 포함하고, 이에 대한 클라이언트의 속성 변경 즉, 조인 처리를 컨테이너가 자동으로 관리하는 개념이라 할 수 있다.The EJB specification is currently version 2.0, and with the concept of a message bean capable of handling messages sent from a JMS-compliant message server against the existing 1.1 specification, and the concept of entity beans described above, a container managed relationship (CMR). Added the concept of. The concept of CMR includes the management field or foreign key in the concept that only the field value including the primary key is included in the property of the entity bean. Is a concept that is automatically managed.
본 발명은, 현재 상용화된 응용서버 시스템이나 오픈 소스 프로젝트의 EJB 서버 시스템에 적용될 수 있는 CMR 속성의 set 또는 get 메소드에 대한 서버측 처리방법을 제공하고, 단순하고 자동화된 조인 작업의 처리, 메모리 상에서 표현되는 영속성 객체의 상태 관리의 구현 방법을 제공함으로써, 기존 EJB 서버의 구현상의 복잡함으로 인해 발생되는 서버의 전체적인 성능 저하의 단점을 보완하는 것을 목적으로 한다.The present invention provides a server-side processing method for a set or get method of a CMR attribute that can be applied to a commercially available application server system or an EJB server system of an open source project. By providing a method of implementing state management of expressed persistence objects, it aims to compensate for the disadvantages of overall performance degradation of a server caused by the complexity of the existing EJB server.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 EJB 영속 상태 객체로 표현된 데이터베이스 엔터티들의 자동화된 상호 관계 관리 방법은, EJB 클라이언트가 EJB 서버측 소스 빈의 CMR(Container Managed Relationship) 메소드를 호출하는 단계와, 호출된 메소드의 종류가 get 메소드인 경우에, 소스 빈의 영속 상태 객체로부터 파트너 빈과의 관계를 나타내는 관계필드를 추출하는 단계와, 파트너 빈의 조인 객체를 SQL 쿼리를 통해 추출하는 단계와, 조인 객체의 개수에 따라, 조인 객체에 해당하는 EJB 객체를 생성하여 EJB 클라이언트에게 반환하는 EJB 객체 생성 및 반환 단계와, 호출된 메소드의 종류가 set 메소드인 경우에, 소스 빈의 EJB 로컬 객체를 추출하는 단계와, 파트너의 영속 상태 객체 및 상호관계 정보를 추출하는 단계와, 상호관계에 따라 소스 빈 및 파트너 빈의 상태 정보를 설정하는 상태 정보 설정 단계와, 소스 빈과 파트너 빈의 상호관계(1:1, 1:M 또는 M:1)를 파악하며, 파악된 관계에 따라서, 호출된 메소드를 처리하는 메소드 처리 단계와, 메소드 처리 단계의 처리 결과를 RDBMS의 데이터베이스에 적용하는 단계를 포함한다.In order to achieve the above object, the automated correlation management method of the database entities represented by the EJB persistent state object according to the present invention, the EJB client to call the container managed relationship (CMR) method of the EJB server-side source bean And extracting a relation field representing a relationship with a partner bean from the source bean's persistent state object if the type of the called method is a get method, and extracting the join object of the partner bean through an SQL query. The EJB object creation and return step of creating and returning an EJB object corresponding to the join object to the EJB client according to the number of join objects, and the EJB local object of the source bean when the type of the called method is a set method. Extracting the data source; extracting the persistent state object and the correlation information of the partner; The state information setting step of setting the state information of the nugget, and the correlation between the source bean and the partner bean (1: 1, 1: M or M: 1) and processing the called method according to the identified relationship Method processing step, and applying the processing result of the method processing step to the database of the RDBMS.
이하에서 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다. 이 기술 분야의 숙련자라면 이 실시 예를 통해 본 발명의 목적, 특징 및 이점들을 잘 이해할 수 있을 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Those skilled in the art will be able to better understand the objects, features and advantages of the present invention through this embodiment.
먼저, 도 1은 본 발명에 따른 방법이 사용되는 전체 시스템의 구성을 나타낸다.First, Figure 1 shows the configuration of the whole system in which the method according to the invention is used.
도 1을 참조하면, EJB 개발자는 RDBMS 상의 로(row) 데이터를 표현하는 EJB 엔터티 빈(101)을 추상 객체(abstract object)로써 생성한다(102). 여기서, 엔터티(Entity)는 일반적으로 기업에서 관심을 가지고 정보화할 수 있는 사람, 위치, 목적물, 개념, 활동 그리고 사건 등으로 정의할 수 있다. Referring to FIG. 1, an EJB developer creates an EJB entity bean 101 that represents row data on an RDBMS as an abstract object (102). Here, an entity may be defined as a person, a location, an object, a concept, an activity, and an event that can be informatized with interest in a company.
그리고 나서, 작성된 EJB 엔터티 빈(101)을 EJB 서버에 의해 제공되는 도구를 사용하여 유형 객체(Concrete Object) 또는 영속 EJB 엔터티 빈(104) 및 RDBMS의 상태 정보를 담고 있는 영속 상태 객체(Persistent State Object)(105)로 생성하여(103), 컨테이너(113)에 배포한다. 여기서, 컨테이너는 세션 빈, 엔터티 빈, 메시지 빈으로 구성된 EJB 빈의 상태 정보와 개발자가 생성한 메터 데이터, 예를 들어 보안관련 정보, CMR 관련 정보, 트랜잭션 정보 등, 인스턴스의 생명주기 등을 관리하고 최종적으로 메소드의 호출을 담당하는 EJB 서버상의 모듈이다.Then, using the tools provided by the EJB server, the created EJB entity bean 101 is a persistent object that contains state information about the type object or persistent EJB entity bean 104 and the RDBMS. 105 is generated (103), and distributed to the container 113. Here, the container manages the life cycle of the instance such as the state information of the EJB bean composed of session beans, entity beans, and message beans, and meter data generated by the developer, such as security information, CMR information, and transaction information. Finally, the module on the EJB server that is responsible for invoking the method.
유형객체(104)는 컨테이너(113)에 의해 관리되며, 데이터베이스와 매핑되는 필드에 관한 메소드(get 또는 set)와 테이블 간의 관계(Foreign Key)에 관한 메소드(get 또는 set)로 구성되어, 실제로 EJB 서버에서 클라이언트의 빈 메소드 호출에 대해 동작하는 객체이다. 개발자는 상기의 메소드를 제외한 나머지 비즈니스 메소드를 추상 객체에 추가한다. 영속 상태 객체(105)는 RDBMS 테이블의 각 컬럼에 해당되는 정보 속성(주기, 외래키 등)을 담고 있는 EJB 엔터티 빈의 인스턴스 마다 존재하는 속성 객체이다. The type object 104 is managed by the container 113 and consists of a method (get or set) relating to a field mapped to a database and a method (get or set) relating to a relationship (a foreign key) between a table, and in fact, an EJB. An object that acts on an empty method call from a client on the server The developer adds the business methods to the abstract object except for the above method. The persistent state object 105 is an attribute object that exists for each instance of an EJB entity bean that contains information attributes (cycles, foreign keys, etc.) corresponding to each column of the RDBMS table.
클라이언트 사용자(106)로부터 요청된 영속 필드에 관한 처리(107)는 CMP 필드 관리자(109)에 의해 수행되고(108), 테이블 간의 관계 필드에 관한 처리는 CMR 필드 관리자(110)에 의해 수행되어(111), 먼저, 메모리에 존재하는 영속 상태 객체의 값을 변경하고 최종적으로 메소드의 실행 동안 발생된 분산 트랜잭션이 커밋되거나, 분산 트랜잭션 없이 메소드 호출이 실행된 경우에는 메소드 호출이 종료되었을 때 쿼리 관리자(112)에 의해 SQL 형식의 쿼리로 생성되어 RDBMS 상의 값을 변경하게 된다.Processing 107 on persistent fields requested from client user 106 is performed by CMP field manager 109 (108), and processing on relationship fields between tables is performed by CMR field manager 110 ( 111) First, if you change the value of a persistent state object that exists in memory and finally the distributed transaction that occurred during the execution of the method is committed, or if the method invocation is executed without the distributed transaction, then the query manager ( 112) to generate a SQL type query to change the value in the RDBMS.
이하 도 2 내지 6을 참조하여, 본 발명에 의한 방법의 세부적 단계를 설명한다. 2 to 6, the detailed steps of the method according to the invention are described.
도 2는 도 1에 도시된 CMR 필드 관리자(110)의 CMR 메소드 처리 과정을 구체적으로 나타낸 흐름도이다.FIG. 2 is a flowchart illustrating a CMR method processing process of the CMR field manager 110 shown in FIG. 1 in detail.
도 2에 도시된 바와 같이, 클라이언트 사용자(106)가 EJB 엔터티 빈의 CMR get 또는 set 메소드를 호출하면(단계 201), 컨테이너(113)는 먼저 호출된 소스 빈과 파트너 빈과의 관계 정보를 검색하고(단계 202), 클라이언트 사용자(106)가 호출한 메소드가 set 메소드인가 get에 따라 메소드의 처리를 분기한다(단계 203). 이때, 설정 정보는 개발자에 의해 설정되며, 컨테이너(113)가 빈 객체를 서버에 배치할 때, 컨테이너(113)가 정보를 로딩하여 관리한다. 만약 클라이언트 사용자(106)가 호출한 메소드가 CMR get 메소드일 경우에, 컨테이너(113)는 get 메소드에 대한 처리를 수행하고(단계 204), set 메소드일 경우에는 빈 간의 관계에 따라 처리가 또 다시 분기된다(단계 205 내지 207). 그리고 나서, 영속 상태 객체(105)의 관계 필드 값과 외래키 값을 변경 처리한 다음(단계 208), 추후에 분산 트랜잭션이 커밋되거나 메소드 호출이 완료되면, 쿼리 관리자(112)를 통해 RDBMS 상의 데이터베이스에 변경된 정보를 반영하는 조인 처리를 수행한다(단계 209).As shown in FIG. 2, when the client user 106 calls a CMR get or set method of an EJB entity bean (step 201), the container 113 first retrieves the relationship information between the called source bean and the partner bean. (Step 202), and branches the processing of the method depending on whether or not the method called by the client user 106 is a set method (step 203). At this time, the setting information is set by the developer, and when the container 113 places the empty object on the server, the container 113 loads and manages the information. If the method called by the client user 106 is a CMR get method, the container 113 performs processing for the get method (step 204), and if it is a set method, processing is again performed according to the relationship between beans. Branching (steps 205 to 207). Then, after changing the relationship field value and the foreign key value of the persistent state object 105 (step 208), and later a distributed transaction is committed or the method call is completed, the database on the RDBMS through the query manager 112 Join processing reflecting the changed information is performed (step 209).
상기 set 메소드 및 get 메소드의 예를 구체적으로 설명하면 다음과 같다. 우선 get 메소드에 대한 예를 설명하면, 전자상거래 쇼핑몰 시스템에서 주문 정보를 나타내는 주문 테이블과 상품 정보 테이블이 있는 경우, 주문 테이블은 주문한 사용자의 상품 목록의 주키인 주문 번호, 주문훈 상품 번호, 사용자 번호 정보 등을 담고 있고, 상품 번호는 상품 정보 테이블을 참조하는 외래키로 설정된다. 상품 정보 테이블은 주키인 상품 번호, 상품 이름 등의 순수 상품 정보만을 담는다. 이때, 시스템 개발자가 EJB 엔터티 빈으로 소스 빈인 상품 정보 테이블의 엔터티(RDBMS 상의 로 데이터)와 파트너 빈인 주문 정보 테이블의 엔터티를 표현하는 빈을 작성하면, 두 엔터티 빈은 RDBMS 상의 주키와 외래키 관계를 갖는 빈으로써 관계 필드에 관한 메소드의 모든 처리는 컨테이너에 의해서 관리된다. An example of the set method and the get method will be described in detail as follows. First, an example of the get method will be described. If there is an order table and an item information table representing order information in the e-commerce shopping mall system, the order table is an order number, order product number, and user number, which are the primary keys of the ordered user's product list. Information and the like. The product number is set to a foreign key referring to the product information table. The product information table contains only pure product information such as the primary key product number and product name. In this case, if a system developer creates an EJB entity bean that represents an entity in the product information table (raw data on the RDBMS) that is the source bean and an entity in the order information table that is the partner bean, the two entity beans establish a foreign key relationship with the primary key on the RDBMS. All processing of the method on the relation field as a bean is managed by the container.
클라이언트(개발자 또는 쇼핑몰 사용자)가 특정 상품 번호에 대해 모든 주문 번호를 요청하면, 컨테이너는 상품 정보 EJB 엔터티 빈의 getOrder() 메소드를 호출하고, 본 발명에서 제시한 방법에 의해 getOrder() 메소드가 실행되어 현재 상품 엔터티와 관계 있는 RDBMS 상의 조인 엔터티를 반환하게 된다.When a client (developer or shopping mall user) requests all order numbers for a particular product number, the container calls the getOrder () method of the product information EJB entity bean, and the getOrder () method is executed by the method proposed in the present invention. This returns the join entity on the RDBMS associated with the current merchandise entity.
도 3은 도 2에 도시된 get 메소드 처리(단계 204)의 과정을 자세히 나타내고 있다. 먼저 컨테이너(113)는 소스의 영속 상태 객체(105)로부터 관계 값을 저장할 파트너와의 관계 정보 필드를 추출하고(단계 301), 쿼리 관리자(112)를 통하여 RDBMS 상의 조인 값을 SQL 쿼리를 통해 가져온다(단계 302). 이때, 쿼리 관리자(112)는 조인 값의 결과를 EJB 로컬 객체의 형태로 컨테이너(113)에 반환하며, 컨테이너(113)는 쿼리 관리자(112)로부터 반환된 값이 1 개일 경우와 여러 개일 경우를 나누어 처리를 분기한다. 만약, 반환된 값이 1 개일 경우에는, 컨테이너(120)는 파트너의 EJB 로컬 객체를 생성하고(단계 303), 상기에서 추출한 관계 정보에 쿼리 관리자(112)로부터 반환된 파트너의 EJB 로컬 객체를 설정한 다음(단계 304), EJB 로컬 객체를 클라이언트 사용자(106)에게 반환한다(단계 305). 3 details the process of get method processing (step 204) shown in FIG. First, the container 113 extracts a relationship information field with a partner to store the relationship value from the persistent state object 105 of the source (step 301), and obtains a join value on the RDBMS through the SQL query through the query manager 112. (Step 302). In this case, the query manager 112 returns the result of the join value to the container 113 in the form of an EJB local object, and the container 113 may indicate a case where there are one returned value from the query manager 112 and several cases. Divide the process by dividing. If the returned value is one, the container 120 creates an EJB local object of the partner (step 303), and sets the EJB local object of the partner returned from the query manager 112 to the relationship information extracted above. Next (step 304), the EJB local object is returned to the client user 106 (step 305).
또한, 만약 반환된 값이 여러 개일 경우, 컨테이너(120)는 먼저 컬렉션 객체를 생성하고(단계 306), 이 객체에 쿼리 관리자(112)로부터 반환된 모든 EJB 로컬 객체를 추가한 다음(단계 307 내지 309), 최종적으로 상기에서 추출한 영속 상태 객체의 관계 필드에 컬렉션 객체를 설정한 다음(단계 310), 클라이언트 사용자(106)에게 컬렉션 객체를 반환한다(단계 311).In addition, if there are multiple returned values, the container 120 first creates a collection object (step 306), adds all EJB local objects returned from the query manager 112 to the object (steps 307 through 204). 309) Finally, the collection object is set in the relation field of the persistent state object extracted above (step 310), and the collection object is returned to the client user 106 (step 311).
도 4a는 소스와 파트너의 관계가 1:1인 경우의 예를 나타내고 있으며, 도 4b는 도 4a의 경우의 set 메소드의 처리 과정을 나타내고 있다. 4A illustrates an example in which a relationship between a source and a partner is 1: 1, and FIG. 4B illustrates a process of processing a set method in the case of FIG. 4A.
도 4a에 도시된 소스와 파트너의 관계는, A 엔터티 빈 객체의 인스턴스인 a1과 a2, 그리고 B 엔터티 빈 객체의 인스턴스인 b1과 b2가 있을 때, 개발자에 의해 작성된 관계 필드 메소드가 a1.setB(a1.getB())인 경우를 나타내고 있다. The relationship between the source and the partner shown in FIG. 4A is that when there are a1 and a2 instances of the entity bean object and b1 and b2 instances of the entity bean object, the relationship field method created by the developer is a1.setB ( The case of a1.getB ()) is shown.
도 4b를 참조하여 메소드인 a1.setB(a1.getB())의 처리과정을 설명하면 다음과 같다. 먼저 컨테이너(113)는 소스 객체(a2)의 컨테이너로부터 EJB 로컬 객체를 추출하고(단계 401), 파트너의 영속 상태 객체 및 관계 정보를 컨테이너로부터 추출한 다음(단계 402), 소스 객체인 A 빈의 영속 상태 객체의 관계 필드 값의 설정 과정을 수행한다. The process of the method a1.setB (a1.getB ()) will be described with reference to FIG. 4B. First, the container 113 extracts an EJB local object from the container of the source object a2 (step 401), extracts the partner's persistent state object and relationship information from the container (step 402), and then persists the bean A which is the source object. Performs the process of setting the relationship field values of the state object.
A 빈의 영속 상태 객체의 관계 필드 값의 설정 과정은 다음과 같이 수행된다. a1의 영속 상태 객체의 관계 필드(이전 값은 b1의 EJB 로컬 객체)를 NULL로 설정하고(단계 403), a2의 영속 상태 객체의 관계 필드(이전 값은 b2의 EJB 로컬 객체)를 b1의 EJB 로컬 객체로 설정한다(단계 404). 영속 상태 객체에 설정된 값들은 클라이언트 호출이 하나의 분산 트랜잭션 또는 메소드 호출에 대해 여러번 참조될 수 있고, RDBMS 테이블의 객체를 분산 객체로 표현하여 빈 개발자에게 편리성을 주기 위한 것을 목적으로 한다. The process of setting the relation field value of the persistent state object of the A bean is performed as follows. Set the relationship field of the persistent state object of a1 (old value is EJB local object of b1) to NULL (step 403), and set the relationship field of the persistent state object of a2 (old value is EJB local object of b2) to EJB of b1 Set to local object (step 404). The values set in the persistent state object are for the purpose of providing convenience to bean developers by expressing the object of the RDBMS table as a distributed object. The client call can be referred to multiple times for one distributed transaction or method call.
상기 A 빈의 영속 상태 객체의 정보를 설정한 다음, 파트너 객체인 B 빈의 영속 상태 객체의 값 설정과정을 수행한다. 먼저, b2의 영속 상태 객체의 관계 필드 값을 NULL로 설정하고(단계 405), b1의 영속 상태 객체의 필드 값을 a1의 EJB 로컬 객체로 설정한다(단계 406). After setting the information of the persistent state object of the A bean, the process of setting the value of the persistent state object of the B bean which is a partner object is performed. First, the relationship field value of the persistent state object of b2 is set to NULL (step 405), and the field value of the persistent state object of b1 is set to the EJB local object of a1 (step 406).
영속 상태 객체의 설정 과정이 완료되면, RDBMS 테이블의 값을 변경하기 위하여 쿼리 관리자(112)가 참조할 영속 상태 객체 상의 외래키(Foreign Key) 값을 설정하는 과정을 수행한다. 이때, 1:1의 RDBMS 관계에서는 외래키 값이 소스와 파트너 중 어떤 쪽에도 존재할 수 있으므로, 양쪽의 영속 상태 객체에서 설정된 외래키 필드를 검색하여 값이 설정된 쪽의 외래키 값을 파트너 또는 소스의 주키 값으로 설정한다(단계 407 내지 410). 상기의 처리과정이 완료되면 컨테이너(120)는 A 객체의 인스턴스인 a1, a2, b1, b2 객체의 영속 상태 객체의 필드 속성 값을 쿼리 관리자(112)를 통하여 SQL92 형태의 쿼리로 생성하여, RDBMS 테이블 상에 반영한다(단계 411).When the setting process of the persistent state object is completed, a process of setting a foreign key value on the persistent state object to be referred to by the query manager 112 is performed to change the value of the RDBMS table. At this time, since the foreign key value may exist in either the source or the partner in the 1: 1 RDBMS relationship, the foreign key value set in both persistent state objects is searched for the foreign key value of the partner or source. Set to a value (steps 407 to 410). When the above processing is completed, the container 120 generates a field attribute value of the persistent state object of the a1, a2, b1, and b2 objects, which are instances of the A object, by using the query manager 112 as an SQL92 type query, and the RDBMS Reflect on the table (step 411).
도 5a는 소스와 파트너의 관계가 1:M인 경우의 예를 나타내고 있으며, 도 5b는 도 5a의 경우의 set 메소드의 처리 과정을 나타내고 있다. FIG. 5A illustrates an example in which a relationship between a source and a partner is 1: M, and FIG. 5B illustrates a process of processing a set method in the case of FIG. 5A.
도 5a에 도시된 소스와 파트너의 관계는, A 엔터티 빈 객체의 인스턴스인 a1과 a2, 그리고 B 엔터티 빈 객체의 인스턴스인 b11, b12, b13, b21, b22, b23이 있을 때, 개발자에 의해 작성된 관계 필드 메소드가 a2.setB(a1.getB())인 경우를 나타내고 있다. The relationship between the source and the partner shown in FIG. 5A is created by the developer when there are a1 and a2 which are instances of the entity bean object and b11, b12, b13, b21, b22 and b23 which are instances of the entity entity B object. Shows the case where the relation field method is a2.setB (a1.getB ()).
도 5b를 참조하여 메소드인 a2.setB(a1.getB())의 처리과정을 설명하면 다음과 같다. 먼저, 이 메소드의 실행 의미를 클라이언트 사용자(106)의 관점에서 설명하면, 상기의 예에 명시한 바와 같이 특정 상품을 나타내는 상품 엔터티 빈으로부터 그 상품이 포함된 모든 주문 번호를 조인하는 과정에 해당된다.The process of the method a2.setB (a1.getB ()) will be described with reference to FIG. 5B. First, the meaning of execution of this method is explained from the perspective of the client user 106, and as described in the above example, it corresponds to a process of joining all the order numbers including the product from the product entity bean representing the specific product.
도 5a 및 5b에 도시된 1:1 과정과 마찬가지로, 컨테이너(113)는 먼저 소스 빈의 EJB 로컬 객체를 컨테이너로부터 추출하고(단계 501), 파트너의 영속 상태 객체 및 관계 정보를 컨테이너로부터 추출한다(단계 502). 엔터티 A의 영속 상태 객체에 설정하는 과정은, 먼저 a1의 영속 상태 객체의 관계 필드를 NULL로 설정하고(단계 503), a2의 영속 상태 객체의 관계 필드 값을 b1N(여기서 N은 1, 2, 3,...)의 컬렉션 객체로 설정한다(단계 504). 다음으로 엔터티 빈 B의 영속 상태 객체의 정보를 설정한다. 우선 b1N의 각 엔터티들의 영속 상태 객체의 관계 필드 값을 a2의 EJB 로컬 객체로 설정하고(단계 505), b2N의 각 엔터티들의 영속 상태 객체의 관계 필드 값을 NULL로 설정한다(단계 506).As with the 1: 1 process shown in FIGS. 5A and 5B, the container 113 first extracts the EJB local object of the source bean from the container (step 501), and extracts the partner's persistent state object and relationship information from the container ( Step 502). The process of setting the persistent state object of entity A first sets the relation field of the persistent state object of a1 to NULL (step 503), and sets the relationship field value of the persistent state object of a2 to b1N (where N is 1, 2, 3, ...) (step 504). Next, set the information of the persistent state object of entity bean B. First, the relationship field value of the persistent state object of each entity of b1N is set to the EJB local object of a2 (step 505), and the relationship field value of the persistent state object of each entity of b2N is set to NULL (step 506).
영속 상태 객체의 값 설정이 완료되면, 쿼리 관리자(112)에 의해 SQL92 쿼리로 생성될 때 사용될 외래키 값을 설정하는데, 먼저 b2N의 각 엔터티들의 영속 상태 객체의 외래키 값을 a1의 주키 값으로 설정된 NULL로 설정하고(단계 507), b1N의 각 엔터티들의 영속 상태 객체의 외래키 값을 a1의 주키 값에서 a2의 주키 값으로 설정한다(단계 508). b2N의 각 엔터티는 상기의 과정에서 엔터티 A와의 관계가 상실되었고, NULL로 설정된 값은 쿼리 관리자(112)에 의해 조인 삭제(Join Delete) SQL 쿼리로 RDBMS 상에서 엔터티가 삭제된다. 또한, 도 4에 도시된 과정과 달리, 엔터티 B의 영속 상태 객체에서만 외래키 값을 설정하는 이유는 1:M의 관계의 경우 외래키 값은 반드시 M 쪽에 존재하기 때문이다. 상기의 과정이 완료된 후, 쿼리 관리자(112)는 영속 상태 객체에 설정된 외래키 값과 관계 필드의 값으로 참조하여 SQL 쿼리를 생성하여 RDBMS의 값을 변경한다(단계 509).When setting the value of the persistent state object is completed, set the foreign key value to be used when the query manager 112 generates the SQL92 query. First, the foreign key value of the persistent state object of each entity of b2N is used as the primary key value of a1. Set to NULL set (step 507), and set the foreign key value of the persistent state object of each entity of b1N from the primary key value of a1 to the primary key value of a2 (step 508). In the above process, each entity of b2N has lost relationship with entity A, and a value set to NULL is deleted from the RDBMS by a Join Delete SQL query by the query manager 112. In addition, unlike the process illustrated in FIG. 4, the reason for setting the foreign key value only in the persistent state object of entity B is that the foreign key value is necessarily present in the M side in the case of a 1: M relationship. After the above process is completed, the query manager 112 generates an SQL query to change the value of the RDBMS by referring to the foreign key value set in the persistent state object and the relation field value (step 509).
도 6a는 소스와 파트너의 관계가 M:1인 경우의 예를 나타내고 있으며, 도 6b는 도 6a의 경우의 set 메소드의 처리 과정을 나타내고 있다. FIG. 6A illustrates an example in which a relationship between a source and a partner is M: 1, and FIG. 6B illustrates a process of processing a set method in the case of FIG. 6A.
도 6a에 도시된 소스와 파트너의 관계는, A 엔터티 빈 객체의 인스턴스인 a1과 a2, 그리고 B 엔터티 빈 객체의 인스턴스인 b11, b12, b13, b21, b22, b23이 있을 때, 개발자에 의해 작성된 관계 필드 메소드가 a13.setB(a21.getB())인 경우를 나타내고 있다. The relationship between the source and the partner shown in FIG. 6A is created by the developer when there are a1 and a2 instances of the entity bean object and b11, b12, b13, b21, b22, and b23 instances of the entity entity B object. Shows the case where the relation field method is a13.setB (a21.getB ()).
도 6b를 참조하여 메소드인 a2.setB(a1.getB())의 처리과정을 설명하면 다음과 같다. 도 4 및 5에서 도시된 바와 같이, 먼저 컨테이너로부터 소스의 EJB 엔터티 빈의 EJB 로컬 객체를 추출하고(단계 601), 파트너의 영속 상태 객체와 관계 정보를 추출한다(단계 602). 상기의 과정과 마찬가지로 엔터티 A의 영속 상태 객체의 관계 필드 값을 변경하기 위해 a1의 영속 상태 객체의 관계 필드 값(컬렉션 객체)에서 b13 엔터티를 제거하고(단계 603), a2의 영속 상태 객체의 관계 필드 값(컬렉션 객체)에 b13을 추가한다(단계 604). 엔터티 B의 영속 상태 객체의 관계 필드 값을 설정하기 위해, b13의 영속 상태 객체의 관계 필드 값을 a1의 EJB 로컬 객체에서 a2의 EJB 로컬 객체로 변경한다(단계 605). A process of the method a2.setB (a1.getB ()) will be described with reference to FIG. 6B. As shown in Figs. 4 and 5, the EJB local object of the EJB entity bean of the source is first extracted from the container (step 601), and the persistent state object and the relationship information of the partner are extracted (step 602). As in the above process, to change the relationship field value of the persistent state object of entity A, remove the b13 entity from the relationship field value (collection object) of the persistent state object of a1 (step 603), and the relationship of the persistent state object of a2. Add b13 to the field value (collection object) (step 604). To set the relationship field value of the persistent state object of entity B, change the relationship field value of the persistent state object of b13 from the EJB local object of a1 to the EJB local object of a2 (step 605).
상기한 영속 상태 객체의 값의 설정이 완료된 후, 엔터티 b13의 외래키 값을 a1의 주키 값에서 a2의 주키 값으로 변경 설정한다(단계 606). 상기의 과정이 완료되면, 쿼리 관리자(112)에 의해 상기의 관계 필드 값과 외래키 값을 참조하여 SQL 쿼리를 생성하여 RDBMS의 값을 변경한다(단계 607).After the setting of the value of the persistent state object is completed, the foreign key value of the entity b13 is changed and set from the primary key value of a1 to the primary key value of a2 (step 606). When the above process is completed, the query manager 112 generates an SQL query by referring to the relationship field value and the foreign key value to change the value of the RDBMS (step 607).
이상 설명한 바와 같이, 본 발명의 방법은 EJB 2.0 규격을 구현한 다양한 종류의 EJB 2.0 서버에 CMR 관리 모듈로써 적용될 수 있으며, 개발자들은 EJB 2.0 규격의 CMP와 CMR 개념을 비즈니스 로직 작성에 적용하면 기존의 데이터베이스 조인 작업과 같은 복잡한 업무 로직을 단순화할 수 있어서, 응용 시스템의 생산성과 개발의 효율성 증대, 유지 및 보수의 편리성의 증대의 효과를 얻을 수 있다.As described above, the method of the present invention can be applied as a CMR management module to various types of EJB 2.0 servers implementing the EJB 2.0 specification. Developers can apply the CMP and CMR concepts of the EJB 2.0 specification to the creation of business logic. Complex business logic, such as database join operations, can be simplified, resulting in increased application system productivity, development efficiency, and ease of maintenance and maintenance.
도 1은 본 발명에 따른 방법이 사용되는 전체 시스템의 구성을 나타내는 블록도이고, 1 is a block diagram showing the configuration of an entire system in which the method according to the invention is used,
도 2는 도 1에 도시된 CMR 메소드 처리 과정을 구체적으로 나타낸 흐름도이고,FIG. 2 is a flowchart specifically illustrating a CMR method processing process illustrated in FIG. 1;
도 3은 도 2에 도시된 get 메소드 처리의 과정을 구체적으로 나타낸 흐름도이고,3 is a flowchart specifically illustrating a process of a get method processing illustrated in FIG. 2;
도 4a는 소스 빈과 파트너 빈의 상호관계가 1:1인 경우의 예를 나타내는 도이고,4A is a diagram illustrating an example in which a correlation between a source bean and a partner bean is 1: 1;
도 4b는 도 4a에 도시된 경우의 set 메소드의 처리과정을 구체적으로 나타낸 흐름도이고,4B is a flowchart specifically illustrating a process of a set method in the case illustrated in FIG. 4A.
도 5a는 소스 빈과 파트너 빈의 상호관계가 1:M인 경우의 예를 나타내는 도이고,5A is a diagram illustrating an example in which a relationship between a source bean and a partner bean is 1: M,
도 5b는 도 5a에 도시된 경우의 set 메소드의 처리과정을 구체적으로 나타낸 흐름도이고,FIG. 5B is a flowchart specifically illustrating a process of a set method in the case illustrated in FIG. 5A.
도 6a는 소스 빈과 파트너 빈의 상호관계가 M:1인 경우의 예를 나타내는 도이고,FIG. 6A is a diagram illustrating an example in which a correlation between a source bean and a partner bean is M: 1,
도 6b는 도 6a에 도시된 경우의 set 메소드의 처리과정을 구체적으로 나타낸 흐름도이다.FIG. 6B is a flowchart specifically illustrating a process of a set method in the case illustrated in FIG. 6A.
<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>
101 : EJB 엔터티 빈 104 : 영속 EJB 엔터티 빈101: EJB entity bean 104: persistent EJB entity bean
109 : CMP 필드 관리자 110 : CMR 필드 관리자109: CMP Field Manager 110: CMR Field Manager
112 : Query 관리자 113 : 컨테이너112: Query Manager 113: Container
Claims (7)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2001-0086320A KR100490750B1 (en) | 2001-12-27 | 2001-12-27 | Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2001-0086320A KR100490750B1 (en) | 2001-12-27 | 2001-12-27 | Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20030056153A KR20030056153A (en) | 2003-07-04 |
| KR100490750B1 true KR100490750B1 (en) | 2005-05-24 |
Family
ID=32214373
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR10-2001-0086320A Expired - Fee Related KR100490750B1 (en) | 2001-12-27 | 2001-12-27 | Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100490750B1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100473057B1 (en) * | 2002-02-08 | 2005-03-08 | 삼성에스디에스 주식회사 | The drawing method of database coupled report using an outlook method |
| KR100687771B1 (en) * | 2005-05-26 | 2007-03-02 | (주)엠투소프트 | Now, a report generation system using dynamically this method and its method |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000250768A (en) * | 1999-02-26 | 2000-09-14 | Internatl Business Mach Corp <Ibm> | Process method and data processing system for calling method of server object |
| US6269373B1 (en) * | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for persisting beans as container-managed fields |
| US6298478B1 (en) * | 1998-12-31 | 2001-10-02 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
-
2001
- 2001-12-27 KR KR10-2001-0086320A patent/KR100490750B1/en not_active Expired - Fee Related
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6298478B1 (en) * | 1998-12-31 | 2001-10-02 | International Business Machines Corporation | Technique for managing enterprise JavaBeans (™) which are the target of multiple concurrent and/or nested transactions |
| JP2000250768A (en) * | 1999-02-26 | 2000-09-14 | Internatl Business Mach Corp <Ibm> | Process method and data processing system for calling method of server object |
| US6269373B1 (en) * | 1999-02-26 | 2001-07-31 | International Business Machines Corporation | Method and system for persisting beans as container-managed fields |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20030056153A (en) | 2003-07-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8234308B2 (en) | Deliver application services through business object views | |
| US6418448B1 (en) | Method and apparatus for processing markup language specifications for data and metadata used inside multiple related internet documents to navigate, query and manipulate information from a plurality of object relational databases over the web | |
| US7774463B2 (en) | Unified meta-model for a service oriented architecture | |
| US20100115100A1 (en) | Federated configuration data management | |
| US10210185B2 (en) | GINA service orchestration | |
| US9201700B2 (en) | Provisioning computer resources on a network | |
| JP2008532154A (en) | Method, computer program, and system for processing a workflow (integrating data management operations into a workflow system) | |
| CA2404716A1 (en) | Resource creation method and tool | |
| US7099727B2 (en) | Knowledge repository system for computing devices | |
| Wells et al. | Linda implementations in Java for concurrent systems | |
| EP1815349A2 (en) | Methods and systems for semantic identification in data systems | |
| KR100490750B1 (en) | Method for automatically managing relation between database entities represented by using persistent state object of enterprise javabeans | |
| Su et al. | NCL: a common language for achieving rule-based interoperability among heterogeneous systems | |
| Borkar et al. | XML data services | |
| Kozankiewicz et al. | Integration of heterogeneous resources through updatable views | |
| Miller et al. | Warehousing structured and unstructured data for data mining | |
| Manola | Applications of object-oriented database technology in knowledge-based integrated information systems | |
| Li et al. | Business object modeling, validation, and mediation for integrating heterogeneous application systems | |
| Mayr et al. | Model-driven integration and management of data access objects in process-driven soas | |
| Alia et al. | A middleware framework for the persistence and querying of java objects | |
| Blackham et al. | Supporting Pervasive Business via Virtual Database Aggregation | |
| Sathe | Dynamic data warehouses | |
| Uhl | Architectures enabling scalable Internet search | |
| Brugali et al. | A Java Framework for Multi-Tier Web-Centric Applications Development | |
| Och et al. | The COIL data mediator definition language |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E601 | Decision to refuse application | ||
| PE0601 | Decision on rejection of patent |
St.27 status event code: N-2-6-B10-B15-exm-PE0601 |
|
| J201 | Request for trial against refusal decision | ||
| PJ0201 | Trial against decision of rejection |
St.27 status event code: A-3-3-V10-V11-apl-PJ0201 |
|
| AMND | Amendment | ||
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| PB0901 | Examination by re-examination before a trial |
St.27 status event code: A-6-3-E10-E12-rex-PB0901 |
|
| B701 | Decision to grant | ||
| PB0701 | Decision of registration after re-examination before a trial |
St.27 status event code: A-3-4-F10-F13-rex-PB0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20130424 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20140430 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20150513 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20150513 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |