Information technology — Object Management Group — Common Object Request Broker Architecture (CORBA) — Part 1: Interfaces

ISO/IEC 19500-1:2012 specifies the CORBA Object Model and uses concepts from that model to define the operation of the Object Request Broker (ORB). The ORB is the basic mechanism by which objects transparently make requests to, and receive responses from, each other on the same machine or across a network. A client need not be aware of the mechanisms used to communicate with or activate an object, how the object is implemented, or where the object is located.

Technologies de l'information — OMG (Object Management Group) — CORBA (Common Object Request Broker Architecture) — Partie 1: Interfaces

General Information

Status
Published
Publication Date
19-Apr-2012
Current Stage
9060 - Close of review
Start Date
03-Mar-2028
Ref Project

Buy Standard

Standard
ISO/IEC 19500-1:2012 - Information technology -- Object Management Group -- Common Object Request Broker Architecture (CORBA)
English language
509 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 19500-1:2012 - Information technology -- Object Management Group -- Common Object Request Broker Architecture (CORBA)
English language
509 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)

INTERNATIONAL ISO/IEC
STANDARD 19500-1
First edition
2012-04-15

Information technology — Object
Management Group — Common Object
Request Broker Architecture (CORBA) —
Part 1:
Interfaces
Technologies de l'information — OMG (Object Management Group) —
CORBA (Common Object Request Broker Architecture) —
Partie 1: Interfaces




Reference number
ISO/IEC 19500-1:2012(E)
©
ISO/IEC 2012

---------------------- Page: 1 ----------------------
ISO/IEC 19500-1:2012(E)


This CD-ROM contains the publication ISO/IEC 19500-1:2012 in portable document format (PDF), which can
be viewed using Adobe® Acrobat® Reader.
Adobe and Acrobat are trademarks of Adobe Systems Incorporated.


COPYRIGHT PROTECTED DOCUMENT


©  ISO/IEC 2012
All rights reserved. Unless required for installation or otherwise specified, no part of this CD-ROM may be reproduced, stored in a retrieval
system or transmitted in any form or by any means without prior permission from ISO. Requests for permission to reproduce this product
should be addressed to
ISO copyright office  Case postale 56  CH-1211 Geneva 20  Switzerland
Internet copyright@iso.org
Reproduction may be subject to royalty payments or a licensing agreement.
Violators may be prosecuted.
Published in Switzerland

ii © ISO/IEC 2012 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 19500-1:2012(E)
Installation
If this publication has been packaged as a zipped file, do NOT open the file from the CD-ROM, but copy it to
the desired location in your local enviro
...

INTERNATIONAL ISO/IEC
STANDARD 19500-1
First edition
2012-04-15

Information technology — Object
Management Group — Common Object
Request Broker Architecture (CORBA) —
Part 1:
Interfaces
Technologies de l'information — OMG (Object Management Group) —
CORBA (Common Object Request Broker Architecture) —
Partie 1: Interfaces




Reference number
ISO/IEC 19500-1:2012(E)
©
ISO/IEC 2012

---------------------- Page: 1 ----------------------
ISO/IEC 19500-1:2012(E)

COPYRIGHT PROTECTED DOCUMENT


©  ISO/IEC 2012
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56  CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland

ii © ISO/IEC 2012 – All rights reserved

---------------------- Page: 2 ----------------------
ISO/IEC 19500-1:2012(E)
Table of Contents
Foreword .xvii
Introduction .xix
1 Scope . 1
2 Conformance and Compliance . 1
3 Normative References . 1
4 Additional Information . 2
4.1 Outline of Contents. 2
4.2 Keywords for Requirement Statements. 3
5 The Object Model . 5
5.1 General. 5
5.2 Overview. 5
5.3 Object Semantics . 6
5.3.1 Objects .6
5.3.2 Requests .6
5.3.3 Object Creation and Destruction .7
5.3.4 Types .7
5.3.5 Interfaces .8
5.3.6 Value Types .9
5.3.7 Abstract Interfaces .9
5.3.8 Operations .9
5.3.9 Attributes .11
5.4 Object Implementation. 11
5.4.1 The Execution Model: Performing Services .11
5.4.2 The Construction Model .12
6 CORBA Overview . 13
6.1 General. 13
© ISO/IEC 2012 - All rights reserved    iii

---------------------- Page: 3 ----------------------
ISO/IEC 19500-1:2012(E)
6.2 Structure of an Object Request Broker. 13
6.2.1 Object Request Broker .17
6.2.2 Clients .18
6.2.3 Object Implementations .18
6.2.4 Object References .18
6.2.5 OMG Interface Definition Language .19
6.2.6 Mapping of IDL to Programming Languages .19
6.2.7 Client Stubs .19
6.2.8 Dynamic Invocation Interface .19
6.2.9 Implementation Skeleton .20
6.2.10 Dynamic Skeleton Interface .20
6.2.11 Object Adapters .20
6.2.12 ORB Interface .20
6.2.13 Interface Repository .21
6.2.14 Implementation Repository .21
6.3 Example ORBs . 21
6.3.1 Client- and Implementation-resident ORB .21
6.3.2 Server-based ORB .21
6.3.3 System-based ORB .22
6.3.4 Library-based ORB .22
6.4 Structure of a Client. 22
6.5 Structure of an Object Implementation . 23
6.6 Structure of an Object Adapter . 25
6.7 CORBA Required Object Adapter . 26
6.7.1 Portable Object Adapter .26
6.8 The Integration of Foreign Object Systems . 26
7 IDL Syntax and Semantics . 29
7.1 Overview. 29
7.2 Lexical Conventions. 30
7.2.1 Tokens .33
7.2.2 Comments .33
7.2.3 Identifiers .33
7.2.4 Keywords .35
7.2.5 Literals .36
7.3 Preprocessing. 38
7.4 IDL Grammar. 38
iv © ISO/IEC 2012 - All rights reserved

---------------------- Page: 4 ----------------------
ISO/IEC 19500-1:2012(E)
7.5 IDL Specification. 45
7.6 Import Declaration . 45
7.7 Module Declaration. 46
7.8 Interface Declaration . 47
7.8.1 Interface Header .47
7.8.2 Interface Inheritance Specification .47
7.8.3 Interface Body .48
7.8.4 Forward Declaration .48
7.8.5 Interface Inheritance .49
7.8.6 Abstract Interface .51
7.8.7 Local Interface .51
7.9 Value Declaration . 52
7.9.1 Regular Value Type .52
7.9.2 Boxed Value Type .54
7.9.3 Abstract Value Type .55
7.9.4 Value Forward Declaration .55
7.9.5 Valuetype Inheritance .55
7.10 Constant Declaration . 57
7.10.1 Syntax .57
7.10.2 Semantics .58
7.11 Type Declaration . 61
7.11.1 Basic Types .62
7.11.2 Constructed Types .64
7.11.3 Template Types .68
7.11.4 Complex Declarator .69
7.11.5 Native Types .69
7.11.6 Deprecated Anonymous Types .70
7.12 Exception Declaration. 73
7.13 Operation Declaration. 73
7.13.1 Operation Attribute .74
7.13.2 Parameter Declarations .74
7.13.3 Raises Expressions .74
7.13.4 Context Expressions .75
7.14 Attribute Declaration . 76
7.15 Repository Identity Related Declarations . 77
7.15.1 Repository Identity Declaration .77
7.15.2 Repository Identifier Prefix Declaration .78
7.15.3 Repository Id Conflict .79
© ISO/IEC 2012 - All rights reserved    v

---------------------- Page: 5 ----------------------
ISO/IEC 19500-1:2012(E)
7.16 Event Declaration . 79
7.16.1 Regular Event Type .79
7.16.2 Abstract Event Type .80
7.16.3 Event Forward Declaration .80
7.16.4 Eventtype Inheritance .80
7.17 Component Declaration. 80
7.17.1 Component .80
7.17.2 Component Header .81
7.17.3 Component Body .82
7.17.4 Event Sources—publishers and emitters .84
7.17.5 Event Sinks .84
7.17.6 Basic and Extended Components .85
7.18 Home Declaration. 85
7.18.1 Home .85
7.18.2 Home Header .86
7.18.3 Home Body .87
7.19 CORBA Module . 88
7.20 Names and Scoping . 89
7.20.1 Qualified Names .89
7.20.2 Scoping Rules and Name Resolution .90
7.20.3 Special Scoping Rules for Type Names .93
8 ORB Interface . 95
8.1 Overview. 95
8.2 The ORB Operations . 95
8.2.1 ORB Identity .101
8.2.2 Converting Object References to Strings .101
8.2.3 Getting Service Information .102
8.2.4 Creating a New Context .102
8.2.5 Thread-Related Operations .102
8.3 Object Reference Operations . 105
8.3.1 Determining the Object Interface .107
8.3.2 Duplicating and Releasing Copies of Object References .107
8.3.3 Nil Object References .107
8.3.4 Equivalence Checking Operation .108
8.3.5 Probing for Object Non-Existence .108
8.3.6 Object Reference Identity .108
8.3.7 Type Coercion Considerations .110
8.3.8 Getting Policy Associated with the Object .110
vi © ISO/IEC 2012 - All rights reserved

---------------------- Page: 6 ----------------------
ISO/IEC 19500-1:2012(E)
8.3.9 Overriding Associated Policies on an Object Reference .111
8.3.10 Validating Connection .112
8.3.11 Getting the Domain Managers Associated with the Object .112
8.3.12 Getting Component Associated with the Object .113
8.3.13 Getting the ORB .113
8.3.14 LocalObject Operations .113
8.4 ValueBase Operations. 114
8.5 ORB and OA Initialization and Initial References . 115
8.5.1 ORB Initialization .115
8.5.2 Obtaining Initial Object References .117
8.5.3 Configuring Initial Service References . 120
8.6 Context Object. 122
8.6.1 Introduction .122
8.6.2 Context Object Operations .122
8.7 Current Object . 125
8.8 Policy Object. 126
8.8.1 Definition of Policy Object .126
8.8.2 Creation of Policy Objects .127
8.8.3 Usages of Policy Objects .129
8.8.4 Policy Associated with the Execution Environment .129
8.8.5 Specification of New Policy Objects .130
8.8.6 Standard Policies .131
8.9 Management of Policies . 131
8.9.1 Client Side Policy Management .131
8.9.2 Server Side Policy Management .132
8.9.3 Policy Management Interfaces .132
8.10 Management of Policy Domains. 134
8.10.1 Basic Concepts .134
8.10.2 Domain Management Operations .136
8.11 TypeCodes . 138
8.11.1 The TypeCode Interface .138
8.11.2 TypeCode Constants .142
8.11.3 Creating TypeCodes .143
8.12 Exceptions . 148
8.12.1 Definition of Terms .148
8.12.2 System Exceptions .148
8.12.3 Standard System Exception Definitions .150
8.12.4 Standard Minor Exception Codes .156
© ISO/IEC 2012 - All rights reserved    vii

---------------------- Page: 7 ----------------------
ISO/IEC 19500-1:2012(E)
9 Value Type Semantics . 157
9.1 Overview. 157
9.2 Architecture. 157
9.2.1 Abstract Values .158
9.2.2 Operations .158
9.2.3 Value Type vs. Interfaces .159
9.2.4 Parameter Passing .159
9.2.5 Substitutability Issues .160
9.2.6 Widening/Narrowing .161
9.2.7 Value Base Type .161
9.2.8 Life Cycle issues .161
9.2.9 Security Considerations .162
9.3 Standard Value Box Definitions. 162
9.4 Language Mappings . 163
9.4.1 General Requirements .163
9.4.2 Language Specific Marshaling .163
9.4.3 Language Specific Value Factory Requirements .163
9.4.4 Value Method Implementation .164
9.5 Custom Marshaling. 164
9.5.1 Implementation of Custom Marshaling .164
9.5.2 Marshaling Streams .165
9.6 Access to the Sending Context Run Time. 171
10 Abstract Interface Semantics . 173
10.1 Overview. 173
10.2 Semantics of Abstract Interfaces. 173
10.3 Usage Guidelines . 174
10.4 Example. 174
10.5 Security Considerations. 175
10.5.1 Passing Values to Trusted Domains .175
11 Dynamic Invocation Interface . 177
11.1 Overview. 177
11.1.1 Common Data Structures .177
11.1.2 Memory Usage .179
11.1.3 Return Status and Exceptions .179
viii © ISO/IEC 2012 - All rights reserved

---------------------- Page: 8 ----------------------
ISO/IEC 19500-1:2012(E)
11.2 Request Operations. 179
11.2.1 create_request .180
11.2.2 add_arg .182
11.2.3 invoke .182
11.2.4 delete .183
11.2.5 send .183
11.2.6 poll_response .183
11.2.7 get_response .183
11.2.8 sendp .184
11.2.9 prepare .184
11.2.10 sendc .184
11.3 ORB Operations . 185
11.3.1 send_multiple_requests .185
11.3.2 get_next_response and poll_next_response .185
11.4 Polling. 186
11.4.1 Abstract Valuetype Pollable .187
11.4.2 Abstract Valuetype DIIPollable .188
11.4.3 interface PollableSet .188
11.5 List Operations . 189
11.5.1 create_list .190
11.5.2 add_item .190
11.5.3 free .191
11.5.4 free_memory .191
11.5.5 get_count .191
11.5.6 create_operation_list .191
12 Dynamic Skeleton Interface . 193
12.1 Introduction. 193
12.2 Overview. 193
12.3 ServerRequestPseudo-Object. 194
12.3.1 ExplicitRequest State: ServerRequestPseudo-Object .194
12.4 DSI: Language Mapping. 195
12.4.1 ServerRequest’s Handling of Operation Parameters .195
12.4.2 Registering Dynamic Implementation Routines .195
13 Dynamic Management of Any Values . 197
13.1 General. 197
13.2 Overview. 197
© ISO/IEC 2012 - All rights reserved    ix

---------------------- Page: 9 ----------------------
ISO/IEC 19500-1:2012(E)
13.3 DynAny API . 198
13.3.1 Creating a DynAny Object .204
13.3.2 The DynAny Interface .206
13.3.3 The DynFixed Interface .210
13.3.4 The DynEnum Interface .210
13.3.5 The DynStruct Interface .211
13.3.6 The DynUnion Interface .212
13.3.7 The DynSequence Interface .214
13.3.8 The DynArray Interface .215
13.3.9 The DynValueCommon Interface .216
13.3.10 The DynValue Interface .216
13.3.11 The DynValueBox Interface .217
13.4 Usage in C++ Language. 218
13.4.1 Dynamic Creation of CORBA::Any values .218
13.4.2 Dynamic Interpretation of CORBA::Any values .219
14 The Interface Repository . 221
14.1 Overview. 221
14.2 Scope of an Interface Repository . 221
14.3 Implementation Dependencies . 223
14.3.1 Managing Interface Repositories .223
14.4 Basics . 224
14.4.1 Names and Identifiers .224
14.4.2 Types and TypeCodes .225
14.4.3 Interface Repository Objects .225
14.4.4 Struc
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.