Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
28.03.2016
Размер:
574.45 Кб
Скачать

ЗАТВЕРДЖЕНИЙ

02070743.00569-01 81 01-АЗ

РОЗРОБКА WEB-ЗАСТОСУВАННЯ ДЛЯ ОРГАНІЗАЦІЇ БАГАТОРІВНЕВОЇ СИСТЕМИ ВІДСТЕЖУВАННЯ ПОМИЛОК НА ОСНОВІ МОВИ ПРОГРАМУВАННЯ RUBY

Пояснювальна записка

02070743.00569-01 81 01

Аркушів 32

Код документа «Пояснювальна записка»

2014

2

02070743.00569-01 81 01

ЗМІСТ

2.1.Вступ………………………………………………………………... 3

2.2.

Огляд стану питання і конкретизація задачі дослідження……… 3

2.2.1.Мережеві технології……………………………………………….. 3

2.2.1.1.Статичний HTML………………………………………………….. 4

2.2.1.2.CGI………………………………………………………………….. 5

2.2.1.3.Active Server Pages і ASP.NET…………………………………….. 5

2.2.1.4.Asynchronous Javascript and XML…………………………………. 7

2.3.Мови реалізації мережевих технології……………………………. 7

2.3.1.JavaScript……………………………………………………………. 7

2.3.2.Java…………………………………………………………………... 8

2.3.3.C# і VB.NET………………………………………………………… 9

2.4.Безкоштовні технології…………………………………………….. 10

2.5.Мова програмування Ruby………………………………………… 12

2.6.Конкретизація задачі………………………………………………. 14

2.6.1.Ruby для Web-застосувань………………………………………… 14

2.6.1.2.Ruby on Rails………………………………………………………... 15

2.6.1.3. Принципи і техніка………………………………………………… 15

2.6.1.4.Базові розширення…………………………………………………. 19

2.6.1.5.Додаткові інструменти і бібліотеки………………………………. 20

2.7.Ruby і Web-сервер………………………………………………….. 21

2.7.1.Модуль mod_ruby…………………………………………………... 22

2.2.2.Сервер WEBrick……………………………………………………. 23

2.7.3.Сервер Mongrel……………………………………………………... 24

2.8.Особливості розробки алгоритмів для Ruby……………………... 26

22

3

02070743.00569-01 81 01

2.1. Вступ

Документ 02070743.00569-01 «Розробка Web-застосування для організації багаторівневої системи відстежування помилок на основі мови програмування

Ruby». Пояснювальна записка» входить до складу програмної документації на розробку Web-застосування для організації багаторівневої системи відстеження помилок на основі мови програмування Ruby. Практична значимість розробки полягає в реалізації на основі мови програмування Ruby багаторівневої системи відстеження помилок.

Список ключових слів: WEB-ЗАСТОСУВАННЯ, WEB-ТЕХНОЛОГІЇ,

ПРОГРАМУВАННЯ ДЛЯ ІНТЕРНЕТ, RUBY, RUBY ON RAІLS, MVC.

2.2. Огляд стану питання і конкретизація задачі дослідження

2.2.1. Мережеві технології

World Wide Web – глобальна комп'ютерна мережа на сьогоднішній день містить мільйони сайтів, на яких розміщена різноманітна інформація. Люди дістають доступ до цієї інформації за допомогою використання технології

Internet. Для навігації в WWW використовуються спеціальні програми – Web-

браузери, які істотно полегшують подорож по безкрайніх просторах WWW. Вся інформація в Web-браузері відображується у вигляді Web-сторінок, які є основним елементом сайтів WWW.

Web-сторінки, підтримуючи технологію мультимедіа, об'єднують в собі різні види інформації: текст, графіку, звук, анімацію і відео. Від того, наскільки якісно і красиво зроблена та або інша Web-сторінка, залежить багато в чому її успіх в мережі.

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

Створити якісну Web-сторінку непросто, для цього буде потрібно не лише навички дизайнера для красивого і стильного оформлення, але і досвід

23

4

02070743.00569-01 81 01

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

необхідна функціональність, забезпечення надійності і вживані технології.

Розглянемо деякі з вживаних технологій.

2.2.1.1. Статичний HTML

Так історично склалося, що популярність мережі Інтернет значною мірою була зумовлена можливістю користувачеві переглядати документи незалежно не тільки від типу застосування-редактора, що використовується,

але навіть від типу комп’ютера. Це було можливо завдяки використанню браузерів та мови розмітки гіпертексту (Hypertext Markup Language, HTML).

В дійсності про неї й зараз, навряд чи, хтось відгукнеться погано. Це мова розмітки, тобто вона описує, як представляти текст чи графічні елементи. HTML-документи мають у собі теги, котрі управляють відображенням елементів документу, – ключові слова (часто з атрибутами), обмежені знаками кутових дужок (< >) [1].

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

[2].

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

24

5

02070743.00569-01 81 01

2.2.1.2 CGI

CGI – Common Gateway Interface є стандартом інтерфейсу (зв'язку)

зовнішньої прикладної програми з інформаційним сервером типу HTTP, Web-

сервер.

Звичайно гіпертекстові документи, що витягаються з WWW-серверів,

містять статичні дані. За допомогою CGI можна створювати CGI-програми,

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

Програма-шлюз запускається WWW сервером у реальному масштабі часу. WWW-сервер забезпечує передачу запита користувача шлюзу, а вона у свою чергу, використовуючи засоби прикладної системи, повертає результат обробки запиту на екран користувача. Програма-шлюз може бути закодована на мовах

C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script. Як виконуваний модуль, вона записується в піддиректорій з ім'ям cgi-bin WWW-

сервера.

Оригінал опису CGI інтерфейсу – інструмента зв'язку програма-шлюз з

WWWсервером знаходиться в [13]

2.2.1.3.Active Server Pages і ASP.NET

ASP (англ. Active Server Pages – «активні серверні сторінки») –

технологія, розроблена компанією Microsoft, дозволяє легко створювати застосування для World Wide Web. ASP працює на платформі операційних систем лінії Windows NT на Web-сервері Microsoft IIS. ASP не є мовою програмування – це лише технологія попередньої обробки, що дозволяє підключати програмні модулі під час процесу формування Web-сторінки.

Відносна популярність ASP заснована на простоті використовуваних мов сценаріїв (VBScript або JScript) і можливості використання зовнішніх COM-

компонентів.

25

6

02070743.00569-01 81 01

Технологія ASP отримала свій розвиток у вигляді ASP.NET – новій

технології створення Web-застосувань, заснованих на платформі

Microsoft .NET [1].

Переваги ASP.NET перед ASP:

Компільований код виконується швидше, більшість помилок відловлюються ще на стадії розробки.

Значно покращена обробка помилок часу виконання, з використанням блоків try..catch.

Призначені для користувача елементи управління (controls) дозволяють виділяти часто використовувані шаблони, такі як меню сайту.

Використання метафор, що вже застосовуються в Windows-

застосуваннях, наприклад, таких як елементи управління і події.

Розширюваний набір елементів управління і бібліотек класів дозволяє швидше розробляти застосування.

ASP.NET спирається на багатомовні можливості .NET, що дозволяє писати код сторінок на VB.NET, Delphi.NET, Visual C#, J# і т. д.

Можливість кешування всієї сторінки або її частини для збільшення продуктивності.

Можливість кешування даних, використовуваних на сторінці.

Можливість розділення візуальної частини і бізнес-логіки по різних файлах («code behind»).

Розширювана модель обробки запитів.

Розширена подієва модель.

Розширювана модель серверних елементів управління.

Наявність master-сторінок для завдання шаблонів оформлення сторінок.

Підтримка CRUD операцій при роботі з таблицями через GridView.

Вбудована підтримка AJAX.

26

7

02070743.00569-01 81 01

2.2.1.4. Asynchronous Javascript and XML

AJAX (від англ. Asynchronous Javascript and XML – «асинхронний

JavaScript і XML») – це підхід до побудови інтерактивних призначених для користувача інтерфейсів Web-застосувань, що полягає в «фоновому» обміні даними браузеру з Web-сервером. В результаті при оновленні даних Web-

сторінка не перезавантажується повністю, і Web-застосування стають швидшими і зручнішими.[2]

XML (англ. eXtensible Markup Language – розширювана мова розмітки;

виголошується [экс-эм-эл]) – рекомендована Консорціумом Всесвітньої павутини мова розмітки, що фактично є зведенням загальних синтаксичних правил. XML – текстовий формат, призначений для зберігання структурованих даних (замість існуючих файлів баз даних), для обміну інформацією між програмами, а також для створення на його основі більш спеціалізованих мов розмітки (наприклад, XHTML), інколи званих словниками. XSLT (Extensible Stylesheet Language Transformations) – частина специфікації XSL, що задає мову перетворень XML-документів. Специфікація XSLT є рекомендацією W3C.

При використанні таблиці стилів XSLT, що складається з набору шаблонів, до XML-документу (вихідне дерево) утворюється кінцеве дерево, яке може бути іншою XML-структурою, HTML-документом або звичайним текстом. Правила вибору (і, частково, перетворення) даних з вихідного дерева пишуться мовою запитів XPath [3].

2.3. Мови реалізації мережевих технології

2.3.1. JavaScript

JavaScript – скриптова мова, що найчастіше використовується при створенні сценаріїв поведінки браузеру, що вбудовуються у Web-сторінки. Є

одній з реалізацій мови ECMAScript. Назва «JavaScript» є зареєстрованим товарним знаком компанії Sun Microsystems, Inc [4] .

27

8

02070743.00569-01 81 01

JavaScript має C-подібний синтаксис, але в порівнянні з мовою С має

наступні докорінні відмінності:

об'єкти, з можливістю інтроспективної і динамічної зміни типа через механізм прототипів;

функції як об'єкти першого класу;

обробка виключень;

автоматичне приведення типів;

автоматична збірка сміття;

анонімні функції.

2.3.2. Java

Java – об'єктно-орієнтована мова програмування, що розробляється

компанією Sun Microsystems і офіційно випущена 23 травня 1995 року [5].

Основні можливості:

автоматичне управління пам'яттю;

розширені можливості обробки виняткових ситуацій;

багатий набір засобів фільтрації введення/виведення;

набір стандартних колекцій, таких як масив, список, стік і т. п.;

наявність простих засобів створення мережевих застосувань (у тому числі з використанням протоколу RMI);

наявність класів, що дозволяють виконувати HTTP-запроси і обробляти відповіді;

вбудовані в мову засоби створення багатопотокових застосувань;

уніфікований доступ до баз даних на основі JDBC і SQLJ;

підтримка шаблонів (починаючи з версії 1.5).

Java – так називають не лише саму мову, але і платформу для створення застосувань рівня від домашньої роботи до рівня підприємств на основі даної мови.

28

9

02070743.00569-01 81 01

2.3.3. C# і VB.NET

C# (виголошується «сі-шарп») – мова програмування, що поєднує об'єктно-орієнтовані і аспектно-орієнтовані концепції. Розроблена в 1998–2001

роках групою інженерів під керівництвом Андерса Хейлсберга в компанії

Microsoft як основна мова розробки застосувань для платформи Microsoft .NET.

Компілятор з C# входить до стандартної інсталяції самого .NET, тому програми на ньому можна створювати і компілювати навіть без інструментальних засобів, як Visual Studio.

C# відноситься до сім'ї мов з C-подібним синтаксисом, з них його синтаксис найбільш близький до С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, покажчики на функції-члени класів, атрибути, події, властивості, виключення, коментарі у форматі XML. Перейнявши багато що від своїх попередників – мов С++, Java, Delphi, Модула і Smalltalk – С#, спираючись на практику їх використання,

виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем: так, C# не підтримує множинне спадкування класів (на відміну від C++) [6].

Visual Basic.NET (VB.NET) – це об'єктно-орієнтована мова програмування, яку можна розглядати як черговий виток еволюції Visual Basic (VB), реалізований на платформі Microsoft .NET. VB.NET не має зворотної сумісності з попередньою версією (Visual Basic 6.0). Наділений порівняно схожими з мовою C# властивостями, але синтаксис залишився від VB 6.0

Власне Java і .NET є платформами для розробки Web-застосувань. Вони надають весь основний спектр низькорівневих послуг, таких як платформонезалежність і виконання коду, але за ці послуги програміст вимушений платити – як ресурсами і складністю конфігурації (розгортання на клієнтові Java машини або .NET Framework для запуску виконуваних файлів і організації зв'язку клієнт-сервер), так і просто вартістю (хоча .NET Framework є

безкоштовним продуктом, офіційно він підтримується лише для платформи

Windows). До того ж платформонезалежність для цих технологій визначається

29

10

02070743.00569-01 81 01

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

Для конкретного, немасового замовника, який здатний сплачувати за велику розробку, Java і .NET зараз представляють величезний інтерес, оскільки є офіційними продуктами компаній Microsoft і SunMicrosystems. Офіційність для «великого» замовника представляє особливий інтерес. Але поговоримо про іншу сторону ціни.

2.4.Безкоштовні технології

Усьогодення вимоги до програмних продуктів значно посилилися,

особливо у відношенні часу і вартості розробки. Серед методологій розробки ПЗ міцно застовпили за собою лідируючі позиції RAD (Rapid Application Development – швидка розробка застосувань) і Agile (Гнучка методологія розробки) методології. Але швидкі розробки невблаганно крадуть час на продумування ефективності роботи застосувань і можливість окупити використовувані платні технології. Тому, на передній план виходять безкоштовні (або відносно безкоштовні) системи розробки Web-застосувань з ефективною мовою програмування і можливістю швидкої побудови якісної архітектури.

Оскілки загальні принципи побудови Web-застосувань (рис. 2.1) вже були сформовані, то про самостійний розвиток супутніх безкоштовних мов програмування та технологій вже не виникало жодного питання.

Серед таких безкоштовних мов Web-розробки, що добре зарекомендували себе, варто відзначити PHP.

PHP (англ. PHP: Hypertext Preprocessor – «PHP: препроцесор гіпертексту».) – мова програмування, створена для генерування HTML-сторінок на Web-сервері і роботи з базами даних. В даний час підтримується переважною більшістю хостинг-провайдерів. Входить в LAMP – «стандартний» набір для створення Web-сайтів (Linux, Apache, MYSQL, PHP) [7].

30