Налаштування MatLab web-server на платформі Apache та його додатки для моделювання фізичних

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

Для створення ефективних демонстраційних матеріалів необхідне програмне забезпечення, що дозволяє використовувати сучасні можливості, які надає мережа інтернет, гіпертекст, інтерактивність, мультимедіа. Використання Інтернету в деяких випадках істотно знижує вимоги до ресурсів комп'ютера на стороні користувача, що також є важливою перевагою.

Нами протягом кількох років проводяться роботи з розробки сайту (локального), присвяченого фізичному моделюванню. Центральна частина локального сайту – віртуальна лабораторія, основним призначенням якої є моделювання фізичних процесів. Віртуальна лабораторія надає доступ віддаленому користувачеві до проблемно-орієнтованого програмного забезпечення та високопродуктивної обчислювальної системи та є унікальною за набором моделей. У цьому роботі використовуються технології: додатки на основі MatLab web-server, що дозволяє досліджувати широкий клас моделей.

Компонент MatLab Web-Server (MWS) призначений для створення програми MatLab, що використовує інтерфейс WWW для посилки запитів у MatLab, з наступним виведенням результатів у Web-браузері. Тобто користувач заходить на спеціально підготовлену сторінку в інтернеті (або інтранеті) і вводить дані поставленого завдання. Вони надходять у програму MatLab, яка, виходячи з введених даних, проводить необхідні обчислення, надсилає результат, що візуалізуєтьсябезпосередньо на сторінці веб-браузера. Таким чином, користувач, маючи web-браузер, використовує даний компонент для можливості побудови доступної, універсальної та зручної системи вирішення математичних завдань, яка не накладатиме на користувача жодних апаратних та програмних засобів, оскільки всі необхідні операції будуть виконуватися на сервері.

Застосування MWS особливо продуктивне у дистанційній освіті. Навчальні програми, що моделюють фізичні чи інші явища, які дозволяють подати результати розрахунків у вигляді графічних та анімаційних зображень, є дієвим інструментом навчання в арсеналі викладачів природничих дисциплін. Особливу цінність представляють програми «подвійного» призначення, які можна використовувати як для лекційних демонстрацій та навчання студентів на практичних заняттях, так і для самостійних занять тих, хто навчається через інтернет, при попередньому ознайомленні з матеріалом або для закріплення отриманих знань.

У цьому аналізі викладаються етапи налаштування web-сервера та застосування цього MatLab web-server з моделювання фізичного процесу на прикладі розрахунку рівня Фермі та концентрації носіїв заряду в домішковому напівпровіднику.

Незважаючи на назву, MatLab web-server (MWS) не є web-сервером. MWS це сервіс взаємодії MatLab з web-сервером. Сервісом або службою прийнято називати програму, яка може постійно перебувати в пам'яті комп'ютера в очікуванні призначених для неї команд. Цим сервіс відрізняється від звичайної програми, яка автоматично вивантажується з пам'яті комп'ютера, завершивши обробку команди, що надійшла.

Для визначеності вважатимемо, що як web-сервер використовується Apache. Варіант з використанням web-сервера Apache, особливо популярного серед Unix, описаний у документації MWS. Однак ми пропонуємо свій варіант налаштування веб-сервера Apache. Справа в тому, що налаштування сервера, описані у фірмовій документації, малопридатні для реальної роботи, оскільки припускають, що в одному каталозі розміщені різноманітні файли, що стосуються різних програм. Більш продуктивна конфігурація, в якій кожному додатку MatLab виділено окремий каталог зі своєю внутрішньою інфраструктурою, що спрощує одночасну розробку кількох додатків та адміністрування сервера.

Користувачі спілкуються із сервером безпосередньо через свої web-браузери без наявності будь-якого спеціального програмного забезпечення (рис. 1).

web-server

Інтерактивні демонстраційні версії в основному складаються з двох документів HTML та одного М. MatLab файлу. Перший HTML документ необхідний для збору даних від користувача з використанням форм HTML. Потім дані надсилаються серверу, де вилучаються з документів HTML і передаються програмі MatLab (М. файл), який виконує всі необхідні числові обчислення. Документ HTML, що містить результати у вигляді тексту або зображення, формується web-сервером MatLab і надсилається назад користувачеві, де відображається в його веб-браузері. На рис.1 показані шляхи переміщення даних між користувачем та сервером.

Для встановлення та налаштування такої системи необхідно встановити на один диск такі програми: 1. Програма MatLab; 2. HTTP-сервер, наприклад, Apache; 3. Інтерпретатор мови Perl.

Установка програми MatLab Установка програми MatLab відбувається звичайним чином, тільки в розділі вибору компонентів слід зазначити Matlab web-server (рис.2).

matlab

Встановлення та налаштування web-server

Найбільш підходящим до створення цієї системи є Apache HTTP Server, т.к. він є популярним, доступним та безкоштовним.

Остання версія Apache HTTP Server доступна на сайті http://httpd.apache.org/download.cgi, звідки можна завантажити інсталяційний файл "Win32 Binary with crypto (no mod_ssl) (MSI Installer)" (на даний момент останньою версією є 2.2. 8 - http://download.filehat.com/apache/httpd/binaries/win32/apache_2.2.8-win32-x86-no_ssl.msi).

При встановленні Apache після угоди із запропонованими умовами переходимо в наступне діалогове вікно, зображене на малюнку, натисканням Next.

У полі "Network Domain" вказують ім'я домену (рис. 3). За наявності власного зареєстрованого домену, ви можете вказати його (після цього необхідно в домені прописати ns вашого сервера). У разі відсутності домену можна ввести будь-яке значення.

matlab

Далі на диску С необхідно створити папку "web-server", в яку встановлюватимуться всі необхідні програми. Потім необхідно вибрати наступний шлях для встановлення: C: webserver apache (рис. 4).

web-server

Установка Perl

Встановлення не повинно викликати проблеми. Єдине, що можна змінити, – це шлях встановлення. Ми вибрали C: webserver perl (рис. 5).

web-server

Налаштування Аpache

Щоб дозволити Apache запускати perl скрипти, необхідно рядок#AddHandler cgi-script .cgi поміняти наAddHandler cgi-script .cgi .pl .exe .bat

Потім необхідно провести заміну наступних рядків:

Рядок Alias ​​/icons/ "C:/webserver/apache/Apache2/icons/" змінюється на: Alias ​​/icons/ "C:/webserver/apache/Apache2/htdocs/example/"

У разі відсутності даного рядка, необхідно додати його в кінці файлу. Потімдодаємо в кінець файлу рядки: AddDefaultCharset WINDOWS-1251 ScriptInterpreterSource registry

На цьому налаштування сервера завершено. Далі подвійним натисканням на значок Аpach у треї запускаємо "Restart" (рис. 6).

платформі

Інформація про успішне встановлення Perl візуалізується на сторінці http://127.0.0.1/cgi-bin/printenv.pl (рис. 7).

matlab

Після успішної установки необхідно перевірити та запустити MatLab web-server

І тому необхідно виконати таку послідовність действий: 1. Створити папку example C:\webserver\apache\Apache2\htdocs. 2. Відкрити папку \toolbox\webserver\ wsdemos у директорії програми matlab (у нас, наприклад, це папка C:\matlab\toolbox\webserver\wsdemos ). 3. Копіювати файли matweb.exe і matweb.conf в C:\webserver\apache\Apache2\cgi-bin. 4. Інші файли цієї директорії скопіювати в папку C:\webserver\apache\Apache2\htdocs\example. 5. Відкрити файл C:\webserver\apache \Apache2\cgi-bin \matweb.conf у Блокноті. Скрізь, де міститься, необхідно поміняти на 127.0.0.1. 6. Так само /toolbox/webserver/wsdemos поміняти C:\webserver\apache\Apache2\htdocs\example. 7. Запустити програму MatLab. 8. Запустити компонент MatLab web-server. 9. Зайти в Пуск-виконати-cmd . 10. Виконати: Cd C:\matlab\webserver\bin\win32 matlabserver.exe -debug.

Успішне встановлення супроводжується появою наступного вікна (рис. 8).

matlab

Далі для запуску необхідно:

1. Набрати у браузері http://127.0.0.1/example/. 2. Вибрати демо-програму, наприклад, "MATLAB Matrix display", яка виводить у таблиці матрицю програми MatLab. 3. Ввести необхідний параметр Magic square size і натиснути Submit. 4. У результаті на екрані має з'явитися розрахована матриця.(Рис. 9).

web-server

matlab

Кожна демонстрація складається з програми, написаної нами серед MatLab, результатом виконання якої можуть бути чисельні або графічні матеріали, які MatLab web-server вставляє в html-файл і відправляє його на комп'ютер користувача. Для передачі вхідних даних також використовується html-форма, дані з якої отримують сервер і передаються в програму. Таким чином, користувач може багаторазово використовувати демонстраційну програму, задаючи різні вхідні дані та спостерігаючи за результатом. При цьому наявність встановленого пакета MatLab на комп'ютері користувача не потрібна. Необхідний звичайний браузер, наприклад Internet Explorer. На web-сервері має бути дозволено запуск cgi-додатків, встановлений MatLab та MatLab web-server.

Нижче наведено фрагмент інтерфейсу моделі розрахунку залежності рівня Фермі та концентрації носіїв заряду від температури у домішковому напівпровіднику у широкому інтервалі концентрації донорів та акцепторів. Модель працює локально на MatLab web-server. Моделювання залежності рівня Фермі та концентрації носіїв електронного напівпровідника за допомогою математичного пакету MatLab показує, що максимум у зазначеній залежності спостерігається лише у вузькому діапазоні температури зразка та за високого рівня легування, що неможливо спостерігати при звичайних розрахунках.