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
06-Sep-2017
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.