BlazeDS: Open Sourcing Remoting and Messaging

Today is yet another exciting day for the Flex community and for the world of Rich Internet applications… Adobe is announcing plans to release its Remoting and Messaging technologies under a new open source product named BlazeDS.

The news is probably all over the blogs, but I thought I would summarize the key points:


Additional Information:

Getting Started:

  1. Download the BlazeDS beta 1 zip file here
  2. Expand it on your local file system (for example in a /blazeds directory)
  3. Start Tomcat (startup.bat or startup.sh in /blazeds/tomcat/bin)
  4. Open a browser and access the samples home page: http://localhost:8400/blazeds-samples/
  5. Take the test drive!

Background Information on Messaging:

The Message Service provides a complete publish/subscribe infrastructure allowing Flex clients and the server to exchange messages in real time. The Message Service is made of two key components: a message service running in the application server, and a client-side API. The message service manages a set of destinations. The client-side API allows Flex clients to publish and subscribe to these destinations.

The Message Service enables data push, and collaborative applications to be delivered in the browser in a reliable and scalable manner while preserving the benefits of the traditional web deployment model.

The Message Service can integrate with existing messaging systems through an adapter architecture. A JMS adapter is available out-of-the-box. Using the JMS adapter, you can map BlazeDS messaging destinations to JMS topics, allowing Flex clients to publish and subscribe to JMS topics.

Background Information on Remoting:

Remoting allows a Flex applications to directly invoke methods of Java objects deployed in your application server. The benefits of Remoting include performance and the straightforward programming model.

Additional Offerings:

Comments

49 Responses to “BlazeDS: Open Sourcing Remoting and Messaging”

  1. Alfio Rymond on December 12th, 2007 11:12 pm

    So this is the big huge surprise you were talking about at Flex Camp in Boston this past Friday. Very cool.

  2. arpit on December 12th, 2007 11:17 pm

    Holy S*** !!! Wasn’t this Flex Data Services?

    BTW, you completely ruined Ted Patrick’s build up to this announcement on his blog ;).

  3. Adobe open-sources Remoting and Data Services !! : code zen on December 12th, 2007 11:36 pm

    [...] am so excited, I better post this before I pass out . Christophe Coenraets just announced on his blog that Adobe just open sourced the Flash/Flex Remoting and Messaging services under the name BlazeDS. [...]

  4. Dima Berastau on December 13th, 2007 12:37 am

    Awesome! Flex is already a highly productive framework, but with a fully open source stack it’s getting sweeter and sweeter. Thanks for the AMF spec too.

  5. BlazeDS ………Open source……….Adobe…………. :-) | Matsiya on December 13th, 2007 1:14 am

    [...] Voici le titre du post de Christophe Coenraets. [...]

  6. MadeInFlex » Blog Archive » BlazeDS:Remoting y Messaging Open source! on December 13th, 2007 1:44 am

    [...] y Messaging Open source! Otro impresionante movimiento de Adobe! Podemos leer en el post de Christophe Coenraets que Adobe va a liberar como Open Source con licencia LGPL v3 los protocolos de Remoting Object y [...]

  7. manfred karrer on December 13th, 2007 3:04 am

    wowo! that´s really great news!

  8. denster on December 13th, 2007 4:21 am

    Christophe,

    Does the current BlazeDS release on labs offer any channels with http “connection holding” capability, as defined in:

    http://www.xmpp.org/extensions/xep-0124.html

    The section titled “The BOSH Technique” outlines a strategy to fool the client-side TCP state machine in a way that’s both firewall friendly *and* scales well in a server environment.

    From what I understand, this isn’t possible in a standard J2EE web app (where the thread lifecycle is tied closely to the request/response being read/written to a socket), but I think Jetty has the ability to do this with its Continuations API.

    So, my real question is, if there isn’t a channel that provides this functionality, would it be at least reasonable to guess that I could go off and implement one without *a lot* of trouble? Or would this be something that BlazeDS architecturally doesn’t support? Better yet, any chance Adobe would want to implement a channel like this and contribute it to the community? ;-)

    Thanks for any/all advice!
    Cheers,
    denster

  9. Breaking News: Adobe Announces Open Source Technologies for Enterprise RIAs called BlazeDS « FLEXing My Muscle on December 13th, 2007 4:21 am

    [...] Blog Post about BlazeDS by Cristophe [...]

  10. denster on December 13th, 2007 4:46 am

    Christophe,

    I just looked into how Streaming[AMF|Http]Endpoint works, and it seems like it’s holding the connection, but actually sending http data over it periodically, to “keep it alive”.

    This is a taboo with some firewalls/proxies, from what I understand, whereas the method described in:

    http://www.xmpp.org/extensions/xep-0124.html

    “The BOSH Technique” would be firewall/proxy friendly.

    Any chance you can confirm my suspicions of how the current endpoints work, and on Adobe’s interest to make a true BOSH-style endpoint?

    As an interesting aside, meebo implements the BOSH style of connection holding correctly. (That is, their mechanism works with both http 1.0/1.1, is firewall/proxy friendly, and is relatively performance-friendly on the server-side.)

    Thanks!
    denster

  11. Igor Costa » Blog Archive » BlazeDS alternativa open-source da Adobe para o LiveCycle DataServices on December 13th, 2007 5:58 am

    [...] Christophe Coenraets, publicou sua visão sobre o novo lançamento da Adobe e os futuros planos. [...]

  12. Ken Dunnington on December 13th, 2007 6:07 am

    Great news, Christophe! Will this have any effect on the remoting/messaging that ships with ColdFusion?

  13. Adobe Open Sourcing LiveCycle Data Services as BlazeDS « i am josh on December 13th, 2007 7:32 am
  14. Dirk Eismann on December 13th, 2007 7:35 am

    How does the new AMF Streaming Channel relate to RTMP performance wise? Seems as if there is no RTMP endpoint in BlazeDS.

    Also, will there still be a LCDS Express Edition (including RTMP) around when LCDS/BlazeDS Community Edition gets released in 2008? If not, that would be tough for some of our customers!

  15. New Stuff on Adobe Labs | The Squid and the Stallion on December 13th, 2007 8:28 am

    [...] info: BlazeDS: Open Sourcing Remoting and Messaging These icons link to social bookmarking sites where readers can share and discover new web [...]

  16. Sönke Rohde » Beta 3 of AIR/Flex 3, BlazeDS and BRIO! on December 13th, 2007 8:53 am

    [...] 2008. Until then try the beta and check the AMF binary data protocoll specification! This is huge! Christophe Coenraets blogged a nice introduction and check the press release for more info. Last but not least BRIO beta was released a few days [...]

  17. Thijs Triemstra on December 13th, 2007 9:01 am

    This is amazing news! Adobe rocks! Open source rocks! :D

  18. christophe on December 13th, 2007 9:22 am

    Denster,
    In addition to the HTTP Streaming channel, we do support “Long Polling”. This is achieved by setting the wait-interval-millis property in a polling channel definition.

    Also, you can configure a list of channels for your destinations. For example the first channel in the list could be an HTTP Streaming channel, and the second channel could be a Long Polling channel. If for some reason, the HTTP Streaming connection failed, the application would automatically fall back to the second channel in the list. You can also use a “long polling” channel only if that’s a better fit for you.

    Documentation for the messaging channels is available here: http://livedocs.adobe.com/labs/blazeds/html/index.html

    Go to Getting Started with Data Services Applications > The Messaging Framework

    Christophe

  19. christophe on December 13th, 2007 10:47 am

    Hi Dirk,
    We don’t have benchmarks yet comparing the HTTP Streaming channel vs RTMP. Also there is no plan to discontinue LCDS Express.
    Christophe

  20. Pierre-Yves on December 14th, 2007 2:27 am

    Serious use of BlazedDS in J2EE applications would require integrating a library with a public API into the application. I can’t imagine anybody using either of the proposed versions (integrated tomcat and war) in a serious application. We need a way to expose existing services in existing applications through RemoteObjects, the same way we do this with WebServices, RMI, HttpInvoker, Hessian, etc.
    How can we use RemoteObjects in a normal J2EE application? We don’t need a server. If we have a J2EE app, we already have a server. The question is how to add RemoteObjects to our applciation, not how to add our application to the BlazedDS server!

  21. christophe on December 14th, 2007 9:19 am

    Pierre-Yves,
    The goal of the pre-configured Tomcat server that we ship with BlazeDS is only to give developers an easy way to run the samples out-of-the-box. We are not at all suggesting that this is the server you should use in your production environment. The way to use BlazeDS is indeed to let you integrate the BlazeDS libraries in your own app on your own application server. The high level instructions to do this are: (1) copy the jar files available in WEB-INF\lib of blazeds.war to the WEB-INF\lib of your own app, (2) copy the WEB-INF\flex directory from blazeds.war to WEB-INF\flex in your own app, and (3) add the listener, servlet and servlet mapping defined in web.xml in blazeds.war to your own web.xml.
    Christophe

  22. Dung Nguyen on December 16th, 2007 1:22 am

    I am new be in Flex and BlazeDS.
    In eclipse WTP, Blazeds-Samples stoped working when I change root context from blazeds-samples to blazedssamples or anything else.

    Could you help me to find out why it is?

    Thanks!
    Dung.

  23. moonunit on December 16th, 2007 5:05 pm

    The test drive was interesting. I got it up and running in no time flat.

    While interesting, it was less of a drive was more like being a passenger. ‘Driving’ implies ‘doing’ and doing isn’t possible because Adobe has neglected to include any Getting Started documentation whatsoever.

    The test drive felt more like pottering around in a scrap yard for the weekend, picking up obscure bits of junk and trying to figure out what they do in order to build a car.

    If you are trying to attract new (key word: NEW) users to your technology, providing something to get them started would have been sensible especially after putting out the invitation. My idea of test driving and learning doesn’t extend to spending a weekend with my head buried in obscure configuration files and randomly fiddling with Eclipse settings.

    For a corporation worth $25 billion, couldn’t Adobe could have stretched itself to providing a ten page pdf?

    I criticize Adobe very reluctantly, since this is a good thing Adobe has done. It’s free and a lot of people have obviously put huge amounts of time and effort into making it happen. Bizarre then that it was allowed to fall so flat.

    Can’t help noticing that the BlazeDS forum is virtually void of any activity till now. Couldn’t help wondering why, since this is actually a great product. Perhaps people just can’t be bothered to plough through your test drive without appropriately targeted documentation?

  24. moonunit on December 16th, 2007 5:46 pm

    Forgot to mention this. It says in my post above:-

    > The test drive was interesting. I got it up
    > and running in no time flat.

    That was ‘on a mac’ up and running in no time flat. Why did your download page mention everything except Apple Mac’s, especially since it takes only a few minutes to install it on a mac?

    Perhaps Adobe should be given the benefit of the doubt, but the endless rumors about Adobe having some grudge against Apple are apparently not lacking in evidence.

    Anyhow, just another test drive time waster and irritation.

  25. lowdown on December 17th, 2007 3:50 pm

    Dang moonunit, bitch more?

    Thanks for the update Christophe.

  26. Marcel Overdijk on December 19th, 2007 7:08 am

    Hi Christophe,

    I’m trying your spring-flex integration example 1 with BlazeDS. However I got the following error:

    [RPC Fault faultString=”[MessagingError message=’Destination ‘mortgageService’ has no channels defined and the application does not define any default channels.’]” faultCode=”InvokeFailed” faultDetail=”Couldn’t establish a connection to ‘mortgageService’”]

    Any clue?

  27. Claude Hussenet on December 21st, 2007 1:25 pm

    Add the 2 following compilers options in your Flex
    project and u should be all set.

    -context-root=[name of your web context]
    -services=[Location of the services-config.xml]

    Example on Windows:
    ——————-
    -context-root=blazeds -services=C:/DEV-APPLICATIONS/workspace-eclipseJDK15/blazeds/WebContent/WEB-INF/flex/services-config.xml

  28. Dan Zeitman on December 22nd, 2007 6:11 pm

    Christophe -

    Thanks for the quick info on setting up and running blazeds.

    No problems with running most of the samples.

    I’m a flex developer - Using flexbuilder. I prefer CF dev, but I’ve also installed eclipse to learn java as well. -

    Can you spend brief moment to blog about setting up flexbuilder sa OR ECLIPSE to get busy compiling the java classes.

    Or better yet, Flexbuilder comes with a great cfc wizard to build the assemblers and dao, etc… (Coldfusion would be my pref) Both you and Ben Forta have been gushing about this stuff at Flex Camps for months…

    I think I’m not alone in my confusion of what’s the best path here.

    Please provide some enlightenment!

  29. Bouiaw on December 23rd, 2007 5:26 pm

    The error has been identified, Acegi/BlazeDS integration is working !

    More details on http://code.google.com/p/igenko/wiki/FlexDataServices

  30. People Over Process » RIA Weekly 003 - Special Guest Andre “Captain Ajax” Charland, News Updates, and RIA 2008 Predications on January 4th, 2008 7:39 pm

    [...] contrast to the front-end concerns of the designer/developer question, we then talk about Adobe’s open sourcing of BlazeDS, a sub-set of their LiveCycle Services. BlazeDS, boiled down, is a messaging framework and protocol [...]

  31. People Over Process » links for 2008-01-05 on January 5th, 2008 12:19 am

    [...] Christophe Coenraets » BlazeDS: Open Sourcing Remoting and Messaging (tags: adobe flex blazeds data messaging opensource ria redmonkclients) [...]

  32. Andy Manson on January 6th, 2008 4:32 pm

    Why not just change its name to Siebel? It plainly does not integrate with anything….so we need another bunch of consultants to even make it talk to JMS!! Incredible that Adobe are so lazy that they *bundle* ActiveMQ with this….and refuse to tell anyone how it actually works. Hmm…smell those consultancy dollars.

  33. leonidas on January 8th, 2008 9:29 am

    hello.
    i’m looking for a way to upload picture to a database using Flex and java without a scrpit ( asp, php …).
    FileReference api is not enough i think , i need the full path file from system file , but i can’t get it

    u can sen dme mail : anass.oasis@gmail.com

    thx for ur help.

  34. Cato Paus on January 9th, 2008 1:19 pm

    FileReference - A petition for Astro WE NEED YOUR VOTE !

    Hi All! If We Want New Features in Flahs Player we will all need to VOTE!

    I have submited it as a Feature Request. Follow the link and create a accont and vote for it!
    http://bugs.adobe.com/jira/browse/SDK-14245

    By the way we all need to get familiar with this “Adobe Bug System” :)

    Please forward this message.
    Cheers :)

  35. leonidas on January 10th, 2008 9:00 am

    we realy need some extra work from Adobe inthis issue , silverlight has more advantage on it , so why not adobe .
    it’s so important.

  36. Adrian Aioanei on January 12th, 2008 10:55 am

    We’re seriously take in count BlazeDS for our collaboration apps at EyePartner. Giving it open sourced is even better. We’re looking forward to this.

    Adrian.

  37. Luke Vanderfluit on February 2nd, 2008 11:55 pm

    Hi Christophe. Im trying to contact you but cannot find you email address anywhere.
    Im doing your 30 minute testdrive for flex and since I work for a company where we use java, Id like to get flex talking to our java back end. Im having a few problems getting you 30 min testdrive to work…
    Could you contact me please.

    Kind regards.
    Luke.

  38. BlazeDS Release Candidate Available : Christophe Coenraets on February 4th, 2008 3:01 pm

    [...] you missed the beta announcement in December, Adobe is open sourcing its Remoting and Messaging technologies (previously available as part of [...]

  39. Oğuz Çelikdemir on February 10th, 2008 11:09 am

    TURKISH : Valla bu işi öğrenemediniz gitti. Tüm dünyada, bütün herkes sizin sadece ve sadece veri tabanı bağlantısını 3. bir dili öğrenmeden nasıl yapabileceğine odaklanmış durumda, siz kalkıyorsunuz arka planı java yapıyorsunuz, o yetmiyormuş gibi verdiğiniz örnekte, Java Tomcat server üzerinde nasıl çalıştığına dair. Allah aşkına, shared hosting hizmeti veren kaç tane kurum apache tomcat hizmeti veriyor? Ya bırakın bu işi, yapamıcaksınız siz bunu anlaşıldı!!! Topu topu yapmanız gereken Apache Web Server için bir .so file, PHP için bir extension DLL, IIS içinde yine bir DLL, bunların güvenliğinide nasıl sağlarsınız, orasını siz düşüneceksiniz. Sizin sorununuz baştan belliydi, Macromedia’ yı satın aldınız, iyi güzelde, macromedia nın müşteri odağı interaktif çalışan tasarımcılar idi. Kalktınız, interaktif çalışan tasarımcılara, dayatma yoluyla “Kardeşim, ActionScript öğrenicen, ActionScript 3 öğrenicen, o yetmiyor en azından PHP, ASP.NET yada JAVA öğreniceksin, o yetmez gelicen birde BlazeDS yada Live Cyle Data Services nasıl çalışır bunu öğreniceksin, ondan sonra Flex te uygulama geliştireceksiniz” diyorsunuz. Bu akla, mantığa, şirket prensiplerine uyurmu, oturun bir düşünün bakalım. Tasarımcılara yol verdiniz, developerlarında beynini sulandırıyorsunuz.
    Şunu baştan kabullenmelisiniz, ADOBE bir uygulama geliştirme şirketi değil [di], siz onu uygulama geliştirme şirketine çevirmeye çalışıyorsunuz, ondan sonrada Microsoft’a afedersiniz bok atıyorsunuz. Microsoft 10 yıldan fazla bir zamandır, uygulama geliştirme dilleri üzerinde çalışıyor. Tecrübe, fırından alınan ekmekler yenilerek kazanılmıyor, yılların birikimi ile kazanılıyor. O nedenle, Silverlight 1-2 seneye kalmaz, sizi geldiğiniz yere geri postalar.

    ENGLISH : These are my opinions, if you wish you can translate your language.

  40. Q on February 14th, 2008 5:48 pm

    This is great news.

    One thing I can’t find is the architecture of the BlazeDS. How exactly works on a BEA Weblogic for example ?

    Do I just deploy the war file and I’m good to go ?

    AMF over the HTTP is easy to comprehend.

    Drop me a line or two please.

    Thanks,
    Q

  41. David Welch on February 17th, 2008 1:01 pm

    Any word on when the the BlazeDS source will be available? Even having the current RC code would be great…

    Thanks,
    David

  42. Sheetal on February 18th, 2008 2:08 am

    Hi Christopher,

    Whenever I am running a trader desktop [amf-streaming] sample through Squid proxy, Getting error on tomat ‘my-streaming-amf’ cannot service the streaming request made with 1.0. Only HTTP 1.1 is supported.

    Please give me some solution on this problem

    Regards
    Sheetal M

  43. fem pocker on February 18th, 2008 3:28 am

    fem pocker…

    godmothers adoption surface.amulets mutilating plausible …

  44. canine health care on February 18th, 2008 11:00 pm

    canine health care…

    optimize.wonderment?inexorable towelling….

  45. Confluence: Tech.adApp on February 19th, 2008 5:19 am

    Migration to BlazeDS…

    Useful links: #…

  46. wamu personal visa credit card on February 20th, 2008 1:30 pm

    wamu personal visa credit card…

    infers,acquiescing element?fortiori …

  47. 海綿般大男孩 » Blog Archive » 今天是AIR年 on February 25th, 2008 7:31 am

    [...] 相關技術 BlazeDS BlazeDS: Open Sourcing Remoting and Messaging [...]

  48. insurance pet on February 26th, 2008 2:53 pm

    insurance pet…

    exacerbates blight ineffectual.Oman ultimate imprudent …

  49. DamionKutaeff on March 23rd, 2008 11:03 am

    Hello everybody, my name is Damion, and I’m glad to join your conmunity,
    and wish to assit as far as possible.

Leave a Reply