1、raising standards worldwide NO COPYING WITHOUT BSI PERMISSION EXCEPT AS PERMITTED BY COPYRIGHT LAW BSI Standards Publication BS ISO/IEC 19500-3:2012 Information technology Object Management Group Common Object Request Broker Architecture (CORBA) Part 3: ComponentsBS ISO/IEC 19500-3:2012 BRITISH STAN
2、DARD National foreword This British Standard is the UK implementation of ISO/IEC 19500-3:2012. The UK participation in its preparation was entrusted to Technical Committee IST/15, Software and systems engineering. A list of organizations represented on this committee can be obtained on request to it
3、s secretary. This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its correct application. The British Standards Institution 2012. Published by BSI Standards Limited 2012 ISBN 978 0 580 65982 9 ICS 35.080 Compliance with a British Standar
4、d cannot confer immunity from legal obligations. This British Standard was published under the authority of the Standards Policy and Strategy Committee on 30 November 2012. Amendments issued since publication Date Text affectedBS ISO/IEC 19500-3:2012Reference number ISO/IEC 19500-3:2012(E) ISO/IEC 2
5、012INTERNATIONAL STANDARD ISO/IEC 19500-3 First edition 2012-04-15 Information technology Object Management Group Common Object Request Broker Architecture (CORBA) Part 3: Components Technologies de linformation OMG (Object Management Group) CORBA (Common Object Request Broker Architecture) Partie 3
6、: Composants BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3: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 microfil
7、m, without permission in writing from either ISO at the address below or ISOs 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 copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2
8、012 All rights reservedBS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved iii Table of Contents Foreword xi Introduction xiii 1 Scope . 1 2 Conformance and Compliance 1 3 References . 3 3.1 Normative References 3 3.2 Non-normative References . 4 4 Terms and definitions
9、 . 4 4.1 Terms Defined in this International Standard . 4 4.2 Keywords for Requirment statements 7 5 Symbols (and abbreviated terms) 7 6 Component Model 9 6.1 Component Model 9 6.1.1 Component Levels .9 6.1.2 Ports 9 6.1.3 Components and Facets .10 6.1.4 Component Identity .11 6.1.5 Component Homes
10、11 6.2 Component Definition . 11 6.3 Component Declaration 11 6.3.1 Basic Components 11 6.3.2 Equivalent IDL .12 6.3.3 Component Body .13 6.4 Facets and Navigation 13 6.4.1 Equivalent IDL .13 6.4.2 Semantics of Facet References 14 BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3:2012(E
11、) iv ISO/IEC 2012 - All rights reserved 6.4.3 Navigation 14 6.4.4 Provided References and Component Identity 17 6.4.5 Supported interfaces 18 6.5 Receptacles 20 6.5.1 Equivalent IDL .20 6.5.2 Behavior .21 6.5.3 Receptacles Interface 22 6.6 Events .25 6.6.1 Event types 25 6.6.2 EventConsumer Interfac
12、e 26 6.6.3 Event Service Provided by Container 27 6.6.4 Event SourcesPublishers and Emitters 27 6.6.5 Publisher 28 6.6.6 Emitters 29 6.6.7 Event Sinks 30 6.6.8 Events interface .30 6.7 Homes 34 6.7.1 Equivalent Interfaces .34 6.7.2 Primary Key Declarations 36 6.7.3 Explicit Operations in Home Defini
13、tions .37 6.7.4 Home inheritance .38 6.7.5 Semantics of Home Operations .39 6.7.6 CCMHome Interface 41 6.7.7 KeylessCCMHome Interface .42 6.8 Home Finders .42 6.9 Component Configuration .44 6.9.1 Exclusive Configuration and Operational Life Cycle Phases .45 6.10 Configuration with Attributes .46 6.
14、10.1 Attribute Configurators .46 6.10.2 Factory-based Configuration .47 6.11 Component Inheritance 49 6.11.1 CCMObject Interface .50 6.12 Conformance Requirements .51 6.12.1 A Note on Tools .53 6.12.2 Changes to Object Services 53 7 OMG CIDL Syntax and Semantics . 55 7.1 General .55 BS ISO/IEC 19500
15、-3:2012BS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved v 7.2 Lexical Conventions . 55 7.2.1 Keywords .56 7.3 OMG CIDL Grammar 56 7.4 OMG CIDL Specification 58 7.5 Composition Definition 58 7.5.1 Life Cycle Category and Constraints .59 7.6 Home Executor Definition .
16、59 7.7 Home Implementation Declaration . 60 7.8 Storage Home Binding . 61 7.9 Home Persistence Declaration . 61 7.10 Executor Definition . 61 7.11 Segment Definition . 62 7.12 Segment Persistence Declaration 62 7.13 Facet Declaration . 63 7.14 Feature Delegation Specification 63 7.15 Abstract Storag
17、e Home Delegation Specification .64 7.16 Executor Delegation Specification 65 7.17 Abstract Spec Declaration 66 7.18 Proxy Home Declaration . 66 8 CCM Implementation Framework 67 8.1 Introduction . 67 8.2 Component Implementation Framework (CIF) Architecture . 67 8.2.1 Component Implementation Defin
18、ition Language (CIDL) 67 8.2.2 Component persistence and behavior .67 8.2.3 Implementing a CORBA Component .67 8.2.4 Behavioral elements: Executors 68 8.2.5 Unit of implementation : Composition 68 8.2.6 Composition structure 69 8.2.7 Compositions with Managed Storage 75 8.2.8 Relationship between Ho
19、me Executor and Abstract Storage Home .77 8.2.9 Executor Definition 89 8.2.10 Proxy Homes .96 8.2.11 Component Object References .97 BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3:2012(E) vi ISO/IEC 2012 - All rights reserved 8.3 Language Mapping .99 8.3.1 Overview 99 8.3.2 Common In
20、terfaces .100 8.3.3 Mapping Rules .101 9 The Container Programming Model . 109 9.1 General .109 9.2 Introduction .109 9.2.1 External API Types 110 9.2.2 Container API Type .111 9.2.3 CORBA Usage Model 111 9.2.4 Component Categories 111 9.3 The Server Programming Environment 112 9.3.1 Component Conta
21、iners 112 9.3.2 CORBA Usage Model 113 9.3.3 Component Factories 114 9.3.4 Component Activation 114 9.3.5 Servant Lifetime Management .114 9.3.6 Transactions 115 9.3.7 Security 117 9.3.8 Events 117 9.3.9 Persistence 118 9.3.10 Application Operation Invocation .119 9.3.11 Component Implementations .12
22、0 9.3.12 Component Levels .120 9.3.13 Component Categories 120 9.4 Server Programming Interfaces - Basic Components 124 9.4.1 Component Interfaces .124 9.4.2 Interfaces Common to both Container API Types .125 9.4.3 Interfaces Supported by the Session Container API Type 130 9.4.4 Interfaces Supported
23、 by the Entity Container API Type 132 9.5 Server Programming Interfaces - Extended Components 134 9.5.1 Interfaces Common to both Container API Types .134 9.5.2 Interfaces Supported by the Session Container API Type 136 9.5.3 Interfaces Supported by the Entity Container API Type 138 9.6 The Client P
24、rogramming Model 144 9.6.1 Component-aware Clients .144 9.6.2 Component-unaware Clients .148 BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved vii 10 Integrating with Enterprise JavaBeans 151 10.1 Introduction . 151 10.2 Enterprise JavaBeans Com
25、patibility Objectives and Requirements . 152 10.3 CORBA Component Views for EJBs 153 10.3.1 Mapping of EJB to Component IDL definitions 153 10.3.2 Translation of CORBA Component requests into EJB requests .157 10.3.3 Interoperability of the View 158 10.3.4 CORBA Component view Example .160 10.4 EJB
26、views for CORBA Components . 162 10.4.1 Mapping of Component IDL to Enterprise JavaBeans specifications 162 10.4.2 Translation of EJB requests into CORBA Component Requests 164 10.4.3 Interoperability of the View 166 10.4.4 Example .168 10.5 Compliance with the Interoperability of Integration Views
27、169 10.6 Comparing CCM and EJB . 169 10.6.1 The Home Interfaces .170 10.6.2 The Component Interfaces 171 10.6.3 The Callback Interfaces .173 10.6.4 The Context Interfaces 174 10.6.5 The Transaction Interfaces 175 10.6.6 The Metadata Interfaces 176 11 Interface Repository Metamodel 177 11.1 Introduct
28、ion . 177 11.1.1 BaseIDL Package 177 11.1.2 ComponentIDL Package .188 11.2 Conformance Criteria . 196 11.2.1 Conformance Points 197 11.3 MOF DTDs and IDL for the Interface Repository Metamodel . 197 11.3.1 XMI DTD 197 11.3.2 IDL for the BaseIDL Package 222 11.3.3 IDL for the ComponentIDL Package 244
29、 12 CIF Metamodel 263 12.1 CIF Package . 263 12.2 Classes and Associations . 263 BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3:2012(E) viii ISO/IEC 2012 - All rights reserved 12.2.1 ComponentImplDef 264 12.2.2 SegmentDef .265 12.2.3 ArtifactDef 265 12.2.4 Policy .265 12.2.5 HomeImpl
30、Def .266 12.3 Conformance Criteria 267 12.3.1 Conformance Points 267 12.4 MOF DTDs and IDL for the CIF Metamodel .267 12.4.1 XMI DTD 268 12.4.2 IDL for the CIF Package 268 13 Lightweight CCM Profile 275 13.1 Summary 275 13.2 Changes associated with excluding support for persistence 276 13.3 Changes
31、associated with excluding support for introspection, navigation and type-specific operations redundant with generic operations .278 13.4 Changes associated with excluding support for segmentation .279 13.5 Changes associated with excluding support for transactions .280 13.6 Changes associated with e
32、xcluding support for security 280 13.7 Changes associated with excluding support for configurators 281 13.8 Changes associated with excluding support for proxy homes 281 13.9 Changes associated with excluding support for home finders 281 13.10 Changes adding additional restrictions to the extended m
33、odel not represented by exclusions above .282 14 Deployment PSM for CCM . 283 14.1 Overview .283 14.2 Definition of Meta-Concepts .284 14.2.1 Component 284 14.2.2 ImplementationArtifact .285 14.2.3 PackageI 285 14.3 PIM to PSM for CCM Transformation .285 14.3.1 ComponentInterfaceDescription 285 BS I
34、SO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved ix 14.3.2 PlanSubcomponentPortEndpoint 286 14.3.3 Application .286 14.3.4 RepositoryManager .287 14.3.5 SatisfierProperty 287 14.4 PSM for CCM to PSM for CCM for IDL Transformation .287 14.4.1 Generi
35、c Transformation Rules .287 14.4.2 Special Transformation Rules .289 14.4.3 Mapping to IDL 290 14.5 PSM for CCM to PSM for CCM for XML Transformation 290 14.5.1 Generic Transformation Rules .290 14.5.2 Special Transformation Rules .291 14.5.3 Transformation Exceptions and Extensions 295 14.5.4 Inter
36、pretation of Relative References 296 14.5.5 Mapping to XML 297 14.6 Miscellaneous . 297 14.6.1 Entry Points .297 14.6.2 Homes .298 14.6.3 Valuetype Factories .298 14.6.4 Discovery and Initialization 298 14.6.5 Location .299 14.6.6 Segmentation 299 14.7 Migration Issues . 300 14.7.1 Component Impleme
37、ntations .300 14.7.2 Component and Assembly Packages and Metadata .300 14.7.3 Component Deployment Systems .300 14.8 Metadata Vocabulary 301 14.8.1 Implementation Selection Requirements .301 14.8.2 Monolithic Implementation Resource Requirements .301 15 Deployment IDL for CCM . 303 16 XML Schema for
38、 CCM . 317 Annex A - Legal Information . 337 BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3:2012(E) x ISO/IEC 2012 - All rights reserved BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved xi Foreword ISO (the International Organiz
39、ation 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
40、 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. I
41、nternational 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. Publ
42、ication 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
43、rights. ISO/IEC 19500-3 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)
44、specification Part 3 Version 3.1 CORBA Components. ISO/IEC 19500-3 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 Techno
45、logy - 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
46、Part 1: CORBA Interfaces ISO/IEC 19500-3, Information Technology - Open Distributed Processing - CORBA Specification Part 2: CORBA Interoperability ISO/IEC 19500 consists of the following parts, under the general title Information technology - Open distributed processing - CORBA specification: Part
47、1: CORBA Interfaces Part 2: CORBA Interoperability Part 3: CORBA Components BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012 ISO/IEC 19500-3:2012(E) xii ISO/IEC 2012 - All rights reserved It is the common core of the CORBA specification. Optional parts of CORBA, such as mappings to particular programm
48、ing 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 f
49、ind 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 3. BS ISO/IEC 19500-3:2012BS ISO/IEC 19500-3:2012ISO/IEC 19500-3:2012(E) ISO/IEC 2012 - All rights reserved xiii 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 Process