En

JazzTeam Software Development Company

Agile Java Development

Модернизация построенного на базе Jive корпоративного портала для личностного роста

Краткое описание проекта: каждая компания – это сложная система, для успешного функционирования которой очень долго настраивается огромное количество процессов. Для того, чтобы данные процессы работали корректно, требуется персонал, который будет их поддерживать. Поэтому сложно себе представить современную конкурентную компанию, в которой отсутствовали бы инструменты для организации процессов обучения сотрудников, где сотрудники не могли бы еще и обмениваться своим опытом, накапливать его.

Современный рынок предоставляет достаточно широкий выбор технологических решений, позволяющих организовать такую возможность, достаточно лишь выбрать наиболее подходящее и адаптировать его под свои нужды.

Подобный инструмент был внедрен у нашего заказчика и представлял собой портал для личностного роста и саморазвития сотрудников. В основе данного портала лежит разработанная на базе Java-EE система по организации корпоративных социальных сетей и совместной работы Jive.

При помощи данного портала сотрудники могут выполнять следующие функции:

Данный портал существовал достаточно долгое время и он перестал отвечать современным требованиям и потребностям заказчика. Нашей команде на данном проекте требовалось провести его модернизацию и доработку. Ниже приведен основной список задач:

Мы реализовали новый интерфейс на базе Freemarker (шаблонизатора для динамического заполнения текстового вывода) и CSS. В дополнение к этому мы использовали библиотеку DWR (Direct Web Remoting, Java-библиотека, позволяющая коду в браузере использовать методы Java, исполняемые на сервере, так, как если бы они исполнялись в браузере).

Мы обновили ядро Jiva, обеспечили совместимость со старой версией, устранили ошибки валидации. Также мы внедрили Spring с использованием JAX-WS (Java API for XML Web Services, интерфейс для создания веб-служб).

Для того, чтобы можно было загружать видео с различных платформ (vimeo и yahoo), мы разработали специальный фреймворк, при помощи которого можно легко добавлять загрузку видео различных провайдеров. После этого мы применили данный фреймворк в нашем проекте.

Мы внедрили практику написания Unit-тестов для любого разрабатываемого модуля. Это позволило в будущем оперативно находить ошибки при внесении изменений в код.

Работа над проектом усложнялась тем, что отсутствовал исходный код проекта и нашей команде пришлось проводить декомпиляцию и разбираться как работает система.

Дополнительно мы создали дополнительное окружение для тестирования, тем самым смогли предотвратить просачивание ошибок на production сервера.

Ниже, на рисунке 1, схематично представлена итоговая структура портала.

Структура портала

Рисунок 1 – Структура портала

Технологии:

Programming languages: Java, Javascript, CSS.
Frameworks: Spring IoC, Spring Security, Spring DAO, Apache Struts SiteMesh, Apache CXF.
Infrastructure: Ant, Git, IntelliJ IDEA, Jira, Tomcat.
Test libraries: JUnit 4.
Other libraries: DWR.
Tools: Jive, Freemarker.

Особенности проекта:

Результат проекта:

В рамках работы над проектом компанией JazzTeam были решены все поставленные задачи:

Достижения компании на проекте: