ого рішення можна вважати відносну новизну платформи Node.js і її загальну нестабільність, відсутність досвіду роботи з даної платформи і поточні обсяги документації.
Обраний спосіб реалізації - мова програмування PHP у зв'язці з СУБД MySQL, розміщені на web-сервері Apache. Зв'язка PHP + MySQL досить популярне рішення для web-додатків. Мова програмування PHP - серверний мова вихідних web-розробки. Мова містить безліч API і бібліотек для роботи з великою кількістю технологій, таких як парсинг і генерація XML, робота з JSON, YAML, побудова DOM-об'єктів, робота з базами даних MySQL (mysql, mysqli) і PostgreSQL (pg_ *) та інші СУБД (PDO). PHP дозволяє виконання бінарних файлів на стороні сервера, роботу із зображеннями і звуковими форматами даних.
Іспользованіерекурсіі дозволить обходити і змінювати деревовидні структури, необхідні для побудови структури звіту і його генерації, створення шаблонів з неявній вкладеністю.
Проста і зручна вбудовуваність PHP-програм в HTML-документи дозволить використовувати можливості CSS для генерованого матеріалу. PHP-програми беруть аргументи POST і GET запитів, тим самим даючи можливість реалізації технології AJAX.
Для спрощення маніпуляції з DOMHTML-документа, реалізації AJAX на клієнтській стороні використовується бібліотека jQuery для Javascript.jQuery це крос-платформна бібліотека для мови JavaScript, створена для спрощення розробки клієнт-додатків, вбудованих в HTML-документи web-додатків. Бібліотека jQuery це бібліотека з відкритим вихідним кодом. Основне застосування це маніпуляція з елементами HTML-документів, створювати анімації, управляти подіями і розробляти AJAX-додатки.
Робота з картами реалізована за допомогою API постачальника сервісів картографії - GoogleMaps. GoogleMapsAPI це безкоштовний вільний для використання сервіс від компанії Google, що дозволяє вбудовувати і працювати з картами GoogleMaps.GoogleMapsAPI містить набір методів для доступу до динамічних картам GoogleMaps, дозволяючи реалізовувати гео-локацію, роботу з координатами в системі GPS. Набір функцій GoogleMapsAPI для статичних карт GoogleMaps надає можливості завдання розміру, координат в системі GPS, нанесення будь-яких маркерів, встановлюваних користувачем, повертаючи при цьому статичний файл зображення, який можливо зберегти і використовувати для будь-яких потреб. Для комерційних рішень компанія Google надає GoogleMapsAPIforBusiness.
база дані звіт шаблон
8 Опис вхідних/вихідних даних
Для даного програмного засобу вхідними та вихідними даними є
8.1 Вхідні дані
У якості вхідних даних, генератор приймає запис виду «польовий журнал» з бази даних. «Польовий журнал» представляє з себе дані, відформатовані чи ні, з вказаним типом даних. При цьому запис може представляти як текст, так і зображення, будь-які інші файлові формати.
Для редактора шаблонів вхідними даними є XML-документ, складений вручну або ж згенерований редактором шаблонів. Файли шаблонів зберігаються на сервері і перевіряються редактором шаблонів перед редагуванням.
Також програмний засіб може приймати:
· Готовий звіт у форматі PDF.
· Набір тексту для створення звіту.
· Список всіх можливих типів.
8.2 Вихідні дані
Готове програмний засіб дозволяє створювати:
· Готовий звіт у форматі HTML.
· Таблиці знахідок у форматі HTML.
· Таблиці реперів у форматі HTML.
· Карти знахідок у форматі JPG.
· Карти знахідок у форматі XML.
В якості вихідних даних для редактора шаблонів є XML-документи файлів шаблонів, збережених після редагування і/або перегляду.
Так само є деякі текстові та XMLфайли, використовувані для обміну та збереження тимчасової інформації.
9 Опис структури бази даних
База даних містить в собі 3 таблиці.
За допомогою цих вироджених таблиць у звіті можна представити будь-який тип даних з будь-яким структурою.
У таблиці 1 міститься сама інформація у форматі XML.
Таблиця 1 - Об'єкти
Ім'я поляНазваніеТіп поляНазначеніеIdІдентіфікаторАвтоінкрементное целоеУнікальний ідентифікатор запісіIdTypeOfObjectТіпцелоеСсилка на опис типу об'ектаIdTypeOfValueФормат значеніяцелоеСсилка на формат зберігання даннихValueTextЗначеніеТекст невизначеною дліниТекстовое значення об'єкта (м.б. XML), аб...