May 16, 2008

Pages


Search Site


Topics


Useful Links

Blogs I Read


Archives

Entries Tagged as 'JMS'

What Is ColdFusion?

May 12 2008 by Andrew Powell

This is a follow-on to my previous post.

As CFML developers start to learn Java and move into the realm of Spring and Hibernate, it is very important to stop and ask "What Is ColdFusion?".  ColdFusion, since CFMX, has been a J2EE application running within a J2EE server (JRun, JBoss, Tomcat, Websphere, etc.).  This is important because thinking of ColdFusion like this lets us expand our mind to what we can really do with ColdFusion.  We (CFML developers) can start to leverage J2EE services and frameworks like JPA, JNDI, JTA, and others to make ColdFusion a real player in the J2EE stack.  

Java developers are quick to dismiss ColdFusion as simply a J2EE app and miss its real potential:  It is the fastest way to get data to the web.  It is the fastest way to get data to AJAX, Flex, Silverlight, and even JavaFX (the last two via XML or web service).  I think that going forward, ColdFusion will really shine in this space and make itself be known as a the leader in moving data into RIAs.

ColdFusion also provides complex services easier than Java, .Net, Ruby, or whatever wishes they could.  Let's look at a couple of examples:  CFMAIL is, by far, the easiest way to generate email from an application.  CFPDF?  Are you kidding me?  It doesn't get any easier than this.  Don't tell the Java guys this, but it integrates with JMS easier than Java does too (look at the gateways).  These specialty services are an often used, but at times, overlooked part of ColdFusion because of their simplicity.  By the same token, they're often a source of ammo for the ColdFusion detractors.  Maybe they're just jealous.  

Simply put, at the end of the day, ColdFusion is a J2EE app that enables you to be more productive than if you were writing pure Java or CFML code, alone.  Look at it, and embrace it as such, and a whole new world will open up to you, as a CFML or Java developer.

Posted in Java | ColdFusion | Flex | General | Spry | JMS | Spring | Adobe | JSP | JRun | Hibernate | XML | AJAX | 1 comments

BlazeDS: Remoting != Messging

April 17 2008 by Andrew Powell

This post came about over a Twitter discussion about a blog post comparing Flex remoting servers. The article was not very clear and said the engines supported Flex Messaging. Flex Messaging is not the same as Flex Remoting. Remoting is the access of remote objects (Java, ColdFusion, PHP, Ruby, etc) over a http connection. Messaging can use http and AMF, just like remoting, but is not object based. It's message based. Those messages can either be objects (typed or not), or just plain text. With Flex Messaging, you're not calling an object directly, you're sending to or listening to the messaging service.

Any questions?

Posted in Java | ColdFusion | Flex | BlazeDS | JMS | Universal Mind | 1 comments

360|Flex San Jose Announced

April 09 2008 by Andrew Powell

As 360|Flex Europe wraps up, we can look forward to 360|Flex: San Jose.  The dates? August 17th-20th 2008.  

I will be presenting on "Implementing BlazeDS".  This session will introduce you to all aspects of BlazeDS including Java Remote Objects, HTTPService Proxies, Messaging with JMS, factories, and even a super-secret new adapter for BlazeDS.

http://www.360conferences.com/360flex/ 

Posted in Java | Flex | General | Conferences | BlazeDS | JMS | Spring | Universal Mind | Hibernate | Speaking | 0 comments

My Google Code Site

March 12 2008 by Andrew Powell
After talking to Ben Stucki at 360|Flex, I decided that I should create a Google Code site for my code samples and preso posts. I am currently in the process of moving all my os code and preso samples into this repository for public consumption. Going forward, you will be able to find all my code samples there. It is released under the MIT License, which basically means, it's released "as is" and without warranty. Some things will be posted and never updated again. Other things will be updated and improved. There is no set schedule for projects to be updated, it's just a central point for you to find my code samples. My Google Code Site

Posted in Java | ColdFusion | Flex | Caching | General | Conferences | BlazeDS | Spry | JMS | ColdSpring | StockQuoter | Google | Spring | Adobe | Universal Mind | Hibernate | Air | Hessian | XML | Speaking | 0 comments

BlazeDS In Plain English

March 05 2008 by Andrew Powell
Over the past few weeks we've seen a lot of hype over BlazeDS and what it can do for you. What we've not heard is BlazeDS described so that the average Joe can understand it. So what is BlazeDS? I've heard some say that it's a sub-set of LiveCycle DataServices ES, and that's partially true. I've heard that it's a limited functionality version of LCDS that's been open-sourced. Kinda true, but not really. I've heard that it's the "new" LCDS Express. Not true at all. So what exactly is BlazeDS? BlazeDS is an open-source server solution that provides access to Java objects and provides messaging to Flex clients via polling AMF. This functionality was, and still is, available with LCDS, but LCDS brings two other pieces to the party: Data Management Services and RTMP Streaming. Bascially, now with BlazeDS, you can create a complete client-server solution with Flex for free. BlazeDS is free. The Flex SDK is free. Combine the two and you have the potential for some really cool apps. So, let's take a deeper look at what each of these pieces gives you.

Access To Java Objects

BlazeDS allows you to access Java objects either as POJOs, EJBs, or via Spring using factories. On the client side, these objects are simply accessed using the mx:RemoteObject tag. So what does this mean to you the application developer / architect? It means that if you have existing Java applications that expose services, you can easily add a Flex front-end to these applications. If you are building a new project, then Java becomes a low-cost option, as far as infrastructure goes, to building the server-side for your Flex application.

Flex Messaging

BlazeDS also gives you the ability to send messages between applications using the BlazeDS Message Service. The Message Service provides a client-side API for applications to communicate asynchronously by passing messages back and forth through the Message Service. Not only does the Message Service allow you to communicate between Flex clients, you can also use the Message Service to hook into and participate in messaging via JMS. BlazeDS provides a mechanism to participate in topic-based (a.k.a. publish-subscribe based) messaging and queue-based (a.k.a. point-to-point) messaging via JMS. The Message Service is accessed in Flex via the Producer/Consumer tags in MXML. So what does this mean in plain english? It means you can use messaging to communicate between Flex clients, or between existing, heterogeneous systems using JMS. See the requisite chat example from my 360|Flex sample code for an example of this. That is the crux of BlazeDS in as much of a nutshell as I can put it. BlazeDS is definitely a great addition to the Flex family, but until now, is a bit misunderstood. Hopefully, I have given you an insight into what BlazeDS is and how you can take this great new open-source tool and go forth to create great RIA experiences.

Posted in Java | Flex | General | BlazeDS | JMS | Spring | Adobe | Universal Mind | Air | 3 comments