Entries Tagged as Hessian
FlexServerLib , the extension project for BlazeDS, is a powerful library that allows you to access functionality on the server, in Flex, as easily as ColdFusion allows developers to access complex server functionality in CFML. Imagine if sending an email was as easy as sending a message into a destination and receiving an email was as simple as subscribing to the same destination. This is just some of the functionality FlexServerLib aims to implement.
A topic has been submitted on FlexServerLib for 360|Flex Indianapolis, but if you want to learn more, we need your vote.
Follow this link to vote
Tags:
Adobe · BlazeDS · ColdFusion · Conferences · Flex · Hessian · Hibernate · Java · JMS · MOM · Speaking · Spring · Universal Mind · WebNext · XML
Excited about BlazeDS, but not really sure what it means for you? Are you a Java developer coming to Flex who wants to learn how to connect your services to Flex? Want to see a new spin on the ubiquitous chat application? Come to my 360|Flex session, Implementing BlazeDS, and you'll get all that and more. This session is the first of a three-part "Flex/Java Track" that you will get at 360|Flex. Major topics covered will be: Remote Objects, Messaging, Integrating Spring & Hibernate, & Binary Remoting without BlazeDS. Stop on by Monday at 4:00PM if you're interested in learning more.
Tags:
LiveCycle ES · Flex · General · Conferences · BlazeDS · JMS · Spring · Adobe · Universal Mind · Hibernate · Hessian · Speaking
Today, Universal Mind unveils SpatialKey. SpatialKey represents the latest cutting edge Information Visualization, Analysis, and Reporting; all powered by Adobe Flex. The heart of what SpatialKey does is that it enables you to quickly visualize your data over both space and time. Allowing for playback, map comparison, aggregate mapping, and visualization via heat index, SpatialKey lets you see your data as never before.
Compared to other mapping and visualization applications, SpatialKey is lightweight, yet still leverages a powerful set of advanced temporal tools. You can filter data with the histogram/timeline widget and modify your view of the data with the advanced heatmap component, just to highlight a few features. You can render data in to heatmaps, heat grids, and graduated circles with all datasets imported into SpatialKey. Each visualization can help your discern complex patterns and trends from your dataset as never before.
Whether you initially realize it or not, everyone's data has both a spatial and a time component to it. Where are your customers? Where are your suppliers? Where are your assets? When did your transactions occur? Where did the occur? When is delivery expected, When did it actually happen? The combination of any of these questions, plus many more not mentioned, becomes much clearer when visualized through SpatialKey. Time components as general as years and as precise as milliseconds are supported. SpatialKey also has a powerful, built-in geocoder that will automatically geocode addresses (or even just city names). You can also supply your own latitude/longitude pairs, if you have them.
So, who is this for? Well, there are three versions of SpatialKey to fit your needs:
- SpatialKey Personal: SpatialKey Personal provides the ability to import multiple datasets from Excel or a CSV file into the SpatialKey client. This data can be used with several different visualization templates and reports. Where other Internet-based solutions are limited to hundreds of points on a map, SpatialKey Personal uses advanced rendering techniques to visualize thousands of points on a map. Additionally, it provides multiple approaches to visualize your data with heatmaps, grids, and graduated circles. Instead of providing a one size fits all interface we provide specific, unique, visualization templates. Each template has its own capabilities allowing you to view your data in different templates and see it in different ways. One template will allow you to filter your data by date, location, and other parameters, then allow you to drill down into the data. Other templates will allow you to compare with two different maps. Another will allow you to playback the data over time. SpatialKey will continue to improve by adding new templates as we develop new features. There will be no need to import your data again just open it with a new template. With the current technology preview of SpatialKey Personal, users are limited to only viewing our sample data sets. If you are interested in a visualization of your own data, you can upload a sample data set. Also, you can sign up for the beta and be notified when the full release SpatialKey Personal is available with import capabilities as well as an expanded set of visualization templates.
- SpatialKey Enterprise: While the personal solution can provide visualizations and reports for thousands of data points, the enterprise solution can provide real time interaction with millions of data points through a unique architecture and data handling capability developed by Universal Mind. Complex data sets can be collected, analyzed, and navigated through using a number of approaches, including the ability to zoom into and out of geographic areas with automatic data clustering that ensures relavancy at different zoom levels. SpatialKey Enterprise combines the features of the SpatialKey Personal client with a Java based server side architecture that integrates into your existing systems through an SOA/component based architecture. This enables easy integration with a wide variety of data types including structured and unstructured data as well as custom maps exposed through ESRI ArcGIS Server. SpatialKey Enterprise includes a data publisher/importer service that allows SpatialKey to plug into nearly any existing system within your environment. One example of a SpatialKey Enterprise implementation is SpatialKey Law Enforcement.
- SpatialKey Custom Solutions: SpatialKey was created by the Universal Mind consulting team. Universal Mind is a recognized leader in developing Enterprise Class RIA Solutions, Application Frameworks, and Legacy Integration and Optimization Architectures that change the competitive game in the markets into which they are deployed. The Universal Mind consulting team can develop a custom solution based on your specific requirements using the SpatialKey Framework. If you are interested in a custom solution contact us to provide a quote.
SpatialKey has been a big Universal Mind initiative for a while now. My contribution was in the data importer service for SpatialKey Enterprise. It gave me a good chance to architect a very scaleable, flexible J2EE solution. We did some really cool, cutting edge work that I feel we can all hang our hats on and be proud of the job we've done, as a team, in getting this ready for prime-time. Big ups to the whole team who worked on this: Doug McCune, Ben Stucki, Brandon Purcell, Reggie Willbanks, Mike Connor, Zach Johnson, & Tom Link. There are a long list of other people within the Universal Mind Family who have put in blood, sweat, and tears as well and they all deserve a big hand for their role in this great achievement.
Are you really excited to start using SpatialKey? Well, head over to the new SpatialKey site and you can look at some of the sample templates we have up. You can also sign up for the beta and be notified when you can download SpatialKey Personal for use with your own datasets. Comments are open.
Tags:
Adobe · AIR · BlazeDS · Cairngorm · ColdFusion · Flex · General · Hessian · Hibernate · Java · Spring · Universal Mind · WebNext
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
Tags:
Adobe · AIR · BlazeDS · Caching
I had a good turnout today at my session - Building Java Powered Flex Apps. In retrospect, I really should have called it "Building
BlazeDS Powered Flex Apps because I pretty much covered implementation of all of Blaze's functionality. Anyway, I promised people I would have the code up tonight, so here it is:
The Code (Right Click and save)
Tomorrow is a session on community open source projects (Flexlib, OpenFlux, Merapi, etc). Come on by and enjoy some open source goodness.
Tags:
Adobe · AIR · BlazeDS · Conferences · Eclipse · Flex · General · Hessian · Hibernate · Java · JMS · Speaking · Spring · Universal Mind
When we talk about remoting with Hessian vs. remoting with BlazeDS, keep in mind, we are not comparing Hessian to the whole of BlazeDS, simply the Java remoting piece of the pie. The size of an application using BlazeDS will always be bigger than an application simply using Hessian because the dependencies for the other parts of BlazeDS (Messaging, etc) are much larger than the remoting piece alone.
Tags:
Adobe · AIR · BlazeDS · Flex · General · Hessian · Java · JMS · Universal Mind
For a while now, there has been a versatile remoting solution for Java applications called Hessian. It actually allows for binary transmission of data (much like AMF) between any of the following languages: Java, Flash/Flex, Python, C++, C#, D, Erlang, PHP, & Ruby. Pretty impressive, huh?
Hessian is also much more lightweight than using BlazeDS for Java remoting. It is a bit trickier to setup though. Let's start with the servlet config:
<web-app id="">
<servlet servlet-name="hello"
servlet-class="com.universalmind.helloWorld.HelloWorld"/>
<servlet-mapping url-pattern="/hello/*" servlet-name="hello"/>
</web-app>
This pushes any request coming to http://${servername}/${contextroot}/hello to our Hessian Service, defined here as:
package com.universalmind.helloWorld;
import com.caucho.hessian.server.HessianServlet;
public class HelloWorld extends HessianServlet implements IHelloWorld {
private static final long serialVersionUID = 1L;
public String hello(String who) {
if(who != null){
return "Hello, " + who + "!";
}
else{
return "Hello, nobody!";
}
}
}
Note: Notice that this extends HessianServlet.
That's how simple the server-side is. With AMF, you have a simple destination to define in the remoting-config.xml file. Hessian remoting actually requires you to create a servlet definition in the web.xml file.
The client (Flex) code is actually much simpler and straightforward:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:word="*">
<hessian:HessianService xmlns:hessian="hessian.mxml.*" id="service" destination="hello"/>
<mx:Panel title="Caucho Hessian Hello World"
paddingTop="10"
paddingBottom="10"
paddingLeft="10"
paddingRight="10">
<mx:HBox>
<mx:Label text='Whom do you want to say "Hello" to?'/>
<mx:TextInput id="who"
maxChars="20"
enter="service.hello.send(who.text)"/>
<mx:Button label="Say Hello" click="service.hello.send(who.text)"/>
</mx:HBox>
<mx:Label text='The server said: "{service.hello.lastResult}"'/>
</mx:Panel>
</mx:Application>
We define our service, and the destination (the servlet defined earlier). So all requests will go to: http://${servername}/${contextroot}/hello, the servlet defined in web.xml.
Unlike BlazeDS, Hessian allows you to use not just Flex/AIR as your remoting client. It allows you to create one remoting solution for a variety of clients. If your app will have Swing, .Net, and Flex clients, then Hessian is something you should definitely look into.
Compile Note: For this to work, you must make sure you include the SWC for Hessian remoting on the Flex side and the JAR for the server-side. Both are available at http://hessian.caucho.com.
Deployment Note: A sample war file is attached to this post. It can be exploded using the "jar -xvf Hessian.war" command. The war contains all the source code needed to figure this out for yourself, and is ready to deploy to your application server to see Hessian in action.
Tags:
AIR · BlazeDS · Flex · General · Hessian · Java · Universal Mind