Skip to main content

MICO

An Open Source CORBA Implementation

  • 1st Edition - March 20, 2000
  • Latest edition
  • Authors: Arno Puder, Kay Römer
  • Language: English

MICO is a complete implementation of CORBA, the dominant standard for distributed application development. This book shows you how to build and manage your own professional, in… Read more

Purchase options

Sorry, this title is not available for purchase in your country/region.

World Book Day celebration

Where learning shapes lives

Up to 25% off trusted resources that support research, study, and discovery.

Description

MICO is a complete implementation of CORBA, the dominant standard for distributed application development. This book shows you how to build and manage your own professional, industrial-strength CORBA applications using MICO.

One of the most successful examples of open source development, MICO is the collaborative result of hundreds of independent programmers working together to modify and improve the initial source code. Here is a practical, affordable introduction to building distributed applications.

Key features

  • MICO 2.3.2
  • Implements and discusses many features missing from commercial products, including BOA, POA, Value Type Semantics, DynAny, IIOP, IIOP over SSL and much more.
  • Contains the implementations of several CORBA services: naming, event, trading, relationship, property and time service.
  • Includes step-by-step instructions on how to change a standalone C++ application into a distributed application using MICO.
  • Is fully interoperable with other CORBA implementations, such as Orbix from Iona, Visibroker from Inprise, and Sun's JDK.
  • Contains a graphical Java interface to interact with CORBA objects on the fly during runtime.

Readership

Computer programmers and developers

Table of contents

1. Introduction



1.1 What is MICO?


1.2 Supported platforms


1.3 Problems or questions?


1.4 Overview of this book




2. Installation



2.1 Prerequisites


2.1.1 Compiling MICO applications


2.1.2 Compiling MICO


2.1.3 Compiling the interface repository browser


2.2 Running from CD


2.2.1 Unix


2.2.2 Windows


2.3 Installing from CD


2.3.1 Unix


2.3.2 Windows


2.4 Installing from sources (Unix)


2.5 Installing from sources (Windows)


2.5.1 Prerequisites


2.5.2 Compiling the MICO sources


2.5.3 Writing MICO applications using the IDE


2.6 Roadmap







3. CORBA tutorial using MICO



3.1 Objects in distributed systems


3.2 Overview of CORBA


3.3 Sample program


3.3.1 Stand-alone program


3.3.2 MICO application


3.3.3 Separating client and server







4. Implementation overview



4.1 ORB


4.1.1 ORB initialization


4.1.2 Obtaining initial references


4.2 Interface Repository (IR)


4.3 BOA


4.3.1 BOA initialization


4.3.2 BOA daemon


4.3.3 Implementation Repository (IMR)


4.3.4 Activation modes


4.3.5 Making objects persistent


4.3.6 Migrating objects


4.4 POA


4.4.1 Architecture


4.4.2 Policies


4.4.3 Example


4.4.4 Using a Servant Manager


4.4.5 Persistent Objects


4.4.6 Reference Counting


4.5 IDL compiler


4.6 Compiler and linker wrappers (CAPS)


4.6.1 Examples







5. C++ mapping



5.1 Using strings


5.2 Untyped values


5.2.1 Unknown constructed types


5.2.2 Subtyping


5.3 Arrays


5.4 Unions


5.5 Interface inheritance


5.6 Downcasting


5.7 Modules


5.8 Exceptions


5.8.1 CORBA-Compliant Exception Handling


5.8.2 MICO-Specific Exception Handling


5.8.3 No Exception handling


5.9 Mapping of operation parameters







6. Interoperability



6.1 GIOP and IIOP


6.2 Orbix from Iona


6.3 VisiBroker from Inprise


6.3.1 Interoperability with Java applications


6.3.2 Interoperability wiht Java applets







7. Naming service



7.1 Overview


7.2 Name server daemon


7.3 Administration


7.4 Example


7.4.1 Server side


7.4.2 Client side


7.4.3 Running the example







8. Interface repository browser



8.1 Conceptual Graphs


8.2 Dynamic invocation interface


8.3 Anatomy of an operation declaration


8.4 A generic DII interface


8.5 Running the example


8.6 Using the CG editor







9. License



9.1 GNU Library General Public License


9.2 GNU General Public License






A. Sample programs


A.1 Siegel's examples

A.2 Redlich's examples

A.3 Henning's & Vinoski's examples



B. Freqenly Asked Questions


List of figures



Glossary



Bibliography



Index

Product details

  • Edition: 1
  • Latest edition
  • Published: June 5, 2000
  • Language: English

About the authors

AP

Arno Puder

Arno Puder received his master's degree in computer science from the University of Kaiserslautern and his Ph.D. from the University of Frankfurt/Main, Germany. After working for Deutsche Telekom AG and AT&T Labs, he is currently a professor of computer science at San Francisco State University. His special interests include distributed systems and wireless sensor networks.
Affiliations and expertise
San Francisco State University, California, U.S.A.

KR

Kay Römer

Kay Römer is currently a senior researcher and lecturer at ETH Zurich (Switzerland). He received his Ph.D. in computer science from ETH with a thesis on sensor networks. Kay holds a master's degree in computer science from the University of Frankfurt/Main, Germany. His research interests encompass sensor networks, software infrastructures for ubiquitous computing, and middleware for distributed systems.
Affiliations and expertise
ETH, Zurich (Swiss Federal Institute of Technology), Switzerland