Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 2
Самостійна робота 29 (SE)
Тема Перетворення даних, форматів даних.
Програми, розташовані на різних типах комп'ютерів, передають один одному дані через протоколи, їхні формати перетворюються до формату даних приймаючої серверної платформи (так званий маршаллинг даних) з урахуванням порядку і стратегії вирівнювання, прийнятої на цій платформі. Демаршаллинг даних це зворотне перетворення даних (тобто отриманого результату) до виду клієнтської передавальної програми. Якщо серед переданих параметрів оператора виклику містяться нерелевантні типи або структури даних, які не відповідають параметрам викликаного об'єкта, то проводиться пряме і зворотне їхнє перетворення засобами стандарту або МП .
До засобів перетворення даних і їхніх форматів належать:
стандарти кодування даних (XDR eXternal Data Representation, CDR
Common Representation Data , NDR Net Data Representation) і методи їхнього перетворення;
МП і механізми звернення компонентів один до одного;
мови опису інтерфейсів компонентів RPC, IDL і RMI для передачі даних між різними компонентами.
На кожній платформі комп'ютера використовуються угоди про кодування символів (наприклад, ASCII), про формати цілих чисел і чисел з плаваючою точкою (наприклад, IEEE, VAX і ін.). Для представлення цілих типів, як правило, використовується додатковий код, а для типів float і double стандарт ANSI/IEEE та ін.
Порядок розташування байтів залежить від структури платформи (Big Endian або Little Endian) від старшого до молодшого байта і від молодшого до старшого байта. Процесори UltraSPARC і PowerPC підтримують обидві можливості. При передачі даних з однієї платформи на іншу враховується можливий незбіг порядку байтів. Маршаллинг даних підтримується декількома стандартами.
XDRстандарт містить у собі мову опису структур даних довільної складності і засоби перетворення даних, що передаються на платформи (Sun, VAX, IBM і ін.). Програми в МП можуть використовувати дані в XDR-форматі, не зважаючи на те, що компілятори вирівнюють їх в пам'яті машини по-різному.
У XDR-стандарті цілі числа з порядком «від молодшого» зводяться до порядку байтів «від старшого» і назад. Перетворення даних це кодування (code) або декодування (decode) XDR-процедурами форматування простих і складних типів даних. Кодування це перетворення з локального уявлення в XDR-уявлення і запис в XDR-блок. Декодування це читання даних з XDR-блоку і перетворення в локальне уявлення заданої платформи.
Вирівнювання даних це розміщення значень базових типів з адреси, кратної дійсному розміру в байтах (2, 4, 8, 16). Межі даних вирівнюються за найбільшою довжиною (наприклад, 16). Системні процедури оптимізують розташування полів пам'яті під складні структури даних і перетворюють їх до формату приймальної платформи. Оброблені дані декодуються назад до виду формату передавальної платформи.
CDR-cтандарт середовища CORBA забезпечує перетворення даних у формати платформи, що їх передає або приймає. Маршаллинг даних виконує інтерпретатор TypeCode і брокер ORB. Процедури перетворення складних типів вміщують:
додаткові коди для представлення цілих чисел і чисел з плаваючою точкою (стандарт ANSI/IEEE);
схему вирівнювання значень базових типів в середовищі компілятора;
базові типи (signed і unsigned) в IDL, а також плаваючому типі подвійної точності та ін.
Перетворення даних виконуються процедурами encoder ( ) і decoder ( ) інтерпретатора TypeCode, який використовує базові примітиви при вирівнюванні інформації і розміщенні її в буфері. Для складного типу визначається розмір і межі вирівнювання, а також їхнє розміщення в таблиці з індексами значень TCKind, які використовуються при ініціалізації брокера ORB.
ХМL-стандарт забезпечує усунення неоднорідності у взаємозв'язках компонентів у різних МП за допомогою XML-формату даних, який враховує різні платформ і середовища. Проміжні середовища (CORBA, DCOM, JAVA та ін.) мають у своєму складі спеціальні функції, аналогічні XML альтернатива сервісам CORBA в плані забезпечення взаємозв'язків різномовних програм.
XML має різну системну підтримку: браузер Internet Explorer для візуалізації XML-документів, об'єктна модель DOM (Document Object Model) для відображення XML-документів і інтерфейс IDL в системі CORBA.
Тексти в XML-стандарті описуються у форматі ASCII, що дає можливість ефективніше застосовувати їх при обміні даними. XML використовується для кодування типів даних за допомогою файлових форматів. При необхідності переходу програмної системи до XML-стандарту проводиться переформатування даних у формат XML, і навпаки.
Таким чином, XML-мова дозволяє представляти об'єкти для різних моделей на єдиній концептуальній, синтаксичній і семантичній основі. Він не залежить від платформи і середовища моделі взаємодії компонентів прикладного рівня. XML спрощує обробку документів, роботу з БД за допомогою стандартних методів і засобів (XML-парсеры, DOM-інтерфейси, XSL-відображення XML в HTML та ін.).
Знання, 2001. 269 с.