Cover image for Corba 3 fundamentals and programming
Title:
Corba 3 fundamentals and programming
Author:
Siegel, Jon.
Personal Author:
Edition:
Second edition.
Publication Information:
New York : John Wiley & Sons, [2000]

©2000
Physical Description:
xxvi, 899 pages : illustrations ; 24 cm + 1 computer laser optical discs (4 3/4 in.)
Language:
English
ISBN:
9780471295181
Format :
Book

Available:*

Library
Call Number
Material Type
Home Location
Status
Item Holds
Searching...
QA76.9.A73 S4555 2000 Book and Software Set Central Closed Stacks
Searching...

On Order

Summary

Summary

An insider's guide to programming distributed objects using all of CORBA 3's powerful new services and facilities

Building on a new component-based architecture, more robustJava and Internet integration, asynchronous invocation modes, and quality-of-service control, CORBA 3 makes distributed programming more powerful and productive than ever before. In this Second Edition of the bestselling guide to CORBA programming, an OMG insider shows architects and programmers how to make the most of all of these features.

Author and editor Jon Siegel:
* Starts with an overview of CORBA, including all of the features added
* with details of the Object Management Architecture's CORBAservices and CORBAfacilities, including specifications in the CORBAdomains
* Walks you through a tutorial presentation of a real-world distributed CORBA application working the same example on 11 ORBs in the key enterprise programming languages C++, Java, and COBOL

On the CD-ROM you'll find almost everything you need to build and run the example (except a computer, of course):
* The IDL files (identical for all ORBs and languages)
* All source code in C++ , Java, and COBOL
* Makefiles for every ORB discussed
* Sample ORBs and development environments

Contributors include:
Dan Frantz, BEA Systems, Inc.
Patrick Ryan, Expersoft Corp.
Virgil Albaugh, IBM Corp.
Michael Cheng, IBM Corp.
Alan Conway, IONA Technologies PLC
Jim O'Leary, IONA Technologies PLC
Frederic Desjarlais, Inprise Corp.
David Gamble, MERANT plc
Martin Tonge, Peerlogic, Inc.
UML chapter contributed by Cris Kobryn, a coauthor of the UML specification and co-chair of the UML Revision Task Force.
MOF chapter contributed by Sridhar Iyengar, the principal author of the MOF specification.

Visit our Web site at www.wiley.com/ compbooks/


Table of Contents

About the Fontsp. xix
List of Figuresp. xxi
Introductionp. xxiii
Chapter 1 Introducing CORBA and the OMAp. 1
1.1 Heterogeneous Distributed Computingp. 2
1.2 The Internetp. 4
1.3 Object Technologyp. 5
1.4 Object-Oriented Software Integrationp. 6
1.5 CORBA Benefitsp. 11
1.6 What Is the OMG?p. 13
Chapter 2 Technical Overviewp. 15
2.1 Introductionp. 15
2.2 CORBA and the OMAp. 21
2.3 Building a CORBA Objectp. 26
2.4 CORBA-Based Interoperabilityp. 34
2.5 Scalable Serversp. 36
2.6 The Object Management Architecturep. 38
2.7 CORBA 3 Additions to This Architecturep. 46
Chapter 3 Introducing OMG IDLp. 53
3.1 About This Part of the Bookp. 53
3.2 CORBA Compliance and Testingp. 54
3.3 OMG IDL by Examplep. 60
3.4 The Object Interfacep. 73
Chapter 4 Understanding the ORB, Part 1: Client Sidep. 77
4.1 ORB and Client-Side Overviewp. 78
4.2 Client Structure and IDL Stubsp. 79
4.3 The Dynamic Invocation Interfacep. 81
4.4 The Interface Repositoryp. 85
4.5 The ORB Interfacep. 89
Chapter 5 Understanding the ORB, Part 2: Object Implementation (Server) Side, Including the CORBA Component Modelp. 95
5.1 Introductionp. 95
5.2 The CORBA Server-Side Computing Modelp. 96
5.3 What Is a POA and How Is It Used?p. 100
5.4 What CORBA Components Does for Youp. 114
5.5 CCM Shopping Cart Examplep. 115
5.6 Description of the CCMp. 137
Chapter 6 Architecting and Programming for CORBA Interoperabilityp. 159
6.1 What's New about CORBA Interoperability?p. 159
6.2 Various Views of CORBA Interoperabilityp. 160
6.3 Interoperability Basics: ORB-to-ORB Communicationp. 162
6.4 Controlling Quality of Servicep. 164
6.5 QoS Frameworkp. 165
6.6 CORBA 3 Interoperability Modesp. 169
6.7 Real-Time CORBAp. 191
6.8 GIOP and IIOP: Standard CORBA Communicationsp. 194
Chapter 7 Language Mappings, Part 1: C++p. 215
7.1 Role of Language a Mappingp. 215
7.2 Language Mappings, Part 1: C++p. 218
7.3 C++ Mapping Fundamentalsp. 219
7.4 Valuetypesp. 226
Chapter 8 Language Mappings, Part 2: Javap. 231
8.1 Java Mapping Basicsp. 231
8.2 Interfacesp. 236
8.3 valuetypes (Object-by-Value)p. 238
8.4 Reverse Mapping: Java-to-IDLp. 239
Chapter 9 Language Mappings, Part 3: COBOLp. 245
9.1 COBOL and CORBAp. 245
9.2 COBOL Mapping Fundamentalsp. 246
9.3 Additional COBOL Mapping Featuresp. 255
Chapter 10 Designing with CORBAservices and CORBAfacilitiesp. 261
10.1 Introductionp. 261
10.2 Using an Object Servicep. 262
10.3 Designing Applications to Use Object Servicesp. 264
10.4 Technical Advantagesp. 265
10.5 The "Big Four" CORBAservices Functionsp. 267
Chapter 11 CORBAservices, Part 1: Naming and Trader Servicesp. 269
11.1 Sharing--What Distributed Computing Is All Aboutp. 270
11.2 The Naming Servicep. 271
11.3 Trader Servicep. 278
Chapter 12 CORBAservices, Part 2: Event and Notification Servicesp. 283
12.1 Communication Semanticsp. 284
12.2 Event Service Architecturep. 286
12.3 Event Service Interfacesp. 287
12.4 Notification Servicep. 290
Chapter 13 CORBAservices, Part 3: Transaction and Concurrency Servicesp. 301
13.1 The Transaction Servicep. 301
13.2 Concurrency Control Servicep. 315
Chapter 14 CORBAservices, Part 4: Security and Licensing Servicesp. 317
14.1 Introductionp. 317
14.2 Firewallsp. 332
14.3 The Licensing Servicep. 333
Chapter 15 CORBAservices, Part 5: Introduction to the Other CORBAservices and the CORBAfacilitiesp. 335
15.1 A Look Backp. 335
15.2 Category 1: Success through Subclassingp. 336
15.3 Category 2: Gets Some Usep. 337
15.4 Category 3: Getting a Tune-Upp. 337
15.5 Category 4: Lost in Translationp. 338
15.6 The CORBAfacilitiesp. 339
15.7 Trends in Services and Facilitiesp. 340
Chapter 16 CORBAservices, Part 6: LifeCycle and Relationship Servicesp. 343
16.1 The Object LifeCycle Servicep. 343
16.2 The Relationship Servicep. 348
16.3 Summaryp. 349
Chapter 17 CORBAservices, Part 7: Persistent State and Externalization Servicesp. 351
17.1 Introductionp. 351
17.2 The Persistent State Servicep. 352
17.3 The Externalization Servicep. 359
17.4 Summing Up: Making Objects Persistentp. 361
Chapter 18 CORBAservices, Part 8: Property and Query Servicesp. 363
18.1 The Property Servicep. 365
18.2 The Object Query Servicep. 368
Chapter 19 Introducing the CORBA Domainsp. 373
19.1 OMG Process Basicsp. 374
19.2 The 1996 Reorganizationp. 376
19.3 Domains in the OMGp. 377
19.4 Business Objects Domain Task Forcep. 378
19.5 Finance Domain Task Forcep. 381
19.6 Electronic Commerce Domain Task Forcep. 383
19.7 Manufacturing Domain Task Forcep. 384
19.8 Telecommunications Domain Task Forcep. 387
19.9 Transportation Domain Task Forcep. 390
19.10 Healthcare (CORBAmed) Domain Task Forcep. 391
19.11 Utilities Domain Task Forcep. 395
19.12 Life Science Research Domain Task Forcep. 396
19.13 Summaryp. 398
Chapter 20 Some CORBAdomain Specificationsp. 399
20.1 Introductionp. 399
20.2 The Workflow Management Facility Specificationp. 400
20.3 Person Identifier Service (PIDS)p. 406
Chapter 21 Modeling CORBA Applications with UMLp. 419
21.1 What Is the UML?p. 420
21.2 The UML Modeling Advantagep. 421
21.3 OMG UML Specificationp. 422
21.4 The Modeling Language: Syntax and Semanticsp. 422
21.5 A Class Diagram Example: The POS Systemp. 425
21.6 Metamodel Architecturep. 426
21.7 The UML CORBAfacilityp. 428
21.8 UML Futuresp. 429
Chapter 22 Implementing Metamodels and Repositories Using the MOFp. 431
22.1 The OMG Metadata Architecturep. 432
22.2 The MOF and CORBA: MOF-to-IDL Mappingp. 438
22.3 Using MOF and XMI to Implement Metamodelsp. 440
22.4 Futuresp. 444
22.5 Summing Upp. 445
Chapter 23 The Tutorial Example: Overview and Scenariop. 447
23.1 Example Roadmapp. 449
23.2 Problem Overviewp. 452
23.3 Detailed Problem Statementp. 452
23.4 Problem Issues Explicitly Ignoredp. 454
23.5 Use Casesp. 455
23.6 Deploymentp. 456
Chapter 24 The Tutorial Example: Analysis and Designp. 457
24.1 Overviewp. 458
24.2 InputMedia Objectp. 459
24.3 OutputMedia Objectp. 461
24.4 POSTerminal Objectp. 461
24.5 Store Objectp. 465
24.6 StoreAccess Objectp. 468
24.7 Tax Objectp. 469
24.8 Depot Objectp. 470
Chapter 25 ORB Product Descriptionsp. 473
25.1 ORB Products Overviewp. 473
25.2 BEA WLEp. 475
25.3 Vertel's Expersoft: CORBAplusp. 485
25.4 IBM WebSphere Product Familyp. 491
25.5 Inprise VisiBroker Middleware Productsp. 498
25.6 IONA Orbixp. 501
25.7 Merant: Supporting CORBA in COBOLp. 506
25.8 PeerLogic DAISp. 509
Chapter 26 Coding and Compiling the IDLp. 517
26.1 Coding the IDLp. 517
26.2 Introduction to IDL Codingp. 518
26.3 Compiling the IDLp. 528
26.4 Compiling the IDL for BEA WLEp. 529
26.5 Compiling the IDL with CORBAplusp. 529
26.6 Compiling the IDL in IBM Component Brokerp. 532
26.7 Compiling the IDL with DAISp. 533
26.8 Compiling the IDL in Orbixp. 536
26.9 Compiling the IDL with OrbixCOBOLp. 539
26.10 VisiBrokerp. 541
Chapter 27 The Depotp. 545
27.1 Language-Independent Overviewp. 545
27.2 Getting Started With C++ Codingp. 553
27.3 Coding Functionality in C++p. 554
27.4 Implementing the Depot Application Using CORBAplus for C++p. 564
27.5 IBM Implementation of the Depotp. 567
27.6 Orbix Implementation of the Depotp. 571
27.7 Implementing the Depot Package Using VisiBroker for C++p. 575
27.8 Implementing the Depot Using BEA WLEp. 577
Chapter 28 Depot Implementation in Javap. 583
28.1 Implementation Summaryp. 583
28.2 Orb-Independent Java Coding II Functionalityp. 586
28.3 Implementing the Depot Package Using CORBAplus, Java Editionp. 602
28.4 Implementing the Sample Using IBM ORB for Javap. 604
28.5 DAIS-Specific Implementations Details for the Depot Applicationp. 605
28.6 Description of the OrbixWeb Implementation of the Depot Serverp. 612
28.7 Implementing the Depot Package Using VisiBroker for Javap. 618
Chapter 29 Depot: Overview and COBOL Language Codingp. 621
29.1 Getting Startedp. 621
29.2 Database Implementationp. 622
29.3 Loading the Database Implementationp. 623
29.4 COBOL Implementation of a Lightweight Naming Servicep. 625
29.5 COBOL Implementation of Depotp. 635
Chapter 30 The Storep. 645
30.1 Language-Independent Overview: Store Implementationp. 645
30.2 C++ Generated from the Store IDL Definitionsp. 647
30.3 Programming the Store: Common Functionality in C++p. 651
30.4 Implementing the Store Using CORBAplus for C++p. 660
30.5 IBM Implementation of the Storep. 662
30.6 Orbix Implementation of the Storep. 664
30.7 Implementing the Store Package Using VisiBroker for C++p. 666
30.8 BEA Implementation of the Storep. 667
Chapter 31 Coding the Store in Javap. 673
31.1 Java Mapping of Data Types for Storep. 673
31.2 Functionality Common to All Java ORBsp. 679
31.3 Implementing the Store Package Using CORBAplus, Java Editionp. 696
31.4 Implementing the Store Using IBM ORB for Javap. 696
31.5 DAIS-Specific Implementation Details for the Store Applicationp. 696
31.6 The OrbixWeb Implementation of the Storep. 699
31.7 Implementing the Store Package Using VisiBroker for Javap. 701
Chapter 32 Store: COBOL Codingp. 703
32.1 Getting Started on the Storep. 703
32.2 COBOL Implementation of Storep. 703
Chapter 33 Programming the POSTerminal in C++p. 731
33.1 Language-Independent Overviewp. 731
33.2 C++ Generated from the POS IDL Definitionsp. 734
33.3 Common POS Implementation in C++p. 737
33.4 Implementing the POS Using CORBAplus for C++p. 755
33.5 IBM Implementation of the POSp. 758
33.6 Orbix Implementation of the POSp. 760
33.7 Implementing the POS Package Using VisiBroker for C++p. 762
33.8 Implementing the POS Using BEA WLEp. 764
Chapter 34 Coding the POS in Javap. 769
34.1 Java Generated from the POS IDL Definitionsp. 769
34.2 Common POS Implementation in Javap. 773
34.3 Implementing the POS Package Using CORBAplus, Java Editionp. 810
34.4 Implementing the POS Using the IBM ORB for Javap. 811
34.5 DAIS-Specific Implementation Details for the POS Client and Server Applicationsp. 811
34.6 The OrbixWeb Implementation of the POSp. 814
34.7 Implementing the POS Package Using VisiBroker for Javap. 815
Chapter 35 POS: COBOL Codingp. 817
35.1 Getting Started on the POSp. 817
35.2 Mapping of POS IDL to COBOLp. 817
35.3 Implementing the POS with Orbix COBOLp. 822
Chapter 36 Running the Examplep. 849
36.1 Congratulations!p. 849
36.2 Running the Example in BEA WLEp. 850
36.3 Running the Example in Vertel's Expersoft CORBAplusp. 852
36.4 Running the Example Using IBM Java and C++ ORBsp. 853
36.5 Running the Example in IONA Orbixp. 855
36.6 Running the Example in Inprise VisiBrokerp. 860
36.7 Running the Example in OrbixCOBOLp. 863
36.8 Running the Example in PeerLogic DAISp. 864
36.9 In Conclusionp. 869
Appendix A Contact Information and Referencesp. 871
About the Web Sitep. 879
What's on the CD-ROM?p. 880
Indexp. 881