SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Open Application Server
Shridhar Daithankar
April 3, 2003

This is first public release of Open Application Server. This is ready made framework to host serve applications.

The idea behind the application is simple. It attempts to extract typical functionality of a server so that people do not go on rewriting it again and again.

This framework is optimised for lots of request which does not take much time to process. If your server application does not fit this description, you may not be able to use it as it is.

It is advisable from design point of view to split the request processing across multiple functionalities and assign different threads/thread pool to handle each functionality. An application which has total asynchronous communication between variaous functionalities can deliver highest possible performance with modest number of threads. OAS Server provides APIs and example of the same

It uses threads to handle requests. This makes communication between objects very simple and fast. It does increase complexity at many places but it forces a cleaner design as well. If you look at the example application, that is bundled, you will see that an application need not care about any threading issues at all. All of them are taken care in server.

The choice of using own threads is still available. In that case, you can look at OAS server source code to find out some of tested practices of multithreaded programming.

The config file is most important for proper functioning of OAS. There is a bundled config file for example. Do take a look at it.

Start and stopping the server

OAS is just another unix application which requires a config file name as argument. You can export it to environment variable, OASCONFIG as well.

So how does it get started?

$ nohup oasserver configfile >log.err 2>&1 &

That's it.

Stopping OASSserver is bit trickier. since it is a mix of forked process and threads, using signal to terminate it is not a good idea.

You need to use the control panel to terminate it.

$ oascontrol tmp/oasserverctrlsock2
OAS Control> quit
$

There are couple of other things you can do with this "control panel" but for now, this is the only command that works.

Some misc. issues

Yes, I know that 'S' in OAS stands for server but still I will keep calling 'OAS Server' because there are components in here, like libhttp, which are optional for a server but still bundled. They may get debundled later but for now, that's the way it is.

This is a unix only software. I do not foresee runnning it on windows anytime soon. I am not going to port it myself for sure. If somebody wants to do that, he/she will have my co-operation.

I am pitching this application against things ranging from php/perl to J2EE/.NET. Given that there is already flurry of windows specific things, I don't see any point putting any efforts there. Of course, if you think this product is vastly superior and MUST BE ported to windows, I am pleased..:-)

For known bugs, see TODO.

Last but not the least, do look at INSTALL file. There are some weird requirement for installing OAS Server.

Shridhar Daithankar
shridhar_daithankar@persistent.co.in


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.