Розробка розширених клієнтських додатків Eclipse для платформи WebSphere

Ця стаття – огляд розробок розширених клієнтських додатків Eclipse для платформи IBM WebSphere. Дізнатися, чому мобільні додатки Eclipse для платформи IBM WebSphere – цікаве поєднання для розробки комплексного рішення. Слід мати уявлення про технології розширених клієнтів і про платформу WebSphere в цілому.


Введення


Будемо вважати, що ви чули, щонайменше, дві назви: Eclipse і WebSphere. Eclipse – це інструмент і технологія клієнтської платформи, в той час як WebSphere – більшою мірою серверна платформа проміжного ПЗ. У цій статті ви дізнаєтеся про те, якого дивовижного ефекту ви можете досягти, поєднуючи ці технології для досягнення комплексних рішень.


Навіщо знову використовувати розширені клієнтські програми?


Термін розширене клієнтське додаток застосовується до desktop-додатків з розширеними можливостями, в той час як термін додаток для тонкого клієнта відноситься до додатків, що базуються на Інтернет-технологіях. Зазвичай розширені клієнти складні в розгортанні та управлінні, з іншого боку, тонкі клієнти не мають настільки широких можливостей для користувача інтерфейсу і не так швидко реагують, як товсті / розширені клієнти.


У міру розвитку технологій виникає нове покоління платформ та середовищ розробки для створення додатків для кінцевого користувача. Асинхронний JavaScript і XML (AJAX), Rich Internet Application (RIA), Rich Client Platform (RCP) і Flash забезпечують технологію, середовище розробки і прийоми, які дозволяють розробникам створити програми для кінцевого користувача з набагато більш багатими користувацькими інтерфейсами і підвищеною швидкістю реакції. Зазвичай це досягається використанням виконання програм на стороні клієнта. У той же час технології RCP можуть в даний час забезпечити набагато кращу підтримку легкого розгортання і управління.


Таким чином, дві конкуруючі технології намагаються завоювати серця розробників. Web-додатки і раніше, мають великі переваги, особливо після прориву, пов'язаного з появою таких технологій, як AJAX та Web 2.0. У той же час, розширені клієнти більше підходять для деяких категорій додатків, наприклад, додатків Bank Teller або Call Center. У цих випадках програми зазвичай мають деякі з таких характеристик:



У подібних випадках установка складної програми для користувача Web-інтерфейсу для вашого партнера – не рішення, якщо в дійсності потрібно функціональність тонкого клієнта. Розширені та товсті клієнти залишаться надовго, і дані дослідницьких фірм підтверджують зростаюче визнання нового покоління desktop-клієнтів в доповіді Giga group, "Повернення розширених клієнтів", зроблений прогноз про те, що в наступні три роки кількість розширених (browser-rich) клієнтів зросте на 350%, індивідуальних клієнтів (stand-alone clients) – на 250%, в той час як частка HTML знизиться на 50%.


Платформа розширених клієнтів Eclipse


Якщо ви дійсно не хочете використовувати обридле RIA і вважаєте за краще практичне рішення «товстий клієнт», що робити? Відповідь: вибирайте RCP, яка буде виконувати роботу за вас. По суті, RCP дає середу Web-розробки світу desktop Java-додатків, то ж, що всі середовища Web-розробки зробили для світу J2EE/Java EE. Якщо ви знайомі з Java і не спали весь останній час, ви повинні знати, що популярність Eclipse завжди висока, і що Eclipse Rich Client Platform (RCP) стає de facto середовищем для Java desktop-клієнтів.


Що таке Eclipse RCP?


Оскільки платформа Eclipse створена для того, щоб служити відкритою платформою розробки, її архітектура дозволить вам створити майже будь-який додаток з її компонентів. Мінімальний набір допоміжних програм, необхідних для створення розширених клієнтських додатків відомий під загальною назвою Rich Client Platform. Як показано на малюнку 1, Eclipse Rich Client Platform складається з наступних компонентів: Eclipse Runtime з OSGi (Open Services Gateway Initiative), SWT (Standard Widget Toolkit), JFace і workbench UI.


Малюнок 1. Платформа розширених клієнтів Eclipse (Rich Client platform)
 


Eclipse RCP займає небагато місця. Останньою версії Eclipse 3.2 RCP потрібно всього лише 9MB.


Хоча і невелика, вона має безліч корисних функцій, які допоможуть вам розробити ваше наступне desktop Java-додаток.


Чому багато хто використовує Eclipse RCP?


Є багато переваг у використанні такої клієнтського середовища як Eclipse RCP:


Універсальний інтерфейс:


Багато хто використовує Eclipse RCP, так як вона дозволяє швидко створити професійне на вигляд додаток, однаково виглядає на різних платформах, що дає можливість приділити більше уваги додатковим можливостям, завдяки прекрасній технології SWT.


Загальні служби додатків:


Розробники Eclipse RCP також цінують те, що компоненти, що утворюють RCP – високої якості, активно підтримуються і є відкритими. Після первинного знайомства з RCP вони дуже часто виявляють, що багато інших компонентів Eclipse доступні для регулярного використання (наприклад, Help UI, Update Manager, Cheat Sheets, Intro і. т. д.).


Розширюваність:


Деякі працюють з Eclipse також виявили, що притаманна Eclipse розширюваність дозволяє їм створити не тільки продукт у кінцевому вигляді, але також платформу з можливістю розширення (типу Eclipse IDE) у своєму власному домені.


Eclipse RCP як пункт інтеграції


У Eclipse легко інтегрувати абсолютно незалежні компоненти. Видимі об'єкти незалежних компонентів можуть з легкістю ділити робочий простір. Таким чином, це природний вибір.


Eclipse RCP має інтеграційну платформу клієнтського додатка, де можуть співіснувати SWT, WEB, Swing, Visual Basic, ActiveX та рідні додатки.


Додаткові середовища розробки для Eclipse RCP


Eclipse RCP дає вам міцну основу для створення вашого наступного шедевру – розширеного клієнтського додатку. Але вона не містить деякі важливі функції, потрібні окремим desktop-додатків, наприклад, безпека (включаючи як перевірку автентичності, так і авторизацію), здатність автономної роботи і розгортання. Саме тут можуть допомогти клієнтські міжплатформна технології від IBM.


Стек клієнтських технологій IBM


Малюнок 2: Керований контейнер клієнта
 


Як показано на малюнку 2 вгорі, керовані клієнтські служби базуються на OSGi та середовищі service management framework (SMF) для забезпечення незалежного управління життєвим циклом служб та додатками всередині JVM. Управління платформою вбудовується поверх неї, що дозволяє управління програмою на вимогу, починаючи від пасивного розподілу до активного, інтелектуального управління, за допомогою протоколу SyncML.


Рівень служб доступу (access services layer) розширює внутрішню модель програмування і API до рівня клієнта. Таким чином, ви можете використовувати Web-додатки, додатки бази даних, Web-сервіси та ін прямо в контейнері клієнта. Він також робить можливим доступ до додатків, сервісу і даними електронного бізнесу. Підтримує як операції з підключенням, так і без нього.


Служби взаємодії (interaction services) пропонують підтримку різних видів клієнтів: HTML на основі браузера, WML, JSPs / Servlets / Portlet або товстому GUI-клієнта типу SWT або Swing.


Служби спільної роботи (collaboration services) є середовищем для створення просунутих додатків для спільної діяльності в реальному часі.


Підтримка продукту


З точки зору продукту, WebSphere Everyplace Deployment for Windows і Linux (далі згадуються як WebSphere Everyplace Deployment) пропонує все необхідне для розробки додатків і включає вищевказані на схемі служби взаємодії, служби доступу, керовані ядром клієнтські служби та управління платформою. IBM Workplace Managed Client (далі згадується як Workplace Managed Client) встановлюється поверх WebSphere Everyplace Deployment і додає можливості координації взаємодії для підтримки різноманітного співробітництва.


Отже, якщо ви розробляєте додаток Eclipse RCP, ви можете потенційно вибрати з одного з трьох стеків: основного Eclipse RCP, IBM WebSphere Everyplace Deployment або IBM Workplace Managed Client.


Розширені клієнтські додатки, засновані на стеку RCP IBM


Eclipse RCP, WebSphere Everyplace Deployment і Workplace Managed Client є основою стратегії IBM в області desktop-додатків. Вона закладає фундамент для наступного покоління клієнтського програмного забезпечення. Деякі розробляються програмні продукти IBM вже користуються перевагами цього цікавого клієнтського міжплатформного стека. Деякі приклади:


Lotus Sametime Connect 7.5: Миттєвий обмін повідомленнями (Малюнок 3)


Малюнок 3. Lotus Sametime Connect
 

Ганновер: Наступний реліз IBM Lotus Notes (Малюнок 4)


Малюнок 4. Наступний реліз Notes


Огляд платформи WebSphere


Ми говорили про доступні клієнтських середовищах для розробки нових додатків для платформи WebSphere. Але що саме представляє собою платформа WebSphere?


Платформа проміжного ПЗ:


WebSphere – це інтегруюча платформа програмного забезпечення IBM. Вона включає всю проміжну інфраструктуру.


Зазвичай, кажучи про WebSphere, ми маємо на увазі WebSphere Application Server, який завжди був платформою сервера додатків Java, заснованої на стандартних API і специфікаціях Java EE. Але WebSphere поступово стає об'єднуючою платформою, заснованою на відкритих стандартах, наприклад Web Services, BPEL, SCA, SDO і т. д. WebSphere Process Server, що базується на сервері додатків WebSphere та корпоративної сервісної шині WebSphere Enterprise Service Bus, забезпечує основу для сервіс-орієнтованих, модульних програм, і підтримує застосування бізнес-правил у додатках, що підтримують бізнес-процеси.


Підтримувані служби та ресурси


WebSphere Application Server підтримує весь спектр відкритих програмних інтерфейсів. З точки зору J2EE, сервер додатків WebSphere повністю підтримує API J2EE 1.4:



Крім підтримки відкритих стандартів, WebSphere Application Server і WebSphere Process Server також мають підтримку розширень API для вимог просунутих додатків і знову з'являються стандартів для SOA:



З точки зору клієнтського додатка WebSphere Application Server і WebSphere Process Server працюють з безліччю компонентів і ресурсів, серед яких:



Перераховані служби доступні через різні транспортні протоколи. Ми, головним чином, торкнемося такі транспортні протоколи:



Спільне використання розширеного клієнта Eclipse і WebSphere


До теперішнього моменту клієнтські програми платформи WebSphere були головним чином заснованими на Web додатками і працювали всередині WebSphere або будь-яких інших серверів додатків. Багато з них базується на сервлетах, JSP або портлетів. Вони чудово працюють у більшості ситуацій і відповідають запитам споживачів. Але як було згадано у попередньому розділі, деякі типи додатків просто не будуть працювати так само добре, як Web-додатки, незалежно від того, які використовуються Web-технології. Тому є необхідність зробити служби платформи WebSphere більш схожими на автономні програми.


Більш того, якщо ми подивимося на солідні серверні платформи, ми побачимо, що велика частина з них має тісно інтегровану розширену клієнтську desktop-платформу, будь то платформи IBM Domino, Window Server або SAP.


З появою Eclipse RCP, корпоративні програми RCP-клієнтом і проміжним ПО J2EE представляють собою досить цікаве поєднання. У самому справі, ми починаємо бачити деякі комерційні продукти, засновані на цій архітектурі. Один із прикладів – IBM Sales Center for WebSphere Commerce (далі згадується як Sales Center)


IBM Sales Center for WebSphere Commerce:


Як можна бачити на малюнку 5, Sales Center працює як клієнтський додаток, які спілкуються з внутрішнім сервером WebSphere Commerce Server, який працює поверх WebSphere Application Server. Використовується комунікаційний протокол – SOAP / HTTP.


Малюнок 5. Клієнт / cерверная архітектура Sales Center


Переваги використання інтерфейсу розширених клієнтів Eclipse


Sales Center використовує каталог, управління запитами, просування і можливості збуту WebSphere Commerce для забезпечення представників вашого контактного центру функціональністю, яка потрібна їм для успішного обслуговування ваших віддалених клієнтів. Це забезпечує необхідну швидкість і продуктивність для великомасштабних контактних центрів за допомогою настроюваного, високоефективного користувача інтерфейсу, створеного для продуктивності і багатозадачності.


Малюнок 6. IBM Sales Center for WebSphere Commerce


Серед його основних характеристик:



  1. Розширений високопродуктивний інтерфейс користувача.
  2. Засноване на Eclipse рішення для легкого налаштування.
  3. Можливість розгортання під Windows і Linux (WebSphere Everyplace Deployment for Windows and Linux).
  4. Додаток встановлюється цілком на клієнтській машині.
  5. Централізоване адміністрування, розгортання та оновлення клієнтів.

Приклад RCP JNDI-додатки


Якщо ви раніше працювали з WebSphere Application Server, то знаєте, наскільки важливий для сервера додатків JNDI-репозиторій. У багатьох ситуаціях, вам, можливо, знадобиться переглянути дерево імен JNDI, щоб або зрозуміти додатка, або виявити і усунути в них помилки. У WebSphere Application Server є відповідна утиліта, що запускаються з командного рядка, але мені потрібен більш доброзичливий до користувача графічний інтерфейс. Тому я вирішив написати RCP-додаток для огляду дерева JNDI. У ньому використовується тільки середовище Eclipse RCP. Є тільки одне подання, яке називається JNDIExplorer (Малюнок 7). Але ви можете бачити, наскільки великі можливості налаштування виду і функцій в такому середовищі, завдяки розширюваної архітектурі Eclipse. Усередині вона використовує API JNDI для спілкування зі службою імен WebSphere Application Server з метою доставки інформації.


Ця маленька утиліта хороша для використання у багатьох ситуаціях. Їй можна користуватися автономно, без Web-сервера, немає необхідності встановлювати її на Web-сервер. Її не потрібно розгортати для численних кінцевих користувачів. Це хороший приклад використання клієнтського desktop-додатки.


Малюнок 7. Приклад RCP-додатки


Висновок


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

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*