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:
- The Remoting and Messaging technology previously available only as part of LiveCycle Data Services will now be available for free as a new Open Source product called BlazeDS (under LGPL v3 license).
- The public beta of BlazeDS is available for download here (the GA version is scheduled for early 2008).
- As part of this announcement, the Action Message Format (AMF) protocol specification is also being published. The spec is available here.
- The JIRA bugbase is available here.
Additional Information:
- BlazeDS includes a new HTTP Streaming channel for real time applications that require very low latency. The sample applications packaged with BlazeDS provide examples of real time market data streaming and collaborative applications built with BlazeDS and using the new HTTP Streaming channel (the RTMP protocol is not included in BlazeDS).
- In addition to the BlazeDS war file, the BlazeDS download includes a version of Tomcat (6.0.14) with a series of web applications fully configured with BlazeDS (including blazeds-sample).
Getting Started:
- Download the BlazeDS beta 1 zip file here
- Expand it on your local file system (for example in a /blazeds directory)
- Start Tomcat (startup.bat or startup.sh in /blazeds/tomcat/bin)
- Open a browser and access the samples home page: http://localhost:8400/blazeds-samples/
- 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:
- Adobe will also offer “Adobe LiveCycle Data Services, Community Edition”, a subscription offering that includes certified builds of BlazeDS, enterprise support, etc.
- LiveCycle Data Services ES (the commercial product) will continue to exist and will focus on higher level APIs: such as Data Management Services, Portal Integration, Offline Synchronization, etc.
So this is the big huge surprise you were talking about at Flex Camp in Boston this past Friday. Very cool.
Holy S*** !!! Wasn’t this Flex Data Services?
BTW, you completely ruined Ted Patrick’s build up to this announcement on his blog ;).
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.
wowo! that´s really great news!
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
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
Great news, Christophe! Will this have any effect on the remoting/messaging that ships with ColdFusion?
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!
This is amazing news! Adobe rocks! Open source rocks! :D
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
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
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!
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
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.
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?
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.
Dang moonunit, bitch more?
Thanks for the update Christophe.
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?
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
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!
The error has been identified, Acegi/BlazeDS integration is working !
More details on http://code.google.com/p/igenko/wiki/FlexDataServices
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.
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.
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 :)
we realy need some extra work from Adobe inthis issue , silverlight has more advantage on it , so why not adobe .
it’s so important.
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.
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.
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.
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
Any word on when the the BlazeDS source will be available? Even having the current RC code would be great…
Thanks,
David
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
Hello everybody, my name is Damion, and I’m glad to join your conmunity,
and wish to assit as far as possible.
@Oğuz Çelikdemir:
Lütfen API’yi biraz daha inceleyin. İlla BlazeDS kullanacaksınız, Tomcat kuracaksınız diye bir zorunluluk yok.
thaks you,
arkadaşlara katılıyorum
video,belgesel,islami video,islami müzikler,yalan haber,futbol görüntüleri,her türlü video izle,video izle,ücretsiz video,video siteleri,video yükle,video indir,video download
thaks you,
arkadaşlara katılıyorum
video,belgesel,islami video,islami müzikler,yalan haber,futbol görüntüleri,her türlü video izle,video izle,ücretsiz video,video siteleri,video yükle,video indir,video download,video sitesi,video siteleri,video seyret,sanatçılar,şarkı videoları,mp3ler,en güzel videolar,ilahileri,ilahi dinle,ilahi seyret,maç görüntüleri,fenerbahçe videoları
9E9NYU qazwsx
qAQQFe eeeerrrffddgggggggccccc
güzel bilgiler teşekkürler
thanks
thanks a lot ;)
güzel bilgiler teşekkürler…
thank you very much.
Thank you very much for this information. I like this site
ooo süper this is fantastik
thanks goog job,savaş oyunu,savaş oyunları
Thanks
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.
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.
Very good article..
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
Thank you very much for this information. I like this site
Will this have any effect on the remoting/messaging that ships with ColdFusion?
Thanks for the quick info on setting up and running blazeds.
thanx
thankssss adminn
So, am I corrent when assuming that, when using BlazeDS, you don’t have the option of displaying modified data(real time modification without having to reload or save the 2nd session?) in the same form on a 2nd session?
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!
Hello everybody, my name is Damion, and I’m glad to join your conmunity,
and wish to assit as far as possibl
Thank you very much for this information. I like this site
Thanks for the quick info on setting up and running blazeds.
Thanks for the quick info on setting up and running blazeds.
Thank you very much admin
Hello everybody, my name is Damion, and I’m glad to join your conmunity,
and wish to assit as far as possibl
Thank you very much admin
Hello everybody, my name is Damion, and I’m glad to join your conmunity,
and wish to assit as far as possibl
Thanks for the quick info on setting up and running blazeds.
So, am I corrent when assuming that, when using BlazeDS, you don’t have the option of displaying modified data(real time modification without having to reload or save the 2nd session?) in the same form on a 2nd session?
So this is the big huge surprise you were talking about at Flex Camp in Boston this past Friday. Very cool.
this is very nice blog,thank you for all
thanks so much. greetings
abicim ben ne yazayim sana ya.
thank you for summary
thanks so much.
Buying a New Bed
Only you or your partner can decide which mattress is suitable for you; go to a mattress specialist and test all the different kinds they have on offer. There are three main types of sprung mattress: open sprung (the cheapest), which come in a choice of tensions; continuous, more responsive than open-sprung; and pocket, the most expensive, but most comfortable. Above the springs will be a top filling, which might be made of anything from cotton to mohair – and the more filling you have, the more luxurious the overall feel of the mattress.
There are three main types of sprung mattress: open sprung (the cheapest), which come in a choice of tensions; continuous, more responsive than open-sprung; and pocket, the most expensive, but most comfortable. Above the springs will be a top filling, which might be made of anything from cotton to mohair – and the more filling you have, the more luxurious the overall feel of the mattress.
When purchasing a mattress many people forget about the divan or bed frame on which the mattress lies; if this is damaged or sagging then it will alter the comfort level of your new mattress; if you decide to purchase a divan it is worth knowing that there are various on the market.
A sprung-edged divan have a complete open coil spring unit mounted on a frame providing support to the entire mattress; this will be beneficial to those sleepers who toss and turn as it will act as a shock absorber; a solid divan has a rigid top panel often constructed out of hardboard; this will make your mattress much firmer; a firm edged divan has a smaller number of heavy duty springs within a rigid, wooden sided frame; and a flexible slatted divan has soft wood slats mounted in a frame creating a minimal level of springiness.
If you opt for a bed frame they usually have the slatted support for the mattress; consider whether you want under bed storage before you buy the new low level styles as bed frames come in a variety of styles.
The largest choice of beds and mattresses on Best Beds and Mattresses Website Best-Beds.com. Pick mattress that suits you best!
tnk admin
it’s like a good idea but there’s nothing about effects.
Hello everybody, my name is Damion, and I’m glad to join your conmunity,
and wish to assit as far as possibl
“Some worry that a document format controlled by Microsoft, as opposed to a standards body, could make it difficult for organizations to exchange data, or to access older data at a later date.”
thank you everybody .This very important blog
i just wanted to thank you for this useful article and i’m glad to find this website. now i’m beginning to read your other articles. i hope we will live on well :)
thank you everybody .This very important blog
thank you everybody .This very important blog….
i just wanted to thank you for this useful article and i’m glad to find this website. now i’m beginning to read your other articles. i hope we will live on well :)
So this is the big huge surprise you were talking about at Flex Camp in Boston this past Friday. Very cool.
thanks you good post
Thanks a lot for the wonderful information
i just wanted to thank you for this useful article and i’m glad to find this website. now i’m beginning to read your other articles. i hope we will live on well :)
Above the springs will be a top filling, which might be made of anything from cotton to mohair – and the more filling you have, the more luxurious the overall feel of the mattress.
Very nice sharing. Thank you…
Above the springs will be a top filling, which might be made of anything from cotton to mohair – and the more filling you have
Thanks for admin wonderful web site..
niceee =)
thanks admin…
There are three main types of sprung mattress: open sprung (the cheapest), which come in a choice of tensions; continuous, more responsive than open-sprung; and pocket, the most expensive, but most comfortable. Above the springs will be a top filling, which might be made of anything from cotton to mohair – and the more filling you have, the more luxurious the overall feel of the mattress.
Thanks for admin wonderful web site..
Bedava her şey burda
Thanks teşekkürler Bedava
thank you very much news post good
thank you very much news post good
Thanks a lot
Very nice sharing.thanks.
The information you provided was very useful. Because of your help, thank you.
Some of these technologies is already being used for like telemedicine, were surgeons can be on one side of the world and the patient on the other side. Great technology lets keep perfecting it.
Malissa
The information you provided was very useful.
spast kım admin
great addition to the world of open source..keep up the good work
Thank you for unshared.
Great information! Very useful. Solar Hot Water Systems are a great alternative to the traditional.
The information you provided was very useful….
ben seni sever
I’m usually to running a blog and i actually recognize your content. The article has actually peaks my interest. I am going to bookmark your web site and keep checking for brand spanking new information.
Great technology lets keep perfecting it.
thank you very much
Thanks. Googd information. Thanks admin.
Good. important.
Blogs closely followed by the opportunity to find a lot of innovation.
thannks for thhis a post.
I think it is great app. thank for usefull things…
Good. important.
What a great site! Just found this today and will going to check for updates.
Nice information gived from you.
thannks for thhis a post.
I looked on the internet for the topic and found most people will go along with with your site
Nice blog here! Also your website loads up very fast! What host are you using? Can I get your affiliate link to your host? I wish my site loaded up as quickly as yours lol Wow, wonderful blog layout!
Thank you a lot for providing individuals with such a marvellous opportunity to read in detail from this web site. It can be so enjoyable and also packed with a great time for me personally and my office co-workers to visit your web site minimum 3 times in 7 days to study the fresh guidance you will have. Not to mention, I’m also at all times motivated for the excellent ideas you give. Selected 3 areas on this page are rather the most impressive I have had.
oto kiralama,rent a car,rental ankara,esenboga havaalanindan teslim araclar,araba kiralama ankara,araba kiralama,oto kiralama,minibüs kiralama,doblo kiralama,fluence kiralama,renault kiralama,hava alanı tıransfer,volkswagen crafter,caravella,
thanks for great content.
Awesome post. Should have discovered this site before, great work.
thank u for share
When someone writes an article he/she maintains
the idea of a user in his/her brain that how a user can know it.
Therefore that’s why this post is great. Thanks!
I read this post completely regarding the resemblance of latest and
preceding technologies, it’s remarkable article.