[Chicago-talk] New system architecture

Dave Viner daveviner at pobox.com
Mon Jun 1 12:27:59 PDT 2009

I would tend to agree with Jason.  Personally, I don't like most
desktop apps.  I like to use my browser.  So, AJAX is perfect.  Just
architect your web services to respond in JSON, and use jQuery to
handle the communication.  This setup allows you to grow - if you and
your brother hire other people, or want to license the software - and
it allows you to make changes to the appropriate component (front-end
versus service layer vs database).  (Note that many system would allow
for similar levels of encapsulation.  I'm just pointing out that a
well-designed AJAX system allows the same flexibility as a
well-designed desktop app or flash app or whatever else.)

Another alternative to consider is AIR.  You can make a pretty simple
desktop app using just HTML and JS.  Depending on your comfort with
using Adobe as the main execution platform, it's an interesting
approach that also buys you cross-platform compatibility.  Seesmic
Desktop is a full AIR app which has some pretty cool features.

Dave Viner

On Mon, Jun 1, 2009 at 11:54 AM, Jason Rexilius <jason at hostedlabs.com> wrote:
> Sorry to chime in here late in the conversation.  I was an architect at JP
> morgan for FX and fixed income web-based trading apps and some desktop apps
> so have a bit of experience in related fields.
> For fat client, I would suggest C++ if your desktop app needs good
> performance and Qt if your app needs good cross platform capability.
> If you do not need that level of performance I would jump all the way to the
> other end of the spectrum and look at Flex/Flash for fat-client-like
> capability or really well engineered AJAX interactivity (I built web-based
> FX trading apps using java, perl and javascript/HTML back in the day that
> moved very, very fast).
> Swing sux big time and you can get pretty close to its performance with well
> engineered flash client, particularly if the server component is local
> network.
> For server side, java is one choice, I think perl is still a strong
> candidate depending on _how_ you code.  Python is also a strong candidate.
>  If you are really looking to rock it hard, the best might be Erlang. But
> really it comes down to what language you are comfortable with.  A good perl
> coder can build a faster app than a bad Java coder..
> Me personally, unless you were doing heavy real-time trading based on market
> timing, I would build client in HTML/JS and server side with LAMP stack
> (perl, python or PHP) with shared mem or other high performance IPC
> mechanism to whatever your trading data feed provider is (reuters,
> bloomberg, etc.).  If you needed to do transforms or manips on data feed I'd
> right that in C/C++ or erlang.  If youre just talking to a DB, then the
> basic principles of a good handler that wraps all access to DBs and good
> schema design should really be enough. ORMs are often more baggage than help
> but maybe use a simple code generator to do light ORM class building or
> something..
> Jay Strauss wrote:
>> I don't think we've set upon Java or not.  But I don't feel there is a
>> good Perl rich GUI alternative (I know about wxperl, and am not in
>> love)
>> On Mon, Jun 1, 2009 at 12:35 PM, Michael Potter <michael at potter.name>
>> wrote:
>>> Jay,
>>> Here is my 2 cents:  If you are intending to replace Perl with Java then
>>> consider Groovy instead of Java.  Groovy has a lot of the benefits of
>>> Perl
>>> (Dynamic Language), but runs on the JVM and can interface with class
>>> files
>>> that were created with javac.
>>> Let us know what you decide.
>>> --
>>> Michael Potter
>>> On Mon, Jun 1, 2009 at 12:14 PM, Jay Strauss <me at heyjay.com> wrote:
>>>> Hi all, need some advice.
>>>> I want to build a new system.  My bro and I have a small
>>>> equity/options trading application.  We cobbled it together in Perl
>>>> and Oracle years ago.  Things have broken, some of the stuff we want
>>>> to change.  Ultimately we want to start over.
>>>> I'm just trying to decide on what architecture to use going forward.
>>>> I know this is a pretty wide question.
>>>> Most (all) of the processes will run on a single box.  I don't really
>>>> have an idea of which presentation route we'll go (full rich client
>>>> maybe using Java/Swing, maybe a Java Script client using GWT, maybe
>>>> plain HTML).  The client will probably request functionality from the
>>>> server.
>>>> I was thinking we'd do the whole API for asking for quotes, requesting
>>>> analytics, inserting transactins...  via HTTP (SOAP).
>>>> Can anyone give me their thoughts on their lessons learned, maybe
>>>> routes to try, stuff I should be thinking of...
>>>> (again I know this is pretty open ended, but I'm interested in what
>>>> others have done with success)
>>>> Thanks
>>>> Jay
>>>> _______________________________________________
>>>> Chicago-talk mailing list
>>>> Chicago-talk at pm.org
>>>> http://mail.pm.org/mailman/listinfo/chicago-talk
>>> _______________________________________________
>>> Chicago-talk mailing list
>>> Chicago-talk at pm.org
>>> http://mail.pm.org/mailman/listinfo/chicago-talk
>> _______________________________________________
>> Chicago-talk mailing list
>> Chicago-talk at pm.org
>> http://mail.pm.org/mailman/listinfo/chicago-talk
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk

More information about the Chicago-talk mailing list