20 декабря 2009 г.

FBDataGuard в открытом бета-тестировании

FBDataGuard -- это агент мониторинга "здоровья" серверов баз данных под СУБД Firebird. Firebird -- одна из двух (вторая -- PostgreSQL) достаточно известных и широко используемых, и при этом полностью открытых и бесплатных СУБД на рынке.

Основной ее недостаток, как и у большинства open source продуктов -- низкий, по сравнению с коммерческими аналогами, уровень дружелюбности к пользователю. FBDataGuard -- продукт, который пытается как-то справиться с этим недостатком. Это агент, запускаемый в фоновом режиме на том же сервере, что и СУБД, и занимающийся непрерывным мониторингом ряда важных параметров БД, сервера СУБД, и самого хост-компьютера. Начиная от свободного места на дисковых разделах, количества временных файлов, состояния индексов БД, количества активных пользователей, параметров транзакций... Ну и многое другое -- всего списка я сам не помню. Плюс к тому, агент выполняет по расписанию револьверные бэкапы, собирает статистику использования БД (для анализа на предмет оптимизации), хранит актуальную версию метаданных (это в разы облегчает починку БД в случае ее повреждения) и еще всякое-разное. И если что-то ломается, или параметры выходят за заданные границы -- начинает спамить админа письмами с угрозами. Кроме того у агента есть http-based RESTfull API, для получения актуальной информации о текущем состоянии. И -- в качестве примера его использования -- ajax-based веб-страничка мониторинга и управления агентом (веб-консоль). Такая вот красотищща.


В общем, штука незаменимая, непонятно, как люди до сих пор без нее жили. Точнее, в общем-то, понятно -- каждый писал собственные скрипты для всех этих задач. Ну вот мы и решили, что это некошерно, в 21-ом то веке, когда космические корабли...

Продукт бесплатный, возможно даже (пока не решили) ядро будет с открытыми кодами.

Собственно, я один из активных участников процесса разработки. Поэтому, хотя вышеизложенное и является рекламой -- это реклама из первых рук :) И мне за нее не стыдно. А кто хочет присоединиться к бета-тестированию -- добро пожаловать по ссылке в заголовке.

7 декабря 2009 г.

apache wicket

Обнаружил замечательнейший web framework -- apache wicket. Бросил безнадежное дело с написанием нашего проекта на PHP, за выходные переписал все на джаве под wicket, заодно изучая Wicket In Action.

В чем фишка wicket:
1. Шаблоны страниц -- чистый html, только аттрибуты типа wicket:id указывают, где будет привязка к динамическом содержимому. Т.е. шаблон можно верстать в любом редакторе html и просматривать в любом браузере.
2. Динамика для шаблонов -- чистая джава. view+controller вместе, как в swing. Вообще само программирование очень сильно напоминает свинг -- настолько, что поначалу даже непривычно. Постоянно ищешь где же здесь запрятан цикл request-response.
3. Шаблоны можно наследовать и агрегировать. Т.е. можно создавать повторно используемые компоненты, и включать их в другие шаблоны, и можно расширять существующие шаблоны/компоненты. Просто чудо.

Среди прочего, за выходные узнал, что по скорости java servlet container в разы превосходят php. Правда, хотят больше памяти. Так что мои опасения, что джава для фронтенда высоконагруженного веб-приложения не подойдет были не обоснованными.