From 70ca40b271254bf4b00fbf91d30d077367c492c3 Mon Sep 17 00:00:00 2001 From: jacomi Date: Tue, 13 Apr 1999 09:03:39 +0000 Subject: doc updated --- doc/ivy-perl-1.html | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 doc/ivy-perl-1.html (limited to 'doc/ivy-perl-1.html') diff --git a/doc/ivy-perl-1.html b/doc/ivy-perl-1.html new file mode 100644 index 0000000..b6b2c92 --- /dev/null +++ b/doc/ivy-perl-1.html @@ -0,0 +1,116 @@ + + + + + The Ivy Perl library guide: General information + + + + + +Next +Previous +Contents +
+

1. General information

+ +

1.1 What is Ivy? +

+ +

+

Ivy is a software bus designed at CENA (France). A software bus is a system +that allows software applications to exchange information with the illusion of +broadcasting that information, selection being performed by the receiving +applications. Using a software bus is very similar to dealing with events in a +graphical toolkit: on one side, messages are emitted without caring about who +will handle them, and on the other side, one decide to handle the messages that +have a certain type or follow a certain pattern. Software buses are mainly aimed +at facilitating the rapid development of new agents, and at managing a dynamic +collection of agents on the bus: agents show up, emit messages and receive some, +then leave the bus without blocking the others. +

+

Architecture and principles

+ +

As opposed to other software buses, Ivy does not depend on a centralised +server. Actually, Ivy is mostly a communication convention between processes, +implemented through a collection of libraries in several languages. +

+

+

From the programmer's point of view, Ivy is an information broadcasting +channel. The main functions are: +

+

+

Ivy's +decentralised connection scheme probably incurs limitations in terms of how many +applications can be connected to an Ivy bus, but this simplifies management a +lot. Basically, an Ivy bus is just a set of applications that decide to +communicate together. The only conventions between these applications are: +

    +
  1. the use of the Ivy protocol (for obvious reasons)
  2. +
  3. a bus address, made of a broadcast port number (a bit like a citizen band +channel) and a set of networks addresses
  4. +
+ +When an application wants to connect to a bus, it sends a broadcast message on the +networks specified in the bus address, so that all applications present on those +networks and listening on the specified port number connect to it. It then +becomes part of the bus, and listens like the other ones. +

The messages are exchanged in text format, and bindings are based on regular +expressions with captures. If an application subscribes to +HELLO (.*) and if another application emits the message HELLO WORLD, a +callback will be called in the first application with WORLD as an argument. +

+

+

Using Ivy

+ +

You can use Ivy through applications that have been provided to you. This is the +case for ivyprobe, an Ivy agent that allows you to examine the messages +exchanged on a given bus and to send messages on that bus. You can refer to the +web site http: for a list of available agents. However, what you will +usually want to do is to develop your own applications. In order to do that you +can use an Ivy connection kit, that is a library that implements Ivy. +

+

+

Libraries that implement Ivy are available in the following environments: +

+

+

Connecting your application to an Ivy bus just consists in choosing the +appropriate library, add the appropriate message emission and reception calls to +your code, use the main loop provided in the library or make the necessary +integrations, and get your code running! +

+

1.2 The Ivy Perl library +

+ +

The Ivy Perl library (aka Ivy-Perl or ivy-perl) is a Perl library that allows you to connect +applications to an Ivy bus. You can use it to write applications in Perl or any +other language that supports Perl extensions (Perl/Tk for instance). This guide documents how you can do +that. +

The Ivy Perl library is known to compile and work in WindowsNT and Linux +environments. It should be easy to use on most Posix environments. +

The Ivy Perl library was originally developed by Alexandre Bustico at CENA. It +is maintained by the CENA-Toulouse team. +

+


+Next +Previous +Contents + + -- cgit v1.1