Andrew Powell

Into The Mind of A Solutions Architect

Andrew Powell

Entries Tagged as Spring

[Scheduled] Custom Metadata Processor for Swiz

July 21, 2010 · 2 Comments

I've been working with Spring 3.0 a good bit lately. One of the things that I've really enjoyed working with is the new ability to create rudimentary scheduled tasks with annotations. This got me to thinking, why can't we do the same thing in Swiz? We have the Timer class. Why not use the same type of methodology to create a custom metatdata processor to handle the execution of scheduled tasks in Flex with Swiz? I heard Ryan Campbell speaking about custom metadata processors at Flash Camp Seattle, and decided to take a look at his examples of the URLMapping processor as a guide. What I came up with is this, a metadata tag that will let you run a method at a set interval, for a defined number of runs (or unlimited if undefined). You make use of the tag like this:

It's really that simple.

There are two properties that you need to be concerned with: delay and repeatCount. delay is the default property and is the interval which to run the Timer, in milliseconds. repeatCount is the number of times to repeat the Timer, the default is 0, which means repeat as long as the application is running.

Resources:

SWC Download
Example Download (Requires SWC and Swiz Framework)
Swiz Timer on GitHub

2 CommentsTags: Flex · Spring · Swiz · Universal Mind

The Common Thread of Flash Camp Atlanta

July 15, 2009 · No Comments

A few days ago, we were having some internal discussions about Flash Camp Atlanta.  We had gotten a couple of topics in, and oddly enough, they all had a common theme.  So, through part of our discussions, we decided that we were going to have a theme for Flash Camp Atlanta.  The first theme we came up with, "80's day", had been done before and was a bit tired.  The second idea we had was much better:  "Enabling The Convergence of Art & Design With The Flash Platform".  

A couple of things inspired this theme.  Firstly, this document, by Christian Saylor, has been a huge inspiration in everything we do at Universal Mind.  Go ahead, take a minute or two and read it;  this post will still be here for you to read.  Second, Ben Stucki submitted a topic along these same lines (session descriptions are coming soon).  So what does this mean?  It means that we are going to strive to have all of our topics tie into this common thread through the day.  We've got a great littany of speakers lined up and it's an event that you won't want to miss.

REGISTER TODAY!

I'm also working on lining up a great venue (not Stats, it's been played out) for the community get together the night before.  Also, Delta Airlines announced a slew of cheap fares (as low as $80 roundtrip from Charlotte, NC) today that are valid for the dates of Flash Camp Atlanta.  

REGISTER TODAY!

No CommentsTags: Adobe · AIR · BlazeDS · ColdFusion · Flex · FlexCamp · Java · Speaking · Spring · Universal Mind

Adobe Launch Event This Friday!

May 27, 2009 · No Comments

This friday, Flash Camp Orlando will be one of two launch events for Adobe.  There will be big news regarding the Flash Platform announced at the event as well as free software including CS4 Master Collection and FlexBuilder.  If you're interested in attending, head over to www.flashcamporlando.com and sign up today.

In addition to the Adobe announcements there will be great sessions on AIR, Flex, and UX.  

You can walk in to the event, but if you sign up today, your seat will be guaranteed!

No CommentsTags: Adobe · AIR · BlazeDS · ColdFusion · Flex · FlexCamp · Speaking · Spring · Universal Mind · User Experience

Merapi Source Now Available!

May 21, 2009 · No Comments

The past couple of weeks have been pretty busy within the Merapi core, but all the work has paid off.  Merapi is finally open-source and available on GoogleCode.  The architecture has really changed over the past year, but the core functionality has stayed the same.  It's more of a change in how we get messages to the bridge than across the bridge.  Regardless though, after a year of forcing you to take our word for what it's doing, you can now go get the code and see yourself.

http://merapi.googlecode.com/
http://merapi-examples.googlecode.com/
http://groups.google.com/group/merapi-project

At some point I will go over some of the changes that are coming to the Java side, but the short, short version is that we're going to be integrating tightly with Spring and leveraging some of the powerful DI that Spring gives us to make the Bridge dynamically configurable.  More on that to come later though.  Go over to GoogleCode, join the group and let us know what you think!

No CommentsTags: Adobe · AIR · BlazeDS · Flex · FlexCamp · Java · Merapi · Spring · Universal Mind

360Flex - Say Hello To FlexServerLib Slides

May 20, 2009 · No Comments

Here are the slides from my presentation this week at 360Flex.  I should have the updated samples into the SVN repository later this week.

http://static.infoaccelerator.net/files/FlexServerLib.pdf

No CommentsTags: Adobe · BlazeDS · Flex · FlexServerLib · Hibernate · Java · MOM · Spring · Universal Mind

FlashCamp Orlando is the new FlexCamp Orlando

May 06, 2009 · No Comments

There has been some confusion as to what FlashCamp Orlando really is.  FlashCamp is the new name that Adobe wishes to use for the events formerly known as FlexCamps.  The content that you can expect for FlashCamp Orlando covers:

  • UX
  • AIR
  • BlazeDS
  • Flash Catalyst
  • Flex
So, for less than $50.00 you can get a day full of content that covers all these topics.  Go over to the FlashCamp Orlando site and register today!

No CommentsTags: Adobe · AIR · BlazeDS · Conferences · Flex · FlexCamp · Spring · Universal Mind · User Experience · WebNext

What Is BlazeDS?

May 05, 2009 · 2 Comments

A lot of people think that BlazeDS (and LCDS, for that matter) is a server.  They think it's something that you can deploy, like ColdFusion, and write apps on it.  Not quite, the case, but not too far off either.

BlazeDS is not a server.

Let's say that again, so you understand it.  BlazeDS is not a server.

BlazeDS is a set of servlets and listeners that you can add to your J2EE web application to access your service layer via the AMF protocol.  You don't deploy BlazeDS on its own unless you want to do purely messaging.  90% of deployments are done as part of a larger web project.  BlazeDS is simply another tool that you can use to expose your services to AMF clients (not just Flex).  

Further proof that BlazeDS exists as part of the J2EE ecosystem came late last year when SpringSource announced Spring/BlazeDS Integration.  This virtually removed the MessageBrokerServlet from the equation, routing messages through Spring's MVC architecture instead.  BlazeDS, the guts of it at least, was still responsible for the leg work in processing the AMF requests, but the easy integration into the Spring Framework really made it apparent that BlazeDS is not a server.

Lastly, BlazeDS is easy to incorporate into ColdFusion.  ColdFusion is, at it's roots, a J2EE web app.  BlazeDS is just another piece you can integrate into the web app to enable access to Java and CFC services via AMF.

Any questions?

2 CommentsTags: Adobe · AIR · BlazeDS · ColdFusion · Flex · Hibernate · Java · JMS · JSP · LiveCycle ES · MOM · Silverlight · Spring · Universal Mind

SpatialKey: Giving A New Perspective On Data Analysis

March 31, 2009 · No Comments

Russell Ackoff was an organizational theorist who pioneered a lot of modern theories in "systems thinking".  He was able to classify the content of the human mind into five categories that build upon each other:

  1. Data - raw symbols; numbers, text, etc.
  2. Information - processed data to be useful
    1. usually provides answers to: who, what, where, and when
  3. Knowledge - applying data and information to answer the "how" of the system
  4. Understanding - an appreciation of the "why" of the system
  5. Wisdom - an evaluated understanding of the system
This flow of data to wisdom can be applied to data analysis and visualization techniques too.  To this extent, SpatialKey, changes the game in data visualization and analysis by visualizing your data simultaneously on a map and timeline.

Data visualization is changing.  Everyone has analyzed their data over time since the beginning of data analysis.  Does this purely temporal approach to data analysis tell the whole story of your data, or does it tell just a  narrow perspective?  If you could have more insight into your data and analyze it in more than a temporal space, wouldn't your data yield more useful information?  A good number of data sets have a geographic component to them that is easily adaptable to a mapping solution.  SpatialKey unlocks that aspect of your data and lets you visualize your data over both geography and time.

Sacramento Real Estate Data

Modern systems, for the most part, limit the answers of information to who, what, and when.  SpatialKey, changes that by providing a new insight into the where aspect of Information via the map.  SpatialKey's primary strength is that it allows you to easily visualize large amounts of your data over both space and time while mapping the results and rendering a timeline.  This opens new insights and enhances the knowledge derived from the information presented by SpatialKey.  This is information that might not be derived from traditionally visualized data sets.

The information unlocked by SpatialKey  creates a new knowledge that would not be available otherwise.  The knowledge can lead to a new understanding of the trends in the data system, both temporal and spatial.  Practically, this means that, for example, instead of seeing sales trends over time, you can now have new visual insight into sales trends over time by a given geographic area.  

SpatialKey is the new standard for data visualization.  It will help you to unlock new perspectives into you data, like never before.  If you would like to experience SpatialKey, you can sign up for the private beta and use SpatialKey for yourself.  The private beta is limited to datasets of 10,000 rows, but the actual application can handle datasets of over a million rows.  

After you signup for the beta, import your data, or get some sample data from geocommons.  Once imported, SpatialKey can geocode your data and get you started with data visualization like you've never seen before.

If you want to learn more about SpatialKey, you can head over to the SpatialKey website

 

No CommentsTags: BlazeDS · Flex · Hibernate · Java · SpatialKey · Spring · Universal Mind · User Experience

Walk In To FlexCamp Miami

March 03, 2009 · No Comments

If you were thinking about coming to FlexCamp Miami, but thought you were too late to buy tickets, don't fret!  You can walk up the day of the show and still buy tickets.  There is a ton of great content and the event will be hosted by yours truly.  So, hurry over and register now, or come on over the day of the show.  There's still time left!

No CommentsTags: Adobe · AIR · BlazeDS · Flex · FlexCamp · Java · Merapi · Speaking · Spring · Universal Mind · User Experience

Why Spring/BlazeDS Integration Works

February 11, 2009 · No Comments

Spring has been, is, and will continue to be the easiest way to deploy enterprise class services with your Java applications.  There is a common pattern to the way Spring lets you expose your beans as services.  What this means is that the methodology for exporting a bean as a Hessian service, a Burlap service, a WebService, or now, an AMF Service (via BlazeDS) is consistent.  This consistency is what BlazeDS needed to be accepted into the Spring world.

Until the release of the Spring / BlazeDS integration by Spring Source, Spring has always been a bit of an interloper when it comes to BlazeDS.  Sure, Jeff Vroom's SpringFactory has served many of us well for a long time, but it was always something extra that had to be added on to the BlazeDS configuration.   To make it work, the services-config.xml file had to be modified and you had to specify special properties within the remoting destinations of remoting-config.xml.  It was a lot of steps to make something that makes things simple work with BlazeDS. 

Using the Spring/BlazeDS integration, it is no longer necessary to touch anything in the services-config.xml (unless you're changing the channels) or the remoting-config.xml files.  It just works out of the box by exporting your spring beans just as you would for any other remote services.  This consistent methodology will make it easier for teams to choose to use BlazeDS, and in turn, Flex for projects.   It means that teams will get the benefit of AMF with, possibly, no refactoring of the service layer.  All one would need to do is generate the AS classes to match the resulting datatypes (XDoclet can help a ton here) and you're done with the middle tier.  This allows for more development time to be focused on the Flex layer instead of being mired in getting the middle tier setup.  

By becoming more like other remoting methodologies in Spring, it appears that AMF and BlazeDS are ready to become prime-time players.

No CommentsTags: Adobe · AIR · ANT · BlazeDS · Flex · FlexServerLib · Java · Silverlight · Spring · Universal Mind · XML