Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Розробка інформаційного web-ресурсу громадської організації «Файне місто» на основі технології PHP MYSQL

ДипломнаДопомога в написанніДізнатися вартістьмоєї роботи

C# розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно… Читати ще >

Розробка інформаційного web-ресурсу громадської організації «Файне місто» на основі технології PHP MYSQL (реферат, курсова, диплом, контрольна)

1. Аналіз технічного завдання Завданням дипломного проекту є розробка інформаційного web-ресурсу громадської організації «Файне місто» на основі технології PHP MYSQL. Код htcehce буде на мові php з використанням HTML розмітки, CSS-стилів та p використанням СУБД MYSQL. Розробка дизайну здійснюватиметься за допомогою Adobe Photoshop CS4, Paint, NET та матеріалів із мережі Інтернет. Інформаційний web-ресурс складатиметься з головної сторінки, про організацію, проекти, заявки на вступ в організацію, контакти, пошук на сайті, реєстрації та сторінки адміністрування.

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

1.1 Найменування та область застосування Тернопільська Міська Молодіжна Громадська Організація «Файне місто» (скорочено ТММГО «Файне місто») є однією із найактивніших організацій у тернопільській області, у своїй діяльності обирають напрямки дотичні до інтересів сучасної молоді. Одним із головних принципів є не залишатись осторонь від будь-яких процесів, що відбуваються у рідному місті.

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

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

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

Завданням дипломного проектування є розробка інформаційного web-ресурсу громадської організації «Файне місто». Даний web-ресурс буде написаний на мові PHP з використанням HTML розмітки, CSS стилів та системою керування базами даних MYSQL. Інформаційний web-ресурсу має забезпечувати реалізацію наступних задач:

— Швидке і ефективне розповсюдження інформації про себе і свою діяльність.

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

— Швидка інформаційна та сервісна підтримка за допомогою зворотного зв’язку, надання користувачам можливості задавати питання і отримувати відповіді.

— Формування бази поширених питань, створення сторінки — «питання», щоб уникнути багаторазових відповідей на одні й ті ж питання.

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

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

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

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

1.2 Призначення розробки

Інформаційний web-ресурс призначений для представлення громадської організації «Файне місто» в мережі Інтернет, а також з метою впровадження ефективного та зручного у користуванні ресурсу зовнішньої комунікації та презентації доробку організації для громадянського суспільства України та усіх зацікавлених.

1.3 Стадії та етапи розробки

1. Розробка дипломного проекту відбуватиметься ступенево. Перш за все створюється макет майбутнього web-ресурсу: вигляд, фон, кольорова палітра, оптимальний шрифт, його розмір. Розробляється структура посібника.

2. Створення веб-проекту, структури папок та файлів, налаштування додаткових ресурсів.

3. Створення структури сторінок та взаємозв'язків між ними.

4. Написання HTML коду MasterPage та інтерфейсу решти сторінок.

5. Написання програмного коду MasterPage, сторінки реєстрації, входу в систему.

6. Налаштування доступу до бази даних SQL Server.

7. Написання програмного коду решти сторінок.

8. Збір сайту, розробка титульної сторінки та (за бажанням) розміщення його в Інтернеті. Весь графічний, анімаційний, звуковий та програмний матеріал компілюється в готовий продукт: мультимедійний ресурс web-ресурсу.

9. Тестування та відладка. Готовий web-ресурсу тестується на наявність помилок веб-програмування, орфографічних помилок і невідповідності технічному завданню.

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

Як відомо, вдосконаленню немає меж. Робота над web-ресурс може тривати нескінченно довго. Будь-який веб-продукт можна постійно вдосконалювати, і в цьому немає нічого незвичайного.

При прийманні готового сайту замовники повинні найперше звернути увагу на такі параметри:

— обсяг текстової інформації в друкованих знаках з пробілами, кількість;

— обсяг робіт зі створення електронного посібника або зміни його дизайну, які визначаються відповідними договорами;

— внесення змін до договору здійснюється відповідно до законодавства.

Щоб максимально виключити можливість невідповідності готового сайту естетичним очікуванням замовника, останній зобов’язаний завчасно надати в розпорядження веб-дизайнера контент сайту (текст сайту, таблиці сайту і графіку сайту).

При цьому слід враховувати наступне: перед здачею проекту замовникові, виконується його повне тестування, що включає тестування роботи web-ресурсу в різних браузерах, тестування посилань (перевірка на «биті посилання»), тестування сайту під навантаженням та інші перевірки.

1.5 Аналіз вимог до web-ресурсу В дизайні буде передбачено наявність окремих стилів для певних типів інформації (наприклад, для контактної інформації новин та публікацій). Дизайн сайту — дуже важливий елемент впливу на Інтернет-аудиторію. При створенні і розробці веб-дизайну, буде звернено увагу на комфортне і зручне сприйняття інформаційного змісту сайту. Текст не повинен зливатися з фоном сторінки, інакше він буде не читабельним. А це негативним чином позначиться на популярності веб-ресурсу. Також великі тексти, для забезпечення зручного читання, буде розділено на глави і підзаголовки.

Веб-дизайн (від англ. web design) — візуальне оформлення веб-сторінок. Він відіграє таку ж роль для сайту, як поліграфічний дизайн і верстка для паперового видання. У широкому розумінні «веб-дизайном» називають веб-розробку, тобто створення сайту взагалі, проектування структури, навігації, а іноді і системи управління сайтом.

Основним завданням дизайну є:

• Ергономіка — легкість у використанні об'єкту дизайну

• Інтерфейс користувача — психологічні особливості оператора, працюючого з об'єктом дизайну

• Останні тенденції - застосування нових технологій в дизайні для спрощення його інших завдань.

Функції, які виконує дизайн веб-ресурсу:

— Залучення увага відвідувачів сайту за допомогою кольорових рішень, шрифтового оформлення, графічних елементів, анімації;

— Створення унікального зовнішнього вигляду, який відрізняє компанію від конкурентів;

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

Інформаційний web-ресурсу повинен забезпечувати коректне відображення даних в різних браузерах. Щоб сайт однаково виглядав в популярних браузерах (Internet Explorer, FireFox, Opera, Chrome та інших), причому самих різних версій, про це слід подбати від початку роботи над проектом. По-перше, необхідно визначитися, які браузери будуть залучені. Слід вивчити статистику відвідувань сайтів (наприклад, зі схожою тематикою), в якій зазначено відомості, якими браузерами користувалися його відвідувачі. Таку можливість надає наприклад, сервіс Google Analytics. Після визначення популярних за статистикою браузерів їх варто встановити на свій комп’ютер. Різні браузери хоч і дотримуються загальних правил та стандартів, але іноді в них застосовуються різні алгоритми обробки HTML-кодів чи правил CSS. Тому, не завжди один і той же елемент виглядає однаково в різних браузерах.

Список наступних браузерів, в яких web-ресурс має відображатись коректно:

· Internet Explorer (версія 6 та вище);

· Opera (версія 9 та вище);

· Mozilla Firefox (версія 3.0 та вище)

· Safari.

· Google Chrome

Первинна розробка та верстка контенту інформаційного web-ресурсу повинна здійснюватися силами Виконавця при безпосередній участі Замовника. Замовник надає всі необхідні Виконавцю текстові та графічні матеріали, а також коментарі, що стосуються їх змісту, об'єму, оформлення та розміщення. У тексті не повинно бути орфографічних помилок, друкарських недоречностей, використання різних елементів в межах одного тексту (наприклад, різних термінів для одного і того ж поняття), це може заплутати читача. Текст необхідно оптимізувати під пошукові системи — додати (органічно вписати) достатньо багато ключових слів і виразів.

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

Система управління контентом web-ресурсу повинна забезпечити адміністратору інформаційного web-ресурсу можливість виконання наступних дій:

· додавання и видалення текстів (статей);

· редагування текстів (статей);

· додавання и видалення новин;

· редагування новин;

· управління відображенням новин;

· редагування мета-даних разділів (службова інформація для покращення індексації web-ресурсу пошуковими системами).

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

На проекті повинна бути зручна навігація і побудова інформації, повинні бути виділені категорії і бути присутнім пошук для зручності користувачів, так як обсяги інформації великі.

· всі імена фалів повинні складатися з маленьких літер латинського алфавіту та (або) цифр, без пропусків. Дозволяється використання знаків підкреслювання;

· файли графічних зображень повинні мати роздільну здатність не більше, ніж 2048 на 1536 пікселів (більший розмір тільки у виключних випадках) для повноформатних зображень; та не більше ніж 640 на 480 пікселів для ескізів на сайті. Допустимі формати файлів — JPG, PNG, GIF, використання формату BMP не дозволяється;

· у випадку необхідності використання аудіота (або) відеоінформації максимально оптимізувати розмір файлів. Для аудіо — допустимий формат MP3, для відео — FLV, WMV. В обох випадках доцільно використовувати Flash програвачі для відтворення інформації.

Для проекту на момент написання web-ресурсу сервіс Liveinternet видавав таку статистику (показані рядки, що мають частку в статистці більше 5 відсотків):

366 Ч 768 — 23.7% 1280 Ч 1024 — 15.1% 1024 Ч 768 — 14.7% 1280 Ч 800 — 9.5% 1920 Ч 1080 — 8.4% 640 Ч 480 — 6.2% 1600 Ч 1200 — 5.9%

Як видно зі статистики, переважна більшість користувачів використовує монітори з дозволом шириною від 1280 пікселів і вище. Проте, якщо звернути увагу на рядок де відсоток становить: 14,7% має дозвіл 1024 пікселів. Це в середньому кожен шостий/сьомий користувач — досить великий відсоток, який має сенс враховувати. Виходячи з цього, що ширина сайту не повинна перевищувати 1024 пікселів, інакше кожному шостому відвідувачеві буде незручно користуватися web-ресурсом. Однак 1024 пікселя — це дозвіл монітора, а фактично площа сторінки в браузері менша, так як частина екрану з'їдає смуга прокрутки (скролл) — це близько 24 пікселів. Отже, наша сторінка повинна відкриватися не більше, ніж на 1000 пікселів. Таким чином, найбільш оптимальною шириною є 1000 px.

2. Аналітичний огляд існуючих рішень

Web-ресурси створюються з використання гіпертекстових технологій та технологій мультимедіа. Наведемо стислу характеристику цих технологій.

Стандартна узагальнена мова розмітки SGML — нащадок розробленої в 1960 році в IBM мови GML (від англ. Generalized Markup Language).

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

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

В 1980 році фізик Тім Бернерс-Лі, який був підрядником у ЦЕРНі, запропонував і розробив прототип ENQUIRE, систему для вчених та дослідників ЦЕРНу для використання документів та обміну даними. В кінці 1990 року Бернерс-Лі узагальнив та написав програмне забезпечення HTML для браузерів та серверів.

Першою публічною згадкою про HTML був документ «HTML Tags» вперше викладений в Інтернеті Бернерсом-Лі наприкінці 1991 року. В ньому описувалось 20 елементів включаючи початковий, відносно просте оформлення. За винятком гіперпосилання будова HTML була дуже схожа з SGML. Тринадцять з тих елементів до сих пір використовуються в HTML 4.

HTML — це мова розмітки, яку браузери використовують для відображення та опису тексту, зображень та даних іншого типу. Базова характеристика роботи з HTML описана в самому браузері, але також може бути змінена чи розширена за допомогою CSS — каскадних таблиць стилів.

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

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

Розширювана мова розмітки гіпертексту XHTML — мова розмітки, що має таку саму виразну силу як і HTML але відповідає синтаксичним правилам XML.

XHTML 1.0 є «реформулюванням трьох типів документів стандарту HTML 4 засобами XML 1.0». W3C також продовжує підтримку Рекомендації HTML 4.01 та активну роботу над специфікаціями стандартів HTML 5 і XHTML 5. В поточному документі Рекомендацій XHTML 1.0, який було опубліковано та переглянуто до серпня 2002 року, W3C зазначив, що, «Сімейство XHTML є наступним кроком в еволюції Інтернету». Шляхом переходу на XHTML сьогодні, розробники контенту можуть увійти в світ XML з усіма його перевагами, залишаючись впевненими в зворотній та майбутній сумісності їхнього контенту.

Проте в 2004 році, незалежно від W3C було створено Робочу групу з web-додатків та гіпертекстових технологій (WHATWG), для роботи по вдосконаленню звичайного HTML не заснованого на XHTML. Більшість великих виробників браузерів не бажали реалізовувати функції з нових проектів стандартів W3C XHTML оскільки вважали, що вони не відповідають сучасним потребам розвитку Інтернету, а W3C захопився формалізмом XML і не реагував на реальні вимоги виробників. Apple, Mozilla та Opera сформували робочу групу WHATWG, яка почала працювати над стандартом HTML 5, який допускав, але не вимагав застосування XML. У 2007 році, Робоча група W3C HTML проголосувала за офіційне визнання HTML 5 і роботу над ним як наступне покоління стандарту HTML.

Завдяки динамічному HTML перед web-дизайнерами відкриваються нові можливості для підготовки змісту, щоб передати його в Internet. Якщо до HTML 3.2 web-сторінки були статистичними, то за новим стандартом з’явилися необмежені можливості у оформленні документів. Завдяки Java-аплетам, Javaта VB-сценаріям, а також Stylesheets, web-сторінки стали не тільки візуально привабливими, але й інтерактивними. Так, наприклад, HTML-документ може безпосередньо реагувати на команди користувача і самостійно оновлюватися.

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

Крім того, web-автор повинен знати, що з використанням динамічного HTML, його потенційна клієнтура може зменшитися. Тому, що не кожен мандрівник мережі Інтернет зможе побачити в своєму web-браузері результати цієї технології. Для цього йому потрібен або Netscape Communicator, або Internet Explorer, і вони повинні бути не нижче 4-ої версії. Використання старішої версії призведе до помилки чи зміщення символів на екрані монітора.

Для запобігання цього на практиці, рекомендується розробити паралельно декілька версій, орієнтованих на конкретний web-браузер. Як правило, буває недостатньо простої версії, розробленої у відповідності зі старим стандартом 3.2.

2.1 HTML-редактори Можна створювати найскладніший HTML-документ, користуючись лише найпростішим текстовим редактором. Проте застосування засобів, спеціально призначених для цієї цілі, дозволить заощадити чимало часу і зусиль. Для створення нових web-документів найбільш ефективними є HTML-редактори. У зв’язку з поширенням Internet в оформленні web-документів зростає кількість дизайнерів, які не хочуть навчатися мові HTML. Тому і створені були такі HTML-редактори, у яких web-дизайнеру більше не треба працювати з HTML-кодами. Цілком достатньо вибрати відповідну команду меню.

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

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

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

У багатьох редакторах використовуються два типи інтерфейсу, між якими можна легко переключатися (яскравим прикладом служить HotDog, FrontPage98).

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

Коли стандарт HTML уперше став використовуватися в Internet, існували тільки HTML-редактори, які підтримували лише стандартні HTML-коди (їх називали тестовими або ASCII-редакторами). Текстові редактори і в даний час залишаються самими популярними інструментами створення web-документів. Як правило, такі редактори можуть оперувати тільки деяким набором регулярних кодів. Список цих кодів для більшості редакторів приведений у меню дескрипторів. Як приклади текстових редакторів можна навести Блокнот, Notepad++ і WordPad (Windows), vi та paco (UNIX) і SimpleText (Macintosh).

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

2.2 Гіпертекстовий препроцесор PHP

PHP — скриптова мова програмування, що була створена для генерації HTML-сторінок на стороні web-сервера. PHP є однією з найпоширеніших мов, що використовуються у сфері веб-розробок (разом із Java.NET, Perl, Python, Ruby). PHP підтримується переважною більшістю хостинг-провайдерів. PHP — проект відкритого програмного забезпечення.

PHP інтерпретується веб-сервером в HTML-код, який передається на сторону клієнта.

На відміну від скриптової мови JavaScript, користувач не бачить PHP-коду, бо браузер отримує готовий HTML-код. Це є перевагою з точки зору безпеки, але погіршує інтерактивність сторінок. Тим не менш це не забороняє використовувати РНР для генерування JavaScript-кодів які виконаються вже на стороні клієнта.

Історія PHP починається з 1995 року, коли Расмус Лердорф створив простий застосунок мовою Perl, що аналізував відвідування користувачами його резюме на веб-сайті. Потім, коли цим застосунком вже користувалися кілька чоловік, а число охочих одержати його постійно збільшувалося, Лердорф назвав своє творіння Personal Home Page Tools версія 1 і виставив для вільного завантаження. З цієї миті почався небувалий зліт популярності PHP.

Як це завжди буває, терміново було потрібно доопрацювання і нові доповнення. Для їхньої реалізації Расмус створює нову версію пакету, тепер уже написану С. Отриманий таким чином інструмент набуває робочої назви PHP/FI (Personal Home Page / Forms Interpreter), надалі він також буде відомий під назвою PHP 2. Ця версія вже більшою мірою схожа на сьогоднішній PHP. Вона мала синтаксис і спосіб іменування змінних в стилі мови Perl, можливість вбудовування PHP операторів в HTML-код сторінки, автоматичну інтерпретацію форм, інтеграцію з базами даних. При цьому все працювало досить швидко, оскільки PHP приєднувалось до web-серверу Apache. До 1997 року PHP використовувався вже на 50,000 доменах (не більше 1% всіх web-серверів).

У тому ж 1997 році до проекту PHP підключилися Зеєв Сураський і Енді Гутманс. Ці студенти Техніону, одного з ізраїльських університетів, намагалися використовувати PHP/FI для одного з комерційних університетських проектів. При цьому їм довелося зіткнутися з багатьма труднощами і обмеженнями цієї технології. Вивчаючи початковий код PHP 2, Зеєв і Енді дійшли висновку про необхідність доопрацювання, а точніше істотної переробки PHP, особливо в плані синтаксису мови. Протягом декількох місяців вони блискуче впоралися з цим завданням.

Закінчивши роботу Зеєв і Енді домовились з Расмусом про співпрацю в галузі розвитку та вдосконалення мови. З цієї миті з’являється PHP Group — група однодумців, що працюють над розвитком технології PHP. Одержаний продукт з’явився на світ у 1998 році під назвою PHP 3.

При цьому головною особливістю PHP 3 була можливість розширення ядра, що привернуло до роботи над PHP безліч сторонніх розробників, що створюють спеціалізовані модулі. Їх наявність дала PHP можливість працювати з величезною кількістю баз даних, протоколів, підтримувати велике число API. До кінця 1998 кількість користувачів PHP перевалила за сто тисяч, а PHP був вже встановлений на не менше ніж 10% серверах Інтернету. У той ж час значному поширенню даної мови сприяли публікації в електронній пресі та вихід книжок для вивчення PHP.

Відразу ж після виходу PHP 3, Енді Гутманс і Зеєв Сураський почали переробку ядра PHP. В першу чергу належало вирішити проблему підвищення продуктивності. Новий продукт, названий Zend Engine, успішно справлявся з поставленим завданням і був реалізований в 1999 році. Основною реалізованою ідеєю була можливість компіляції сценарію у виконуваний модуль, за рахунок чого продуктивність можна було підняти на порядок.

PHP 4, що працює на цьому ядрі, вийшов в 2000 році. На додаток до збільшення продуктивності, PHP 4 мав нові можливості щодо підтримки сесій, буферизацію виводу, безпечні способи обробки інформації, що вводиться користувачем, і нові мовні конструкції. З виходом 4 версії PHP став використовуватися вже на більш ніж 20% доменів Інтернету.

За час з 2000 по 2004 рік продовжувалися активні роботи з покращення 4 версії, але майже відразу PHP Group приступила до продумування можливостей нової версії. В першу чергу було вирішено підсилити об'єктні можливості мови, що дозволяло використовувати його для реалізації масштабних проектів.

Роботи по створенню 5-тої версії велися тривалий час, в них брало участь рекордна кількість фахівців, зокрема Стерлінг Хьюз і Маркус Бергера.

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

Окрім цього, PHP збагатився рядом цінних розширень для роботи з XML, різними джерелами даних, генерації графіки і інше.

Серед інших украй корисних доповнень в PHP 5 слід зазначити нову схему обробки виключень.

Конструкція try/catch/throw дозволяє весь код обробки помилок локалізувати в одному місці сценарію.

Всі основні бібліотеки для роботи з XML, запозичені в PHP 4, були піддані серйозній переробці.

Такі популярні розширення, як SAX, DOM і XSLT, тепер використовують інструмент libxml2, що робить їх ще ефективнішими.

У PHP 5 також включені два нові модулі для роботи з протоколами — SimpleXML і SOAP. SimpleXML дозволяє значно спростити роботу з XML-даними, представляючи вміст XML-документа у вигляді PHP-об'єкта. Розширення SOAP дозволяє будувати на PHP сценарії, що обмінюються інформацією з іншими застосунками за допомогою XML-повідомлень поверх існуючих web-протоколів, наприклад HTTP.

Модуль для роботи з SOAP для PHP 5 надає розробникам засіб для достатньо швидкого створення ефективних SOAP-клієнтів і SOAP-серверів.

Новий модуль PHP 5 MySQLi (MySQL Improved) призначений для роботи з MySQL-сервером версій 4.1.2 та вищих, реалізовуючи не тільки процедурний, але і об'єктно-орієнтований інтерфейс до MySQL.

Додаткові можливості цього модуля включають — SSL, контроль транзакцій, підтримка реплікації та ін.

2.3 Каскадні таблиці стилів CSS

Каскадні таблиці стилів — спеціальна мова, що використовується для відображення сторінок, написаних мовами розмітки даних. Найбільш часто CSS використовують для візуальної презентації сторінок, написаних HTML та XHTML, але формат CSS може застосовуватися до інших видів XML-документів.

Специфікації CSS були створені та розвиваються Консорціумом Всесвітньої павутини.

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

CSS (каскадна або блочна верстка) прийшла на заміну табличній верстці web-сторінок. Головна перевага блочної верстки — розділення змісту сторінки (даних) та їх візуальної презентації.

CSS використовується авторами та відвідувачами web-сторінок для того щоб визначити кольори, шрифти, верстку та інші аспекти вигляду сторінки. Одна з головних переваг — можливість розділити зміст сторінки (або контент, наповнення, зазвичай HTML, XML або подібна мова розмітки) від вигляду документу (що описується в CSS).

Таке розділення може покращити сприйняття та доступність контенту, забезпечити більшу гнучкість та контроль за відображенням контенту в різних умовах, зробити контент більш структурованим та простим, прибрати повтори та ін. CSS також дозволяє адаптувати контент до різних умов відображення (на екрані монітора, мобільного пристрою, КПК), у роздрукованому вигляді, на екрані телевізора, пристроях з підтримкою шрифту Брайля або голосових браузерах та ін.).

Один і той же HTML або XML документ може бути відображений по-різному в залежності від використаного CSS. Стилі для відображення сторінки можуть бути:

— стилі автора (інформація надана автором сторінки):

— зовнішні таблиці стилів частіше за все записані в один чи декілька окремих файлів з розширенням *.css;

— внутрішні таблиці стилів, включені як частина документу;

— стилі для окремого елементу;

— стилі користувача;

— локальний *.css-файл, вказаний користувачем для використання на сторінках і вказаний в налаштуваннях браузера (наприклад Opera);

— стилі браузера;

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

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

Звичайно використання CSS стилів має свої переваги та недоліки. До переваг можна віднести наступні якості:

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

— Різна інформація про стилі для різних типів користувачів: наприклад великий розмір шрифту для користувачів з послабленим зором, стилі для виводу сторінки на принтер, стиль для мобільних пристроїв;

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

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

2.4 Java та сценарії JavaScript

Java — об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються у байт-код, який при виконанні інтерпретується віртуальною машиною для конкретної платформи.

Sun Microsystems надає компілятор Java та віртуальну машину Java, які задовольняють специфікації Java Community Process, під ліцензією GNU General Public License.

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

Java вплинула на розвиток J++, що розроблялась компанією Microsoft. Роботу над J++ було зупинено через судовий позов компанії Sun Microsystems, оскільки ця мова програмування була модифікацією Java. Пізніше в новій платформі Microsoft.NET випустило J#, щоб полегшити міграцію програмістів J++ або Java на нову платформу. З часом нова мова програмування С#, стала основною мовою платформи, перейнявши багато чого з Java. J# востаннє включався в версію Microsoft Visual Studio 2005. Мова сценаріїв JavaScript має схожу із Java назву і синтаксис, але не пов’язана із Java.

Розробку проекту започаткував Джеймс Ґослінґ, сам проект мав назву «Green» (Зелений). Створення першої робочої версії, яка мала назву «Oak» зайняло 18 місяців. Оскільки виявилось, що ім'я Oak уже використовувалось іншою фірмою, то в результаті тривалих суперечок навколо назви нової мови з поміж ряду запропонованих було вибрано назву Java, у 1995р. мову було офіційно перейменовано.

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

Досить скоро майже всі найпопулярніші тогочасні браузери отримали можливість запускати «безпечні» для системи Java аплети всередині web-сторінок. У грудні 1998 р. Sun Microsystems випустила Java 2 (спершу під назвою J2SE 1.2), де було реалізовано декілька конфігурацій для різних типів платформ. Наприклад, J2EE призначалася для створення корпоративних застосунків, а значно урізана J2ME для приладів з обмеженими ресурсами, таких як мобільні телефони. У 2006 році в маркетингових цілях, Версії J2 було перейменовано у Java EE, Java ME та Java SE, відповідно.

13 листопада 2006 року Sun випустили більшу частину Java в якості вільного та відкритого програмного забезпечення згідно з умовами GNU General Public License (GPL). 8 травня 2007 корпорація закінчила процес, в результаті якого всі початкові коди Java були випущенні під GPL, за винятком невеликої частини коду, на який Sun не мала авторського права.

Період становлення Java збігся у часі з розквітом міжнародної інформаційної служби World Wide Web. Ця обставина відіграла вирішальну роль у майбутньому Java, оскільки Web теж вимагала платформо-незалежних програм. Як наслідок, були зміщені акценти в розробці Sun з побутової електроніки на програмування для Інтернет.

JavaScript — назва реалізації стандарту мови програмування ECMA-Script компанії Netscape, базується на принципах прототипного програмування. Найпоширеніше і найвідоміше застосування мови — написання сценаріїв для web-сторінок, але, також, використовується для впровадження сценаріїв керування об'єктами вбудованими в інші програми.

Незважаючи на схожість назв, JavaScript та мова програмування Java мають дуже мало спільного. Права на назву JavaScript належать компанії Sun Microsystems. Розроблена в компанії Netscape, на даний час підтримується більшістю браузерів. Текст програми включається безпосередньо в HTML-документ і інтерпретується самим браузером. Застосовується в основному для часткової автоматизації обробки і маніпуляції даними, які використовує сторінка.

В 1992 році компанія Nombas розпочала розробку вбудованої скриптової мови Cmm (Сі-мінус-мінус), яка, по замислу розробників, повинна була стати достатньо потужною, щоб замінити макроси, зберігаючи при цьому схожість з Сі, щоб програмістам було легко оволодіти нею. Головною відмінністю від Сі була робота з пам’яттю. В новій мові все управління пам’яттю здійснювалось автоматично: не було необхідності створювати буфери, оголошувати змінні, здійснювати перетворення типів. В іншому мови були доволі схожі між собою: зокрема, Cmm підтримував стандартні функції і оператори Сі. Cmm була перейменована в ScriptEase, оскільки початкова назва звучала надто негативно, а згадка про Сі «відлякувало» людей.

На основі цієї мови було створено CEnvi. В кінці листопада 1995 року Nombas розробили версію CEnvi, впроваджувану в web-сторінки. Сторінки, які можна було міняти за допомогою скриптової мови, отримали назву Espresso Pages — вони демонстрували використання скриптової мови для створення гри, перевірки користувацького вводу в форми і створення анімації.

Станом на 2006 рік, останній стандарт мови — JavaScript 1.7. Якщо спрощено, то ECMA-262 є стандартизованим варіантом мови JavaScript. Стандартом ECMA-357 визначено E4X, розширення мови для роботи з XML.

JavaScript має низку властивостей об'єктно-орієнтованої мови, але завдяки концепції прототипів підтримка об'єктів в ній відрізняється від традиційних мов ООП. Крім того, JavaScript має ряд властивостей, властивих функціональним мовам, — функції як об'єкти першого рівня, об'єкти як списки, каррінг — анонімні функції, замикання — що додає мові додаткову гнучкість.

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

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

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

— обробка винятків;

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

— автоматичне прибирання сміття;

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

JavaScript містить декілька вбудованих об'єктів: Global, Object, Error, Function, Array, String, Boolean, Number, Math, Date, RegExp. Крім того, JavaScript містить набір вбудованих операцій, які, строго кажучи, не обов’язково є функціями або методами, а також набір вбудованих операторів, що управляють логікою виконання програм. Синтаксис JavaScript в основному відповідає синтаксису мови Java (тобто в кінцевому рахунку успадкований від C), але спрощений порівняно з ним, щоб зробити мову сценаріїв легкою для вивчення. Так, приміром, декларація змінної не містить її типу, властивості також не мають типів, а декларація функції може стояти в тексті програми після неї.

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

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

2.5 Еволюція від ASP до ASP.NET

ASP (англ. Active Server Pages, укр. активні серверні сторінки) — це технологія від компанії Microsoft, що дозволяє динамічно формувати автоматично оновлювані веб-сторінки з боку веб-сервера. Технологія подається у формі додатку до веб-серверу Internet Information Services (IIS).

Більшість сторінок, що створені за допомогою даної технології, написані мовою VBScript, але веб-майстер вільний використовувати будь-яку мову, за умови, що для неї існує та встановлений відповідний Active Scripting механізм. JScript, що є реалізацією ECMAScript від компанії Microsoft, — це зазвичай друга мова, котру використовують разом із технологією ASP. Існують також досить багато інших мов програмування, що постачаються сторонніми компаніями.

Технології InstantASP та ChiliASP дозволяють використовувати технологію ASP без операційної системи Microsoft Windows. Існують вельми багато спілок відкритого програмного коду, що створюють ASP скрипти, компоненти та програми, котрі можуть бути використані безкоштовно за умови дотримання певних ліцензійних угод.

ASP.NET — це технологія створення веб-застосунків і веб-сервісів від компанії Microsoft. Вона є складовою частиною платформи Microsoft. NET і розвитком старішої технології Microsoft ASP. У цей час останньою версією цієї технології є ASP.NET 4.5.

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

Після випуску сервера Internet Information Services 4.0 в 1997 році, компанія Microsoft почала досліджувати можливість нової моделі веб-застосунків, яка задовольнить скарги на ASP, особливо пов’язані з відділенням оформлення від змісту, і яка дозволить писати «чистий» код. Робота з розробки такої моделі була доручена Марку Андерсу, менеджеру команди IIS, і Скотту Гутрі, що надійшов на роботу в Microsoft в 1997. Андерс і Гутрі розробили початковий проект протягом двох місяців, і Гутрі написав код первісного прототипу під час різдвяних канікул 1997 року.

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

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

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

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

— Використання метафор, вже застосовуються в Windows-застосунках, наприклад, таких як елементи керування та події;

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

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

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

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

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

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

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

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

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

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

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

— ASP.NET має перевагу у швидкості в порівнянні з іншими технологіями, заснованими на скриптах.

Тут можна навести певні порівняння. Так, ASP — похідна від Win32, XML і HTML; PHP — від XML, HTML, Java і CDI, тоді ASP.NET — від HTML і .NET (XML і XAML відповідно). При цьому, якщо зазвичай Rich Media Application створюють за допомогою Flash, тепер це робиться за допомогою модуля Silverlight, так само через сам ASP.NET. ASP.NET — багатше середовище для розробки та розгортання веб-ресурсів. У ASP.NET можна працювати з будь-якою .NET мовою, аж до Managed C++ і Visual Basic.

2.6 Мова C#

C# (C Sharp) — об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).

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

C# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією Sun Microsystems, коли глобальний розвиток інтернету поставив задачу роззосереджених обчислень. Взявши за основу популярну мову C++, Java виключила з неї потенційно небезпечні речі (типу вказівників без контролю виходу за межі). Для роззосереджених обчислень була створена концепція віртуальної машини та машинно-незалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп’ютера чи іншого інтелектуального пристрою.

Java набула чималої популярності, і була ліцензована також і компанією Microsoft. Але з плином часу Sun почала винуватити Microsoft, що та при створенні свого клону Java робить її сумісною виключно з платформою Windows, чим суперечить самій концепції машинно-незалежного середовища виконання і порушує ліцензійну угоду. Microsoft відмовилася піти назустріч вимогам Sun, і тому з’ясування стосунків набуло статусу судового процесу. Суд визнав позицію Sun справедливою, і зобов’язав Microsoft відмовитися від позаліцензійного використання Java.

У цій ситуації в Microsoft вирішили, користуючись своєю вагою на ринку, створити свій власний аналог Java, мови, в якій корпорація стане повновладним господарем. Ця новостворена мова отримала назву C#. Вона успадкувала від Java концепції віртуальної машини (середовище .NET), байт-коду (MSIL) і більшої безпеки вихідного коду програм, плюс врахувала досвід використання програм на Java.

Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі .NET, .NET бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).

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

C# розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET.) CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.

2.7 СУБД MySQL

MySQL — вільна система управління базами даних (СУБД). MySQL є власністю компанії Sun Microsystems, здійснюючу розробку й підтримку додатка. Поширюється під GNU General Public License і під власною комерційною ліцензією, на вибір. Крім цього компанія MySQL AB розробляє функціональність за замовленням ліцензійних користувачів, саме завдяки такому замовленню майже в самих ранніх версіях з’явився механізм реплікацій [19, 21].

MySQL є рішенням для малих і середніх додатків. Входить в LAMP. Звичайно MySQL використовується як сервер, до якого звертаються локальні або вилучені клієнти, однак у дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми.

Гнучкість СУБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, підтримуючий повнотекстовий пошук, так і таблиці InnoDB, підтримуючі транзакції на рівні окремих записів. Більше того, СУБД MySQL поставляється зі спеціальним типом таблиць EXAMPLE, що демонструють принципи створення нових типів таблиць. Завдяки відкритій архітектурі й GPL-Ліцензуванню, у СУБД MySQL постійно з’являються нові типи таблиць.

MySQL виникла як спроба застосувати mSQL до власних розробок компанії: таблицям, для яких використовувалися ISAM — підпрограми низького рівня. У результаті був вироблений новий SQL-інтерфейс, але API-інтерфейс залишився в спадщину від mSQL. Звідки взялась назва «MySQL» — достименно не відомо. Розробники дають два варіанти: або тому, що практично всі напрацювання компанії починалися із префікса My, або на честь дівчинки на імя My, дочки Майкла Монти Віденіуса, одного з розробників системи.

Нижче представлений список найбільш важливих характеристик програмного забезпечення баз даних MySQL.

— Внутрішні характеристики.

— Написаний на мовах С и C++.

— Протестований на широкому спектрі різних компіляторів.

— Працює на безлічі різних платформ.

— Доступні API-Інтерфейси для З, C++, Eiffel, Java, Perl, PHP, Python, Ruby і Tel.

— Повністю багато поточний з використанням потоків ядра. Може працювати в багатопроцесорних системах.

— Забезпечує транзакцію і не транзакцію механізми зберігання.

— Використовує дуже швидкі дискові таблиці (MylSAM) зі стиском індексів на основі бінарних дерев (В-Дерев).

— Порівняно просте додавання іншого механізму зберігання. Це зручно, якщо потрібно додати SQL-Інтерфейс до бази даних власної розробки.

— Дуже швидка система розподілу пам’яті, заснована на потоках.

— Дуже швидкі з'єднання, що використовують оптимізовані однопрохідні мульти-з'єднання.

— Збережені в пам’яті хеш-таблиці, які використовуються як тимчасові таблиці.

— Функції SQL реалізовані з використанням високо оптимізованої бібліотеки класів і повинні виконуватися гранично швидко. Як правило, будь-якого розподілу пам’яті після ініціалізації запиту не виконується.

— Код MySQL протестованний за допомогою інструментів пошуку витоку пам’яті, як комерційних, так і з відкритим вихідним кодом.

— Сервер доступний як окрема програма для використання в клієнтсерверній мережному середовищу. Крім того, він також поставляється у вигляді бібліотеки, що може бути убудована в окремі автономні додатки. Такі додатки можуть застосовуватися в ізольованому середовищі або середовищі, що не має доступ до мережі.

— Типи стовпців

— Безліч типів даних для стовпців таблиць: знакові/беззнакові цілі довжиною в 1, 2, 3, 4 і 8 байт; типи FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM і просторові типи OpenGIS.

— Запису фіксованої й змінної довжини.

— Оператори й функції.

— Повна підтримка операцій і функцій у конструкціях SELECT і WHERE запитів, наприклад: mysql> SELECT CONCAT (first_name, ' ', last_name) -> FROM citizen -> WHERE income/dependents > 10 000 AND age > 30;

— Повна підтримка конструкцій GROUP BY і ORDER BY. Підтримка групових функцій (COUNT (), COUNT (DISTINCT.. .), AVG (), STD (), SUM (), MAX (), MIN () І GROUP_CONCAT ()).

— Підтримка LEFT OUTER JOIN і RIGHT OUTER JOIN як із синтаксисом SQL, так і із синтаксисом ODBC.

— Підтримка псевдонімів для таблиць і стовпців, як того вимагає стандарт SQL.

— Оператори DELETE, insert, REPLACE і UPDATE повертають кількість рядків, які були змінені. Замість цього можна задати повернення кількості рядків, що відповідають запиту, для чого буде потрібно встановити відповідний прапор при підключенні до сервера.

— Специфічна для MySQL команда SHOW може бути використана для добування інформації про бази даних, таблицях і індексах. Команда EXPLAIN дозволяє переглянути, як оптимізатор виконує запит.

— Імена функцій не конфліктують з іменами таблиць і стовпців. Наприклад, ABS — абсолютно коректне ім'я стовпця. Єдине обмеження, що накладається на виклик функцій, — це те, що між ім'ям функції й наступної за ним відкриваючою дужкою ' (' не повинне бути пробілів.

— Можна змішувати таблиці з різних баз даних в одному запиті (як в MySQL 3.22).

— Безпека.

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

— Масштабованість і обмеження.

— Підтримує роботу баз даних величезних обсягів. Наприклад, компанія MySQL AB застосовує сервер MySQL для обслуговування бази даних, утримуючих 50 мільйонів записів. Відома також організація, що використовує сервер MySQL для обслуговування бази даних з 60 000 таблиць, що зберігає близько 5 мільярдів записів.

— Дозволяється мати до 64 індексів на таблицю (у версіях, що передують MySQL 4.1.2, допускалося до 32 індексів). Кожний індекс може містити від 1 до 16 стовпців або частин стовпців. Максимальна ширина індексу становить 1000 байт (500 байт у версіях, що передують MySQL 4.1.2). Для індексу може застосовуватися префікс стовпців з типами CHAR, VARCHAR, BLOB і TEXT.

— Мережна зв’язність

— Клієнти можуть підключатися до сервера MySQL, використовуючи сокети TCP/IP на будь-якій платформі. В Windows-Системах сімейства NT (NT, 2000 або ХР) клієнти можуть підключатися з використанням іменованих каналів. У системах на базі UNIX клієнти можуть підключатися через файли сокетів UNIX-Доменів.

— Інтерфейс Connector/ODBC дозволяє MySQL підтримувати клієнтські програми, які використовують ODBC-З'єднання. Наприклад, для підключення до сервера MySQL можна використовувати MS Access. Клієнтське програмне забезпечення може виконуватися під керуванням Windows або UNIX. Вихідні тексти інтерфейсу Connector/ODBC доступні. Підтримуються всі функції ODBC 2.5, так само як і безліч інших.

— Інтерфейс Connector/JDBC дозволяє MySQL взаємодіяти із клієнтськими програмами на Java, у яких використовуються JDBC-Підключення. Клієнтське програмне забезпечення може виконуватися під керуванням Windows або UNIX. Вихідні тексти інтерфейсу Connector/JDBC доступні.

— Локалізація

— Сервер може видавати клієнтам повідомлення про помилки на різних мовах.

— Повністю підтримуються кілька кодових таблиць, включаючи latinl (ISO- 8859- 1), german, big5, ujis і інші. Наприклад, в іменах таблиць і стовпців дозволяється застосовувати скандинавські символи на зразок 'а', 'а' і 'б'. Починаючи з версії MySQL 4.1, також забезпечується підтримка Unicode.

— Всі дані зберігаються в обраному кодуванні. Всі порівняння стовпців з нормальними рядками чутливі до регістра.

— Сортування виконується відповідно до обраного кодування (за замовчуванням використовуються шведський набір). Під час запуску сервера MySQL це можна змінити. Як приклад досить зробленого сортування рекомендується звернути увагу на код сортування для чеської мови. Сервер MySQL підтримує безліч різних кодувань, причому вони можуть бути зазначені як під час компіляції, так і під час виконання.

— Клієнти й інструменти.

— Сервер MySQL має убудовану підтримку SQL-Операторів для перевірки, оптимізації й відновлення таблиць. Ці оператори можна виконувати в режимі командного рядка, використовуючи клієнтський додаток mysqlcheck. MySQL включає також myisamchk — дуже швидку утиліту командного рядка для реалізації тих же операцій над таблицями MylSAM.

— Всі програми MySQL можна запускати на виконання з опцієюhelp або -? для одержання швидкої підказки.

Для розробки web-рисурсу було використано: PHP, HTML, каскадні таблиці стилів CSS, СУБД MySQL версії 5. Головним інструментом розробки був Notepad++ 6.6.3 Додатково використовувалося Adobe Photoshop CS5 та Paint.NET.

3. Вибір архітектури та інструментальних засобів розробки

3.1 Вимоги до технічних засобів Програма потребує наявності сервера та комп’ютера користувача, але при необхідності, комп’ютер користувача може виконувати роль сервера Програма може бути встановлена у будь-якій з розповсюджених на сьогоднішній день операційних систем — Windows 9x/NT/XP/2003/Vista, Linux, Unix, та ін. Мінімальні вимоги до системи такі:

1. Процесор — 300 Мгц 2. Оперативна память — 32 Мб 3. Відеокарта та монітор — 640×480, 256 кольорів при частоті розгортки 75 Гц (TCO95) 4. Клавіатура — довільна 5. Миша — довільна 6. Вільний дисковий простір — 50 Мб (для встановлення серверів Apache та MySQL).

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

3.2 Вимоги до програмного забезпечення В якості веб-сервера представленої розробки використано пакет «Денвер» .

Джентльменський набір Web-розробника («Д.н.w.р», «Денвер») — проект Дмитра Котерова, набір дистрибутивів (Apache, PHP, MySQL, Perl і т. п.) і програмна оболонка, які використовуються Web-розробниками для розробки сайтів на «домашній» (локальній) Windows-машині без необхідності виходу в Інтернет. Головна особливість Денвера — зручність при віддаленій роботі одразу над кількома незалежними проектами і можливість розміщення на Flash-накопичувачі.

Базовий пакет Денвера містить більшість необхідних програм та утиліт:

?Інсталятор (підтримує також інсталяцію на flash-накопичувач).

?Apache, SSL, SSI, mod_rewrite, mod_php.

?PHP5 з підтримкою GD, MySQL.

?MySQL5.

?Система управління віртуальними хостами

?Система управління запуском и завершенням усіх компонентів Денвера.

?phpMyAdmin — система управління MySQL через Web-інтерфейс.

?Емулятор sendmail і SMTP-сервера Також нам необхідно встановити на нашому комп’ютері відповідне програмне забезпечення, яке буде необхідне нам у майбутньому, а саме:

— Internet Explorer (версія 6 та вище);

— Opera (версія 9 та вище);

— Mozilla Firefox (версія 3.0 та вище)

— Safari.

— Google Chrome 26.0 або вище;

— Notepad++ 6.6.3

— Adobe Photoshop CS5

3.3 Вибір архітектури розробки Для реалізації даного проекту було обрано архітектуру «клієнт-сервер» .

Архітектура «клієнт-сервер» сьогодні являє собою домінуючу концепцію у створенні мережевих розробок і передбачає взаємодію та обмін даними між ними. Вона передбачає такі основні компоненти:

?набір серверів, які надають інформацію або інші послуги програмам, які звертаються до них;

?набір клієнтів, які використовують сервіси, що надаються серверами;

?мережа, яка забезпечує взаємодію між клієнтами та серверами.

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

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

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

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

Модель клієнт-серверної взаємодії визначається перш за все розподілом обов’язків між клієнтом та сервером. Логічно можна виокремити три рівні операцій:

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

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

Для роботи з системою користувач використовує стандартне програмне забезпечення — звичайний браузер. Це позбавляє його необхідності завантажувати та інсталювати спеціальні програми (хоча інколи така необхідність все-таки виникає). Але користувачеві слід надати в розпорядженні інтерфейс, який дозволяв би йому взаємодіяти з системою і формувати запити до неї; форми, що визначають цей інтерфейс, розміщуються на веб-сторінках та завантажуються разом з ними.

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

4. Розробка web-ресурсу

4.1 Розробка структури Традиційно етап планування сайту (як і будь-якого проекту) може бути трохи стресовим. У кожного є власна думка щодо того, як сайт повинен бути зроблений. І часто ці думки будуть конфліктувати один з одним. Нашою головною метою має бути створення сайту, корисного для людей, які будуть ним користуватися. Насправді не важливо навіть, що говорить ваш начальник, хлопець з докторським ступенем з розробки програмного забезпечення, що сидить вниз по коридору; не важливі навіть ваші особисті уподобання. В кінці дня, якщо ви створюєте сайт для певної групи людей, має значення тільки їх думка.

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

Структура сайту — це внутрішній устрій сайту, його «кістяк», розташування сторінок, розділів, підрозділів, додаткових матеріалів. І першочерговим завданням дизайнера є створення стрункого порядку з хаотичного скупчення інформації.

З позиції розробника, структуру сайту умовно можна поділити на два рівні — логічний і фізичний.

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

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

Слідуючи сучасним тенденціям, мною було розроблено web-ресурсу для громадської організації «Файне місто» .

Структура сайту складається з декількох пунктів: головна, про організацію, відділи, заявка на вступ та контакти (Рис. 4.1).

Рис. 4.1

Сторінка першого ряду може містити:

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

— Про організацію — тут знаходиться вся інформація про діяльність громадської організації.

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

— Заявки на вступ, в даному розділі знаходиться інформація та умови подання заявки на всеп в організацію, а також форма подачі заявки.

— Контакти в цьому пункті меню знаходиться всі контакти організації за якими можна зв’язатися з потрібним відділом чи головою організації а також дізнатись місце знаходження організації.

Структурну схему сторінки web-ресурсу можна побачити на рисунку 4.2.

Рис. 4.2

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

— Шапка сайту, в якій буде знаходитись логотип організації та слоган;

— Горизонтальне меню складається з пунктів меню;

— Контент, це основна область сторінки в якій буде відображатись різна інформація, така як: новини, події, форма реєстрації адміністратора і т.д.

— Пошук на сайті буде полегшувати пошук потрібної інформації на сайті результати будуть виводитись в блок контент;

— Партнери, в цьому блоці буде відображено логотипи партнерів громадської організації;

— Реклама, тут будуть розміщені банери;

— Футер, в цій частині сторінки буде розміщено посилання на соціальні мережі та копірайт.

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

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

На даному етапі структура веб-проекту складається з декількох папок: images — містить всі графічні елементи сайту; css — де зберігаються файли дизайну та інтерфейсу посібника; html файли — в файлах з таким розширенням знаходяться всі коди які відповідають за структуру та наповненя сторінок.

Потрібно створити всі ключові сторінки сайту, які відрізняються одна від одної структурою html-коду. Всі ключові сторінки які є html файлами потрібно пере форматувати в tpl-файли.

Оскільки HTML — документи записуються в ASCIIформаті, то для її створення може бути використаний будь-який текстовий редактор. Зазвичай HTML — документ — це файл з розширенням html або htm, в якому текст розмічений HTML — тегами (англ. tag — спеціальні вбудовані вказівки). Засобами HTML задаються синтаксис і розміщення тегів, відповідно до яких, браузер відображає вміст Вебдокумента. Текст самих тегів Веббраузером не відображається. Браузер, який читає HTML — документ, відображає його у вікні, використовуючи структуру HTMLтегів. У кожному HTML — документі повинні бути присутніми три головні частини:

— Оголошення HTML;

— Голова документу;

— Тіло документа;

— Оголошення HTML;

І </ HTML>. Пара цих тегів повідомляє програмі перегляду (браузеру) що між ними укладено документ у форматі HTML, причому першим тегом в документі повинен бути тег (на самому початку документа), а останнім — </ HTML> (в самому кінці документа).

В голові документа знаходиться заголовок сторінки та мета дані такі як ключові слова, опис документу, а також підключення css-стилів, скриптів і т.д.

Даний уривок коду редагується і зберігається в файл з розширенням tpl з таким змістом:

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

В результаті в нас получилися такі файли:

— article. tpl

— articles. tpl

— banner. tpl

— form_auth.tpl

— items. tpl

— main. tpl

— main_article.tpl

— menu_item.tpl

— message. tpl

— message_string.tpl

— number_page.tpl

— pagination. tpl

— reg. tpl

— search_no.tpl

— search_result.tpl

— section. tpl

— text_message.tpl

— user_artitle.tpl

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

Але в tpl-файлах знаходиться тільки html код, і ключі які підміняються на потрібну інформацію.

Головним файлом в даній структурі є main. tpl в якому знаходиться обов’язків код будь якої сторінки, і має такий вигляд.


Заповнити форму поточною роботою