Task3

advertisement
Факультет Информационных Технологий
Спецкурс: Разработка распределенных систем
Семинарист: Анойкин Д.А., http://ccfit.nsu.ru/~den
Задание №3 Улучшенная доска объявлений
Доску объявлений используют 3 категории пользователей: гости, рекламодатели и
администраторы.
Гости могут производить следующие операции:
 Просматривать все объявления
 Просматривать объявления, созданные только после конкретной даты (с точностью
до минуты)
 Сортировать текущий список объявлений по дате создания или по имени
рекламодателя
 Регистрироваться как рекламодатели (вводится уникальное имя/пароль)
 Писать комментарии к объявлениям
 Смотреть свои комментарии, которые были сделаны во время текущей сессии
Рекламодатели могут дополнительно к возможностям гостя:
 Входить в систему под собственным именем/паролем
 Просматривать только свои объявления, сортированные по дате (asc/desc)
 Фильтровать объявления по дате создания (с точностью до минуты)
 Просматривать комментарии к своим объявлениям, при этом комментарии
сортируются по дате
 Удалять свои объявления вместе с комментариями к ним
 Выходить из системы
Администраторы могут дополнительно к возможностям гостя:
 Входить в систему под собственным именем/паролем
 Смотреть список всех рекламодателей
 Смотреть все объявления определенного рекламодателя и комментарии к ним
(сортируются по дате создания)
 Удалять рекламодателей вместе с объявлениями и комментариями к ним
 Выходить из системы
Информация о пользователях и объявлениях хранится в базе данных. Администратор в
системе только один, он создается при инициализации базы данных.
Для рекламодателя также доступен standalone Java application (Swing или просто
текстовый), с помощью которого он может просматривать свои объявления и
комментарии к ним.
Примерная структура приложения представлена ниже:
1
Факультет Информационных Технологий
Спецкурс: Разработка распределенных систем
Семинарист: Анойкин Д.А., http://ccfit.nsu.ru/~den
Требования по реализации:
 Использовать Struts 1.2.x в качестве JSP-Servlet framework (http://struts.apache.org/)
 Использовать JBoss 3.x в качестве EJB-container
 В качестве базы данных использовать MySQL 4.x
 Оформить приложение в виде EAR файла с именем board.ear
 Используйте CMP Entity Beans для представления бизнес-сущностей
 Сортировку и фильтрацию объявлений реализовать через EJB OQL
 Инициализация базы производится посредством специального standalone java
application
 Доступ к базе данных получать через JNDI. Используйте <resource-ref> с именем
“jdbc/boardDB” в web.xml и ejb-jar.xml(смотри документацию по Tomcat и JBoss)
 Использовать роли ‘advertiser’ и ‘admin’ для рекламодателя и администратора.
Ограничить доступ к соответствующим страницам доски объявлений и методам в
EJB, используя:
2
Факультет Информационных Технологий
Спецкурс: Разработка распределенных систем
Семинарист: Анойкин Д.А., http://ccfit.nsu.ru/~den
o стандартные <security-role>, <security-constraint> тэги в web.xml и в ejbjar.xml
o FORM метод аутентификации для web-контейнера
o Необходимо использовать перенаправление аутентификации из webcontainer и из standalone application в JBoss. Более подробно:
 http://www.jboss.ru/author/blandger/jboss/jboss_security_setting.htm
 http://www.luminis.nl/publications/websecurity.html
 JBoss Book, параграф “Delegate web container authentication and
authorization to JBossSX”
o Предпочтительно использовать
org.jboss.security.auth.spi.DatabaseServerLoginModule для авторизации в
JBoss (смотри JBoss Book, параграф “Using and Writing JBossSX Login
Modules”)
Дополнительные упражнения
1. Использовать технологию JSF при реализации web-доступа
2. Сделать web-service для работы рекламодателя с объявлениями и комментариями
3. Реализовать кластерную версию приложения, используя 2 инсталляции Jboss
3
Download