
MICO
An Open Source CORBA Implementation
- 1st Edition - March 20, 2000
- Imprint: Morgan Kaufmann
- Authors: Arno Puder, Kay Römer
- Language: English
- Paperback ISBN:9 7 8 - 1 - 5 5 8 6 0 - 6 6 6 - 1
- eBook ISBN:9 7 8 - 0 - 0 8 - 0 5 1 1 5 3 - 5
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

Institutional subscription on ScienceDirect
Request a sales quoteMICO 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.
- 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.
Computer programmers and developers
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
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
- Edition: 1
- Published: March 20, 2000
- Imprint: Morgan Kaufmann
- No. of pages: 196
- Language: English
- Paperback ISBN: 9781558606661
- eBook ISBN: 9780080511535
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