473,382 Members | 1,247 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,382 software developers and data experts.

Developping an EAI server in Python : looking for developpers

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).


Jul 18 '05 #1
4 2122
Alexander DEJANOVSKI wrote:
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

Jul 18 '05 #2
Irmen de Jong <irmen@-NOSPAM-REMOVETHIS-xs4all.nl> writes:
Alexander DEJANOVSKI wrote:
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).


And how it relates to Twisted?
John
Jul 18 '05 #3
Alexander DEJANOVSKI wrote:

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.


I'd be willing to contribute to the LDAP-related parts.

Ciao, Michael.

Jul 18 '05 #4
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


"Irmen de Jong" <irmen@-NOSPAM-REMOVETHIS-xs4all.nl> wrote in message
news:3f***********************@news.xs4all.nl...
Alexander DEJANOVSKI wrote:
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

Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: martino | last post by:
Hi, I am trying to install NumPy (v23.8) onder Macosx (panther version). Python (v2.3) is bundled into panther and I installed the IDE on top of that. After having untarred the source distribution...
6
by: al | last post by:
Hi, I have a licence of VS.NET. I have an application (mixed VB/C/Fortran + third party) under VS6. I want to keep developping under Visual 6. How can I do this under .NET. I heard about "CD...
159
by: petantik | last post by:
Are there any commercial, or otherwise obfuscators for python source code or byte code and what are their relative advantages or disadvantages. I wonder because there are some byte code protection...
0
by: serguei | last post by:
Dear all, We are a mobile technology company based in Belgium and we are looking for experienced donet developpers. A good salary package is offered. If you are in Belgium or around and willing...
112
by: mystilleef | last post by:
Hello, What is the Pythonic way of implementing getters and setters. I've heard people say the use of accessors is not Pythonic. But why? And what is the alternative? I refrain from using them...
31
by: stéphane bard | last post by:
hello, my boss ask me to prefer windev to python. I have to argue - python work on multiple platform (linux, mac, windows) A good point but it didn't interest him. Because we want to choose a...
7
by: vml | last post by:
Hello, I am trying to promote python in my job, my collegue only see matlab and microsoft scripting language. I understood that there willl be no backward compatibility between python 2.x and...
145
by: Dave Parker | last post by:
I've read that one of the design goals of Python was to create an easy- to-use English-like language. That's also one of the design goals of Flaming Thunder at http://www.flamingthunder.com/ ,...
34
by: Drake | last post by:
I have a general question of Python style, or perhaps just good programming practice. My group is developing a medium-sized library of general-purpose Python functions, some of which do I/O....
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.