NAME
Jabber::PubSub::JEAI - Perl extension for Erlang's J-EAI server
SYNOPSIS
use Jabber::PubSub::JEAI;
It is important that you put Jabber connection and pub/sub parameters in a hash reference and pass it to the subroutines. Although not all of the pamameters are necessary for each subroutine. Example for channel creation:
my $param = {
'uid' => 'admin',
'pwd' => 'nimda',
'host' => 'localhost', # default is 'localhost'
'port' => 5222, # default is 5222
'resource' => '', # use default
'channel' => 'home/localhost/admin/sport',
'to' => 'pubsub.localhost',
'iq_id' => '', # use default
'payload' => '', # N/A for channel creation
};
Jabber::PubSub::JEAI::create_channel($param);
Example for channel deletion:
my $param = {
'uid' => 'admin',
'pwd' => 'nimda',
'host' => 'localhost', # default is 'localhost'
'port' => 5222, # default is 5222
'resource' => '', # use default
'channel' => 'home/localhost/admin/sport',
'to' => 'pubsub.localhost',
'iq_id' => '', # use default
'payload' => '', # N/A for channel creation
};
Jabber::PubSub::JEAI::delete_channel($param);
Example for subscription to the channel:
$param = {
'uid' => 'app2',
'pwd' => 'app2',
'host' => 'localhost', # default is 'localhost'
'port' => 5222, # default is 5222
'resource' => '', # used default
'channel' => 'home/localhost/admin/sport',
'to' => 'pubsub.localhost',
'iq_id' => '', # use default
'payload' => '', # N/A for channel subscription
};
Jabber::PubSub::JEAI::subscribe($param);
To receive the publised messages you can use any Jabber client. All subscribers to the same channel will get the same messages simultaneously if they are all listening, or get the messages later but in correct sequence. Here is an example for polling a Jabber box and show the payloads in the published messages with Jabber::PubSub::JEAI:
$param = {
'uid' => 'app2',
'pwd' => 'app2',
'host' => 'localhost', # default is 'localhost'
'port' => 5222, # default is 5222
'resoirce' => 'Test',
'channel' => '', # N/A for this purpose
'to' => '', # N/A for this purpose
'iq_id' => '', # N/A for this purpose
'payload' => '', # N/A for this purpose
};
Jabber::PubSub::JEAI::listen($param);
Example for publication to the channel:
$param = {
'uid' => 'admin',
'pwd' => 'nimda',
'host' => 'localhost', # default is 'localhost'
'port' => 5222, # default is 5222
'resource' => 'Test',
'channel' => 'home/localhost/admin/sport',
'to' => 'pubsub.localhost',
'iq_id' => '', # use default
'payload' => 'Breaking news! ...',
};
Jabber::PubSub::JEAI::publish($param);
DESCRIPTION
This package offers some utilities for interfacing with Erlang's J-EAI server 1.0.
EXPORT
None by default.
ACKNOWLEDGMENT
The author wishes to thank to "Thierry Mallard" <thierry.mallard@erlang-fr.org> and "Mickael Remond" <mickael.remond@erlang-fr.org>, leaders of J-EAI development team, for their support.
AUTHOR
Kai Li, <kaili@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Kai Li
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.