Не смог придумать лучшего названия :)
Эту презентацию я готовил для девятой встречи JUG во Владимире, которая состоялась 25 декабря 2008. Запись презентации будет доступна чуть позже на сайте JUG, а пока я решил выложить слайды.
Рассматриваемое приложение - один из заказных проектов KeyIntegrity. Его особенность в том, что он полностью реализован на Java OpenSource-решениях. Вот лишь некоторые из них:
В презентации также приводится несколько метрик проекта: сроки, количество занятых в разработке людей, метрики по коду и так далее.
Я бы отнес этот проект к категории "маленьких", но, несмотря на его размер, он оказался очень интересным в плане реализации.
Как обычно не обошлось без тонкостей использования OpenSource-решений в production. Например:
- реализации JPA могут работать не стабильно если используется pool соединений (то есть почти всегда) и с приложением не работают более 8 часов (настройки MySQL по умолчанию), например, ночью когда нет активных пользователей;
- использование AJP13 в Tomcat с настройками по-умолчанию через некоторое время приводит к отказу работы системы;
- и другие.
Часть вопросов по доступу к данным закрылось библиотекой keyintegrity-orm-jpa (небольшая обертка для JPA), которую пришлось написать для этого проекта. О ней также есть информация в слайдах. Скорее всего удастся выпустить эту библиотечку под Apache License v2, но это уже только в следующем году (обязательно напишу про это отдельную новость).
В общем я очень доволен как себя показала Tapestry5 с её встроенной поддержкой IoC. Всем рекомендую посмотреть этот Web Framework, тем более, что недавно вышел финальный релиз.
Также остались только хорошие впечатления от BIRT - в очередной раз удалось реализовать все, что нужно, включая русскую локализацию для Web Viewer'а.
- Презентация (572 КБ)