Pure Corba

Pure Corba

by Fintan Bolton
Pure Corba

Pure Corba

by Fintan Bolton

eBook

$35.99  $47.99 Save 25% Current price is $35.99, Original price is $47.99. You Save 25%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

PURE CORBA 3 is a premium, code-intensive reference for professional developers. It focuses on the core specification for CORBA 3 and contains:

  • conceptual overview of CORBA 3.
  • CORBA techniques programming reference that contains thousands of lines of commercial-quality code examples in both C++ and Java (the two most popular languages among CORBA developers).
  • concise reference to the most important parts of the specification,

Product Details

ISBN-13: 9780132714341
Publisher: Pearson Education
Publication date: 07/16/2001
Sold by: Barnes & Noble
Format: eBook
Pages: 944
File size: 60 MB
Note: This product may take a few minutes to download.

About the Author

Fintan Bolton is a software consultant, trainer, and technical writer for IONA Technologies, the world's leading developer of CORBA tools and software. Mr. Bolton has trained developers in the use of CORBA-based software such as Orbix, OrbixWeb, and OrbixOTM. He has also written technical documentation for many CORBA-based products, including Orbix 2000 and OrbixOTM. He can be reached at fbolton@pure-corba.com or at the accompanying Web site for this book, http://www.pure-corba.com.

Jeremy L. Rosenberger is a cofounder of and principal consultant with Ivy Design Group LLC (also known as ivyDesign), a consulting firm specializing in enterprise application architecture using Java, CORBA, EJB, and J2EE technologies. Mr. Rosenberger is also the author of Sams Teach Yourself CORBA in 14 Days (Sams Publishing, 1998). He can be reached at jeremy@ivydesign.com.

Mark Shacklette is a principal with Leverett & Pierce, Inc. in Chicago, where he specializes in the design and implementation of distributed object e-Commerce solutions for clients which include the American Bar Association, Siemens, A. C. Nielsen, The Options Clearing Corporation, The Chicago Board of Trade, Kemper Insurance, CNA Insurance, and The Northern Trust Bank. He holds degrees from Furman and Harvard Universities, and is on the faculty of computer science at the University of Chicago, where he teaches courses on operating systems, distributed object technology, and object-oriented architecture, design, and methodology.

Lichun Wang, Ph.D., is a research scientist in applied computing and bioinformatics at EBI (the European Bioinformatics Institute), currently working on using CORBA and XML for accessing and distributing biological data.

Read an Excerpt

Chapter 1: CORBA Architecture

This chapter explains the basic concepts of the Common Object Request Broker Architecture (CORBA) that form a foundation for the rest of the book. An overview of the CORBA architecture is also provided, and the work of the Object Management Group, the CORBA standards body, is described.

The Rise of Middleware

Middleware thrives on the diversity of computer platforms found in a typical company's IT infrastructure. There are many factors at work that fuel the inhomogeneity of large computer systems:
  • Legacy systems
    A company might aspire to replace old technology with new. However, it often proves too expensive and risky to replace an old system completely, so a mixture of old and new technology is used instead.

  • Technology niches
    Some hardware platforms and software packages that deviate from the corporate norm might have to be used because their special features are needed.

  • Legislation
    Legislation aimed at deregulating industry can have an impact on the computer infrastructure of affected com panies. In general, deregulation places a requirement on computer systems to be more flexible and open.

  • Mergers and acquisitions
    When a merger or acquisition takes place, the compa nies involved face the considerable technical challenge of successfully integrating their respective computer networks.
Often, an organization finds it can muddle along by letting diverse computer systems operate in parallel. An occasional manual intervention and batch transfer of files from one system to another can keep the whole edifice going. This approach, however, is becoming unsustainable with the growing importance of the World Wide Web. Web applications require seamless integration of an IT infrastructure so that transactions can be automated. Many organizations have found that the Web gives them a powerful motive to address integration problems and unify different systems across their organization. This goes some way toward explaining the increasing interest in middleware technology.

The Object Management Group

The Object Management Group (OMG) is the organization that steers the development of the CORBA standard. It was founded in 1989 by a group of companies with the aim of marrying two emerging strands of technology: remote procedure calls and object orientation. The OMG set itself the goal of producing a complete infrastructure for distributed computing, the object management architecture (OMA). The CORBA standard, which is popularly used as a synonym for the whole of the OMA, is a core part of the OMA that describes the basic infrastructure needed to support distributed objects.

The OMG has put in place a formal procedure, the technology process, that describes how new elements of the CORBA standard are proposed and adopted. The technology process driving the CORBA standard has proved quite effective at ensuring that new specifications can be implemented and used in practice. The development of each part of the standard is coordinated by a task force, consisting of experts drawn from the OMG membership. Members have the right to submit proposals for new standards or for modifications to existing standards. Once a proposal is being considered for adoption, members vote to accept or reject the proposal. An architecture board has responsibility for overseeing the development of the CORBA standard and ensuring its overall consistency. In practice, Object Request Broker (ORB) implementors usually base a proposal on an existing implementation or partial implementation. Consequently, the proposed CORBA specifications tend to be realistic and implementable.

The CORBA standard is an open standard, and all of the specifications are freely downloadable from the OMG public Web site at http://www.omg.org. The documents can be divided into formal specifications that have been voted on and formally adopted, adopted specifications that have been adopted but are subject to minor changes, and work in progress documents. It is a good idea to take a look at the adopted specifications and work in progress documents, which can be found under the technology process pages at the OMG Web site, since many of the more recent specifications are only available there.

The Common Object Request Broker Architecture

The CORBA specification, which is the core part of the OMA, describes the basic infrastructure for making object-oriented remote procedure calls. This section presents a conceptual overview of CORBA, covering the following topics:
  • Remote procedure calls
  • CORBA requirements
  • The OMG interface definition language
  • The Internet inter-ORB protocol
  • Basic CORBA concepts
  • Locating and activating servers
  • Finding CORBA objects
  • Dynamic CORBA

Remote Procedure Calls

Throughout the 1980s, remote procedure call (RPC) technology was developed and began to be used widely. The two most popular kinds of RPC are SUN RPC and distributed computing environment (DCE) RPC.

To the application that calls it, a remote procedure call looks like a local function call but, instead of executing locally, the procedure's parameters are sent across the network to a remote application that evaluates the procedure. The procedure's return values, if any, are then sent back across the network to the calling application. The RPC infraItructure provides the rudiments of a distributed system. The calling application is a client and the called application is a server.

Figure 1.1 shows an outline of a basic remote procedure call. When a client makes a remote procedure call, the parameters of the call are marshaled into a request packet and sent across the network to the server, typically using either the user datagram protocol (UDP) or transmission control protocol (TCP) for the transport layer. Marshaling refers to the copying of parameters into a buffer in a format suitable for transmission over the network. A request is an RPC message, transported inside a UDP or TCP packet, that contains the name of the remote procedure and a list of its parameters....

Table of Contents



Introduction.

How This Book Is Organized.

I. CONCEPTUAL REFERENCE.

1. CORBA Architecture.

The Rise of Middleware. The Object Management Group. The Common Object Request Broker Architecture. Basic CORBA Concepts. Deployment of CORBA Applications. The Object Management Architecture. Summary.

2. Programming with CORBA.

A Basic Client-Server Application—Example 1. Basic IDL Mapping (Example 1). Initializing a CORBA Application. Adding an IDL Interface for Searching—Example 2. IDL Mapping for Some Complex Types (Example 2). Returning Parameters. Adding Exception Handling—Example 3. IDL Mapping (3). Adding a Multiply-Inheriting IDL Interface—Example 4. Multiple Inheritance and the Delegation (Tie) Approach (Example 4). Adding CORBA Naming Service Support—Example 5. More IDL Syntax and Rules for Mapping Identifiers. More About Servers. Summary.

II. TECHNIQUES.

3. A Sample CORBA System.

Recycle Broker Architecture. Recycle Broker IDL. Recycle Broker Implementation. Summary.

4. Memory Management.

C++ Smart Pointer Types _var. Sample IDL. Allocating and Initializing. Deallocating. Assignment and Copying. Parameter Passing. Summary.

5. Object References.

CORBA Objects and Object References. IDL Syntax of Interfaces. C++ Memory Management. Nil Object Reference. Factory Objects. Polymorphism. Interoperable Object Reference. Summary.

6. Interoperable Naming Service.

Overview. Names. The Initialization Service. Basic Operations. Server Example. Client Example. Federated Naming Service. Binding Iterators and the list() Operation. Object URLs. Specifying Values for Initial References. Summary. Initialization Service Pseudo-IDL. Naming Service IDL.

7. The Portable Object Adapter.

Understanding the POA. POA Policies. Types of CORBA Objects. A POA for Session Objects. A POA for Entity Objects. A POA for Service Objects. Servant Activator POA. Servant Locator POA. Default Servant POA. Implicit Activation. The POAManager. POA Activation. Summary.

8. The any Type.

Introduction to the any Type. A Sample IDL Module. C++ Example of Passing anys. C++ Insertion into CORBA::Any. C++ Extraction from CORBA::Any. Java Example of Passing anys. Java Insertion into org.omg.CORBA.Any. Extraction from org.omg.CORBA.Any. Type Codes. Summary.

9. Callbacks.

Processing Invocations in a Client. Avoiding Deadlock in Callbacks. Callback Example Using oneway Operations. Summary.

10. Interceptors.

Portable Interceptor Interface. Request Interceptors. Portable Interceptor Current. IOR Interceptor. PolicyFactory Interface. Registering Interceptors. Writing and Using Portable Interceptors. Summary.

11. Objects by Value.

Overview of Value Semantics. Regular Value Type. Example of a Regular Value Implementation. Other Kinds of Value Type. Summary.

12. Events Service.

CORBA Event Service Patterns. Using an Event Channel. Summary.

13. CORBA Components.

Basic Architecture. Defining IDL for Components. Generating Component Skeletons. Implementing Components. Implementing Component Homes. Implementing Clients. Container Programming Environment. Extended Components. Development and Deployment Roles. Component Assembly and Deployment. Summary. Components IDL Module.

14. The Internet Inter-ORB Protocol.

GIOP: The Basis for IIOP. IIOP Specialization of GIOP. Summary.

III. SYNTAX REFERENCE.

15. IDL Data Types.

Built-In IDL Types. Pseudo-IDL from the CORBA Module. Exception Types. The PortableServer Module. Java Helper and Holder Types.

16. IDL Grammar.

Literals. Expressions. OMG IDL Grammar in EBNF Notation.

17. DynAny Type.

Introduction to the DynamicAny Module. Dynamic Creation of Type Codes. Creating and Destroying a DynAny. DynAny Examples. Dynamic any IDL.

18. Dynamic Invocation Interface.

Overview of the DII. Use of CORBA::DynAny and CORBA::TypeCode. Using CORBA::Request Objects. oneway Invocations. Asynchronous Invocations. Pseudo-Interfaces.

19. Dynamic Skeleton Interface.

Overview of the DSI. C++ Implementing a DSI Servant. Java Implementing a DSI Servant.

20. Interface Repository.

Structure of the Interface Repository. Using the Interface Repository. An Example of Reading from the Interface Repository. IDL for the Interface Repository.

21. CORBA System Exceptions.
Index.
From the B&N Reads Blog

Customer Reviews