лучшие книги по экономике
Главная страница

Главная

Замовити роботу

Последние поступления

Форум

Создай свою тему

Карта сайта

Обратная связь

Статьи партнёров


Замовити роботу
Книги по
алфавиту

Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О

Інформаційні технології віртуальних організацій

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]

2.3. Об’єктні сервіси
У більшості інформаційних систем необхідна деяка множина системних об’єктних сервісів, що не залежать від предметної області і забезпечують базову функціональність для керування розподіленими об’єктами. З метою полегшення ство-
рення розподілених додатків консорціум OMG стандартизував найчастіше уживані сервіси (специфікація CORBAservіces 1.0, http://www. omg.org/technology/documents/corbaservices_spec_catalog.htm). Перелік та призначення більшості об’єктних сервісів ОМА, або служб, як їх ще називають, подано в табл. 3.1.
Таблиця 3.1

ПЕРЕЛІК ОБ’ЄКТНИХ СЕРВІСІВ В CORBA

Назва

Призначення

Additional Struc-
turing Mechanisms for the OTS

Забезпечує архітектуру низького рівня для Workflow-двигунів, програмного забезпечення middleware та ін.

Collection Service

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

Concurrency Ser-
vice

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

Enhanced View of Time

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

Event Service

Забезпечує засоби для підтримки асинхронних транзакцій — повідомлення про подію, що відбулася, використання протоколів без встановлення з’єднання (UDP) тощо

Externalization Service

Формує копію CORBA-об’єкта у вигляді деякого зовнішнього представлення — файла, елемента бази даних і т. д.

Naming Service

Служить для керування посиланнями на CORBA-об’єкти та їх збереження

Licensing Service

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

Life Cycle Service

Визначає послуги й угоди для створення, видалення, копіювання й переміщення об’єктів

Notification Service

Є розвитком служби Event і сумісна з нею. Забезпечує організацію передачі асинхронних повідомлень між постачальником і споживачем інформації

Persistent State Service

Визначає набір загальних інтерфейсів для керування механізмами збереження екземплярів об’єктів в постійній пам’яті (БД)

Property Service

Забезпечує здатність динамічно зв’язувати поіменовані значення з об’єктами поза статичною системою ІDL-типу

Query Service

Забезпечує операції запиту на сукупностях об’єктів

Закінчення табл. 3.1


Назва

Призначення

Relationship Ser-
vice

Реалізує логічні зв’язки між сутностями, якими є COR-
BA-об’єкти

Security Service

Перехрестна модель захисту, що забезпечує повну структуру для CORBA захисту

Time Service

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

Trading Object Service

Полегшує пропозицію і відкриття послуг специфічних типів

Transaction Service

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

2.4. Універсальні засоби
Універсальні засоби забезпечують підтримку інтерфейсів високого рівня і поділяються на два типи: горизонтальні і вертикальні.
Горизонтальні універсальні засоби визначають інтерфейси, що не залежать від предметної області. Вони поділяються на наступні розділи:

  • засоби користувацького інтерфейсу (інструменти для роз-
    робки інтерфейсу, засоби автоматизації розробки інтерфейсу, специфікації на робочий простір користувача і т. д. );
  • засоби керування інформацією (правила інформаційного мо-
    делювання, збереження і вибірки інформації з БД і каталогів, інформаційного обміну, стандарти перекодування і представлення інформації);
  • засоби керування системою (утиліти системного адміністрування);
  • засоби керування задачами — засоби керування потоками робіт (workflow facіlіty), засоби програмних агентів (agent fa-
    cіlіty), засоби керування правилами (rule management facіlіty), засоби автоматизації (automatіon facіlіty).

Вертикальні засоби призначені для підтримки конкретних областей ринку: фінансової діяльності, промислового виробництва, медицини тощо.
2.5. Процес розробки
розподілених додатків
Існує велика кількість реалізацій CORBA ORB — див. http://
www.puder.org/projects/
.
Найбільш поширені на сьогодні два пакети створення додатків CORBA для Java: VіsіBroker компанії Borland та Orbіx компанії ІONA Technologіes. Обидва продукти являють собою комплекти утиліт, бібліотек і брокерів об’єктних запитів для додатків на основі CORBA. Їх пробні версій можна завантажити з сайтів компаній (www.borland.com, www.iona.com).
Детально процеси розробки розподілених додатків за допомогою продуктів Orbіx та VіsіBroker описані в [6, 7, 8].
Нехай існують два додатки, між якими потрібно організувати віддалену взаємодію. Перший додаток виступає як клієнт (запитує сервіс), а другий — як сервер (реалізує операції, доступні для віддаленого виклику). Основні кроки розробки клієнт-сер-
верної системи на Java, з використанням вищевказаних систем, наступні:

  • визначити інтерфейси, використовуючи мову ІDL;
  • відобразити ці інтерфейси у Java;
  • розробити додаток-клієнт та додаток-сервер на Java;
  • скомпілювати Java-файли;
  • зареєструвати і активувати сервер;
  • запустити клієнт та здійснити його виклик.

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


Web-сервіс — програмна система, призначена для підтрим-
ки взаємодії «машина-машина» через мережу. Вона має інтерфейс, описаний у машиночитаємому форматі (WSDL). Інші системи взаємодіють з Web-сервісом у манері, запропонованій відповідно до його опису, використовуючи SOAP-повідомлен-
ня, які передаються зазвичай з використанням HTTP з XML-перетворенням та у відповідності з іншими Web-пов’язаними стандартами [9].

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


Рис. 3.5. Загальна схема використання Web-сервісу
3.2. Стандарти Web-сервісів
Розглянемо Іnternet-стандарти, на основі яких можливе функціонування Web-сервісів. Стек протоколів Web-сервісів, розроблений консорціумом W3C, подано на рис. 3.6.
Як видно з рис. 3.6., базовими технологіями для Web-сервісів є XML, DTD та Shema (див. розд. 2), на основі яких формуються повідомлення та визначається їх зміст.
SOAP (Sіmple Object Access Protocol — простий протокол доступу до об’єктів) — протокол для передачі XML-повідомлень по протоколу HTTP та ін. (SMTP, FTP, …).


Рис. 3.6. Стек протоколів Web-сервісів
Специфікації SOAP можна знайти на сервері www.w3c.org . На основі цих специфікацій методи сервісів викликаються за допомогою HTTP-запитів (Request) і відповідей (Response). У запит вкладається XML-текст з описом методу, що вимагається, і переліком переданих на сервер параметрів, а в XML-відповіді приходять результати обробки запиту чи код помилки.
Наведемо приклад SOAP-запиту:

<?xmlversion='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 <env:Header>
   <t:transaction
           xmlns:t="http://thirdparty.example.org/transaction"
           env:encodingStyle="http://example.com/encoding"
           env:mustUnderstand="true" >5</t:transaction>
 </env:Header>  
 <env:Body>
  <m:chargeReservation 
      env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
         xmlns:m="http://travelcompany.example.org/">
   <m:reservation xmlns:m="http://travelcompany.example.org/reservation">
    <m:code>FT35ZBQ</m:code>
   </m:reservation>   
   <o:creditCard xmlns:o="http://mycompany.example.com/financial">
    <n:name xmlns:n="http://mycompany.example.com/employees">
           Ake Jogvan Oyvind
    </n:name>     
    <o:number>123456789099999</o:number>
    <o:expiration>2005-02</o:expiration>
   </o:creditCard>
  </m:chargeReservation>
 </env:Body>
</env:Envelope>

Та SOAP-відповіді на цей запит:

<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
 <env:Header>
    <t:transaction
       xmlns:t="http://thirdparty.example.org/transaction"
         env:encodingStyle="http://example.com/encoding"
          env:mustUnderstand="true">5</t:transaction>
 </env:Header>  
 <env:Body>
    <m:chargeReservationResponse 
       env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"
           xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"
             xmlns:m="http://travelcompany.example.org/">
       <rpc:result>m:status</rpc:result>
       <m:status>confirmed</m:status>
       <m:code>FT35ZBQ</m:code>
       <m:viewAt>
        http://travelcompany.example.org/reservations?code=FT35ZBQ
       </m:viewAt>
    </m:chargeReservationResponse>
 </env:Body>
</env:Envelope>

Страницы [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ]
[ 16 ] [ 17 ] [ 18 ] [ 19 ] [ 20 ] [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ] [ 26 ] [ 27 ] [ 28 ] [ 29 ] [ 30 ] [ 31 ] [ 32 ]
[ 33 ] [ 34 ] [ 35 ] [ 36 ] [ 37 ] [ 38 ] [ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ] [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ]


ВНИМАНИЕ! Содержимое сайта предназначено исключительно для ознакомления, без целей коммерческого использования. Все права принадлежат их законным правообладателям. Любое использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие или полученные в связи с использованием содержимого сайта.
© 2007-2020 BPK Group.