dev@grizzly.java.net

Re: can I use grizzly to develop a push server for both desktop and web client applications

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Wed, 13 Jun 2007 18:05:43 -0400

Hi Emre,

Emre Özcan wrote:
> Hi;
>
> Thanks for your quick reply.
>
> Here is the story. Subjet of the project is Currency, Options, Future
> Online Platform. There will be a backoffice application to enter user
> operations like their balance, trades etc. Traditionally, users give
> their trade orders via chat or phone. The aim of online platform is
> enable customers to trade via this platform. These are the parts we plan
> to develop and I am still searching for the architecture and the model I
> will use.
>
> * Back Office
> o This is the accounting part of the project and will be used
> internally. It will be a traditional database application.
> Defning users, entering their balance, trades, informations
> etc. will be done using this application. We are planning to
> develop this part using java and hibernate.
> * Price Server
> o This is the part where I need comet. Server should send the
> price data to registered clients as price changes.
> Lightstreamer (http://www.lightstreamer.com) and iPushServer
> (http://www.icetechnology.com/products/ipushv2) are examples
> for this. We have many things to learn about this. We may
> use one of these but we want to develop our price server.

Good idea :-) Lightstreamer is a good product, except it is expensive :-)

> * Application Server
> o This server is responsible for processing client requests
> (trade orders sent by online platforms). This server must
> serve at least 2500 clients simultaneously. We are planning
> to develop this based on ARP. Actually I want to combine
> price and application servers if I can.
> * Online Platform (Web Client, Desktop Client)
> o Both web and desktop clients have the same mission. They are
> aimed to enable users giving trade orders. Client will
> register to price server and aplication server, receive
> price data from price server and display it and finally send
> user orders to application server and display results of
> order. We were planning to use JSP and Tomcat. But as I
> understand comet support in Tomcat is still waiting.
>

Well based on your requirement, I would recommend you take a look at
GlassFish v2 for the following reasons:

+ Grizzly is embedded in GlassFish, hence Comet and ARP support are
available.
+ GlassFish already have a Servlet/JSP Container based on Tomcat 5 (We
forked from Tomcat community after the Grizzly HTTP NIO project has started)
+ Grizzly can handle much more than 2500 clients [1].
+ GlassFish support more than one database and support Hibernate.

>
> Here is our design in mind but we can change it.
> Desing Of Project
>
> We just started planning the project. There are still many questions in
> our minds. Architecture, web server, ... We have decided to use Java as
> programming language. As stability and performance criterias are very
> important, I mean the system must operate fast and it must be reliable.
> We don't want a complex system. If we can use a web server for both
> desktop and web clients and in the future for some other clients we will
> do it. If we can combine application server and price server we will do
> it. We are just not sure if we can use grizzly to do these tasks. This
> is my real question.

Yes you can, either by using Grizzly standalone for Comet and ARP, and
Tomcat/Hibernate/DB for the remaining or use GlassFish which comes will
all of the components integrated in an application server.

>
>
> Which protocol your Desktop client will use? Http?
> Not sure yet. We have Http in mind to use web server for both
> desktop and web clients.
> What kind of Web Application?
> We are planning a Ajax enabled web app. Two main tasks, display
> prices from server and senf user trade orders to server.

On the server side, are you planning to use a Servlet/JSP to process the
AJAX request?

>

Thanks,

-- Jeanfrancois

[1] http://weblogs.java.net/blog/sdo/archive/2007/05/how_to_test_con.html


> Thanks
> Emre
>