You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@incubator.apache.org by jl...@br.ibm.com on 2005/10/20 19:29:42 UTC
First Analisys on FTPServer
Rana,
I saw the latest source files currently included in the
apache-incubator CVS repository, and i was able to identify some
conflicting points with the solution that we are developing (regarding
jftp4i). First, i saw that the FTPServer Ftplets are features running
under a single instance of the server, that means, when the server starts,
all the Ftplets are defined inside one single instance inside the
container, so these classes are actually running in a single macro
application (please correct me if i'm wrong):
JFTPServer
|
+--- Container
|
+--- Ftplets
In our solution, we are implementing a set of applications that
can be deployed (inside a *.far file) inside a directory called ftpapps on
the root directory of the jftp4i server. The engine then maintain these
*.far resorces as different application instances on the server (very
similiar to an application server using war files). On each application
instance, we will have basically a set of files (FTPActions (similiar to
your Ftplets), FilterEvents, etc.) that are linked to a number of users
(that are current logged) and to a number of context-roots. When the user
logs into the server, he automatically see the ctx-roots that he (or she)
can access, and inside of each ctx-roots, the container have different
applications responding to all the resources deployed inside the *.far
file (each far file is an application to the container - not a far pointer
(kkkk :-)) ).
The server structure looks something like this:
root/
|
+-- lib/ (necessary library to run the server)
|
+-- logs/ (log and trace directory - the transaction container
uses the trace to control all the steps inside an FTPAction)
|
+-- META-INF/ (jftp4i specific configurations - here is where
you define the applications running on the server)
|
+-- ftpapps/ (where the *.far files are deployed - by default,
the server will have a default.far file to attend all unconfigured client
requests)
The structure inside the far file look like this:
/(any resource and(or) directory to be supported by the FTP
application/engine)
/FTP-INF
|
+-- classes/ (FTPActions, Filters, etc..., binary files)
|
+-- lib/ (application specific libs)
|
... (application specific descriptors like jftp4i-app.xml)
An analysis the two solutions, shows that we gonna have a huge
amount of change and time to merge these projects, and i don´t want to
start anything without your authorization (evaluation). Of course we also
don´t want to change anything that you may already spended so much time
on. So, if you permit me, i want to suggest one thing. Maybe we could
start the adaptation of the jftp4i (to the JFTPServer) as a FTPServer
plugin (a subproject of JFTPServer) - some changes may still be necessary
to adapt the current JFTPServer for supporting the application-server
plugins.
This is one possibility, please tell me what you think about it.
[]s,
João