Developping an EAI server in Python : looking for developpers

  • Thread starter Alexander DEJANOVSKI
  • Start date
A

Alexander DEJANOVSKI

Hi all,

I'm starting a new project to develop an Open-Source EAI server in Python
and I'm looking for motivated developpers and testers.
It is inspired by Open Adaptor (www.openadaptor.org), but aims to be easier
to use and more powerful.

I've developped yet a first alpha that contains several components:

File Source
FTP Source
HTTP Source

FlatToXML Pipe
XSLT Pipe

File Sink
FTP Sink
SMTP Sink


Upcoming components are :

SOAP Source/Sink
MQSeries Source/Sink
JMS (?) Source/Sink
Database Source/Sink


and a GUI to create config files.
Config files are XML files looking like this :

<?xml version="1.0" encoding="UTF-8"?>
<retic_adaptor>
<logger name="Log1" handler="FileHandler"
fileName="c:\\logTest.out" format="%(asctime)s %(levelname)s %(message)s"
level="WARNING" mode="w"/>
<logger name="Log2" handler="FileHandler"
fileName="c:\\logTest2.out" format="%(asctime)s %(levelname)s %(message)s"
level="INFO" mode="w"/>

<source name="source1" type="fileSource" polls="1" pollPeriod="10"
filePath="c:" fileFilter="ext_err.csv" newExtension="" newDir="">
<pipe name="transform_to_XML1" type="ToXML" msgKind="delimited"
delimiter=";" rootTag="racine" recTag="rec" encoding="UTF-8">
<field name="message"/>
<field name="date_traitement"/>
<field name="ident"/>
<field name="no_contrat"/>
<field name="no_lt"/>
<field name="date_lt"/>
<field name="etat"/>
<field name="date_heure_saisie"/>

<sink name="outputToFile1" type="fileSink" filePath="c:\"
fileName="test_sink.xml" addTimestamp="n"/>
<pipe name="xslt1" type="XSLT"
stylesheet="E:\\Xml\\XSL\\test.xsl">
<sink name="outputToFile2" type="fileSink"
filePath="c:\" fileName="test_sink.html" addTimestamp="n"/>
<sink name="outputToFtpFile1" type="ftpSink"
ftpHost="194.214.207.44" ftpPort="" ftpUser="guest" ftpPass="guest"
filePath="/E:/ADI" fileName="test_sink.html" addTimestamp="n"/>
</pipe>
</pipe>
</source>
</retic_adaptor>

Loggers tags permit to add logging handlers (new logging module of Python
2.3)

I've created the project on SourceForge (approval in progress).
 
I

Irmen de Jong

Alexander said:
I'm starting a new project to develop an Open-Source EAI server in Python
and I'm looking for motivated developpers and testers.
It is inspired by Open Adaptor (_www.openadaptor.org_
<http://www.openadaptor.org/>), but aims to be easier
to use and more powerful.

Could you please summarize what the goals of this project are?
And how it relates to Open Adaptor? (which I don't have the time
to read about).

--Irmen
 
J

John J. Lee

Irmen de Jong said:
Could you please summarize what the goals of this project are?
And how it relates to Open Adaptor? (which I don't have the time
to read about).

And how it relates to Twisted?


John
 
A

Alexander DEJANOVSKI

OK, I might not have explain very much of how it works.

It is an Open Adaptor-like program. The fact is that I needed a soft like
OpenAd but I'm pretty deceived by it (too complicated, never gives what I'm
waiting for on the other side of the adaptor).

Like Open Ad, Retic (that's the name of my project), provides components
(sources, pipes and sinks) that can be combined in many ways in order to
retrieve data (from a source) apply changes or transformations (with pipes)
and send it to several destinations (to sinks).
This is driven by config files in XML that contains all components and their
attributes.
All parent component sends its data (after processing it) to all of its
child element.
So you can have trees that look like that :

source
|
|_____pipe1
| |
| |_____pipe2
| | |____sink1
| |
| |
| |_____sink2
|
|
|_____sink3

The main program is called with the config file name as argument, which
starts the adaptor.
When started, it will look for data in the source (for example, a fileSource
has a filePath and a fileFilter arguments, that permit to look for files
matching fileFilter - for ex : a*.txt - in the filePath directory).
If there is nothing to process, the adaptor will wait for some time
(provided in the conf file) before polling again, unless the config file
says that just one poll was wanted (you can specify how many polls you
want).

I call it EAI server since it should permit apps that don't communicate the
same way to work together, using adaptor to translate data or switch
transport protocol.


Hope that helps (about twisted too...)

Project has been approved by sourceforge so I've just uploaded sources to
CVS today (www.sourceforge.net/projects/retic) so feel free to get it and
take a look.
To launch it, use start.py. It will use the config file test_adaptor.xml.
Required are :

Python 2.3
4suite 1.0a3
and PyXML 0.8.3
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top