Flex har blitt utbredt også i det norske markedet og etterhvert som større bedrifter tar i bruk teknologien oppstår det et større behov for å integrere Flex inn i eksisterende prosesser. BlazeDS er et åpent kildekode-rammeverk som gjør det enkelt å kalle Javatjenester fra Flex.
Denne artikkelen gir deg en tjuvstart til hvordan du kan begynne å jobbe med BlazeDS, ferdig satt opp med bygging i Maven og ferdig integrert med Spring rammeverket.
I desember 2007 la Adobe blant annet ut Blaze Data Services som Open Source. BlazeDS var tidligere en del av den komersielle programvarepakken Live Cycle (LC). Jeg hadde brukt LC Data Services en stund og var veldig interessert i å se hvordan Open Source-varianten fungerte i forhold til den ekstremt dyre kommersielle varianten. Resultatet er denne korte oppskriften på hvordan du kan starte med BlazeDS.
Demoapplikasjonen
I tillegg til denne artikkelen har jeg laget en ekstremt enkel demoapplikasjon som kan brukes som utgangspunkt for videre arbeid. Applikasjonen er meget enkel og er en applikasjon for å samle notater og lenker.
Demoapplikasjonen inneholder en Flex 3 Web- og AIR-applikasjon og en standard Java webapplikasjon.
Alt du trenger å gjøre er å pakke ut filene og kjøre to enkle kommandoer. Sørg for at du har installert følgende programvare:
Når du har disse tingene installert så er det bare å følge instruksjonene nedenfor:
- Last ned kildekoden til eksempelet: Blaze POC v3
- Pakk ut ZIP-filen til en katalog
- Åpne filen deploy/blazeds-poc.properties og endre linjen med echo.db.path slik at den passer med stedet du pakket ut kildekoden
- Åpne en command prompt og kjør scriptet install-flex-libs. Dette scriptet installerer alle BlazeDS JAR-filer i ditt Maven repository
- Åpne command prompt og kjør følgende: mvn install
- Gå til katalogen blaze-poc-web og kjør kommandoen: mvn jetty:run
- Åpne adressen: http://localhost:8081/blaze-poc-web/
Nå som du har sett eksempelapplikasjonen er du kanskje interessert i å vite hvordan man konfigurerer BlazeDS. Bare fortsett å les så skal vi se litt på hvordan dette gjøres.
For at du skal kunne bygge Flex versjonen bør du installere Flex Builder 3. Verktøyet gir deg mange fordeler når du jobber med Flex og hjelper deg til å jobbe langt raskere. Du kan bruke Flex Builder gratis i over 30 dager før du bestemmer deg for å kjøpe det.
Konfigurere BlazeDS i en Java webapplikasjon
Opprett en Java webapplikasjon i Eclipse (du kan bruke MyEclipse or eller lignende for å gjøre jobben enklere). Last ned siste versjon av BlazeDS og pakk ut filene et sted på din maskin. Filen blazeds.war pakker du ut i rot katalogen av din webapplikasjon. Du skal ha følgende struktur:
WEB-INF/flex
WEB-INF/lib
meta-inf
Slett alle JAR-filene i WEB-INF/lib katalogen. Disse filene trenger vi ikke ettersom Maven skal ta hånd om avhengighetene. Adobe virker ikke særlig interessert i Maven og har derfor ikke publisert offisielle BlazeDS-artifakter til noe Maven deopt. Derfor ligger det ved et script som installerer BlazeDS-artifaktene i ditt lokale Maven depot (takket være Per-Otto).
Spring and BlazeDS
BlazeDS kan veldig enkelt integreres med Spring Framework for å hjelpe deg til å utvikle spennende tjenester enda raskere. Alt du trenger å gjøre er å lage en SpringFactory klasse. Christophe Coenrates har skrevet artikkelen Using Flex and Spring som beskriver detaljene i hvordan dette gjøres.
I eksempelprosjektet er det en SpringFactory klasse som er konfigurert i filen WEB-INF/flex/services-config.xml
<factories>
<factory id=”spring” class=”com.moneytalks.blaze.poc.SpringFactory”/>
</factories>
Hvordan du best konfigurerer tjenestene i BlazeDS
Remote Object kalles teknologien som gjør det mulig å invokere metoder på Java-klasser direkte fra Action Script. Rådet fra Adobe er at du skal legge med et kompilatorargument, -services, som forteller MXML-kompilatoren hvor BlazeDS-konfigurasjonen ligger. Dette mener jeg er et veldig dårlig råd ettersom det tving deg til å ha samme katalogstruktur i alle miljøer du har tenkt å rulle ut din applikasjon.
En langt bedre og mer fleksibel løsninger er å sende konfigurasjonsparameter for Remote Object- og Messaging services ved bruk av Flash Vars. Dette gjør det meget enkelt å endre konfigurasjon for endpoints, fil stier, server navn, og så videre i ulike miljøer. Denne måten å løse dette på ble jeg først oppmerksom på etter å ha lest Mike Nimer sin artikkel Bye bye -services.
La utviklingen begynne
Det er alt du trenger å vite for at du skal kunne begynne utvikle løsninger med BlazeDS. Du vil forhåpentligvis få en langt mer harmonisk hverdag hvor fokus ligger på å utvikle spennende tjenester for dine brukere snarer enn å skrive boiler plate-kode som flytter data fra A til B.
Mer informasjon om BlazeDS og hvordan du kan bruke det kan du finne på noen av lenkene nedenfor:
- BlazeDS hos opensource.adobe.com
- Christophe Coenraets sin blog har veldig mange eksempler på hvordan du kan bruke BlazeDS
Kilde: Dallokken.com