Information technology — Object Management Group — Common Object Request Broker Architecture (CORBA) — Part 2: Interoperability

ISO/IEC 19500-2:2012 specifies a comprehensive, flexible approach to supporting networks of objects that are distributed across and managed by multiple, heterogeneous CORBA-compliant Object Request Brokers (ORBs). The approach to inter-ORB operation is universal, because elements can be combined in many ways to satisfy a very broad range of needs. ISO/IEC 19500-2:2012 specifies ORB interoperability architecture Inter-ORB bridge support General Inter-ORB Protocol (GIOP) for object request broker (ORB) interoperability. GIOP can be mapped onto any connection-oriented transport protocol that meets a minimal set of assumptions defined by this International Standard Internet Inter-ORB Protocol (IIOP), a specific mapping of the GIOP which runs directly over connections that use the Internet Protocol and the Transmission Control Protocol (TCP/IP connections) CORBA Security Attribute Service (SAS) protocol and its use within the CSIv2 architecture to address the requirements of CORBA security for interoperable authentication, delegation, and privileges ISO/IEC 19500-2:2012 provides a widely implemented and used particularization of ITU-T Rec. X.931 | ISO/IEC 14752. It supports interoperability and location transparency in ODP systems.

Technologies de l'information — OMG (Object Management Group) — CORBA (Common Object Request Broker Architecture) — Partie 2: Interopérabilité

General Information

Status
Published
Publication Date
19-Apr-2012
Current Stage
9060 - Close of review
Start Date
06-Sep-2017
Ref Project

RELATIONS

Buy Standard

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

Standards Content (sample)

INTERNATIONAL ISO/IEC
STANDARD 19500-2
Second edition
2012-04-15
Information technology — Object
Management Group — Common Object
Request Broker Architecture (CORBA) —
Part 2:
Interoperability
Technologies de l'information — OMG (Object Management Group) —
CORBA (Common Object Request Broker Architecture) —
Partie 2: Interopérabilité
Reference number
ISO/IEC 19500-2:2012(E)
ISO/IEC 2012
---------------------- Page: 1 ----------------------
ISO/IEC 19500-2: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-2:2012(E)
Table of Contents

Foreword ..............................................................................ix

Introduction ..........................................................................xi

1 Scope ............................................................................... 1

2 Conformance and Compliance ........................................ 1

2.1 Unreliable Multicast .......................................................................... 2

3 Normative References ..................................................... 2

3.1 Other Specifications ......................................................................... 3

4 Terms and definitions ....................................................... 3

4.1 Recommendations | International Standards.................................... 4

4.2 Terms Defined in this Part of ISO/IEC 19500................................... 4

4.3 Keywords for Requirment statements .............................................. 5

5 Symbols (and abbreviated terms) .................................... 6
6 Interoperability Overview ................................................. 7

6.1 General............................................................................................. 7

6.2 Elements of Interoperability .............................................................. 7

6.2.1 ORB Interoperability Architecture ...............................................................7

6.2.2 Inter-ORB Bridge Support ...........................................................................7

6.2.3 General Inter-ORB Protocol (GIOP) ...........................................................8

6.2.4 Internet Inter-ORB Protocol (IIOP)® ...........................................................8

6.2.5 Environment-Specific Inter-ORB Protocols (ESIOPs) .................................9

6.3 Relationship to Previous Versions of CORBA .................................. 9

6.4 Examples of Interoperability Solutions ........................................... 10

6.4.1 Example 1 .................................................................................................10

6.4.2 Example 2 .................................................................................................10

© ISO/IEC 2012 - All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 19500-2:2012(E)

6.4.3 Example 3 .................................................................................................10

6.4.4 Interoperability Compliance ......................................................................10

6.5 Motivating Factors .......................................................................... 13

6.5.1 ORB Implementation Diversity ..................................................................13

6.5.2 ORB Boundaries .......................................................................................13

6.5.3 ORBs Vary in Scope, Distance, and Lifetime ...........................................13

6.6 Interoperability Design Goals.......................................................... 14

6.6.1 Non-Goals .................................................................................................14

7 ORB Interoperability Architecture ................................... 15

7.1 Overview......................................................................................... 15

7.1.1 Domains ....................................................................................................15

7.1.2 Bridging Domains ......................................................................................15

7.2 ORBs and ORB Services................................................................ 16

7.2.1 The Nature of ORB Services ....................................................................16

7.2.2 ORB Services and Object Requests .........................................................16

7.2.3 Selection of ORB Services ........................................................................17

7.3 Domains.......................................................................................... 17

7.3.1 Definition of a Domain ...............................................................................18

7.3.2 Mapping Between Domains: Bridging .......................................................19

7.4 Interoperability Between ORBs....................................................... 19

7.4.1 ORB Services and Domains .....................................................................19

7.4.2 ORBs and Domains ..................................................................................20

7.4.3 Interoperability Approaches ......................................................................20

7.4.4 Policy-Mediated Bridging ..........................................................................22

7.4.5 Configurations of Bridges in Networks ......................................................22

7.5 Object Addressing .......................................................................... 23

7.5.1 Domain-relative Object Referencing .........................................................24

7.5.2 Handling of Referencing Between Domains .............................................24

7.6 An Information Model for Object References.................................. 25

7.6.1 What Information Do Bridges Need? ........................................................25

7.6.2 Interoperable Object References: IORs ....................................................25

7.6.3 IOR Profiles ...............................................................................................26

7.6.4 Standard IOR Profiles ...............................................................................28

7.6.5 IOR Components ......................................................................................29

7.6.6 Standard IOR Components .......................................................................29

7.6.7 Profile and Component Composition in IORs ...........................................31

7.6.8 IOR Creation and Scope ...........................................................................32

7.6.9 Stringified Object References ...................................................................32

iv © ISO/IEC 2012 - All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 19500-2:2012(E)

7.6.10 Object URLs ............................................................................................33

7.7 Service Context .............................................................................. 37

7.7.1 Standard Service Contexts .......................................................................38

7.7.2 Service Context Processing Rules ............................................................40

7.8 Coder/Decoder Interfaces .............................................................. 40

7.8.1 Codec Interface .........................................................................................40

7.8.2 Codec Factory ...........................................................................................42

7.9 Feature Support and GIOP Versions.............................................. 43

7.10 Code Set Conversion ................................................................... 45

7.10.1 Character Processing Terminology .........................................................45

7.10.2 Code Set Conversion Framework ...........................................................48

7.10.3 Mapping to Generic Character Environments .........................................54

7.10.4 Example of Generic Environment Mapping .............................................56

7.10.5 Relevant OSFM Registry Interfaces ........................................................56

8 Building Inter-ORB Bridges ............................................ 63

8.1 Introduction..................................................................................... 63

8.2 In-Line and Request-Level Bridging ............................................... 63

8.2.1 In-line Bridging ..........................................................................................64

8.2.2 Request-level Bridging ..............................................................................64

8.2.3 Collocated ORBs ......................................................................................65

8.3 Proxy Creation and Management................................................... 66

8.4 Interface-specific Bridges and Generic Bridges ............................. 66

8.5 Building Generic Request-Level Bridges........................................ 66

8.6 Bridging Non-Referencing Domains ............................................... 67

8.7 Bootstrapping Bridges .................................................................... 68

9 General Inter-ORB Protocol ........................................... 69

9.1 Overview......................................................................................... 69

9.2 Goals of the General Inter-ORB Protocol ....................................... 69

9.3 GIOP Overview............................................................................... 69

9.3.1 Common Data Representation (CDR) ......................................................70

9.3.2 GIOP Message Overview .........................................................................70

9.3.3 GIOP Message Transfer ...........................................................................71

9.4 CDR Transfer Syntax ..................................................................... 71

© ISO/IEC 2012 - All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 19500-2:2012(E)

9.4.1 Primitive Types .........................................................................................72

9.4.2 OMG IDL Constructed Types ....................................................................77

9.4.3 Encapsulation ...........................................................................................79

9.4.4 Value Types ..............................................................................................80

9.4.5 Pseudo-Object Types ...............................................................................87

9.4.6 Object References ....................................................................................93

9.4.7 Abstract Interfaces ....................................................................................93

9.5 GIOP Message Formats................................................................. 93

9.5.1 GIOP Message Header .............................................................................94

9.5.2 Request Message .....................................................................................96

9.5.3 Reply Message .........................................................................................99

9.5.4 CancelRequest Message ........................................................................102

9.5.5 LocateRequest Message ........................................................................103

9.5.6 LocateReply Message ............................................................................104

9.5.7 CloseConnection Message .....................................................................106

9.5.8 MessageError Message ..........................................................................106

9.5.9 Fragment Message .................................................................................106

9.6 GIOP Message Transport............................................................. 107

9.6.1 Connection Management ........................................................................108

9.6.2 Message Ordering ..................................................................................109

9.7 Object Location............................................................................. 110

9.8 Internet Inter-ORB Protocol (IIOP)................................................ 111

9.8.1 TCP/IP Connection Usage ......................................................................111

9.8.2 IIOP IOR Profiles ....................................................................................112

9.8.3 IIOP IOR Profile Components .................................................................114

9.9 Bi-Directional GIOP ...................................................................... 115

9.9.1 Bi-directional IIOP ...................................................................................117

9.10 Bi-directional GIOP policy........................................................... 118

9.11 OMG IDL..................................................................................... 118

9.11.1 GIOP Module .........................................................................................118

9.11.2 IIOP Module ...........................................................................................123

9.11.3 BiDirPolicy Module .................................................................................124

10 Secure Interoperability ............................................... 125

10.1 Overview..................................................................................... 125

10.1.1 Assumptions ..........................................................................................126

10.2 Protocol Message Definitions ..................................................... 127

10.2.1 The Security Attribute Service Context Element ....................................127

vi © ISO/IEC 2012 - All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 19500-2:2012(E)

10.2.2 SAS context_data Message Body Types ..............................................127

10.2.3 Authorization Token Format ..................................................................132

10.2.4 Client Authentication Token Format ......................................................133

10.2.5 Identity Token Format ............................................................................135

10.2.6 Principal Names and Distinguished Names ..........................................136

10.3 Security Attribute Service Protocol ............................................. 137

10.3.1 Compound Mechanisms ........................................................................137

10.3.2 Session Semantics ................................................................................141

10.3.3 TSS State Machine ................................................................................143

10.3.4 CSS State Machine ...............................................................................146

10.3.5 ContextError Values and Exceptions .....................................................149

10.4 Transport Security Mechanisms ................................................. 150

10.4.1 Transport Layer Interoperability .............................................................150

10.4.2 Transport Mechanism Configuration .....................................................150

10.5 Interoperable Object References................................................ 151

10.5.1 Target Security Configuration ................................................................151

10.5.2 Client-side Mechanism Selection ..........................................................160

10.5.3 Client-Side Requirements and Location Binding ...................................161

10.5.4 Server Side Consideration .....................................................................162

10.6 Conformance Levels................................................................... 162

10.6.1 Conformance Level 0 ............................................................................162

10.6.2 Conformance Level 1 ............................................................................163

10.6.3 Conformance Level 2 ............................................................................163

10.6.4 Stateful Conformance ............................................................................164

10.7 Sample Message Flows and Scenarios ..................................... 164

10.7.1 Confidentiality, Trust in Server, and Trust in Client Established

in the Connection ...................................................................................165

10.7.2 Confidentiality and Trust in Server Established in the Connection -

Stateless Trust in Client Established in Service Context .......................167

10.7.3 Confidentiality, Trust in Server, and Trust in Client Established in
the Connection Stateless Trust Association Established in Service

Context ..................................................................................................169

10.7.4 Confidentiality, Trust in Server, and Trust in Client Established in the
Connection - Stateless Forward Trust Association Established in

Service Context ......................................................................................172

10.8 References ................................................................................. 173

10.9 IDL .............................................................................................. 174

10.9.1 Module GSSUP - Username/Password GSSAPI Token Formats .........174

10.9.2 Module CSI - Common Secure Interoperability .....................................175

10.9.3 Module CSIIOP - CSIv2 IOR Component Tag Definitions .....................179

© ISO/IEC 2012 - All rights reserved vii
---------------------- Page: 7 ----------------------
ISO/IEC 19500-2:2012(E)
11 Unreliable Multicast Inter-ORB Protocol ....................183

11.1 Introduction................................................................................. 183

11.1.1 Purpose .................................................................................................183

11.1.2 MIOP Packet ..........................................................................................183

11.1.3 Packet Collection ...................................................................................183

11.1.4 PacketHeader ........................................................................................184

11.1.5 Joining an IP/Multicast Group ................................................................185

11.1.6 Quality Of Service ..................................................................................186

11.1.7 Delivery Requirements ..........................................................................186

11.2 MIOP Object Model .................................................................... 186

11.2.1 Definition ................................................................................................186

11.2.2 Unreliable IP/Multicast Profile Body (UIPMC_ProfileBody) ...................187

11.2.3 Group IOR .............................................................................................188

11.2.4 Extending PortableServer::POA to include Group Operations ..............190

11.2.5 MIOP Gateway ......................................................................................194

11.2.6 Multicast Group Manager ......................................................................194

11.2.7 MIOP URL .............................................................................................210

11.3 Request Issues........................................................................... 211

11.3.1 GIOP Request Message Compatibility ..................................................211

11.3.2 MIOP Request Efficiency .......................................................................211

11.3.3 Client Use Cases ...................................................................................212

11.3.4 Server Use Cases ..................................................................................213

11.4 Consolidated IDL ........................................................................ 213

11.4.1 OMG IDL ................................................................................................213

Annex A - Legal Information.............................................. 221
Annex B - Acknowledgements .......................................... 225
viii © ISO/IEC 2012 - All rights reserved
---------------------- Page: 8 ----------------------
ISO/IEC 19500-2:2012(E)
Foreword

ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO

member bodies). The work of preparing International Standards is normally carried out through ISO technical

committees. Each member body interested in a subject for which a technical committee has been established has the right

to be represented on that committee. International organizations, governmental and non-governmental, in liaison with

ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all

matters of electrotechnical standardization.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of technical committees is to prepare International Standards. Draft International Standards adopted by the

technical committees are circulated to the member bodies for voting. Publication as an International Standard requires

approval by at least 75 % of the member bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO

shall not be held responsible for identifying any or all such patent rights.

ISO/IEC 19500-2 was prepared by Technical Committee ISO/IEC JTC1, Information technology, in collaboration with the

Object Management Group (OMG), following the submission and processing as a Publicly Available Specification (PAS)

of the OMG Common Object Request Broker Architecture (CORBA) specification Part 2 Version 3.1 CORBA

Interoperability.
ISO/IEC 19500-2 is related to:

• ITU-T Recommendation X.902 (1995) | ISO/IEC 10746-2:1996, Information Technology - Open Distributed

Processing - Reference Model: Foundations

• ITU-T Recommendation X.903 (1995) | ISO/IEC 10746-3:1996, Information Technology - Open Distributed

Processing - Reference Model: Architecture

• ITU-T Recommendation X.920 (1997) | ISO/IEC 14750:1997, Information Technology - Open Distributed

Processing - Interface Definition Language

• ISO/IEC 19500-2, Information Technology - Open Distributed Processing - CORBA Specification Part 1:

CORBA Interfaces

• ISO/IEC 19500-3, Information Technology - Open Distributed Processing - CORBA Specification Part 3:

CORBA Components

ISO/IEC 19500 consists of the following parts, under the general title Information technology - Open distributed

processing - CORBA specification:
• Part 1: CORBA Interfaces
• Part 2: CORBA Interoperability
• Part 3: CORBA Components
© ISO/IEC 2012 - All rights reserved ix
---------------------- Page: 9 ----------------------
ISO/IEC 19500-2:2012(E)

It is the common core of the CORBA specification. Optional parts of CORBA, such as mappings to particular

programming languages, Real-time CORBA extensions, and the minimum CORBA profile for embedded systems are

documented in the other specifications that together comprise the complete CORBA specification. Please visit the

CORBA download page at http://www.omg.org/technology/documents/corba_spec_catalog.htm to find the complete

CORBA specification set.

Apart from this Foreword, the text of this International Standard is identical with that for the OMG specification for

CORBA, v3.1.1, Part 2.
x © ISO/IEC 2012 - All rights reserved
---------------------- Page: 10 ----------------------
ISO/IEC 19500-2:2012(E)
Introduction

The rapid growth of distributed processing has led to a need for a coordinating framework for this standardization and

ITU-T Recommendations X.901-904 | ISO/IEC 10746, the Reference Model of Open Distributed Processing (RM-ODP)

provides such a framework. It defines an architecture within which support of distribution, interoperability and portability

can be integrated.

RM-ODP Part 2 (ISO/IEC 10746-2) defines the foundational concepts and modeling framework for describing distributed

systems. The scopes and objectives of the RM-ODP Part 2 and the UML, while related, are not the same and, in a number

of cases, the RM-ODP Part 2 and the UML specification use the same term for concepts which are related but not

identical (e.g., interface). Nevertheless, a specification using the Part 2 modeling concepts can be expressed using UML

with appropriate extensions (using stereotypes, tags, and constraints).

RM-ODP Part 3 (ISO/IEC 10746-3) specifies a generic architecture of open distributed systems, expressed using the

foundational concepts and framework defined in Part 2. Given the relation between UML as a modeling language and Part

3 of the RM-ODP standard, it is easy to show that UML is suitable as a notation for the individual viewpoint

specifications defined by the RM-ODP.

This International Standard for CORBA Interfaces is a standard for the technology specification of an ODP system. It

defines a technology to provide the infrastructure required to support functional distribution of an ODP system, specifying

functions required to manage physical distribution, communications, processing and storage, and the roles of different

technology objects in supporting those functions.
Context of CORBA

The key to understanding the structure of the CORBA architecture is the Reference Model, which consists of the

following components:

• Object Request Broker, which enables objects to transparently make and receive requests and responses in a

distributed environment. It is the foundation for building applications from distributed objects and for

interoperability between applications in hetero- and homogeneous environments. The architecture and

specifications of the Object Request Broker are described in this manual.

• Object Services, a collection of services (interfaces and objects) that support basic functions for using and

implementing objects. Services are necessary to construct any distributed application and are always independent

of application domains. For example, the Life Cycle Service defines conventions for creating, deleting, copying,

and moving objects; it does not dictate how the objects are implemented in an application. Specifications for

Object Services are contained in CORBAservices: Common Object Services Specification.

• Common Facilities, a collection of services that many applications may share, but which are not as fundamental

as the Object Services. For instance, a system management or electronic mail facility could be classified as a

common facility. Information about Common Facilities will be contained in CORBAfacilities: Common

Facilities Architecture.

• Application Objects, which are products of a single vendor on in-house development group that controls their

interfaces. Application Objects correspond to the traditional notion of applications, so they are not standardized

by OMG. Instead, Application Objects constitute the uppermost layer of the Reference Model.

© ISO/IEC 2012 - All rights reserved xi
---------------------- Page: 11 ----------------------
ISO/IEC 19500-2:2012(E)

The Object Request Broker, then, is the core of the Reference Model. It is like a telephone exchange, providing the basic

mechanism for making and receiving calls. Combined with the Object Services, it ensures meaningful communication

between CORBA-compliant applications.

The architecture and specifications described in this standard are aimed at software designers and developers who want to

produce applications that comply with OMG specifications for the Object Request Broker (ORB), or this standard (ISO/

IEC 19500). The benefit of compliance is, in general, to be able to produce interoperable applications that are based on

distributed, interoperating objects. The ORB provides the mechanisms by which objects transparently make requests and

receive responses. Hence, the ORB provides interoperability between applications on different machines in heterogeneous

distributed environments and seamlessly interconnects multiple object systems.
This Part of this International Standard includes a non-normative annex.
xii © ISO/IEC 2012 - All rights reserved
---------------------- Page: 12 ----------------------
INTERNATIONAL STANDARD
...

Questions, Comments and Discussion

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