Tango.info v2 software
Jump to navigation
Jump to search
Current
Libraries
- log4j-1.2.14.jar - application logging, wrapped in info.tango.util.Logger
- junit-4.3.1.jar - for unit testing support, won't affect the main codebase directly, just the test cases
- wicket-1.4.16.jar - UI framework, not wrappable
- wicket-extensions-1.4.16.jar
- mysql-connector-java-5.1.5-bin.jar - JDBC driver for connecting to database, used at runtime, doesn't affect codebase
Jetty libraries, only used at runtime to provide a servlet container, and don't affect the codebase except for the "launch" classes (which wouldn't be used in production):
- jetty-6.1.4rc1.jar
- jetty-util-6.1.4rc1.jar
- servlet-api-2.5-6.1.4rc1.jar
- slf4j-api-1.5.2.jar
- slf4j-log4j12-1.5.2.jar
Other software
- git for code management
Decisions
Jetty vs Tomcat
- http://www.google.com/search?q=jetty+tomcat
- http://www.webtide.com/choose/jetty.jsp (written by jetty man)
- http://www.infoq.com/news/2009/08/google-chose-jetty (for App engine)
- http://www.google.com/search?q=i-jetty
- http://code.google.com/p/i-jetty/ (for Android)
As long as Apache HTTP is needed, mainly for the old PHP code including MediaWiki (Java based JAMWiki may be a replacement ) connection to Apache is needed:
Seems that Jetty can be tailored to use fewer resources than Tomcat, i.e. is
- better scalable on the main server
- better on low powered system.
But it is unclear how it works with Apache.
Log4j vs Logback
Log4j originally written by the same person that wrote Logback later.
- http://logback.qos.ch/ (source)
- http://logback.qos.ch/reasonsToSwitch.html
- http://logback.qos.ch/reasonsToSwitch.html#logbackAccess
Logback-classic allows integration with slf4j. http://www.slf4j.org/ says that Wicket and Jetty depend on slf4j. And slf4j is mentioned above already.
http://logback.qos.ch/access.html says:
- integrates with Servlet containers such as Jetty or Tomcat to provide rich and powerful HTTP-access log functionality
- logback-access requires logback-core, but is independent of logback-classic as well as slf4j.
- bundling at container level is required, not web app level. And