Програмування web-сторінки
Характеристика інформаційної гіпертекстової мультимедійної системи. Особливості формування документів в HTML. Структурні можливості web-сторінки. Безпечність і ефективність використання мова програмування Java. Архітектура сучасних інтернет-додатків.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 28.01.2014 |
Размер файла | 34,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Програмування web-сторінки
Вступ
World Wide Web (WWW) - це найвідоміша та найпопулярніша служба Iнтернета. Ця глобальна, розподілена по цілому світі інформаційна гіпертекстова мультимедійна система дозволяє з'єднати в одне ціле інформацію різних видів, яка зберігається на різних комп'ютерах. Нагадаємо, що інформація в WWW розповсюджується у вигляді web-сторінок(Web-документів). Декілька web-документів з однієї теми, що належать одному власникові чи є на одному комп'ютері, утворюють web-вузол, який часто називають сайтом. Основним принципом використання web-сторінок є активізація гіпертекстових посилань, за допомогою яких можна здійснити перехід в інші місця web-сторінки або до інших web-сторінок.
В основі WWW лежать два поняття: гіпертекстові посилання та формат документів HTML. Завдяки гіпертексту web-сторінки набувають властивості інтерактивності.
HTML (Hyper Text Markup Language) - це спеціальна мова форматування текстових електронних документів. Наприклад, для друкованого документа задаються такі параметри, як розмір паперу та полів, шрифти та їх розміри тощо. Оскільки електронні web-документи призначені для перегляду на екрані, причому наперед не відомо, на якому комп'ютері це буде робитися, а, отже, невідомі розміри вікна програми-переглядача, шрифти, які встановлені на комп'ютері, і т. д., то мова HTML призначена якраз для того, щоб оформляти електронні документи з розрахунку на те, що засоби, якими вони будуть переглядатися, наперед невідомі. Формування документів мовою HTML подібне до програмування.
Вихідний текст документа складається з послідовності команд, які називають тегами (tag). Під час перегляду теги спрацьовують, і завдяки їм на екран виводяться запрограмовані елементи зображення. Наприклад, якщо на початку абзацу стоїть тег <center>, то весь абзац буде вирівняно по центру вікна, незалежно від того, в якому вікні здійснюється перегляд документа і яким шрифтом він ображається. Теги HTML дозволяють вирівнювати рядки документа, керувати кольором фону та кольором тексту, дозволяють вставляти в текст ілюстрації, задавати заголовки різних рівнів, будувати таблиці, створювати гіпертекстові посилання на інші документи.
Web-документ зберігається і пересилається як файл з розширенням html або htm (HTML-файл). Це звичайні текстові файли-програми, написані мовою HTML. Відображаються такі файли на екрані інакше, ніж вони виглядають у HTML-файлі.
Для відображення HTML-файлів використовують браузери.
1. Структура web-сторінки
Типовий web-документ складається з текстових блоків, рисунків, таблиць, ліній, гіперпосилань. Більш складні web-документи містять фрейми (вкладені web-сторінки), елементи керування та вводу інформації(кнопки, перемикачі, поля вводу тексту), динамічні об'єкти (Java Applet, Java Script, ActiveX).
Є три типи текстових блоків: текстові абзаци, списки, таблиці. За замовчування текст відображається чорним кольором, але при потребі можна змінити колір, розмір, стиль та шрифт тексту. Абзаци на сторінці за замовчуванням розмежовуються переводом рядка і не мають відступів у першому рядку. Абзац може бути вирівняний до одного з країв або по центру вікна. Зручність перегляду web-сторінок зумовлена тим, що браузер автоматично масштабує елементи по горизонталі, враховуючи розміри вікна, і при потребі відображає тільки вертикальну смугу прокрутки. інформація на сторінці традиційно відображається на білому фоні, але його колір можна змінити на інший або використати фонову картинку.
2. Походження Java
Мова програмування Java зародилася в 1991 р. в лабораторіях компанії Sun Microsystems inc. Як не дивно, поштовхом для створення Java стала зовсім не Internet. Головним мотивом була потреба в мові програмування, яка не залежала б від платформи (тобто від архітектури) і яку можна було б використовувати для створення програмного забезпечення, яке вбудовується в різноманітні побутові електронні прилади, такі як мобільні засоби зв'язку, пристрої дистанційного управління тощо. Розробка першої робочої версії зайняла 18 місяців і вона мала назву «Oak», але 1995 р. проект був перейменований на «Java».
Період становлення Java співпав за часом з розквітом міжнародної інформаційної служби World Wide Web. Ця обставина відіграла вирішальну роль в майбутньому Java, оскільки Web теж вимагала переносу програм. Як наслідок, були зміщені акценти в розробці Sun з побутової електроніки на програмування для Internet.
2.1 Безпечність. Ефективність. Підтримка багатопоточності
Ефективність коду, але запобігає типових помилок, коли програміст забуває звільнити виділену пам'ять, або, навпаки, звільняє пам'ять, яка ще використовується. Java підтримує об'єктно-орієнтовану обробку виключних ситуацій подібно до С++. Але на відміну від С++ в Java обробка виключних ситуацій є обов'язковою. Тобто неможливо скомпілювати програму, яка відкриває файл, не обробивши можливі помилки типу «файл не знайдено», World Wide Web висунула Java на передній край програмування, і Java, в свою чергу, сильно вплинула і навіть змінила обличчя Internet, розширивши спектр об'єктів, які можуть розповсюджуватись у «кібер» просторі. Програми нової форми - завантажуються з віддаленого сервера і можуть запускатися динамічно, тобто без участі користувача. До появи Java такий підхід був неприпустимий з міркувань безпеки. В архітектурі зроблено ряд штучних обмежень, які роблять їх цілком безпечними. Перш за все, Java є інтерпретованою мовою і простір ресурсів Java-програми обмежений так званою віртуальною Java-машиною (VJM), яка може контролювати поведінку програми і захищати систему від побічних ефектів, які можуть виникати з вини. Крім того, в мові Java є додаткові обмеження, які не дозволять аплету стати «троянським конем». Зокрема, Java-аплет не може отримати доступ до локального жорсткого диску. При такій спробі генерується виключна ситуація.
Оскільки аплети Java інтерпретуються, а не компілюються, то їх виконання на різних платформах значно полегшується. В цьому випадку достатньо створити для кожної платформи виконуючу Java-систему. Якщо існує така система для даної операційної системи, то будь-яка Java-програма може виконуватись в даному середовищі без додаткової компіляції на цій платформі. Проте Java не є інтерпретованою мовою в чистому розумінні. Програма на Java компілюється. Результатом роботи компілятора Java є байткод (bytecode). Байткод - це оптимізований набір команд, призначений для виконання уявним пристроєм - віртуальною Java-машиною. В такий спосіб витрати на інтерпретацію зводяться до мінімуму, оскільки байткод вже є оптимізованим, і досягається досить висока продуктивність Java-програм. Наведені вище особливості дають підставу розглядати Java не як ще одну мову програмування, а як окрему інформаційну технологію. Таким чином, інтерпретація - це найлегший шлях до перенесення програм, реалізований в Java технології. Незважаючи на те, що мова Java була розроблена в розрахунку на інтерпретацію, технічно немає нічого такого, що б перешкоджало компіляції байткоду в виконуваний код. До байткоду, який пересилається по мережі, застосовується динамічна компіляція, але це ніяк не впливає на безпеку, оскільки роботу програми все ще контролює виконуюча система. Такий підхід застосовано в багатьох виконуючих системах Java, що забезпечує продуктивність на рівні оптимізованого коду С++.
Мова Java є однією з наймолодших в сімействі мов програмування і була розроблена з розрахунку на те, щоб професійний програміст міг легко її опанувати та ефективно використовувати. За основу Java взятий синтаксис С++ - безсумнівно однієї з найбільш популярних мов програмування сучасності. Проте, Java - це цілком самостійна мова програмування, і при її створенні не йшлося про будь-яку сумісність з С++. Тому деякі механізми реалізовані в Java інакше, а деякі зовсім відсутні. Ідеологічно ж Java побудована дещо інакше ніж С++. Розробники Java ґрунтувалися на досвіді розробки програм на С++ і прагнули позбутися можливостей, які зарекомендували себе непевними. Так, в Java відсутня перегриз операторів а також автоматичне приведення несумісних типів - конструкції, які при неуважному використанні є джерелом важких для виявлення помилок. Взагалі, інтерфейси Java більш прості та прозорі для розуміння. Написати на Java програму з графічним інтерфейсом значно легше. Звичайно, простота інтерфейсів компенсується меншою гнучкістю, бібліотека Java не така багата, як стандартні бібліотеки С/С++. Але згадаймо, що Java задуманий для використання на різних платформах і тому реалізує в собі найбільш стандартні можливості задля легшої адаптації під конкретне середовище.
Від С++ Java успадкувала потужний механізм об'єктно-орієнтованого програмування. Оскільки Java розроблювався «на пустому місці», тобто не було потреби забезпечувати сумісність з попередніми версіями, розробники мали повну свободу мислення. В результаті був сформований ясний і прагматичний підхід до об'єктів. Вільно переймаючи ідеї, які реалізовувалися протягом останніх десятиріч, мові Java вдалося знайти рівновагу між парадигмою «все є об'єктом» і прагматичним підходом. Об'єктна модель Java проста і легко розширюється, в той час як просі типи, як цілі, зберігаються як дані, що не є об'єктами, що дозволяє значно підвищити швидкість при їх обробці.
Середовище Web висуває надзвичайно високі вимоги до надійності програм. Як наслідок, при розробці Java перевага була відданий можливості створення стійких до помилок програм. Java звільняє програміста від хвилювань з приводу багатьох поширених причин, які викликають помилки програмування. Як вже згадувалося, Java є строго мовою програмування. Ще виконуюча система Java бере на себе «прибирання сміття», тобто автоматично звільняє пам'ять, яка була розподілена динамічно. Звичайно, це дещо знижує які виникають при цьому. Добре написана Java-програма може сама обробляти всі помилки часу виконання.
2.2 Перспективи застосування
Java розроблялася з орієнтацією на вимоги до створення інтерактивних програм, які працюють з мережею. З цією метою Java підтримує поточне програмування, яке дозволяє легко розробляти програми, що виконують багато процесів одночасно. Виконання Java-програми засновано на елегантному, але в той самий час високоорганізованому рішенні синхронізації, яке дозволяє вам створювати високоефективні інтерактивні системи.
Основним питанням для розробників Java стало питання довго тривалості. Одна з головних проблем, із якою зустрілися програмісти, полягала в відсутності гарантій того, що написана сьогодні програма завтра працюватиме з тим же успіхом, причому на тій самій машині. Оновлення операційної системи, модернізація процесора та зміна об'єму оперативної пам'яті можуть призвести до збою програми. Розробники Java, прагнули змінити цю ситуацію і прийняли декілька важких рішень відносно мови Java та процесу виконання Java-програми. Їх мета полягала в тому, щоб «одного разу написане працювало всюди, в любий час і завжди». Внаслідок цього Java є системою, яка легко розширюється за рахунок створення нових стандартних класів та бібліотек.
Як вже згадувалось, Java дозволяє створювати незалежні від платформи програми шляхом компіляції в проміжне представлення, яке називається байткодом. Багато попередніх спроб знати розв'язок проблеми незалежності від платформи були зроблені за рахунок продуктивності. Інтерпретуючі системи, подібні до BASIC, Perl, страждають на майже неподоланний дефіцит продуктивності. Це було враховано при створенні Java. Незважаючи на те, що Java є інтерпретованою мовою, генерація байткодів була ретельно оптимізована в такий спосіб, щоб одержуваний байткод можна було легко перекладати в машинний код, який працює з дуже високою продуктивністю. Виконуючі системи такого роду не втрачають жодних переваг такому коду.
Мова Java призначена для створення програм, які працюють в розподіленому середовищі Internet на базі протоколів TCP/IP. Насправді доступ до ресурсів за допомогою URL відрізняється від доступу к файлу. Крім того в Java наявний засіб передачі повідомлень в межах внутрішнього адресного простору. Це дозволяє забезпечити віддалене виконання процедур. Ці інтерфейси включені у пакет RMI (remote metod invocation). Цей засіб привносить високий рівень абстракції в програмування для середовища клієнт/сервер.
Java-програми несуть у собі значний обсяг інформації про типи часу виконання (run-time type information), яка використовується для дозволу доступу до об'єктів під час роботи програми. Це дозволяє забезпечити безпечну та оптимальну динамічну компоновку. В такий спосіб досягається захищеність середовища виконання аплетів.
Зазначена вище простота програмування на Java є причиною того, що розробки на Java коштуватимуть дешевше аналогічних на більш потужних мовах програмування. Цьому ж сприяє і перенесення програм на Java, оскільки ліквідуються витрати пов'язані з адаптацією програми на конкретній платформі. До того ж інтегровані програми-оболонки для розробки Java програм коштують набагато дешевше (70-100$) ніж аналогічні продукти C++, Delphi (~1000$). А набір інструментарію для пакетної компіляції Java програм JDK (Java Development Kit) є взагалі freeware. Тому платформу Java можна рекомендувати як ідеальну для створення некомерційних програмних продуктів, зокрема для галузі освіти. Програми на Java можуть знайти різне застосування в навчальному процесі: інтерактивні навчаючі програми (HTML в поєднанні з Java), програми-тести і особливо ділові ігри. Додаткові переваги можна отримати, якщо писати ці програми у вигляді аплетів, які ініціюються з web-сервера внутрішньої мережі Intranet. В такий спосіб можна уникнути інсталяції програми на багатьох комп'ютерах - користувач просто запускає web-браузер і загружає потрібну сторінку. Для тестових програм, написаних на Java з використанням архітектури клієнт/сервер можна підвищити ступінь конфіденційності. База даних тестових запитань знаходиться на сервері в каталозі з обмеженим доступом. Коли користувач загружає аплет, він автоматично підключається до програми-сервера, яка виконується на сервері і може видавати запитання з бази даних у відповідь на запит користувача. В такий спосіб унеможливлюється викрадення бази даних, за умови відсутності фізичного доступу до серверу у користувачів.
Окреме питання - навчальні ділові ігри. Під такою грою розумітиме гру, за участю кількох користувачів, в якій мається на увазі динамічний обмін інформацією між ними. Система безпеки Java накладає обмеження, внаслідок якого аплет може встановлювати з'єднання лише з хостом, з якого він був згружений і ні з яким більше. Але це обмеження легко обходиться: на сервері виконується програма-сервер, з якою з'єднуються усі клієнти і через яку здійснюється обмін інформацією. Таким чином така програма повинна мати архітектуру клієнт/сервер. В якості приклада наведу спрощену chat-програму. В ній реалізовані базові засоби для створення ділової гри.
Серверна частина програми взята з книги Нотон П. Шилдт Г. «Полный справочник по Java»: Киев, «Диалектика», 1997 і є практично універсальною для програм такого класу. Можливе легке доопрацювання цієї програми в бік розширення кількості протокольних команд. Клієнтська частина була написана мною. Програма працює наступним чином: користувач запускає аплет із сервера, вводить свій ідентифікатор і бачить перелік ідентифікаторів користувачів, які під'єднанні до сервера. Після чого користувач має змогу обмінюватись повідомленнями з іншими. Користувач одержує повідомлення в разі під'єднання або від'єднання користувачів.
Програма складається з 4 класів: Server, ClientConnection, Client та ServerConnection. Перші 2 класи відносяться до серверної частини, другі 2 - до клієнтської.
2.3 Web-додатки на основі CORBA
Архітектура сучасних інтернет-додатків - це модель з використанням клієнт-серверної архітектури і інтерфейсу CGI. Проте використання CGI-інтерфейсу для об'єктно-орієнтованих клієнтів Java неефективно через те, що цей інтерфейс досить повільний і не володіє необхідної гнучкістю.
Тому спроби деяких фірм-розробників програмного забезпечення серверів оживити CGI, впроваджуючи в нього серверні API, швидше за все є тупиковими.
В даний час одним з перспективних напрямків розвитку інтранет-мереж є використання технології CORBA (Common Object Request Broker Architectur - загальна архітектура з брокером при запиті об'єкта) у поєднанні з Java. CORBA являє собою шину (інтерфейс) розподілених об'єктів з відкритими стандартами, використовувану в клієнт-серверних системах. Ця технологія з'явилася результатом роботи консорціуму OMG (Object Management Group - групи управління об'єктами). Єдиною конкурентної технологією, що володіє аналогічними можливостями, є технологія DCOM (Distributed Component Object Model - розподілена модель компонентних об'єктів), розроблена фірмою Microsoft.
Стандарт CORBA абсолютно не залежить від платформ і операційних систем. Оскільки технологія CORBA добре інтегрована з Java, то ми можемо отримати переваги від спільного використання в архітектурі продуктів Delphi і JBuilder (інтегрованого середовища розробки на мові Java фірми Borland).
Технологія Java передбачає більшу гнучкість при розробці розподілених додатків, але повною мірою не підтримує технологію клієнт-сервер. Інтерфейс CORBA дозволяє забезпечити зв'язок переносите додатків Java і об'єктів CORBA. Технологія об'єктів CORBA призначена для використання в web-додатках замість CGI-інтерфейсу.
В результаті об'єднання Java-аплетів і CORBA-інтерфейсу з'явилося нове поняття - об'єктна модель Web, що означає використання об'єктних моделей різних інтерфейсів (моделі CORBA, ADO та ін) при побудові web-додатків. На першому рівні знаходиться клієнтське додаток - браузер. У ньому виконується клієнтський Java-аплет, з якого може здійснюватися звернення до об'єктів CORBA. На другому рівні варто web-сервер, що обробляє HTTP-запити і CORBA-виклики клієнтських додатків. Третій рівень - це рівень сервера додатків. У його ролі можуть виступати сервери ORB (Object Request Broker - посередник запитів об'єктів) або розподілені об'єкти CORBA, що функціонують як сервери додатків посередником і виконують прикладні функції і набір компонентних сервісів (послуг). Сервери ORB є уніфікованими фрагментами програми, використовуваними в розподілених додатках в якості сполучної ланки між клієнтськими додатками і сервером.
Об'єкти CORBA взаємодіють з серверами БД останнього рівня, використовуючи, наприклад, SQL у разі реляційних БД. Крім того, об'єкти CORBA на сервері можуть взаємодіяти і один з одним. В основі механізму взаємодії між об'єктами CORBA лежить протокол ПОР (Internet Inter-ORB Protocol - інтернет-протокол взаємодії ORB). Протокол ПОР ґрунтується на протоколі TCP/IP з доданими компонентами обміну повідомленнями і функціонує як загальний опорний протокол при організації взаємодії серверів ORB та об'єктів CORBA. На додаток до НІР в технології CORBA використовуються ESIOP-протоколи (Environment-Specific Inter-ORB Protocols - залежні від середовища протоколи взаємодії ORB), які застосовуються в спеціалізованих мережевих середовищах.
Java-клієнт може безпосередньо взаємодіяти з об'єктом CORBA, використовуючи Java ORB. При цьому сервери CORBA заміщають рівень HTTP-сервера і виступають в якості програмного забезпечення проміжного рівня, забезпечуючи взаємодію між об'єктами (object-to-object). Інтерфейс CORBA ПОР функціонує в мережі Інтернет так само, як і протокол HTTP.
Протокол HTTP в цьому випадку використовується для завантаження web-документів, аплетів і графіки, a CORBA - для організації за допомогою Java-аплетів клієнт-серверних додатків.
Серверний компонент CORBA надає "настроюється" інтерфейс, який можна конфігурувати за допомогою візуальних засобів. Об'єкт CORBA володіє певними функціональними можливостями, реалізує властивості і методи, що генеруються об'єктами подій. Можна створювати цілі ансамблі об'єктів, "стикуючи" вихідні події з вхідними методами. Розробка таких візуальних об'єктів підтримується засобами швидкої розробки додатків (RAD). Зокрема, CORBA-об'єкти підтримуються в Delphi.
На останньому, четвертому, рівні розміщується сервер баз даних або інше джерело даних, тобто практично будь-яке джерело інформації, до якого CORBA може отримати доступ. Сюди входять монітори процедур транзакцій (ТР Monitors), MOM (Message-Oriented Middleware - проміжне програмне забезпечення, орієнтоване на обмін повідомленнями), ODBMS (об'єктні СУБД), електронна пошта і т. д.
На даний момент інтерфейси CORBA/HTTP підтримуються майже усіма серверними платформами, включаючи UNIX, NT, OS/2, NetWare, MacOS, OS/400.
Розглянемо механізм функціонування web-додатки при використанні технології Java-аплетів і об'єктів CORBA.
Для початку роботи з web-додатком у web-браузер завантажується головна HTML-сторінка, яка містить вбудовані аплети Java. При цьому при відкритті HTML-сторінки Java-аплети і використовувані в аплети Java-класи довантажуються з web-сервера. Запит web-серверу на пошук аплету або необхідного класу формує браузер. web-сервер знаходить аплет і завантажує його в браузер у формі байт-коду.
Об'єднання технологій CORBA, Java та Інтернету забезпечує наступні гідності:
- Масштабованість і стійкість web-додатки, які полягають в тому, що сервери Web і ORB можуть взаємодіяти з використанням CORBA. При цьому об'єкти CORBA можуть виконуватися на декількох серверах, щоб забезпечити баланс навантаження (load-balancing) серверів для вхідних клієнтських запитів. Брокер ORB може відправити запит першого доступному об'єкту, а також при необхідності збільшити число доступних об'єктів. CORBA дозволяє об'єктам сервера діяти послідовно, використовуючи транзакції та пов'язані сервіси CORBA. На відміну від технології CORBA, інтерфейс CGI при великій кількості запитів не має можливості розподілити навантаження між декількома процесами або процесорами;
- Гнучкість архітектури CORBA дозволяє клієнтам безпосередньо викликати методи на сервері. Клієнти передають параметри безпосередньо або генерують їх під час виконання аплету;
- CORBA розширює можливості Java із взаємодії з розподіленими об'єктами. Так, для Java-аплетів не існує простого способу викликати метод на віддаленому об'єкті. CORBA дозволяє Java-аплетів взаємодіяти з іншими об'єктами, написаними на різних мовах, і забезпечує для них багатий набір сервісів розподілених об'єктів (метадані, транзакції, безпека, іменування, колекції і т. д.);
- CORBA розширює об'єктну модель Java для розподіленого середовища і дозволяє Java-аплетів викликати широкий спектр операцій на сервері. На противагу цьому, клієнти HTTP обмежені невеликим набором операцій. Додатки серверної частини - це звичайні об'єкти CORBA і доступні в будь-який момент часу. Тому немає необхідності проходити через витрати обігу до CGI-сценаріями для кожного дзвінка;
- CORBA надає кошти для створення архітектури клієнт-сервер. Крім того, технологія CORBA розвантажує код Java-аплетів, певні компоненти можуть бути розподілені в середовищі клієнт-сервер. Клієнтська частина аплету може залишатися маленькою, що скорочує час його завантаження.
Крім CORBA, для розширення можливостей застосування Web можуть використовуватися й інші (конкуруючі) технології: сокети, DCOM з ActiveX і RMI (Remote Method Invocation - механізм виклику віддалених методів) і т. п. Тим не менш, поки технологія CORBA залишається лідером серед всіх інтерфейсів розподілених об'єктів завдяки хорошим архітектурним і функціональним можливостям, стійкості в роботі і легкості в налаштуванні.
Зокрема, технологія CORBA у порівнянні з найближчим її конкурентом - технологією DCOM - забезпечує наступні переваги:
- повна та коректна реалізація підтримки різних ОС;
- CORBA реалізована цілком на Java, у зв'язку з чим вона добре інтегрується з Java;
- легкість конфігурації і налаштування серверів і клієнтів CORBA;
- коректна реалізація викликів розподілених методів;
- повнота функціональної реалізації динамічного дослідження та підтримки метаданих;
- більш висока (більш ніж на 20%) продуктивність додатків;
- коректна реалізація механізму транзакцій;
- коректна реалізація довготривалих, або зберігаються, об'єктних посилань;
- підтримка CORBA-інтерфейсом URL-імен;
- відкритий стандарт CORBA-інтерфейсу.
Таким чином, CORBA забезпечує інфраструктуру розподілених об'єктів, що дозволяє додаткам поширюватися через мережі, мови, межі компонентів і операційні системи.
У свою чергу, Java забезпечує інфраструктуру переносите об'єктів, які працюють на всіх основних операційних системах.
Тобто CORBA дає незалежність від мереж, a Java - незалежність від реалізації.
У середовищі Delphi 6 для підтримки технології CORBA на сторінці DataSnap Палітри компонентів мається компонент corbaconnection. Створюваний з його допомогою об'єкт типу TCorbaConnection встановлює з'єднання CORBA-клієнта з віддаленим сервером додатка. Названий компонент дозволяє:
- встановлювати початкове з'єднання з віддаленим сервером додатка;
- отримувати інтерфейс iAppServer для сервера програми;
- отримувати список провайдерів на сервері додатка;
- розривати з'єднання з сервером додатка.
Після встановлення з'єднання набори даних програми клієнта використовують інтерфейс IAppServer компонента з'єднання CORBA для зв'язку з провайдерами на сервері програми або для виклику інтерфейсу модуля даних CORBA серверів додатки.
Крім того, для створення модуля даних CORBA, до якого зможуть отримувати віддалений доступ CORBA-клієнти, можна використовувати Майстер CORBA Data Module. Модуль даних CORBA знаходиться на сервері програми між клієнтом і сервером в середовищі розподіленої бази даних. Виклик Майстри модуля даних CORBA виконується через вибір пункту CORBA Data Module на вкладці Multitier діалогового вікна New Items, що викликається командою File/New/Other.
Майстер CORBA Data Module дозволяє створювати два варіанти примірників модулів даних для клієнтських з'єднань: колективні (Shared Instance) та індивідуальні (Instance-per-client). У першому випадку модуль даних використовується всіма клієнтськими сполуками. У другому випадку один модуль даних створюється на одне клієнтське з'єднання.
Для створюваного модуля даних можна вибрати один з двох варіантів обробки: потоковий (Single-threaded) - кожен екземпляр модуля даних в поточний момент може отримати тільки один клієнтський запит, або поточний (Multithreaded) - кожне клієнтське з'єднання має свій власний потік. У першому випадку вдається уникнути конфлікту запитів, але потрібен захист пам'яті. У другому варіанті модуль даних може отримати декілька клієнтських викликів одночасно, по одному на окремий потік. При цьому глобальна пам'ять і примірник даних повинні бути захищені від конфліктів потоків. Для створення сервера CORBA, до якого зможуть отримувати віддалений доступ CORBA-клієнти, можна використовувати Майстер CORBA Object, виклик якого виконується шляхом вибору пункту CORBA Object на вкладці Multitier діалогового вікна New Items, що викликається командою File/New/Other.
При створенні сервера за допомогою Майстра CORBA Object можна вибрати такі ж варіанти створення екземплярів (Shared Instance і Instance-per-client) і проведення обробки (Single-threaded і Multithreaded), як і при створенні модулів даних за допомогою Майстра CORBA Data Module.
Для організації зв'язку програмних розширень web-сервера з БД використовуються сучасні інтерфейси доступу до даних: OLE DB, ADO і ODBC. Ці інтерфейси є проміжним рівнем між джерелом даних і додатком, в якості якого виступають програмні розширення web-сервера. Розглянемо особливості архітектури web-додатків, що використовують інтерфейси доступу до даних OLE DB, ADO і ODBC.
Висновки
В даній роботі була висвітлена, на скільки це можливо, тематика, присвячена певним аспектам розробки web-сервісів, а саме моделям, архітектура та технологіям програмування.
На перший погляд могло б здатися, що такі складні моделі надумані та непотрібні. Щоб у читача не склалося таке враження, був зроблений екскурс в історію і показано переходи від одного етапу до іншого в розвитку моделей програмування. Це було зроблено для того, щоб стало зрозумілим, чому саме такі моделі існують на даний момент. Показано, що це природній розвиток від простішого до складнішого.
В другому розділі була зосереджена увага на клієнт-серверному підході, попереднику сучасних моделей програмування web-сервісів, а саме багаторівневих технологій. Ми вже побачили основні, суттєві переваги технології „клієнт-сервер” перед її попередниками та переваги багаторівневих технологій перед дворівневою моделлю „клієнт-сервер”.
В третьому, основному розділі, показаний розвиток моделей програмування власне самих web-сервісів. Такі складні моделі стають необхідними саме при створенні понад складних інформаційних систем. Це викликано перш за все розвитком світової інформаційної мережі Internet і відкриттям нових можливостей, недоступних раніше - потенційно користувачами певної системи можуть стати мільйони людей, що раніше було просто нереальним. Ми прослідкували розвиток самих багаторівневих моделей і їх сучасний стан. На прикладі однієї з передових технологій J2EE більш детально показані функціональні одиниці складної web-орієнтованої інформаційної системи.
Нові можливості - це завжди і нові проблеми. Так сталося і в цьому випадку. Потенційно різко збільшилась кількість користувачів, а отже і різко збільшилось навантаження на систему, технологія клієнт-сервер в цьому випадку стає непридатною для експлуатації, оскільки встановити певну систему на мільйон комп'ютерів майже неможливо, а якщо і можливо, то комерційно невигідно. Тому ми і прийшли до клієнта з нульовою інсталяцією, до зосередження бізнес-логіки на порівняно невеликій кількості обчислювальних систем.
Завдяки розвитку інформаційних технологій стало можливим за розумну ціну у сенсі затрат інтелектуальних ресурсів розробників розподіляти виконання коду системи між кількома обчислювальними центрами. Раніше це потребувало спеціальних зусиль від прикладного програміста (ті ж самі розробки MPI, Message Passing Interface, Інтерфейс Передачі Повідомлень). Зараз прикладному програмісту це непотрібно - на скільки це можливо, за нього все виконає той же самий сервер додатків, сервер транзакцій чи TP-монітор. А програміст може зосередитись на бізнес-логіці додатка. мультимедійний програмування java
Отже ми бачимо, що розквіт мережі Internet сприяв не тільки створенню гігантського всесвітнього середовища з незліченним об'ємом інформації, а і створив передумови для наступного кроку у розвитку інформаційних технологій - з гігантськими об'ємами інформації може справлятися тільки дуже розвинена система. Тому моделі та технології для створення таких систем і пов'язані перш за все з web-сервісами.
Список використаної літератури
1. Наталия Елманова “Перенос приложений C++ Builder в архитектуру клиент/сервер”.
2. “OLTP в Сети: Проектирование многоуровневых архитектур для транзакционных Internet-приложений”.
3. Borland JBuilder 6 documentation “Development Enterprise Applications”.
4. “Методология построения корпоративных информационных систем на основе технологии EJB” Евгений Игумнов.
5. “СОМ или CORBA? Вот в чем вопрос”, Наталья Дубова. ОТКРЫТЫЕ СИСТЕМЫ №03/99.
Размещено на Allbest.ru
...Подобные документы
Проект сторінки з розміщенням конвертора валют на мові програмування HTML та JavaScript. Розмітка гіпертекстових документів HTML, основні функції, властивості і параметри; структурне форматування. Технології CSS, JavaScript, ефективність використання.
курсовая работа [1,8 M], добавлен 30.01.2012Розробка та тестування додатків, які базуються на елементах мови програмування Java, принципи програмування в її середовищі. Вивчення переваг Java-платформи, прикладний програмний інтерфейс та особливості сучасних засобів створення Java-додатків.
дипломная работа [2,8 M], добавлен 22.06.2011Поняття мови РНР - скриптової мови програмування, яка була створена для генерації HTML-сторінок на стороні веб-серверу. Можливості і використання PHP, її переваги і недоліки. Розроблення сайту для турагенства за допомогою гіпертекстової розмітки HTML.
контрольная работа [11,2 M], добавлен 21.04.2015Характеристика мов програмування. Опис логічної структури. Створення головної сторінки електронного журналу за допомогою гіпертекстової розмітки, бази даних для роботи журналу. Розробка таблиць, форм та скрипту. Тестування програмного забезпечення.
курсовая работа [659,7 K], добавлен 01.04.2016Створення електронного та WEB-документів. Програмування WEB-версії електронного документа. Можливості оформлення тексту і використання мультимедіа. Використання Dublin Core. Перехід від однієї сторінки до іншої. Посилання на інші електронні ресурси.
курсовая работа [2,7 M], добавлен 12.10.2012Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.
курсовая работа [510,9 K], добавлен 14.03.2013Принципи створення WEB-сторінок. Правила і програми для створення електронних публікацій. Гіперпосилання. Використання JAVA-скриптів при створенні HTML документу. Графіка у HTML-документах. Утворення та відправлення повідомлень електронної пошти.
реферат [177,1 K], добавлен 19.10.2007Основи Web-програмування. Використання мови HTML. Базові елементи HTML. Форматування тексту. Вирівнювання тексту та горизонтальна лінія. Значення RGB- коду. Таблиці та списки, посилання та робота з ними. Створення посилань на документи і файли.
курсовая работа [40,9 K], добавлен 12.02.2009Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.
курсовая работа [49,6 K], добавлен 26.03.2010Вивчення технологій програмування Internet-сайтів. Розробка інтерактивного інтерфейсу Web-додатків засобами бібліотеки Codeigniter. Інтернет-проекти на основі Ajax-технології. Обробка запиту засобами Codeigniter. Асинхронний обмін даними способами Ajax.
курсовая работа [1,3 M], добавлен 12.06.2014Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.
курсовая работа [335,3 K], добавлен 11.01.2015Опис мови програмування PHP. Стратегія Open Source. Мова розмітки гіпертекстових документів HTML. Бази даних MySQL. Обґрунтування потреби віддаленого доступу до БД. Веб-сервер Apache. Реалізація системи. Інструкція користувача і введення в експлуатацію.
курсовая работа [42,9 K], добавлен 21.12.2012Теоретичні основи мови програмування C++ та середовища розробки Microsoft Visual C++, яка дозволяє створювати як маленькі программи і утиліти для персонального використання, так і корпоративні системи, що працюють з базами даних на різних плтаформах.
реферат [26,5 K], добавлен 01.04.2010Створення гнучкої клієнт-серверної системи інформаційної підтримки підвищення кваліфікації персоналу ДП № 9 з застосуванням мови програмування PHP, системи керування базами даних MySQL. Розробка алгоритмів, програмна реалізація основних процедур системи.
дипломная работа [1,8 M], добавлен 26.10.2012Характеристика методів та етапів створення простих програм на мові програмування С++. Особливості структури та порядку запуску програми. Функції вводу і виводу та маніпулятори мови С++. Робота з одновимірними масивами. Символьна інформація та рядки.
дипломная работа [91,2 K], добавлен 19.06.2010Особливості редагування за допомогою текстового редактора NotePad вхідного файлу. C++ як універсальна мова програмування, знайомство с функціями. Характеристика графічних засобів мови С. Аналіз основних понять об’єктно-орієнтованого програмування.
курсовая работа [123,3 K], добавлен 14.03.2013Історія розвитку та теорія Web-дизайну. Ефективність програмно-апаратних засобів. Створення Web-сторінки за допомогою мови HTML. Розробка концептуальної моделі підручника. Структура HTML документу, його інформаційних потоків. Форматування тексту, фрейми.
курсовая работа [1,3 M], добавлен 29.05.2012Інтернет-магазин як веб-сайт, що рекламує товар, приймає замовлення на покупку. Процес створення програмного продукта від викладення вимог до написання коду, відладки та тестування. Потреби адміністраторів інтернет-магазину. Мова програмування сайту.
курсовая работа [1,0 M], добавлен 25.11.2010Javascript як мова програмування, заснована на об'єктах: і мовні засоби, і можливості середовища представляються об'єктами. Структура програм на мові Javascript. Декларація змінних та сфер їх впливу. Типи даних та їх використання. Пріоритети операцій.
курсовая работа [51,4 K], добавлен 12.12.2010Широкі можливості по використанню комп'ютерних навчальних систем. Розробка навчальної системи мультимедійного посібника з дисципліни "Інформатика і ОТ" на тему "Особливості мови програмування С++. Вказівники". Вимоги до розробки навчальної програми.
курсовая работа [2,9 M], добавлен 23.11.2010