Пример диплома специалиста / ! Read_Me_Спец / В Wordе эти документы могут неправильно отображаться / 002 Пояснювальна записка
.pdfЗАТВЕРДЖЕНИЙ
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