Принципы работы Spring Framework
Spring Framework (или коротко Spring) — универсальный фреймворк с открытым исходным кодом для Java-платформы.
Spring Framework обеспечивает решения многих задач, с которыми сталкиваются Java разработчики и организации, которые хотят создать информационную систему, основанную на платформе Java. Из-за широкой функциональности трудно определить наиболее значимые структурные элементы, из которых он состоит. Spring Framework не всецело связан с платформой Java Enterprise, несмотря на его масштабную интеграцию с ней, что является важной причиной его популярности.
Spring Framework, вероятно, наиболее известен как источник расширений (features), нужных для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей, которые исторически были доминирующими в промышленности. Ещё одно его достоинство в том, что он ввел ранее неиспользуемые функциональные возможности в сегодняшние господствующие методы разработки, даже вне платформы Java.
Этот фреймворк предлагает последовательную модель и делает её применимой к большинству типов приложений, которые уже созданы на основе платформы Java. Считается, что Spring Framework реализует модель разработки, основанную на лучших стандартах индустрии, и делает её доступной во многих областях Java.
Spring Framework может быть рассмотрен как коллекция меньших фреймворков или фреймворков во фреймворке. Большинство этих фреймворков может работать независимо друг от друга, однако, они обеспечивают большую функциональность при совместном их использовании. Эти фреймворки делятся на структурные элементы типовых комплексных приложений:
- Inversion of Control-контейнер: конфигурирование компонентов приложений и управление жизненным циклом Java-объектов.
- Фреймворк аспектно-ориентированного программирования: работает с функциональностью, которая не может быть реализована возможностями объектно-ориентированного программирования на Java без потерь.
- Фреймворк доступа к данным: работает с системами управления реляционными базами данных на Java-платформе, используя JDBC- и ORM-средства и обеспечивая решения задач, которые повторяются в большом числе Java-based environments.
- Фреймворк управления транзакциями: координация различных API управления транзакциями и инструментарий настраиваемого управления транзакциями для объектов Java.
- Фреймворк MVC: каркас, основанный на HTTP и сервлетах, предоставляющий множество возможностей для расширения и настройки (customization).
- Фреймворк удалённого доступа: конфигурируемая передача Java-объектов через сеть в стиле RPC, поддерживающая RMI, CORBA, HTTP-based протоколы, включая web-сервисы (SOAP).
- Фреймворк аутентификации и авторизации: конфигурируемый инструментарий процессов аутентификации и авторизации, поддерживающий много популярных и ставших индустриальными стандартами протоколов, инструментов, практик через дочерний проект Spring Security (ранее известный как Acegi).
- Фреймворк удалённого управления: конфигурируемое представление и управление Java-объектами для локальной или удалённой конфигурации с помощью JMX.
- Фреймворк работы с сообщениями: конфигурируемая регистрация объектов-слушателей сообщений для прозрачной обработки сообщений изочереди сообщений с помощью JMS, улучшенная отправка сообщений по стандарту JMS API.
- Тестирование: каркас, поддерживающий классы для написания модульных и интеграционных тестов.
Основные цели курсовой работы
Целью данной курсовой работы является проектирование и реализация социальной сети для пользователя с целью развлечения, общения и поддержания контакта со своими друзьями и знакомыми.
Ввиду большого количество возможных реализаций данной задачи, были выделены основные концепции и решения, которые впоследствии были реализованы в виде веб приложения.
- Реализация авторизации и аутентификации пользователей.
- Сохранение информации о каждом пользователе в базе данных.
- Возможность обмена сообщениями между пользователями.
- Осуществление поиска пользователя по определённым критериям.
- Создание удобного, эстетически привлекательного и интуитивно понятного дизайна программы.
ПОСТАНОВКА ЗАДАЧИ
Как показал анализ предметной области, существующим аналогам присущи следующие недостатки:
1) Высокая стоимость.
2) Низкое качество пользовательского интерфейса.
3) Использование большого количества сервлетов.
Разрабатываемое программное средство должно быть лишено большинства из них. Программный продукт должен распространяться совершенно бесплатно с открытыми исходными кодами, что будет способствовать не только более широкому распространению его среди потребителей, но и поддержке со стороны других разработчиков, которые будут обладать возможностью написания дополнительных модулей для приложения.
Так образом, цель данной курсовой работы – разработать интернет-приложение социальной сети. Программное средство должно реализовывать следующие возможности:
1) Регистрация пользователя;
2) Аторизация и аутентификация пользователя;
3) Просмотр и редактирование профиля;
4) Отправка сообщений;
5) Просмотр профилей других пользователей, удаление и добавление их «друзья»;
6) Поиск пользователей, зарегистрированных на сайте;