Some of the technologies we use and recommend:
Operating System: Although we support Windows implementations, we encourage our clients to consider adopting Linux, due to its better security, uptime, performance, and lower total cost of ownership.
Programming Language: Java is our language of choice. It is widely supported, and allows us to easily support multiple operating systems.
Interface Language: Although we communicate with myriad systems and field devices, and hence must do quite a bit of data conversion and validation, XML has become the lingua franca of the internet. More importantly, the ITS industry is finally starting to embrace XML. We are staunch advocates of this approach.
Database: PostGIS is the geospacially-enabled flavor of the popular Postgres database. We like it not only because of its GIS features, but also because its many similarities to the Oracle database reduce developer learning time.
Message Bus: ActiveMQ is a lightweight, high performance JMS message engine. Our capacity testing demonstrated that there is no need to introduce the complexity and overhead of a full-blown application server to support the transaction volumes of even a very large deployment, so we keep it simple by avoiding needless complexity.
Web Server: Apache is the de facto standard web server software on the internet. It is used by most large companies due to its stability, scalability, and security.
Servlet Engine: Tomcat is the official servlet container for Java applications.
Mapping Engine: University of Minnesota's MapServer, which efficiently and reliably renders all common vector and raster format data.