пятница, 7 ноября 2008 г.

Полезные фреймворки и технологии

Раз уж пока руки не доходят написать за жизнь в Канаде, напишу про джаву :) Узнал парочку весьма полезных в корпоративных проектах фреймворков. Сначала то, что мне, как аналитику по образованию точно бы крайне понравилось. Называется технология OpenRules и предназначена для описания бизнес-правил. Как известно, в реальной жизни редко когда (да практически никогда) бизнес-процессы компании остаются неизменными, так как зачастую зависят от большого количества внешних факторов. Соответственно, если логику зашивать в джава-код, то через достаточно небольшой промежуток времени проблема поддержки приложения станет достаточно остро, т.к. заказчик естесственно захочет иметь автоматизацию своих актуальных бизнес-процессов на текущий момент. Соответственно, нужно будет привлекать как бизнес-аналитика(либо кому-то выполнять его функции), так и разработчиков. Использование же данной технологии позволит все модификации бизнес-правил возложить только на аналитика. И никакой модификации существующего кода! :) Как не трудно догадаться, это происходит потому что бизнес-правила не кодируются, а выносятся на конфигурационный уровень, где их потом можно смело менять и не трогать код. А если точнее - то OpenRules реализует связку Java+MS Excel, где сами правила описываются в интуитивно понятной форме в Excel файле, а потом при помощи движка интегрируются в саму систему. Конечно, есть и техническая часть, но она в большинстве случаев реализуется единожды - при начальном создании набора правил, когда аналитик и разработчик наверняка будут работать в паре. В дальнейшем аналитик как правило будет работать только со своей частью, но конечно при кардинальном изменении требований может обратиться за помощью к tech-guys. Если конечно не осилит внести необходимые изменения самостоятельно. В общем все ясно из картинки:



Как видно, правила задаются в виде различных функций и ограничений, а привязка к Java-части конфигурируется прямо там же в Excel(для этого и может понадобиться помощь программиста на начальном этапе). В дальнейшем же, при неизменных входных значениях переконфигурация не требуется и аналитик может менять бизнес-функции как необходимо. Более детально написано на сайте производителя, есть отличные примеры, документация, демки. Категорически рекомендую.

И еще один, не столь глобальный, но очень полезный фреймворк - Dozer. Он умеет.. мапить POJO на POJO :) Может возникнуть вопрос - а на.. зачем это надо? Все просто - эта фича очень плоезна при построении DTO, особенно если DTO содержит в себе информацию из нескольких классов. Написание методов для получения таких объектов вручную лично меня всегда крайне напрягало, поскольку это тупая и обезьянья работа. А при использовании этого фреймворка можно обойтись парой строк вместо пары десятков (сама библиотека достаточно умная и при использовании определенных соглашений количество необходимых телодвижений для получения DTO сводится к минимуму). За что он мне и нравится. Детали - как всегда на сайте производителя :)

Комментариев нет: