
. · ~' Object Query Service Revised Submission in response to OMG Object Services Task Force RFP #4 January 4, 1995 Prepared by: Texas Instruments Incorporated Central Research Laboratories 13510 N. Central Expressway, M/S 238 Dallas, TX 75243 Technical Contact: Dr. Craig Thompson tel: +1 (214) 995-0347 fax: +1 (214) 995-8600 email: [email protected] ~ · © Copyright 1995 Texas Instruments Incorporated Texas Instruments Incorporated hereby grants a royalty-free license to the Object Management Group, Inc. (OMG) for world-wide distribution of this document or any derivative works thereof, so long as the OMG reproduces the copyright notices and below paragraphs on all distributed copies. NOTICE The information contained in this document is subject to change without notice. The material in this document is submitted to the OMG for evaluation. Submission of this document does not represent commitment to implement any portion of this specification in the products of the submitters. WHILE THE INFORMATION IN THIS PUBLICATION IS BELIEVED TO BE ACCURATE, THE ABOVE COMPANIES MAKE NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Texas Instruments Incorporated shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material. This document contains information which is protected by copyright. All Rights Reserved. Except as otherwise provided herein, no part of this work may be reproduced or used in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the permission of the copyright owners. All copies of this document must include the copyright and other information contained on this page. The copyright owners grant member companies of the OMG permission to make a limited number of copies of this document (up to fifty copies) for their internal use as part of the OMG evaluation process. The following terms are trademarks of the OMG: OMG, CORBA, ORB, IDL. RESTRICTED RIGHTS LEGEND. Use, duplication, or disclosure by government is subject to restrictions as set forth in subdivision (c) (1) (ii) of the Right of Technical Data and Computer Software Clause at DFARS 252.227.7013. ACKNOWLEDGMENT. This research is sponsored by the Advanced Research Projects Agency under ARPA Order No. A719 and managed by the U.S. Army Research Laboratory under contract DAAA15-94-C-0009. The views and conclusions contained in this document are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of the Advanced Research Projects Agency or the United States Government. Abstract The OMG Object Query Service provides for operations on collections that return collections. More than most OMG object services, the query service represents an important opportunity for convergence between the OMG, ODMG, and ISO/ ANSI SQL communities. Convergence in this area would go a long way in simplifying interoperability problems across enterprise distributed systems and database systems. Design goals and the architecture of the query service are presented, the latter accounting for native, foreign, and scalable, federated query services. A Functional Interface analogous to ODBC is proposed to create or destroy the query service itself or deliver to it queries for processing. A query language OQL(IDL] derived directly from SQL is proposed. A Collection Object Service, expressed in IDL, is needed independently of the object query service. Type Templates for IDL are also independently needed. Finally, mappings from OQL(IDL] to OQL[C++] and to OQL[Relations] (e.g., SQL) are provided. t• 1 Contents 1 Service Description 2 1.1 Design Goals of the Object Query Service . .......... 3 1.1.1 High-Level Objectives of the Object Query Service .. 3 1.1.2 Design Goals of the Object Query Language OQL[IDL] 5 1.1.3 Design Goals of the Object Query Service Architecture 6 1.2 Detailed Description of the Object Query Service 7 1.3 The OQS as a Continuum of Services . 10 1.4 Architecture of the Object Query Service .. 14 1.4.1 Overview of the Architecture . 14 1.4.2 Client and Service Provider Interfaces 14 1.4.3 Classification of Object Query Service Engines and Interfaces 14 1.4.4 Where is the processing done? ..... 17 1.4.5 Communicating Queries Across the ORB ......... 17 2 Service Structure 19 3 Resolution of Technical and Non-Technical Issues 23 4 Service Dependencies 29 4.1 Mandatory Dependencies . 29 4.2 Optional Dependencies . 29 4.3 Other Services that may depend on the Object Query Service 29 5 Relationship to CORBA 30 6 Relationship to the OMG Object Model 31 7 Standards Conformance 33 7.1 Relationship to OMG Standards 33 7.2 Relationship to OSI/ ANSI SQL . 34 7.3 Relationship to ODMG OQL .. 36 8 Open Technical Issues and future Work 39 A OQS functional Interface 41 B BNF for OQL[X] 43 C Object Query Language OQL[IDL) 48 D Object Query Language OQL[C++] 56 E Object Query Language OQL[Relations) (Sketch) 60 F Templates for IDL 64 G Collections Object Service 65 H Collection Indexing Object Service 68 1 Contents 1 Service Description 2 1.1 Design Goals of the Object Query Service . 3 1.1.1 High-Level Objectives of the Object Query Service ... 3 1.1.2 Design Goals of the Object Query Language OQL[IDL] 5 1.1.3 Design Goals of the Object Query Service Architecture 6 1.2 Detailed Description of the Object Query Service 7 1.3 The OQS as a Continuum of Services ... 10 1.4 Architecture of the Object Query Service .. 14 1.4.1 Overview of the Architecture . 14 1.4.2 Client and Service Provider Interfaces 14 1.4.3 Classification of Object Query Service Engines and Interfaces 14 1.4.4 Where is the processing done? ... 17 1.4.5 Communicating Queries Across the ORB 17 2 Service Structure 19 3 Resolution of Technical and Non-Technical Issues 23 4 Service Dependencies 29 4.1 Mandatory Dependencies .... .............. 29 4.2 Optional Dependencies . 29 4.3 Other Services that may depend on the Object Query Service 29 5 Relationship to CORBA 30 6 Relationship to the OMG Object Model 31 7 Standards Conformance 33 7.1 Relationship to OMG Standards 33 7.2 Relationship to OSI/ANSI SQL . 34 7.3 Relationship to ODMG OQL .. 36 8 Open Technical Issues and F\tture Work 39 A OQS functional Interface 41 B BNF for OQL[X] 43 C Object Query Language OQL[IDL] 48 D Object Query Language OQL[C++J 56 E Object Query Language OQL[Relations] (Sketch) 60 F Templates for IDL 64 G Collections Object Service 65 H Collection Indexing Object Service 68 1 SERVICE DESCRIPTION 2 1 Service Description Queries are operations on sets or other kinds of collections of objects that have a predicate-based, declarative specification and that may result in sets or other collections of objects. The pro­ posed Object Query Service (OQS) provides the ability to operate on collections of objects using a predicate-based, declarative language, called OQL[IDL]l, that uses OMG's IDL as the object model and contains query and update statements based directly on the standard SELECT, UPDATE, INSERT, and DELETE statements of SQL. OQL[IDL) allows queries on transient or persistent collec­ tions of IDL objects and permits user-defined IDL functions in the formulation of queries includ­ ing collection-valued and Boolean-valued functions. OQL[IDL] supports queries on semantically different collection types (e.g., multiset, list, array), and makes direct use of IDL-provided data abstraction, behavior, and inheritance. In OQL[IDL), the notions of type and type extent are distinguished, thus allowing multiple collections of a type in an application. Organization of this Document: The remainder of this section describes the overall design goals of the proposed Object Query (1.1), presents the detailed description of the Service and how it meets the several requirements listed in OMG OSTF RFP #4 (1.2), describes the continuum of services that an OQS should provide (1.3), and presents the architecture of the proposed Object Query Service that meets the design goals and provides the required functionality (1.4). Section 2 outlines the structure of the OQS and provides pointers to appendices containing the details. Section 3 identifies and resolves technical and non-technical issues. Section 4 lists the various services dependencies of and on the OQS. Section 5 discusses the relationship of the proposed OQS to CORBA. Section 6 discusses the relationship of the proposed OQS to the OMG object model IDL. Section 7 identifies standards to which the OQS must conform and summarizes the level of conformance reached. Section 8 identifies open technical issues and required future work. Details of the material from the body of the proposal are contained in a number of appendices. 1 0QL[X) is read "OQL of X" where X is an object or data model. OQL[X) is a parameterized grammar for SQL where non-terminals are defined in the BNF of the host language. OQL[IDL) is the Object Query Service applied to the object model IDL. Similarly, OQL(C++] is the Object Query Service applied to the object model C++ and OQL[Relations), which is equivalent to SQL, is the Object Query Service applied to the SQL data model based on tables. 1 SERVICE DESCRIPTION 3 Appendix A describes the OQS Functional Interface through which OQS instances are created, connected to, and passed queries. Appendix B provides a BNF grammar for the proposed query language template OQL[X], which is based directly on SQL.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages75 Page
-
File Size-