Monday, January 18, 2010

Developing an application server/foundation

An application server you ask? Yeah an application server. Stolen from wikipedia:

"An application server is a software framework... The term was created in the context of web applications. In these, the application server acts as a set of components accessible to the software developer through an API defined by the platform itself." - Wikipedia[1]

So thats an application server. Then why the "/foundation" in the title, well because I will not create something that has been developed like that for years - maybe even centuries. I will strive to make software that is somewhat innovative, Proof Of Concept but still usable in production.

This application foundation - down to business - is what I would call a full build and deploy platform, you build your application with your favorite IDE and deploy it via, say SVN or Git as a normal commit, maybe you have a configuration (web/desktop)interface or its part of the commit.

I did a bit of analysis and found out what is needed to do this, I looked at my previous projects and some structure of current applications. I found out that the following is needed:
  • Data store - normally a (R)DBMS, but flat-files would do
  • A way of communicating with the world - a web interface or a stream
  • A way of managing deployed applications - by desktop or web interface
  • A way of deployment - SVN or Git
And i pictured this in my head as follows:
This is quite a simple structure, but researching for the needed components I found out that it isn't. Since I have chosen to develop in Java[2] and since this is an Object Oriented language, I found it natural to choose an object oriented database management system(ODBMS) and with that in mind I immediately thought of Java Data Objects developed by Apache foundation. That is just not as simple as thought.

So after this brief outline, I can tell you that I'm looking for some smart heads to help design and develop, AND that I'm struggling with maven, JDO and looking into Glassfish[2] and Tomcat[3] -since these look like a solid foundation to start from.

Also I've found a working title to the project OpenApplicationServer - OAS

/Nicolai

[1] Application server. (2010, January 15). In Wikipedia, The Free Encyclopedia. Retrieved 22:45, January 18, 2010, fromhttp://en.wikipedia.org/w/index.php?title=Application_server&oldid=338074250
[2] This is not the final choice, but I have no intention on leaving the OO world

No comments:

Choose a month: