Главная > Коммуникации и связь > Архітектури реалізації корпоративних інформаційних систем

Архітектури реалізації корпоративних інформаційних систем


25-01-2012, 10:51. Разместил: tester8

РЕФЕРАТ

з дисципліни В«ІнформатикаВ»

на тему В«Архітектури реалізації корпоративних інформаційних систем В»


1. Архітектура КЛІЄНТ-СЕРВЕР

При побудові корпоративних інформаційних мереж, як правило, використовуються дві базові архітектури: Клієнт-сервер і Інтернет/Інтранет. У чому ж переваги і недоліки використання кожної з даних архітектур і коли їх застосування виправдано? Знайти відповіді на ці питання ми постараємося в даному розділі.

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

Рис.1. Компоненти архітектури Клієнт-сервер і їх властивості.

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

Однак при цьому часті звернення клієнта до сервера знижують продуктивність роботи мережі, крім цього доводиться вирішувати питання безпечної роботи в мережі, так як додатки і дані розподілені між різними клієнтами. Розподілений характер побудови системи обумовлює складність її налаштування та супроводу. Чим складніша структура мережі, побудованої по архітектурі КЛІЄНТ-СЕРВЕР, тим вище ймовірність відмови будь-якого з її компонентів.

Рис.2. Порівняльні характеристики двох-і триланкової архітектури клієнт-сервер.

В Останнім часом все більший розвиток одержує архітектура Інтернет/Інтранет. В основі реалізації корпоративних інформаційних систем на базі даної архітектури лежить принцип "відкритої архітектури", що багато в чому визначає незалежність реалізації корпоративної системи від конкретного виробника. Все програмне забезпечення таких систем реалізується у вигляді аплетов або сервлетов (програм написаних на мові JAVA) або у вигляді cgi-модулів (Програм написаних як правило на Perl або З).

Основними економічними перевагами даної архітектури є:

В· щодо низькі витрати на впровадження і експлуатацію;

В· висока здатність до інтеграції існуючих гетерогенних інформаційних ресурсів корпорацій;

В· підвищення рівня ефективності використання обладнання (збереження інвестицій).

В· прикладні програмні засоби доступні з будь-якого робочого місця, має відповідні права доступу;

В· мінімальний склад програмно-технічних засобів на клієнтському робочому місці (теоретично необхідна лише програма перегляду - броузер і загальносистемне ПЗ);

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


2. Архітектура Інтернет/Інтранет

Рис.3. Компоненти архітектури Інтернет-Інтранет та їх властивості.

В загальному випадку АІС, реалізована з використанням даної архітектури включає Web-вузли з інтерактивним інформаційним наповненням, реалізованих за допомогою технологій Java, JavaBeans і JavaScript, взаємодіючих з предметної базою даних, з одного боку, і з клієнтським місцем з іншого. База даних, в свою чергу, є джерелом інформації для інтерактивних додатків реального часу.

За запиту клієнта WEB вузол здійснює наступні операції (рис.7):

В· Відправляє ASCII коди HTML сторінок (або VRML документів), що включають при необхідності елементи javaScript;

В· Відсилає двійковий код запитаного ресурсу (зображення, адіо-, відеофайлу, архіву та т.п.);

В· Відсилає байт коди JAVA аплетів.

В· Приймає конкретну інформацію від користувача (результат заповнення активної форми, або статистичну інформацію запитану CGI скриптом);

В· Здійснює заповнення бази даних;

В· Приймає повідомлення від користувача і регламентує доступ до ресурсів Web вузла на основі аналізу прийнятої інформації (перевірка паролів і т.п.);

В· Приймає інформацію від користувача і залежно від неї динамічно формує HTML сторінки, або VRML документи, звертаючись, при необхідності, до баз даних і існуючим на WEB вузлі HTML сторінок і VRML документам.

В·

Рис.4. Інформаційні взаємозв'язки компонентів WEB вузла

Після того, як клієнт отримав відповідь WEB сервера, він здійснює такі операції:

В· візуалізує HTML сторінку або VRML документ у вікні броузера;

В· інтерпретує команди JavaScript, модифікує образ HTML сторінки і т.п.;

В· інтерпретуючи байт коди JAVA аплетів, дозволяє завантажувати і виконувати активні програми;

В· веде діалог з користувачем, що заповнює форми, та створює нові запити до WEB серверу;

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

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

Рис.5. Функціональна схема інтерактивної взаємодії користувачів в архітектурі інтернет/інтранет.

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

На сьогоднішній день відомі і широко застосовуються три основні технології створення інтерактивної взаємодії з користувачем в Web. Перший шлях полягає в використанні Стандартного Інтерфейсу Шлюзу (Commom Gateway Interface) - CGI. Другий - включення JavaScript - сценаріїв в тіло Web-сторінок. І нарешті самий потужний, що надає практично необмежені можливості спосіб - застосування технології Java (ипользование Java-аплетів).

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

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

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


Рис.6. Схема взаємодії між браузером, сервером і сценарієм CGI...

При написанні програми шлюзу (яка може конвертувати введення з однієї системи в іншу) CGI дозволяє використовувати майже будь-яку мову програмування. Здатність використовувати при написанні програми шлюзу будь-яку мову, навіть мову сценаріїв, надзвичайно важлива. Найпопулярнішими мовами є shell, Perl, C і С + +. Сценарієм традиційно називають програму, яка виконується з допомогою інтерпретатора, виконуючого кожен рядок програми по мірі її зчитування.

Послідовність дій при взаємодії клієнта з програмою запущеної на Web-сервері можна сформулювати як наступна послідовність кроків.

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

2. Браузер поміщає введену користувачем інформацію в URL, що вказує ім'я та місце розташування сценарію CGI, який потрібно ввести в дію.

архітектура клієнт сервер інтранет

3. Браузер підключається до сервера Web і запитує URL. Сервер визначає, що URL повинен ввести в дію сценарій CGI, і запускає вказаний сценарій.

4. Сценарій CGI виконується, обробляючи всі передані йому дані.

5. Сценарій CGI динамічно формує Web-сторінку і повертає результат сервера.

6. Сервер повертає результат клієнтові.

7. Браузер відображає результат користувачеві

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

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

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

1. Була специфікована віртуальна Java-машина (JVM), на якій повинні виконуватися (Інтерпретуватися) Java-програми. Визначено архітектура, подання елементів даних і система команд Java-машини. Вихідні Java-тексти транслюються в коди цієї машини. Тим самим, при появі нової апаратно-програмної платформи в портировании потребуватиме тільки Java-машина; всі програми, написані на Java, підуть без змін.

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

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

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


Рис.7. Java технології при реалізації АІС.

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

Інтерфейс JDBC (Java Database Connectivity - зв'язаність баз даних Java) є першою спробою реалізації доступу до даних з програм Java, не залежного від платформи і бази даних. У версії JDK 1.1 JDBC є складовою частиною основного Java API.

JDBC - Це набір реляційних об'єктів і методів взаємодії з джерелами даних. Програма на мові Java відкриває зв'язок з таблицею, створює об'єкт оператор, передає через нього оператори SQL системі управління базою даних отримує результати і службову інформацію про них. У типовому випадку файли. Class JDBC і аплет/додаток на мові Java знаходяться на комп'ютері клієнті. Хоча вони можуть бути завантажені з мережі, для мінімізації затримок під час виконання краще мати класи JDBC у клієнта. Система управління базою даних (CУБД) і джерело даних зазвичай розташовані на віддаленому сервері.

На малюнку 8 показані різні варіанти реалізацій зв'язку JDBC з базою даних. Аплет/додаток взаємодіє з JDBC в системі клієнта, драйвер відповідає за обмін інформацією з базою даних через мережу.

Класи JDBC знаходяться в пакеті java.sql. *. Всі програми Java використовують об'єкти і методи з цього пакету для читання і запису в джерело даних. Програмі, що використовує JDBC, потрібен драйвер до джерела даних, з яким вона буде взаємодіяти. Цей драйвер може бути написаний на іншому (не Java) мовою програмування, або він може бути програмою на мові Java, яка спілкується з сервером, використовуючи RPC (Remote Procedure Call) - віддалений виклик процедур або HTTP. Обидві схеми наведені на рис.19. Драйвер JDBC може бути бібліотекою на іншому (не Java), як програма сполучення ODBC - JDBC, або класом Java, який спілкується через мережу з сервером бази даних, використовуючи RPC або HTTP. Допускається, що додаток буде мати справу з декількома джерелами даних, можливо, з неоднорідними. З цієї причини у JDBC є диспетчер драйверів, чиї обов'язок полягають в управлінні драйверами і надання програмі списку завантажених драйверів.

Хоча словосполучення "База даних" входить в розшифровку абревіатури JDBC, форма, зміст і розташування даних не цікавлять програму Java, використовує JDBC, оскільки існує драйвер до цих даних.


Рис.8 Варіанти реалізації зв'язку JDBC з базою даних

Сполучення JDBC - ODBC

В якості складової частини JDBC поставляється драйвер для доступу з JDBC до джерел даних ODBC (Open Database Connectivity), і називається "Програма сполучення JDBC - ODBC". Ця програма сполучення реалізована у вигляді JdbcOdbc.class і є бібліотекою для доступу до драйвера ODBC.

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

В Відповідно до правил Internet JDBC ідентифікує базу даних за допомогою URL, який має форму:

jdbc: <субпротокол>: <ім'я, пов'язане з СУБД або Протоколом>

У баз даних в Internet/intranet "ім'я" може містити мере...жевий URL

// <ім'я хоста>: <порт>/..

<субпротокол> може бути будь-яким ім'ям, яке розуміє база даних. Ім'я субпротокола "Odbc" зарезервовані для джерел даних формату ODBC. Типовий JDBC URL для бази даних ODBC виглядає наступним чином:

jdbc: odbc: ; User = <ім'я користувача>; PW = <пароль>

Внутрішнє пристрій JDBC - додатка


Рис.9. Ієрархія класів JDBC і потік API JDBC

Щоб обробити інформацію з бази даних, інформаційно-навчальна система на мові Java виконує ряд кроків. На рис.9 показані основні об'єкти JDBC, методи і послідовність виконання, перше, програма викликає метод getConnection (), Щоб отримати об'єкт Connection.Затем вона створює об'єкт Statement і готує оператор SQL.

Оператор SQL може бути виконаний негайно (об'єкт Statement), а може бути откомпилирован (Об'єкт PreparedStatement) або представлений у вигляді виклику процедури (об'єкт CallableStatement). Коли виконується метод executeQuery (), повертається об'єкт ResultSet. Оператори SQL, такі як updatе або delete не повертають ResultSet. Для таких операторів використовується метод executeUpdate (). Він повертає ціле, яке вказує кількість рядів, порушених оператором SQL.

ResultSet містить ряди даних і аналізіруетcя методом next (). Якщо додаток обробляє транзакції, можна користуватися методами rollback () і commit () для скасування або підтвердження змін, внесених оператором SQL.

Приклади запиту і модифікації бази даних з використанням JDBC

Даний приклад ілюструє як за допомогою SQL - опрератора SELECT складається список всіх студентів з бази даних. Нижче наводяться кроки, які необхідні для виконання цього завдання за допомогою API JDBC. Кожен крок має форму тексту на мові Java з коментарями.

// описати методи і змінні

public void ListStudents () throws SQLException

{

int i, noOfColumns;

String stNo, stFName, stLName;

// ініціалізувати і завантажити драйвер JDBC-ODBC

Class.forName ("jdbc.odbc.JdbcOdbcDriver");

// створити об'єкт Connection

Connection ex1Con = DriverManager.getConnection (

"jdbc: odbc: StudentDB; uid =" admin "; pw =" sa "" );

// створити простий об'єкт Statement

Statement ex1Stmt = ex1Con.createStatement ();

// Створити рядок SQL, передати її СУБД і В Доступ

Рис.11.

Таким

Основними є:

В· відсутність

В· відносне

В· питання

Список літератури

1. Попов

2. А.Г. Теорія економічних інформаційних систем. Навчальний екон.

3.

4.

5. Ю.Ф. -