Part I: Знайомство з інтеграцією Spring з BlazeDS

У грудні 2008 року SpringSource і Adobe оголосили про партнерство, спрямоване на модернізацію інтеграції між Spring та BlazeDS. Ця співпраця призвела до нового проекту Spring BlazeDS Integration project, який дозволяє безшовно інтегрувати дві технології і будувати новітні інтернет програми, що з Flex як фронт енд та Spring як бек енд.

Якщо ви є Flex розробником і тільки взялись вивчати Spring, або Spring розробником та вивчаєте Flex, то можна скористатися потужними засобами інтеграції цих технологій.

Spring з'явився фактично як стандарт для створення Java серверних web-програм. Flex швидко стає передовою технологією для створення інноваційних інтернет програм, поданих в браузері і на робочому столі (за допомогою Adobe AIR Runtime).

Ця стаття знайомить з Spring BlazeDS інтеграцією, включаючи приклад простої програми для ілюстрації основних понять.

Що таке Spring?

Основою Spring framework є спрощений контейнер елементів, який реалізує шаблон Inversion of Control (IoC). Використовуючи контейнер IoC, елементи не створюють екземпляри і навіть не шукають свої залежності (об'єкти з якими вони працюють). Контейнер відповідає за введення тих залежностей при створенні елементів — звідси і термін "Інєкція Залежностей" ("Dependency Injection"), що також використовується для опису цього шаблону.

Полегшуючи взаємодію між елементами, Spring IoC контейнер виявилася міцним фундаментом для створення стійких корпоративних програм.

Елементи, керовані Spring IoC контейнером називаються Spring біни. На додаток до свого основного IoC контейнера, Spring framework містить в собі кілька інших модулів, включаючи: підтримку управліннями транзакцій, доступ до даних JDBC та ORM. Хоча ці модулі й виходять за рамки цієї статті, важливо відзначити, що додатковою перевагою у використанні BlazeDS зі Spring є можливість застосовувати ці модулі з метою полегшення розробки ваших віддалених об'єктів. Більш детальну інформація про Spring framework можна знайти тут.

Що таке Flex?

Flex є середовищем для створення програм Rich Internet Applications. Модель програмування Flex включає в себе:

  • ActionScript — ECMAScript-суміснісна, об'єктно-орієнтована мова програмування. З деякими синтаксичними відмінностями, ActionScript виглядає і вважається схожим до Java та підтримує ті ж об'єктно-орієнтовані логічні структури: пакети, класи, наслідування, інтерфейси, статичні (і також динамічні) типи, і так далі.
  • MXML — мова на основі XML, що забезпечує абстрагування над ActionScript та дозволяє декларативно будувати частини програми (типовий View).
  • Широкий набір бібліотек класів. Документація доступна тут в Javadoc-подібному форматі.

Вихідний код Flex (.mxml та .as файли) компілюються у байт-код Flash (.swf), що виконується ActionScriptVirtual Machine на клієнтській стороні у флеш-плеєрі за допомогою Just-In-Time компілятора.

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

Що таке BlazeDS?

BlazeDS являє собою набір послуг передачі даних, які надають вашій Flex програмі додаткових можливостей для підключення до даних (data connectivity). Без BlazeDS (або без розгортання жодної конкретної Flex-компоненти на стороні сервера), програми Flex можуть отримувати доступ фонових даних, використовуючи HTTPService або WebService компоненти:

  • Ви використовуєте елемент HTTPService щоб відправляти HTTP-запити до сервера і отримувати відповідь. Хоча HTTPService часто використовується для отримання XML, він може бути використаний для отримання відповідей в інших форматах, в тому числі JSON. Flex HTTPService схожий на XMLHttpRequest компонент, доступний в Ajax.
  • Ви використовуєте WebService компоненту для виклику веб-служб на основі SOAP.

BlazeDS надає наступне:

  • Remoting Service дозволяє вашій Flex програмі безпосередньо викликати методи об'єктів Java, розгорнутих на вашому сервері програми.
  • Message Service забезпечує публікацію/передплату інфраструктури, яка дозволяє вашим Flex програмам видавати повідомлення і підписку на адресат повідомлення, що сприяє розвитку підтримки даних в режимі реального часу та спільних програм.
  • Proxy Service дозволяє вашій Flex програмі робити міждоменні запити в безпечним та контрольованим чином. Іншими словами, це дозволяє вашій Flex програмі доступатись до сервісу на іншому домені чим домен де була звантажена програма (без необхідності розгортання стратегічного файлу crossdomain.xml на потенційному домені).

BlazeDS є розгорнутий у вигляді набору JAR файлів як частини вашої веб-програми. Подібно до Flex SDK, BlazeDS є проектом з відкритим вихідним кодом. Більш детальна інформація доступна тут. Оригінал тут.

Коментарі 2

lemon - 15 вересня 2009, 15:12

коли буде решта частин?

+1 за туторіал

Flex з Java часто використовують…

mari - 15 вересня 2009, 22:36

Спасибі за "+"! ;)

Наступні дві частини будуть доступними 16.IX'09

Коментувати
© 2009 - 2020, Розробка - соціальна ІТ спільнота.
Контакти: info@rozrobka.com
Правила користування