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:

  • 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:

  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:

  • 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 ;).

  • Pingback: Adobe open-sources Remoting and Data Services !! : code zen()

    • 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.

  • 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.

  • Pingback: BlazeDS ………Open source……….Adobe…………. :-) | Matsiya()

  • Pingback: MadeInFlex » Blog Archive » BlazeDS:Remoting y Messaging Open source!()

  • wowo! that´s really great news!

  • denster

    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

  • Pingback: Breaking News: Adobe Announces Open Source Technologies for Enterprise RIAs called BlazeDS « FLEXing My Muscle()

  • 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

  • Pingback: Igor Costa » Blog Archive » BlazeDS alternativa open-source da Adobe para o LiveCycle DataServices()

  • Ken Dunnington

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

  • Pingback: Adobe Open Sourcing LiveCycle Data Services as BlazeDS « i am josh()

  • 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!

  • Pingback: New Stuff on Adobe Labs | The Squid and the Stallion()

  • Pingback: Sönke Rohde » Beta 3 of AIR/Flex 3, BlazeDS and BRIO!()

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

  • christophe

    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

  • 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

  • Pierre-Yves

    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!

  • christophe

    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

  • Dung Nguyen

    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.

  • moonunit

    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?

  • moonunit

    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.

  • lowdown

    Dang moonunit, bitch more?

    Thanks for the update Christophe.

  • Marcel Overdijk

    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

  • Dan Zeitman

    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

  • Pingback: People Over Process » RIA Weekly 003 - Special Guest Andre “Captain Ajax” Charland, News Updates, and RIA 2008 Predications()

  • Pingback: People Over Process » links for 2008-01-05()

  • Andy Manson

    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.

  • leonidas

    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 :)

  • leonidas

    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.

  • Luke Vanderfluit

    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.

  • Pingback: BlazeDS Release Candidate Available : Christophe Coenraets()

  • Oğuz Çelikdemir

    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.

  • Q

    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

  • David Welch

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

    Thanks,
    David

  • Sheetal

    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

  • Pingback: fem pocker()

  • Pingback: canine health care()

  • Pingback: Confluence: Tech.adApp()

  • Pingback: wamu personal visa credit card()

  • Pingback: 海綿般大男孩 » Blog Archive » 今天是AIR年()

  • Pingback: insurance pet()

  • DamionKutaeff

    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.

  • Pingback: Small man, big mouth » Article » Just Blaze… getting started with Blaze DS()

  • Pingback: BlazeDS, Vista, and Streaming AMF Channels - For the Children at building blocks()

  • Pingback: on line slots free()

  • 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

  • Pingback: Confluence: FX Games()

  • 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

  • Pingback: RIA Weekly » RIA Weekly 003 - Special Guest Andre “Captain Ajax” Charland, News Updates, and RIA 2008 Predications()

  • Pingback: Indicator » Blog Archive » Client-Server Communication Options()

  • thanks goog job,savaş oyunu,savaş oyunları

  • Pingback: Blazeds « It’s all about RIA()

  • Pingback: BlazeDS « Flex Generation Weblog()

  • Thanks

  • Pingback: carlos pokerroom net()

  • 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

  • jurlan

    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.

  • Rap

    spast kım admin

  • great addition to the world of open source..keep up the good work

  • Thank you for unshared.

  • Dr. Ben

    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.

  • Pingback: Adobe: no new features for open source BlazeDS data services « Tim Anderson’s ITWriting()

  • 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

  • Hi there I am so excited I found your weblog, I really found
    you by error, while I was looking on Aol for something else, Nonetheless I am here
    now and would just like to say thanks for a fantastic post and
    a all round thrilling blog (I also love the theme/design), I don’t have time to browse it all at the minute but I have bookmarked it and also added in your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the excellent work.

  • I am truly thankful to the holder of this web site who has shared this enormous post at here.

  • Can I simply just say what a relief to uncover someone who truly understands what they’re discussing on the web. You definitely understand how to bring an issue to light and make it important. More and more people should look at this and understand this side of your story. I was surprised that you are not more popular because you certainly have the gift.

  • Awesome post. Should have discovered this site before, great work.

  • And and thanks for great content.

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

  • thank you for sharing, very useful info for me, I was delighted to find this web site

  • This is a wonderful article. I would like to suggest you that please keep sharing such type of info. I really found this article very informative. It is what i was searching for. 
Thanks

  • However the looks after has been roughly prized the type of who managed to investigate slightly more depth from great follow building, generally speaking the actual model includes likely attained an important narrower crowd than a few of it is competition.

  • I would also suggest that the picture icon (the icon that appears to the left of the video when it appears in the search list) be something that really sets itself apart so visually people are attracted to it.

  • chat rooms thnx

  • obrg gracias

  • Fabrics we use in our form; The first-class micro-interlock; flex-fit, anti-bacterial, it has a thermo-balance, and immediately drying. This gives you the freedom to move your soccer jerseys of the match; It is designed stylish enough to be worn on a daily basis. Our models are produced in two types as my special jerseys and other digital printed.
      His highest production of our company, we use the sport socks products: cotton, cotton, polyester, nylon and lycra. It includes anti-bacterial.

  • Thats a good program. I will use Windows VPS..

  • harika bir çalışma olmuş

css.php