Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Підручник КНУ-4кк11.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
16 Мб
Скачать
☆

4.2.1 Подання та обмін даними в компонентних моделях

Підхід к серіалізації забезпечує поданння та обмін даними між моделями й фактично визначає трансформацію компонентів в XML-документі і конструювання на їх основі образів первинних компонентів (при цьому сконструйовані компоненти повинні бути тотожніми до первинних тільки на модельному рівні). Реалізація моделі в певному середовищі може вносити свої особливості, наприклад, службові чи системні дані, що залежать від місця знаходження об’єкту або новий ідентифікатор компонента [5, 11].

Моделі серіалізації повинні мати такі властивості:

1) Ідентифікацію компонента.

2) Подання структури компонента в XML-документі.

3) Подання типів чи/або класів атрибутів компонента в XML-документі.

4) Подання методів в XML-документі.

5) Подання сигнатури методів в XML-документі.

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

Подання структури об’єкту в XML-документі. У сучасних компонетних підходах та моделях важливе місце займає маршалінг – властивість, яка обумовлює трансформацію подання компонента у певну форму, за допомогою якої компонент може бути тотожньо відтворена як інший елемент компонентної моделі. Зокрема, це стосується структури компонента. XML-документи орієнтовані на ієрархічну структуру об’єктів. Тому можуть виникати проблеми з поданням структур, які мають більш складні зв’зки. Наприклад, для опису JAVA-класів досить звичайне явище, коли клас змінної – такий же, як і клас, для якого ця змінна є атрибутом. Так в стандартному класі Color присутні змінні з символічними назвами кольорів (Red, Black і т.д.), клас яких також є Color. Тобто, є наявність циклу, який ускладнює відображення в XML-документі. В таких випадках для адекватного перетворення компонента в XML-документ і навпаки повинні визначатись додаткові правила. Ці правила не є об’єктами уніфікації чи стандартизації і для кожного підходу ці моделі є власними.

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

Подання методів в XML-документі. Це – найбільш складна особливість XML-орієнтованих компонентних підходів та моделей і існуючі на теперешній час підходи та моделі загального рішення цієї проблеми ще не мають. Серед можливих часткових рішень можна навести наступні:

– включення до складу XML –документу спеціальних скриптів (script) – фрагментів ісходного коду, які написані на одній з мов обробки скриптів;

– передавання методів, які подані у спеціальному внутрішньому виді, наприклад, байт-код для JAVA-аплетів або скриптів протоколу WAP (Wireless Application Protocol);

– прикладний протокол зв’зку мобільних засобів на базі мережі Інтернет;

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

Подання сигнатури методів в XML-документі. Питання щодо сигнатури методів вже розглядалась вище. Але, якщо в попередніх підходах та моделях сигнатура була необхідна для однозначної ідентифікації процедур в інших компонентах, то для підходів та моделей серілізації вона є атрибутом опису методів в інтерфейсах (звичайно, якщо МП компонента дозволяє перевантаження методів). Виходячи з цього можна вказати на одну з головних особливостей підходів та моделей серілізації. Якщо на рівні компонентної моделі компонент може бути серіалізованим, то на рівні компонентного середовища існують додаткові вимоги – МП, на якій відтворюється компонент і повинний мати такі ж властивості, як і МП для серіалізуємого компонента. Щодо особливостей подання сигнатури в XML-документі, то відмінностей, практично, не існує.