I desember 2007 la Adobe ut Blaze Data Services som Open Source. BlazeDS var tidligere en del av den komerisielle programvare pakken 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 komersielle varianten. Resultatet er denne korte oppskriften på hvordan du kan starte med BlazeDS.

Demo applikasjonen

I tillegg til denne artikkelen har jeg laget en ekstremt enkel demo applikasjon som kan brukes som utgangspunkt for videre abreid. Applikasjonen er ekstremt enkel og er en applikasjon for å samle noteter og lenker. Demo applikasjonen inneholder en Flex 3 Web- og AIR applikasjon og en standard Java web applikasjon. 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:

  1. Last ned kildekoden til eksempelet: Blaze POC v3
  2. Pakk ut ZIP filen til en katalog
  3. Åpne filen deploy/blazeds-poc.properties og endre linjen med echo.db.path slik at den passer med stedet du pakket ut kildekoden
  4. Åpne en command promt of kjør scriptet install-flex-libs Dette scriptet installerer alle BlazeDS JAR-filer i ditt Maven repository
  5. Åpne command prompt og kjør følgende: mvn install
  6. Gå til katalogen blaze-poc-web og kjør kommandoen: mvn jetty:run
  7. Åpne adressen: http://localhost:8081/blaze-poc-web/

Nå som du har sett eksempel applikasjonen er du kanskje interresert 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. Alt du trenger for å kunne bygge et Flex prosjekt er Flex SDK’en som er tilgjengelig som Open Source. Likevel vil jeg anbefale å installere Flex Builder 3 som 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.

Konfigurere BlazeDS i en Java webapplikasjon

Opprett en Java web applikasjon 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 offesielle 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 ennå 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 eksempel prosjektet er det en SpringFactory klasse som er konfigurert i filen WEB-INF/flex/services-config.xml```


Hvordan du best konfigurerer tjenestene i Blaze DS
--------------------------------------------------

_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 kompilator argument, _\-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](http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16417). Dette gjør det meget enkelt å endre konfigurasjon for _endpoints_, fil stier, server navn, osv 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](http://blog.mikenimer.com/index.cfm/2007/1/10/Bye-bye-services)_.

La utviklingen begynne!
-----------------------

Det er igrunn 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](http://opensource.adobe.com/wiki/display/blazeds/BlazeDS)
*   [Christophe Coenraets sin blog](http://coenraets.org/) har veldig mange eksempler på hvordan du kan bruke BlazeDS

Artikkelen er også [tilgjengelig på engelsk](http://www.totalworldannihilation.org/blog/2008/02/22/just-blaze-getting-started-with-blaze-ds/) og i tillegg publisert hos [ITPro.no](http://itpro.no/art/12811.html)