NAME

idl2pmrpc - IDL compiler to Perl RPC-GIOP

SYNOPSYS

idl2pmrpc [options] spec.idl

OPTIONS

All options are forwarded to C preprocessor, except -h -i -J -v -x.

With the GNU C Compatible Compiler Processor, useful options are :

-D name
-D name=definition
-I directory
-I-
-nostdinc

Specific options :

-h

Display help.

-i directory

Specify a path for import (only for version 3.0).

-J directory

Specify a path for Perl package importation (use package;).

-v

Display version.

-x

Enable export (only for version 3.0).

DESCRIPTION

idl2pmrpc parses the given input file (IDL) and generates :

  • a Perl client stub & server skeleton spec.pm for RPC-GIOP

idl2pmrpc is a Perl OO application what uses the visitor design pattern. The parser is generated by Parse::Yapp.

idl2pmrpc needs a cpp executable.

CORBA Specifications, including IDL (Interface Definition Language) are available on <http://www.omg.org/>.

CORBA mapping for Perl [mapping.pod - Draft 1, 7 October 1999] comes with the package CORBA::MICO or CORBA::ORBit.

TUTORIAL

RPC-GIOP

RPC-GIOP is an another RPC (Remote Procedure Call) mecanism.

RPC-GIOP reuses a subset of CORBA GIOP messages, but don't deal with any CORBA ORB (Object Request Broker). RPC-GIOP reuses the CORBA CDR (Common Data Representation) transfer syntax.

An interface (a set of operations) is defined with CORBA IDL (Interface Definition Language).

RPC-GIOP has a lot of common properties with CORBA GIOP :

  • needs a reliable transport layer (typically TCP/IP)

  • uses a binary format (CDR)

  • is interoperable (byte-order)

EXAMPLE 1

Use rpc1 as current directory.

The file calculator.idl describes the interface of a simple calculator.

First, run :

idl2pmrpc calculator.idl

Second, run the server (see srv_calc.pm that contains the implementation) :

perl server.pl

Third, run the client (Tkinter based)

perl client.pl

SEE ALSO

cpp, idl2html, idl2pm

COPYRIGHT

(c) 2004-2008 François PERRAD, France. All rights reserved.

This program and all CORBA::Perl modules are distributed under the terms of the Artistic Licence.

AUTHOR

François PERRAD, francois.perrad@gadz.org