|
Application Server
I've been working on an application server that would host remoting, web, and
other applications for the Mono project.
Download
-
0.2: Binary & Source
Code
-
Completely Redesigned Administration UI. See icon credit below.
-
Supports deploying & mounting application packages (.zip,.tar)
-
Ability to "publish" applications directory via FTP. You can
then get, put, etc. to update files remotely.
-
Basic user manager
-
Modified Web Application to use the Mono XSP Server instead of
Cassini. Cassini is now an optional download (see below).
-
Many bug fixes.
-
0.1: Initial alpha release
Features
-
Pluggable Application Architecture
-
Base application class allows an application type to
be managed by the framework
-
Web Application class can serve
ASP.NET pages utilizing the XSP Server developed by Daniel Lopez Ridruejo
(daniel@rawbyte.com) and Gonzalo Paniagua Javier, Ximian Inc. (http://www.ximian.com)
-
Alternate Web Server is also availalbe based on the
Cassini web server released by
Microsoft. [ Download
]
-
FTP Application class serves files
to FTP clients.
The ftp server was adapted from a
server by Pramod Singh (and used
with permission). It was ported to the final release of .NET, modified to
run outside the GUI, and integrated with the security framework.
-
Remoting Application class hosts
.NET objects. Check out my .NET Remoting Central
page for links on custom channels, tips, etc.
-
Extendable for other services: LDAP, POP3, SMTP, etc.
-
Web-based Admistration Program
-
The server self-hosts an ASP.NET
application for managing the applications allowing the settings to be editted.
-
Using icons designed by Jakub
"Jimmac" Steiner from Miguel
-
Add/Edit/Delete Users within the Admin UI
-
View the
Screenshots
-
Application Configuration/Installation
-
All configuration is stored in XML files either
within the application directory (similar to web.config) or in the server
directory.
-
Applications can be installed by placing them in the
"applications" directory, or uploading a installation package (.zip or .tar)
using the interface. This form of
deployment
is similar to Tomcat.
-
Container Application
-
The container currently runs as a console
applications (will run as a service in the future). Similar to COM+/IIS
applications but can be web, ftp, remoting, etc.
-
Publishes remote objects for mangement (unload,
reload, etc.)
-
Other features
-
Integrated Security: maintains list of users and
roles. This is used to secure the applications, FTP access, and is
available for hosted ASP.NET applications.
-
Logging: The container application listens to trace
messages from the hosted applications and logs them into files. These
messages are then viewable within the admin site.
To-Do List
-
Administration UI
-
Use interface within admin gui instead of classes:
-
IClientSessions (FTP App)
-
IWebServices (Web App, Cassini App)
-
Provide GetProperties() method to return name/value pairs to
display. Change admin app to display this instead of reading properties
directly off objects. (For first tab on application page)
-
GetWebServices() method should return WebServiceDescriptor objects
-
Add ReadTextFile, WriteTextFile. Update admin GUI to allow editting
of text files.
-
Add ReadBinaryFile. Update admin GUI to display image files. - Add
WriteFile. Update admin GUI to allow uploading of files into the application
directories.
-
Support multiple roles within the admin GUI - Secure admin GUI with
login page
-
User Administration
-
Role publishing- Allow installed applications to publish which roles
they support.
-
Add SQL-based user storage.
-
Container Application
-
Run as service or console mode
-
Add more configurable option to server's .config file
|


|