On Tue, 2009-01-13 at 10:56 -0800, Vincent Foley wrote:
> As this is a commercial project, I imagine you are quite limited in
> what you can tell us, but I'd love to hear about the issues you faced
> during development.
Mostly integration problems with the work flow in the radiology system.
That big multinational company that I
will not name has the worse support team I ever saw. The left hand does
not know what the right
hand is doing, their people have a very limited knowledge of the
company's product and it looks like
they cannot escalate worldwide to find the proper expertise. The
customer was banging his head in the wall...
They caused the schedule to slip a lot. Since their own system is
distributed and that none of them really
understands the whole picture, I said a lot of profanities ... behind
I am pretty sure they cannot pee by themselves, you would have to show
them how; get the zipper down with the left/right hand,
get the ... out, align the ... , ..., :)))
Technology wise, it was a breeze. Spring 2.5, Java 5, Rails 2.,
Terracotta 2.6 were stable as was Clojure too.
ActiveMq as of 5.2 became stable, we needed some of the new features in
version 5 so we could not use a 4.x version.
Prior to version 5.2, it was shaky and it required some digging to find
the patches/workarounds we needed.
Design wise, the prototype was using XML on the bus. We were using a
tool (xmlbooster) to generate
parser/generator code but I wanted something less verbose and supported
in Java, Ruby and eventually
other languages so we went with YAML in the production release.
The YAML library we used needed some fixes, that's the only part that we
had to retool a bit to make more robust.
We use map representations of messages on the bus and this is language
neutral in Java and Ruby.
We also convert from Clojure types to YAML, we simply replace the java
Clojure class type in the YAML output
by a java equivalent so a java component receiving the message does not
need Clojure classes to deal with the message.
>From now on, the product will simply grow in maturity and I have an
impressive wish list both addressing
the user base needs and what I see as making this a more resilient and
As for the market well, every player wants to be the focus of attention
but since none of them addresses
all the needs in all the medical fields, it looks like there is space
there and some necessity for a middle man.
With our product you can monitor everything in real time from your desk
if you need to.
Finding if a request was forwarded or if errors were reported is a
matter of seconds. No endless searches
in log files, digging to try to understand what went wrong.