мку стійкості, бізнес-об'єкти мають справу з процесами, характерними для реального ділового світу. Хоча типовий бізнес-об'єкт несе відповідальність тільки за одну задачу (наприклад, обробку попередніх замовлень, роботу з покупцями або складом), набори бізнес-об'єктів можна застосовувати для управління всім бізнес-процесом, таким, як продаж квитків і обробка попередніх замовлень на авіарейси. Оскільки бізнес-об'єкти поставляються в готовому до роботи вигляді, розробник може, об'єднавши їх, скласти прикладну програму, що відповідає вимогам заказчіка.Для управління складною прикладною програмою з розподіленими бізнес-об'єктами в останніх є інформація тільки про те, які сервісні функції виконують інші об'єкти, але не про те, як ці функції реалізуються насправді. Завдяки бізнес-об'єктах ми позбавлені від складнощів реалізації внутрішньої обробки, оскільки можемо сконцентрувати увагу на інтерфейсах.
Компонент це набір бізнес-об'єктів, які здійснюють обробку, інкапсулюють дані і забезпечують необхідні інтерфейси користувача. Для взаємодії об'єктів в рамках компоненту використовується ORB. Крім того, за допомогою ORB об'єкти обмінюються інформацією про себе, в результаті об'єкти дізнаються про існування інших об'єктів під час виконання програми. Таким чином, в компоненті є все необхідне для виводу на екран представлення об'єкту і взаємодії з ним. Типовий бізнес-компонент міг би застосовуватися, скажімо, для виводу на екран розподілу місць на 11-годинному рейсі до Лос-Анджелеса, а інший для реєстрації відомостей про бронювання місць на цей рейс.Возможності компонентів можна розширити за рахунок додавання службових функцій системного рівня. Функція Persistence стане в нагоді, щоб підтримувати стан об'єктів в рамках компоненту.
Оскільки ці сервісні функції вбудовані в CORBA, їх можна застосовувати для створення інтелектуальних (smart) компонентів, при цьому немає необхідності програмувати їх з нуля. Хоча і в DCOM мається реєстр компонентів і довідкова служба, там немає способу підтримувати стан об'єктів DCOM в перерві між сполуками. Через цього недоліку DCOM поступається CORBA.На рівні прикладної програми, де встановлюються межі інфраструктури компонентів, базові структури програм визначають способи реалізації спільної діяльності незалежних компонентів. Завдяки чітко визначеним межам всі компоненти разом функціонують як єдиний комплекс, так що створюється враження єдності прикладної програми. Саме така єдність дозволяє прикладним програмам, які використовують розподілені в гетерогенних середовищах об'єкти, прозоро сполучатися один з одним. Прозора інтеграція означає, що користувачі сприймають прикладну програму як єдине ціле, а не як складний набір роз'єднаних модулей.Інфраструктуру компонента однієї прикладної програми можна розширити до інфраструктури компонента декількох програм. У цьому випадку CORBA несе відповідальність за обмін інформацією між безліччю різних прикладних програм в рамках корпоративної системи. Для несумісних з CORBA програм, наприклад дісталися в спадок додатків, можна створити оболонки (wrappers), які надають їм подобу об'єктів CORBA. Оболонка виконує роль інтерфейсу, необхідного для доступу до конкретних функцій старої программи.Еслі ви за допомогою CORBA інтегрували успадковані програми з процесами клієнта і сервера, у вас є всі складові багаторівневої моделі кліентсервер. Один рівень це візуальні об'єкти, наприклад інтерфейси, що розміщуються на клієнтських ПК. Інший рівень об'єкти сервера, що передбачають бізнес-функції. Ще один рівень складають успадковані прикладні програми, наприклад СУБД на великий ЕОМ.
Щоб показати, чому CORBA ORB так гарні для ППО архітектури клієнт сервер, ми наводимо наступний «короткий» список чудових властивостей, притаманних усім ORB:
Статичні і динамічні виклики методів. CORBA ORB дозволяє статично визначати виклики ваших методів під час компіляції або знаходити їх динамічно під час виконання. Таким чином, вам надається вибір: строгий контроль типів на стадії компіляції або максимальна гнучкість при відкладеному (на етапі виконання) зв'язуванні.
Зв'язування з мовою високого рівня. CORBA ORB дозволяє викликати методи серверного об'єкта за допомогою обраного Вами мови високого рівня. При цьому не має значення якою мовою написані серверні об'єкти. CORBA відокремлює інтерфейс від його реалізації і надає незалежні від мови типи даних, що дає можливість викликати об'єкти з будь-якої мови і для будь-якої операційної системи. Навпаки, інші типи проміжного програмного забезпечення зазвичай надають низько-рів-невие API-бібліотеки для певної мови. Крім того, вони не відокремлюють реалізацію від специфікації і, як наслідок, API тісно пов'язаний з реалізацією, що робить інтерфейс дуже чутливим до змін.
. 3 Об'єкт CORBA і життєвий цикл серванта
забезпе...