Научная статья на тему 'Агрегатор численности контингента университета'

Агрегатор численности контингента университета Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
259
59
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СЕРВЛЕТ / JAVA SERVER PAGES (JSP) / БАЗА ДАННЫХ / STRUCTURED QUERY LANGUAGE (SQL) / WEB-СТРАНИЦА / SPRING / JAVASCRIPT / JQUERY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Коломоец Г. П., Пашков Д. В.

В статье описана используемая в Классическом приватном университете, г. Запорожье программа-агрегатор численности контингента, которая осуществляет выборку информации из различных баз данных и представляет функциональный Web-интерфейс, позволяющий отслеживать изменение численности студентов и слушателей колледжа по различным направлениям/специальностям, курсам и формам обучения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Агрегатор численности контингента университета»

5. Barkalov A.A., Zelenyova I.Ya., Gricenko A.A. Sintez upravlyayushhix avtomatov s ispol‘zovaniem raspredelyonny‘x i parallel‘ny‘x system, Radioelektronika, informatyka, upravlinnia, 2010, No. 22, pp. 128-134.

6. Smith D.J. HDL Chip Design: A Practical Guide for Designing, Synthesizing and Simulating ASICs and FPGAs Using VHDL or Verilog. Austin, Doone Publications, 1998, 448 p.

7. Chu P.P. RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability. New Jersey, John Wiley and Sons, 2006, 694 p.

8. ModelSim ASIC and FPGA Design - Mentor Graphics [Electronic Resource]. - Mode of access: http://www.mentor.com/products/fv/modelsim.

9. Ashenden P.J., Lewis J. VHDL 2008: Just the New Stuff (Systems on Silicon). Burlington, Morgan Kaufmann, 2008, 256 p.

10. Stratix Ш Device Handbook, Volume 1 [Electronic Resource]. -Mode of access:

http://www.altera.com/literature/hb/stx3/stx3_siii5v1.pdf.

11. Quartus II Handbook Version 10.1 Volume 1: Design and Synthesis [Electronic Resource]. - Mode of access: http://www.altera.com/literature/hb/qts/ quartusii_handbook.pdf.

УДК 004.031.4

Коломоец Г. П.1, Пашков Д. В.2

1Канд. физ.-мат. наук, доцент Классического приватного университета, г. Запорожье 2Инженер-программист Классического приватного университета, г. Запорожье

АГРЕГАТОР ЧИСЛЕННОСТИ КОНТИНГЕНТА УНИВЕРСИТЕТА

В статье описана используемая в Классическом приватном университете, г. Запорожье программа-агрегатор численности контингента, которая осуществляет выборку информации из различных баз данных и представляет функциональный Web-интерфейс, позволяющий отслеживать изменение численности студентов и слушателей колледжа по различным направлениям/специальностям, курсам и формам обучения.

Ключевые слова: сервлет, Java Server Pages (JSP), Spring, база данных, Structured Query Language (SQL), JavaScript, jQuery, Web-страница.

ВВЕДЕНИЕ

Достаточно распространенной проблемой многих организаций, в том числе и Классического приватного университета, г. Запорожье (КПУ), является отсутствие единой информационной системы управления (так называемая «кусочная автоматизация» [1]). В частности, в КПУ задачи приемной комиссии решает информационная система «Абитуриент», хранящая данные в СУБД Microsoft SQL, данные поступивших в ВУЗ абитуриентов экспортируются в базу данных СУБД Firebird SQL, с которой работает отдельная система отдела кадров. Кроме того, в обеих системах данные абитуриентов/студентов университета и колледжа находятся в различных базах данных. Поскольку мониторинг количества поступивших и обучающихся студентов является актуальным, руководством КПУ была поставлена задача разработки агрегатора с удобным интерфейсом, который выводил бы суммарные данные по контингенту студентов и слушателей колледжа из баз данных приемной комиссии и отдела кадров с группировкой по обучаемым направлениям/специальностям, курсам и формам обучения.

Цель статьи - представить решение задачи агрегирования данных различных систем в одном Web-ориентированном приложении, разработанном с использованием кроссплатформенных свободно распространяемых программных средств.

АРХИТЕКТУРА ПРИЛОЖЕНИЯ

Для обеспечения простого и удобного интерфейса с учетом обеспечения доступа с различных операцион-

© Коломоец Г П., Пашков Д. В., 2012

ных систем, было принято решение о разработке Web-приложения на платформе Java с использованием технологий сервлетов, Java Server Pages (JSP) [2] и фреймворка Spring [3]. В качестве технологий доступа к различным базам данных были использованы технологии Java DataBase Connectivity (JDBC) [4] и Hibernate [3]. На рис. 1 приведена функциональная диаграмма разработанного приложения и показано место использованных технологий в ней.

Доступ к различным серверам и базам данных реализован с помощью сервлетов. Сервлет для работы с базами данных на основе XML-файла конфигурации Spring с параметрами подключения создает объект-источник данных (bean). Особенностью данного объекта-источника является использование разработанных авторами универсального метода подключения к различным базам данных и универсального метода, возвращающего данные из базы: либо в виде одномерной коллекции названий направлений/специальностей, либо в виде двумерной коллекции данных численности контингента по специальностям и курсам/формам обучения. Данные о параметрах подключения, имени, пароле и драйвере хранятся в XML-файле конфигурации Spring, что значительно упрощает поддержку системы. При необходимости изменения параметров подключения не нужно переписывать код Java-класса и компилировать его, достаточно всего лишь внести изменения в XML-файл.

Учитывая, что информация хранится в базах данных с различной структурой, были разработаны отдельные текстовые файлы с необходимыми SQL-запросами с параметрами, использующиеся в качестве параметров объек-

Требуемая база данных Рис. 1. Функциональная диаграмма агрегатора

тов PreparedStatement, которые использовались универсальным методом получения данных. При организации доступа к СУБД FireBird SQL было реализовано решение правильного отображения нелатинских символов [5].

Диспетчеризация клиентских запросов к различным сервлетам, формирующим отображаемые HTML-страницы, осуществляется с помощью функции библиотеки jQuery [6] post (url, данные, вызов, тип). В качестве параметра url - служит имя сервлета, по которому извлекается его адрес из дескриптора развертывания web.xml, в качестве данных - строка, содержащая в виде «ключ=значение&ключ=значение» тип операции (getData или getCharts) и идентификатор базы данных, в качестве вызова - функция JavaScript, которая обеспечивает внедрение полученных данных от сервера в страницу, и в качестве типа - текст для отчетов в виде таблиц или JSON-объект для отчетов в виде диаграмм. Применение поддерживаемой указанной функцией технологии AJAX [7] способствует повышению производительности работы приложения.

ОПИСАНИЕ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

Пользовательский интерфейс (рис. 2) построен на базе JSP-страниц с реализованными функциями входа пользо-

вателя в систему, построения меню, отображения результирующих таблиц и диаграмм, формирования суммарных значений численности контингента с применением функций и стилей jQuery UI. На рис. 2 приведена главная страница приложения с развернутым меню.

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

Функциональность интерфейса пользователя обеспечивается с помощью как функций и плагинов библиотеки jQuery, так и разработанных авторами на языке JavaScript функций. К последним относятся скрипты, формирующие интерфейс регистрации пользователя, выводящие меню системы и обеспечивающие вывод таблиц, диаграмм и графиков (рис. 4).

Дополнительную функциональность обеспечивают страницы, позволяющие благодаря использованию технологии AJAX интерактивно рассчитывать количество студентов при отдельном и/или совместном выборе курсов обучения, форм обучения и уровней подготовки (рис. 5).

Сервіс__________________Приймальна комісія Відділ кадрів________________Деканат

г Абітурієнти І*' Ш бакалаври -

І —— на сторінка

0 Спєц.г магістри

НІ Мол. спеціалісти шетувач Статистика 1с іністратор

Ваші права

Адміністративні оперзпії Операції декавату Доступ до сайтл Перегляд стптнстнкб університету

Завершити роботу

Рис. 2. Интерфейс агрегатора с развернутым меню

Сервіс______________Приймальна комісія Відділ кадрів________Деканат_________________________________________________

=---------------------------—------------------- ^ ч

І Кількість поданих документів (Бакалаврат) - Приймальна комісія

Критерії відбору Рекомендовано до зарахування

Курс І П III IV Разом

.\£ Напрям Форма навчання Д 3 Д 3 д 3 Д 3 д 3 д 3 Всього

1 Видавнича справа та редагування 1 5 0 9 0 2 0 0 0 0 1 16 17

2 Геодезія, картографія та землеустрій 1 2 0 5 9 57 0 1 0 0 10 65 75

3 Г отельно-ресторанна справа 1 9 1 8 18 19 0 0 0 0 20 36 56

4 Дизайн 7 0 0 2 3 2 0 0 0 0 10 4 14

5 Економіка підприємства 5 14 0 7 17 71 0 3 0 0 22 95 117

6 Економічна кібернетика 2 2 0 1 1 11 0 0 0 1 3 15 18

7 Журналістика 5 5 0 3 4 2 0 0 0 0 9 10 19

8 Здоров'я людини 8 12 2 11 2 82 0 0 0 0 12 105 117

9 Інформатика 0 0 0 б 0 0 0 0 0 0 0 6 6

10 Маркетинг 0 9 1 3 1 11 0 0 0 0 2 23 25

11 Менеджмент 18 1 9 18 67 0 1 0 0 24 95 119

12 Міжнародна економіка 2 2 0 3 4 3 0 0 0 0 б 8 14

13 Міжнародне право 4 4 0 0 0 0 0 0 0 0 4 4 8

14 Мікро- та наноелектроніка 0 2 0 0 0 1 0 0 0 0 0 3 3

15 Облік і аудит 1 5 0 10 4 27 0 2 0 0 5 44 49

16 Право 20 27 6 44 35 112 11 179 0 27 72 389 461

17 Прикладна статистика 0 2 0 7 0 11 0 0 0 0 0 20 20

18 Програмна інженерія 1 3 0 2 21 15 0 0 0 0 22 20 42

Рис. 3. Пример отчета по студентам из базы данных приемной комиссии

Рис. 4. Пример диаграммы, построенной для агрегированных данных

Рис. 5. Интерактивный подсчет количества студентов при задании различных параметров

РЕАЛИЗАЦИЯ ПОДСИСТЕМЫ БЕЗОПАСНОСТИ

В соответствии с функциональными требованиями для агрегатора была разработана подсистема безопасности, позволяющая выполнять аутентификацию и авторизацию пользователей. Были предусмотрены роли Администратор и Пользователь. Пользователи, роли, права доступа представлены как классы-сущности, отображаемые с помощью технологии Hibernate в таб-

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

Рис. 6. Форма регистрации пользователя

ВЫВОДЫ

Разработанное программное обеспечение Web-агрегатора численности контингента университета из различных источников данных является функциональным программным обеспечением, разработанным с использованием современных подходов и средств программной инженерии. Инсталляция приложения заключается в развертывании war-файла в контейнере сервлетов, в качестве клиента используется стандартный браузер (с включенной поддержкой JavaScript). Приложение может быть расширено для использования других источников данных добавлением сервлетов и XML-конфигурированием средств фреймворка Spring. В Классическом приватном университете, г. Запорожье программа-агрегатор используется для анализа результатов приемной компании и мониторинга учета студентов отделом кадров.

СПИСОК ЛИТЕРАТУРЫ

1. Лобачев, П. Кусочная автоматизация и единое информационное пространство [Электронный ресурс] / П. Лобачев // Персональный сайт П. Лобачева. - Режим доступа: http://p-lobachev.narod.ru/articles10.htm, свободный. - Загл. с экрана.

2. Перри, Б. Java сервлеты и JSP : сборник рецептов / Б. Перри. - Изд. 2-е ; пер. с англ. - М. : КУДИЦ-ПРЕСС, 2006. -768 с.

3. Хемраджани, А. Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse. : Пер. с англ. -М. : ООО «И.Д. Вильямс», 2008. - 352 с.

4. Trail: JDBC(TM) Database Access [Электронный ресурс] // Официальный сайт комании Oracle. - Режим доступа: http://download.oracle.com/javase/tutorial/ jdbc/overview/ index.html, свободный. - Загл. с экрана.

5. Кузьменко, Д. О работе с русскими буквами в InterBase/ Firebird [Электронный ресурс] // Сайт технической поддержки Firebird/InterBase и инструментов разработчика Embarcadero. - Режим доступа: http://www.ibase.ru/devinfo/ ibrusfaq.htm, свободный. - Загл. с экрана.

6. Чаффер, Дж. Изучаем jQuery 1.3. Эффективная веб-разработка на JavaScript. - Пер. с англ. / Дж. Чаффер, К. Шведберг. - С. Пб. : Символ-Плюс, 2010. - 448 с.

7. Крейн, Д. Ajax в действии. - Пер. с англ. / Д. Крейн,

Э. Паскарелло, Д. Джеймс. - М. : Издательский дом «Вильямс», 2006.- 640 с.

Стаття надійшла до редакції 07.02.2012.

Коломоєць Г. П., Пашков Д. В.

АГРЕГАТОР ЧИСЕЛЬНОСТІ КОНТИНГЕНТУ УНІВЕРСИТЕТУ

У статті описана програма-агрегатор чисельності контингенту, що використовується в Класичному приватному університеті, м. Запоріжжя, яка здійснює вибірку інформації з різних баз даних і представляє функціональний Web-інтерфейс, що дозволяє відслідковувати зміну чисельності студентів і слухачів коледжу з різних напрямів/спеціальностей, курсів та форм навчання.

Ключові слова: сервлет, Java Server Pages (JSP), база даних, Spring, Structured Query Language (SQL), JavaScript, jQuery, Web-сторінка.

Kolomoets G. P., Pashkov D. V.

AGGREGATOR OF THE UNIVERSITY CONTINGENT QUANTITY

Purpose of the article - to represent the solution of the problem of data aggregation from different systems in a single, Web-based application developed with the use of cross-platform open source software. The paper describes the architecture and implementation of university students’ contingent quantity aggregator - the

software application that is working with several university information systems (IS). The application has convenient tools contingent quantity calculating and displaying it in summary form 2

and in the form of diagrams. Application is implemented on the Java platform and uses a three-tier client-server architecture with 3

application server. For IS databases access we used JDBC technology, access was organized via servlets’ methods, Spring framework objects (beans) was used as data sources, Feature of 4

these objects is to use the generic method developed by the authors to connect to different IS and universal method that returns data from the database, in the form either of a one-dimensional or twodimensional data collection. So adding a new data source is a simple 5

procedure based on the XML configuration. The system also implements the administrative tools that include management of users and roles, and logging.

Key words: servlet, Java Server Pages (JSP), database, Spring, Structured Query Language (SQL), JavaScript, jQuery, Web-page. 6

REFERENCES

1. Lobachyov P. Kusochnaya avtomatizatsiya i edinoe 7

informatsionnoe prostranstvo [Elektronnyiy resurs],

Personalnyiy sayt P. Lobachyova, Rezhim dostupa: http://p-lobachev.narod.ru/articles10.htm, svobodnyiy, Zagl. s ekrana. Perri B. Java servletyi i JSP: Sbornik retseptov. Izd. 2-e/Per. s angl. Moscow, KUDITs-PRESS, 2006, 768 p. Hemradzhani A. Gibkaya razrabotka prilozheniy na Java s pomoschyu Spring, Hibernate i Eclipse.: Per. s angl., Moscow, OOO «I.D. Vilyams», 2008, 352 p.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Trail: JDBC(TM) Database Access [Elektronnyiy resurs]. Ofitsialnyiy sayt komanii Oracle. Rezhim dostupa: http:// download.oracle.com/javase/tutorial/ jdbc/overview/ index.html, svobodnyiy, Zagl. s ekrana.

Kuzmenko D. O rabote s russkimi bukvami v InterBase/ Firebird [Elektronnyiy resurs] Sayt tehnicheskoy podderzhki Firebird/InterBase i instrumentov razrabotchika Embarcadero, Rezhim dostupa, http://www.ibase.ru/devinfo/ibrusfaq.htm, svobodnyiy, Zagl. s ekrana.

Chaffer Dzh., Shvedberg K. Izuchaem jQuery 1.3. Effektivnaya veb-razrabotka na JavaScript. Per. s angl. SPb, Simvol-Plyus, 2010, 448 s.

Kreyn D., Paskarello E., Dzheyms D. Ajax v deystvii, Per. s angl., Moscow, Izdatelskiy dom «Vilyams», 2006, 640 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.