Научная статья на тему 'Интеграция информационной системы вуза с системой e-learning'

Интеграция информационной системы вуза с системой e-learning Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
533
98
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
E-LEARNING / СИСТЕМА ЭЛЕКТРОННОГО ОБУЧЕНИЯ / E-LEARNING SYSTEM / ИНТЕГРАЦИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ / REAL-TIME INTEGRATION / MOODLE / 1С: ПРЕДПРИЯТИЕ / 1C: ENTERPRISE / СИСТЕМА КОМПЛЕКСНОЙ АВТОМАТИЗАЦИИ ВУЗА / CAMPUS MANAGEMENT SYSTEM

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Аитов В. Г.

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

Real-time integration of campus management system and e-learning platform

Historically automation of various business areas in universities was implemented not as holistic and integrated information systems. On the contrary these systems were isolated from each other. But all of them could require data of other systems, often in real-time and furthermore with support of write operations. In many universities attempts were made in order to eliminate the problem of integration by creation a single holistic system, but all of these attempts were unsuccessful. Thus, integration is necessary to combine individual systems into a unified information system of university. For example the access control system must be integrated with main information system. Besides, this integration must be in real-time. Access control system also can make many connections (sql-queries) to database of main information system. In this article the integration of main information system and e-learning platform was considered. MOODLE acts as the e-learning platform, 1C: Enterprise acts as the main information system. Administration of users in manual mode is difficult and ineffective when too many users are in a system (more than 7000 in our case). The e-learning platform uses the main information system as a provider of user database. Any record in this database contains username, password, photo, etc. As a result of this integration, transfer of user`s photo between systems in real-time was achieved in a high load environment.

Текст научной работы на тему «Интеграция информационной системы вуза с системой e-learning»

Vol. 10. No. 5 (59). 2015

В. Г. Аитов, аспирант, Московский государственный университет пищевых производств, [email protected]

интеграция информационной системы вуза с системой e-learning

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

Ключевые слова: е-!еагп1пд, система электронного обучения, интеграция автоматизированных систем, МООРЬЕ, 1С: Предприятие, система комплексной автоматизации вуза .

введение

Исторически сложилось, что автоматизация различных областей деятельности многих вузов реализовывалась не в единой информационной системе, а в системах обособленных, иногда вообще не связанных одна с другой. При этом одной системе могли требоваться данные другой, и наоборот. В таких случаях использовались различные обменные файлы, что чаще всего требовало участия оператора или пользователя системы. Многими вузами также предпринимались попытки решить задачу-интеграции путем создания единой информационной системы на базе одной платформы, как правило, неудачные [1]. Растущие объемы данных, появление новых участков, подлежащих автоматизации, усложнение бизнес-процессов привели к необходимости непрерывного обмена данными между отдельными автоматизированными системами. Потребность в таком обмене данными в режиме реального времени с возможностью не только операций чтения, но и записи породила новый способ интеграции — так называемую «бесшовную», реализуемую без участия пользователей системы [1]. В некоторых случаях только такой способ интеграции может быть применен для объединения отдельных (обособленных) информацион-

ных систем в единую информационную систему вуза.

информационная система вуза

Принято считать, что под термином «информационная система вуза» понимается комплекс управленческих систем, предназначенный для автоматизации учебной, организационной, финансово-экономической и хозяйственной деятельности вуза. Наравне с этим широко используется термин «электронный университет» [1]. Существует также понятие CMS (Campus Management System), классифицирующее информационную систему вуза наравне с таким понятием, как ERP (Enterprise Resource Planning) [2].

Рассматриваемая в данной статье информационная система (ИС) разработана и внедрена автором и его коллегами в Московском государственном университете пищевых производств. На рис. 1 представлена структурно-логическая схема ИС.

ИС автоматизирует деятельность многих подразделений вуза (рис. 2) и помогает работникам оперативно получать требуемую информацию и принимать на основе ее анализа оптимальные решения.

ИС реализована на базе 1С версии 8.3.5, разработана собственная конфигурация

40

Том 10. № 5 (59). 2015

Рис. 1. Структурно-логическая схема ИС Fig. 1. The structural and logical scheme of information system

Рис. 2. Информационная система вуза в разрезе областей деятельности Fig. 2. The information system of University in the context of business areas

(описание метаданных). Ядро системы контроля доступа (СКД) реализовано на С#. СКД представляет собой многопоточный сервер, работающий с оборудованием (турникеты, шлагбаумы, считыватели карт, сканеры отпечатков пальцев и др.). Одна из особенностей реализации СКД состоит в том, что она использует данные системы 1С в режиме реального времени при помощи «прямых» SQL-запросов.

Система электронного образования

Система электронного образования в вузе является, как правило, «профильной», относящейся к его главной функции — обучению. Учитывая количество пользователей (все обучающиеся, преподаватели и даже часть административного персонала и руководства) — это высоконагруженная система. Действительно, такое количество пользователей порождает значительные

объемы информации, особенно связанной с видеоматериалами. Для решения задачи отказоустойчивого хранения применяются многотерабайтные системы хранения данных. При этом требования к малому времени отклика (при передаче пользователю чувствительной к этому параметру информации) заставляют использовать (как минимум) жесткие диски SAS. То же касается объемов оперативной памяти (32-64 Гбайт и выше) и процессоров (2-4 и более физических современных серверных моделей).

Это делает задачу создания системы электронного образования в составе какой-либо другой системы (например, системы оперативного управления данными о контингенте учащихся и пр.) нерешаемой. Все такие попытки закончились неудачей, как правило, из-за очень большой «тяжести» и «негибкости», «громоздкости» итоговой системы. Такое решение не оставляет пространства для маневра в случае необ-

v^1

Vol. 10. No. 5 (59). 2015

ходимости модернизации, доработки, даже планово-профилактических операций. При работе с системами, спроектированными в такой архитектуре, приходится, что называется, балансировать на лезвии ножа. Катастрофичными могут стать последствия аварий, особенно при попытках восстановить систему нештатными средствами (в случае отказа штатных или невозможности их применения), в том числе в условиях ограниченности временного ресурса. То, что принято называть необходимой декомпозицией сложных систем, многие команды разработчиков изучили сами на практике и пришли к этой необходимости после долгих экспериментов не на виртуальных математических моделях, а на реальных вузах [1; 2; 3].

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

интеграция

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

ны для тиражирования. В качестве системы электронного образования используется MOODLE 2.8, также подвергнутая значительному количеству доработок. Отметим, что интеграция этих систем должна быть надежной, в режиме реального времени, иметь максимально возможную скорость обмена данными.

При большом количестве пользователей в системе их администрирование в ручном режиме становится труднодостижимым и в любом случае неэффективным. Ситуация осложняется еще и тем, что все изменения, связанные с пользователями, происходят в другой (внешней) системе — 1С 8.3. В данной ситуации является очевидным использование 1С в качестве своего рода внешнего источника данных, поставщика (провайдера) учетных записей пользователей. Эта задача в общем случае была решена коллегами из Австралии, за исключением двух пунктов — доступа к закрытой структуре 1С и передачи такого атрибута пользователя, как фотография. В целом участие 1С в бесшовной интеграции резко сужает возможность поиска информации по данному вопросу, поэтому приходится ограничиваться русскоязычной частью Интернета.

Необходимо отметить, что 1С предоставляет для решения задач интеграции API-интерфейс, однако его использование в условиях нескольких операционных систем затруднительно, не говоря уже о времени соединения и быстродействии механизма в целом. Что касается MOODLE, то было принято решение реализовать механизм интеграции вставками в исходный код системы, так как механизм передачи фотографии из 1С в MOODLE должен отрабатывать каждый раз, когда пользователь осуществляет вход в систему. Такой процесс принято называть механизмами аутентификации и авторизации. В MOODLE (которая по большей части разрабатывается в среде php) обработка этих процессов реализована в файле «/moodle/lib/moodlelib. php», на листинге 1 представлена часть этого файла. Как видно из листинга 1, при успешной

Том 10. № 5 (59). 2015

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

В первом случае перед обновлением записи о пользователе выполняется

«require_once("getfoto1c.php")»,

а во втором, когда записи о пользователе в MOODLE еще нет, она создается, загружается фотография и выполняется обновление записи при помощи «$^ег = update_ user_record_by_id ». Таким

образом, исходный код MOODLE дополнен тремя строками.

Листинг 1. Процесс аутентификации пользователя в MOODLE Listing 1. The process of a user's authenticating in MOODLE

if($user->id) {

// User already exists in database.

if(empty($user->auth)) {

// For some reason auth isn't set yet.

$DB->set_field('user', 'auth', $auth, array('id' => $user->id)); $user->auth= $auth;

}

// If the existing hash is using an out-of-date algorithm (or the legacy md5 algorithm), then we should update to

// the current hash algorithm while we have access to the user's password.

update_internal_user_password($user, $password);

if ($authplugin->is_synchronised_with_external()) { // Update user record from external DB. require_once("getfoto1c.php");

$user = update_user_record_by_id($user->id);

}

} else {

// The user is authenticated but user creation may be disabled. if(!empty($CFG->authpreventaccountcreation)) {

$failurereason = AUTH_LOGIN_UNAUTHORISED;

// Trigger login failed event.

$event = \core\event\user_login_failed::create(array('other' =>array('username' => $username, 'reason' => $failurereason))); $event->trigger();

error_log('[client '.getremoteaddr()."] $CFG->wwwroot Unknown user, can not create new accounts: $username ".

$_SERVER['HTTP_USER_AGENT']);

return false; } else {

$user = create_user_record($username, $password, $auth); require_once("getfoto1c.php");

$user = update_user_record_by_id($user->id);

}

}

VJ3

-ч ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS

Vol. 10. No. 5 (59). 2015 '

Листинг 2. SQL-запрос к системе 1C для получения фотографии пользователя Listing2. SQL-query to the 1С system which returns the user's photo

$sqlquery = "

select top 1

SUBSTRING(casT(FOTO._Fld220 AS varbinary(MAX)), 84, LEN (casT(FOTO._Fld220 AS varbinary(MAX))) ) FOTO from

_InfoRg218 FOTO

INNER JOIN _Reference23 FZ on FZ._IDRRef = FOTO._Fld219Rref

INNER JOIN _Reference696 Students on Students._OwnerIDRRef = FZ._IDRRef

where Students._Code = '$username'

Листинг 3. Отключение сжатия при записи фотографий в 1С Listing 3. Disabling compression during images recording in the 1С system

//НоваяЗапись.Фотография = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)

НоваяЗапись.Фотография = Новый ХранилищеЗначения(ДвоичныеДанные)

Листинг 4. Запись результата запроса — фотографии пользователя в MOODLE Listing 4. Recording the query result (user's photo) in the MOODLE

$ResultFrom1C = mssql_query($sqlquery); while ($row = mssql_fetch_assoc($ResultFrom1C)) { $dir = ($CFG->tempdir);

$dstfile = fopen($dir . '/' . $username .'.jpeg', "w"); fwrite($dstfile, ($row['FOTO'])); fclose($dstfile);

if ($newrev = my_save_profile_image($user->id, $dir . '/' . $username .'.jpeg')) {

$DB->set_field('user', 'picture', $newrev,

array('id' => $user->id));

}

unlink($dir . '/' . $username .'.jpeg'); }

function my_save_profile_image($id, $originalfile) {

$context = context_user::instance($id);

return process_new_icon($context, 'user', 'icon', 0, $originalfile); }

В файле «getfoto1c.php» содержится код, в MOODLE), остальное будет приведено запрашивающий фотографию пользователя в виде комментариев. из 1С и записывающий ее в MOODLE каж- Запрос (листинг 2) выполняется к реги-дый раз при успешной аутентификации. Ни- стру сведений, где хранятся фотографии, же будут представлены выдержки из фай- и объединяется с таблицами (справочника-ла, заслуживающие внимания ^1-запрос ми) физических лиц и студентов. Код стук 1С и запись фотографии пользователя дента — параметр запроса, он же являет-

44

ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-

' Том 10. № 5 (59). 2015

ся именем пользователя в MOODLE (и номером студенческого билета). В результате исследований выяснилось, что фотографии в 1С хранятся не просто в BLOB-полях, а еще и дополнительно сжимаются (возможно, архивируются). Поэтому в рабочей базе 1С фотографии хранятся без сжатия. Как этого достичь, показано на листинге 3 (код 1С в режиме конфигурирования). Необходимо использовать вторую строку вместо первой, рекомендованной документацией 1С (в листинге 3 первая строка закомментирована).

Помимо этого, 1С добавляет в BLOB-поле другую служебную информацию, и для ее отсечения от собственно фотографии необходимо воспользоваться функцией SUBSTRING с необходимыми параметрами (см. листинг 2).

Как видно из листинга 4, производится соединение с mssql сервером, выполняется sql-запрос и содержащаяся в его результате фотография записывается во временный файл. После этого фотография из временного файла записывается в соответствующий атрибут профиля пользователя.

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

Заключение

Представленная интеграция была опробована в Московском государственном университете пищевых производств при промежуточном тестировании обучающихся в 2014-2015 гг. при нагрузке около 800 пользователей онлайн. При этом проблем с производительностью выявлено не было. При общем количестве пользователей в системе около 7000 человек налицо оказалась эффективность интеграции, значительно снизалась нагрузка на персонал, занимающийся поддержкой пользователей в системе е-1еаттд.

На рис. 3 в качестве примера представлен результат интеграции — список пользователей с фотографиями из 1С, записанных

Рис. 3. Список пользователей с фотографиями Fig. 3 Userlist with photos

\ 45

Vol. 10. No. 5 (59). 2015

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

на один из электронных учебных курсов системы e-learning.

Технология интеграции посредством «прямых» sql-запросов может быть применена для решения множества других задач передачи данных между системами 1С 8.3 и MOODLE 2.8. Автором совместно с коллегами планируется решение задач, в которых данные передаются в обе стороны.

Список литературы

1. Информационная управляющая система МГТУ им. Н. Э. Баумана «Электронный университет»: концепция и реализация / Т. И. Агеева, А. В. Балдин, В А. Барышников и др.; под ред. И. Б. Федорова, М. В. Черненького. М.: Изд-во МГТУ им Н. Э. Баумана, 2009. — 376 с.

2. AltR., AuthG. CampusManagementSystem. Business & InformationSystemsEngineering. 2010. Vol. 2. Issue 3. Р. 187-190.

3. Бубарева О. А, Попов Ф. А, Ануфриева Н. Ю. Решение проблемы интеграции данных при построении интегрированной автоматизированной системы вуза // Международный журнал экспериментального образования. 2011. № 5. С. 91-92.

4. Ijtihadie R. M., Hidayanto B. C, Affandi A, Chisaki Y, Usagawa T. Dynamic content synchronization be-tweenlearning management systems over limited band-

width network. Human-centric Computing and Information Sciences. 2012. Vol. 2. No. 1. Р. 17.

5. Документация для разработчиков moodle. URL: https: //docs.moodle.org/dev/Main_Page

References

1. Informatsionnaya upravlyayushchaya sistema MGTU im N. E. Baumana «Elektronnyi universitet»: kontseptsiya i realizatsiya [The Information control system of Bauman MSTU «Electronic University»: concept and implementation]. Moscow, MGTU im. N. E. Baumana Publ., 2009. 376 p.

2. Alt R., Auth G. Campus Management System. Business & Information Systems Engineering, 2010, vol. 2, issue 3, pp. 187-190.

3. Bubareva O. A., Popov F. A., Anufrieva N. Yu. Resh-enie problemy integratsii dannykh pri postroeni iinteg-rirovanno iavtomatizirovannoisistemy vuza [Solving the problem of data integration during the constrution an integrated automated system of the university]. Mezh-dunarodnyi zhurnal eksperimental'nogo obrazovani-ya — International Journal of Experimental Education, 2011, no. 5, pp. 91-92.

4. Ijtihadie R. M., Hidayanto B. C., Affandi A., Chisaki Y., Usagawa T. Dynamic content synchronization between learning management systems over limited bandwidth network. Human-centric Computing and Information Sciences, 2012, vol. 2, no. 1, p. 17.

5. Dokumentatsiya dlya razrabotchikov moodle [Moodle developer documentation]. Available:: https: //docs. moodle.org/dev/Main_Page

V. Aitov, Moscow State University of Food Production, Moscow, Russia, [email protected]

Real-time integration of campus management system and e-learning platform

Historically automation of various business areas in universities was implemented not as holistic and integrated information systems. On the contrary these systems were isolated from each other. But all of them could require data of other systems, often in real-time and furthermore with support of write operations. In many universities attempts were made in order to eliminate the problem of integration by creation a single holistic system, but all of these attempts were unsuccessful. Thus, integration is necessary to combine individual systems into a unified information system of university. For example the access control system must be integrated with main information system. Besides, this integration must be in real-time. Access control system also can make many connections (sql-queries) to database of main information system. In this article the integration of main information system and e-learning platform was considered. MOODLE acts as the e-learning platform, 1C: Enterprise acts as the main information system. Administration of users in manual mode is difficult and ineffective when too many users are in a system (more than 7000 in our case). The e-learning platform uses the main information system as a provider of user database. Any record in this database contains username, password, photo, etc. As a result of this integration, transfer of user's photo between systems in realtime was achieved in a high load environment.

Keywords: e-learning system, real-time integration, MOODLE, 1C: Enterprise, campus management system. About author: V. Aitov, Postgraduate

For citation: Aitov V. Real-time integration between the campus management system

and e-learning platform. Prikladnaya Informatika — Journal of Applied Informatics, 2015, vol. 10,

no. 5 (59), pp. 40-46 (in Russian).

46 J

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