Technologies to be used in the Tockit project
One basic aspect is that the development should be object-oriented, component-based and iterative -- with a strong touch of postmodernism. The code should be the result of a software engineering process and not a simple hack, designed for reuse and documented.
The main programming language of our choice is Java. This is mainly due to the fact of its broad support and its ease of use in comparision to C++. One of the main advantages is the large number of standardized libraries, there are many Open Source libraries out there helping us a lot.
The file formats should be build using XML. Again it is mainly the availabilty of tools and documentation that makes XML a technology of our choice. The interoperability of our framework with other tools should be easier with XML based files formats, esp. writing export filters will often be just a writing a simple XSL file.
The framework should offer the option to use three-tier architectures like using a relational database as backend, a Java Servlet server for application control and a web browser as frontend. The database might even need a separate abstraction layer if an application needs to operate on existing databases. On the other hand we will support simpler systems which store their data in memory.
Here is a list of Java Open Source projects we have used in some of our projects and that we really appreciate -- no particular order:
Libraries and embedded tools
First of all two non-Java tools: Sourceforge and CVS are probably the most helpful tools we use. The Java ones are: