Главная Партнеры Контакты  
Юридическая компания — «Основной закон», консультации и помощь в возвращении депозитов, защита по кредиту

ЮК
"ОСНОВНОЙ ЗАКОН"  

г. Киев, бул. Пушкина, 2а                
тел.: (044) 334-99-77                               
         (095) 407-407-3
         (096) 703-11-82

график работы: пн.- пт. с 9:00 до 18:00
          
                           

 












Рассматривается вопрос о предоставление нотариусам права выдачи извлечения из Реестра прав на недвижимое имущество.
Министерством юстиции был разработан проект Закона «О внесении изменений в некоторые Законы Украины относительно предоставления информации о государст...


Держреєстрація речових прав на нерухоме майно та їх обтяжень у 2014 році буде здійснюватись за новою - удосконаленою та спрощеною - процедурою.
Постанова Кабінету Міністрів "Про затвердження порядку державної реєстрації прав на нерухоме майно та їх обтяжень і Порядку надання інформації з Держа...




Система Orphus


У чому суть компонентної архітектури JavaBeans?

Сергій Дунаєв

Для тих, хто вже програмує на Delphi або Visual Basic, в архітектурі Java-Beans, на перший погляд, немає нічого нового. Суть та ж: написання повторно використовуваних компонентів і складання з них готових програм, як з будівельних блоків. Спеціальний контейнер готових компонентів, може включати набір найпростіших кнопок, текстових прокручуваних полів і списків або більш складні компоненти, такі, як календар і навіть електронна таблиця (див. Рис. 1 - 3).

Мал. 1. Компонент Slider

У традиційних мовах програмування є спеціальні засоби для створення таких компонентів, наприклад інструменти Visual Basic Extensions (VBX), незалежні від мови OLE Custom Controls (OCXs), або спеціальні засоби в ОС Unix - toolkits і widgets. Що ж нового принесла з собою Java? Java кристалізуватися і відшліфувала цю технологію і надала їй крос-платформного і навіть тотальну універсальність. Показово, що в гру моментально включилися виробники серверів баз даних, такі, як Informix, Oracle, Sybase, які стали пропонувати свої бази в якості контейнерів JavaBeans. Наприклад, сервер Informix c Universal Data Option може діяти як контейнер Enterprise JavaBean, надаючи функції управління JavaBean. Це дозволяє Java-програмістам створювати додатки, що сприймають БД Informix як компонент JavaBean. Більш того, JavaBeans-компоненти мають міст до елементів AciveX і можуть використовуватися в рамках цієї технології.

Більш того, JavaBeans-компоненти мають міст до елементів AciveX і можуть використовуватися в рамках цієї технології

Мал. 2. Компонент "Календар"

Java Beans Bridge for ActiveX забезпечує користувачів всіх продуктів, побудованих на основі технології ActiveX, наприклад Word, Visual Basic, Delphi та ін., Які виступають як повноцінні контейнери OLE / COM / ActiveX, можливістю вбудовувати і використовувати переносяться компоненти JavaBeans точно так же, як якщо б вони були елементами ActiveX. Спеціальна графічна утиліта записує в OLE-форматі бібліотечну і реєстрову інформацію про обраний JavaBean, т. Е. Як би вводить його в сім'ю OCX-елементів. Bean може діяти як сервер OLE / COM / ActiveX, а отже, будь-який його метод може бути викликаний з Visual Basic або Delphi. У той же час і сам Bean здатний реагувати на події, що визначаються компонентами з контейнера OLE / COM / ActiveX. Так, він може обробляти події, ініційовані в мові сценаріїв Visual Basic Script.

Мал. 3. Графічне програмування функцій калькулятора

Для програмістів це означає, що вони зможуть поповнювати свої великі, написані, наприклад, на Visual Basic або Delphi додатки модулями на Java, якщо вони оформлені як JavaBeans. Програміст може взагалі не замислюватися, яким чином цей модуль зроблений, просто він буде застосовувати для своїх цілей його властивості та методи. Парадигма програмування розширюється завдяки тому, що JavaBeans мають багато інших чудових особливостей.

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

- методи, які можна викликати;

- властивості, які можна змінювати;

- події, які можна обробляти.

З'ясування цих характеристик з боку інших компонентів називається інтроспекцією. В архітектурі Java ці методи були реалізовані спочатку і укладені в базовий клас java.lang.reflect. Проте в архітектурі Java-Beans існують додаткові класи BeanInfo і Introspector.

Цікаво відзначити, що майже відразу після опублікування стандартів на специфікації JavaBeans стали з'являтися системи програмування на Java (наприклад, Visual Age фірми IBM), які пропонують розробникам графічні засоби програмування для побудови власних подієвих моделей і управління взаємодією компонентів на основі JavaBeans. Це дуже важливо, враховуючи ту обставину, що, хоча в базовій концепції JavaBeans описується тільки локальну взаємодію компонентів в межах однієї віртуальної Java-машини, насправді мається на увазі, що ці компоненти можуть перебувати де завгодно і взаємодіяти один з одним по протоколу RMI або CORBA .

Графічне програмування застосовується для того, щоб мінімізувати, а в ідеалі взагалі виключити ручне написання коду з використанням текстового редактора. Замість цього використовуються графічні наочні засоби, які пов'язують схематичні зображення компонентів і визначають їх реакцію на ту чи іншу подію за допомогою завдання властивостей або виклику потрібних методів. На рис. 4 показано, як за допомогою графічних засобів програмуються функції компонента "Калькулятор". Вибір подій і дій над ними здійснюється із запропонованого списку. Вихідний код на Java генерується автоматично.

Однак одним візуальним програмуванням, природно, не вичерпуються можливості JavaBeans. Це всього лише ілюстрація їх ймовірних областей застосування. Як вже говорилося, сервери баз даних можуть виступати в якості контейнерів JavaBeans, надаючи користувачам свої об'єкти з афішуються функціями, тісно пов'язаними з даними, і способами їх вилучення та обробки. Уявляєте, які можливості відкриваються перед програмістами і проектувальниками логічних моделей баз даних і алгоритмів, пов'язаних з даними? Конкретним же користувачам можна запропонувати дуже простий інтуїтивний інтерфейс для найнеймовірніших запитів, в тому числі і аналітичних.

У базах даних завдяки JavaBeans тепер можуть зберігатися різноманітні дані, в тому числі і самих непередбачуваних типів. У зв'язку з цим на перший план виступає проблема підготовки фахівців, здатних знайти застосування цим воістину безмежним можливостям. Проектувальники повинні почати мислити в зовсім інших категоріях, що вельми важко. Головна роль в майбутньому буде належати системному аналітику, системному проектувальнику, а не програмісту. Це добре розуміли ще в 60-ті роки творці перших ОС, які називали себе системними архітекторами. У книзі "Як створюються і розробляються великі системи" одного з творців пам'ятника людському генію - операційної системи IBM OS / 360 - Брукса-молодшого наводиться чудовий вислів. Автор каже, що він дав би 1 млн. Дол. Тому, хто винайшов ідею годин - циферблат і стрілки, укладені в металевий корпус з прикріпленим до нього ремінцем, і всього лише 100 тис. Дол. Тому, хто привів цей механізм в дію, т. е. виготовив і з'єднав разом все шестерінки, пружинки, осі і т. д. Програмування ніколи не повинно ставати самоціллю, це всього лише засіб. Компонентна архітектура JavaBeans передбачає саме такий підхід до програмування.

Ідея годин - це приклад справжньої компонентної моделі з трьома основними компонентами: корпус, циферблат і стрілки, і вона доводить, що ніколи щось не виникає з нічого. Всі ми в тій чи іншій мірі є спадкоємцями ідей, викладених в книгах Брукса, Дейкстри, Йодана.

Які ще можливості пропонує компонентна архітектура Java-Beans?

Будь створений компонент зберігається на комп'ютері точно так же, як і звичайні файли. Java пам'ятає структуру об'єкта, і ви при бажанні завжди можете скористатися інтерфейсом java.io. Serializable, щоб отримати стандартну форму графа об'єктів або перетворити компонент за допомогою інтерфейсу Externalizable, коли треба представити цей компонент як елемент іншої об'єктної середовища, наприклад ActiveX. Природно, що занадто великі компоненти можна упакувати, і це навіть рекомендується для зниження трафіку мережі, коли ви працюєте в розподіленої системі. Для цього необхідно використовувати стандартний Java-архіватор, який створює файли з розширенням .jar. Java-архіви можуть містити класи, зображення, довідкову інформацію, і до кожного архіву прикріплюється спеціальний файл manifest, що описує зміст архіву і навіть зв'язку між компонентами.

JavaBeans можна створювати за допомогою пакета Beans Development Kit (BDK) або з будь-якої RAD-системи, що підтримує цю технологію, наприклад Sybase PowerJ або Borland JBuilder. По суті ці системи просто полегшують роботу кодувальнику, пропонуючи йому каркаси класів різних типів, в які він вкладає свої коди або використовує готові компоненти JavaBeans. Як і звичайні програми і аплети, новий Bean можна створити за зразком. Потрібно просто дотримуватися певних концептуальним правилам, добре викладеним в специфікації JavaBeans.

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

Заслуговує також уваги і ініціатива IBM / Lotus, яка запропонувала компанії Sun збагатити наявний інтерфейс Java-Beans засобами для ефективного обміну даними між компонентами, які отримали назву InfoBus. Ключовим поняттям в цій специфікації, вже увійшла в усі нові реалізації JDK, є інформаційна шина. Ця шина описується класом InfoBus. Компоненти підключаються до неї і виставляють на неї дані, в тому числі і структуровані, якими вони хочуть обмінятися з іншими компонентами. Обмін відбувається в асинхронному режимі і не накладає ніяких обмежень. Доступ до даних здійснюється за їхніми іменами. Методи класу InfoBus породжують примірників класу, т. Е. Інформаційні шини, забезпечують підключення до них компонентів і обробляють події, пов'язані з обміном даними.

JavaBeans є тільки частиною тієї грандіозної архітектури технологій Java, яка зараз наповнюється живим і країнам, що розвиваються матеріалом. До цих технологій підключені десятки і навіть сотні компаній і незліченну кількість індивідуальних умов, а не тільки інженери компанії Sun. У цій відкритості та вселенськість укладена сила і величезний потенціал науково-технічного феномена під назвою Java.

До автора можна звернутися за адресою: [email protected].

Версія для друку

Що ж нового принесла з собою Java?
Уявляєте, які можливості відкриваються перед програмістами і проектувальниками логічних моделей баз даних і алгоритмів, пов'язаних з даними?
Які ще можливості пропонує компонентна архітектура Java-Beans?
Главная Партнеры Контакты    
Cистема управления сайта от студии «АртДизайн»