RE: Asynchronous Http Client donation

2007-08-18 Thread Simon Aquilina

Hi,

I am sorry if this reply is not exactly what you may be expecting back. I am 
sure around here there are many experts that will have many more interesting 
replies then this one. However could you please explain to me (and possible 
others) what Asynch[ronous] Http Client is, and what are its advantages? If 
I know exactly what it is then I can imagine ways on how to use it :)


Thanks and Regards,
Sim085


From: Jeff Genender [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: dev@mina.apache.org
Subject: Asynchronous Http Client donation
Date: Fri, 17 Aug 2007 20:19:07 -0600

Hi,

First, I want to say that I am a big fan of Mina.  For those who don't
know me (which is everyone), I am a committer on Geronimo and have had
several people ask about an async http client API to use with our NIO
clients with comet for the 2.0 Geronimo server.  We have had folks who
want to be able to do HTTP calls to 3rd party servers from servlets/web
apps to get content, and not tie up a thread while its doing its thing.
 So I decided to try to whip together an API that was similar to Commons
HttpClient, fully asynchronous, but based on Mina...and I think I have
80-90% of it completed.  It is here:

http://svn.apache.org/repos/asf/geronimo/sandbox/AsyncHttpClient

For what it's worth...it doesn't seem appropriate for Geronimo. So I
would like to donate it to Mina.  Please have a look at it and give me
feed back for if I have gone down the right path.  It can be enhanced
greatly as this is just a start, but I think it can be very useful and
become a powerful API with everyone moving to NIO.

Don't hold back any comments ;-)  I would really like to see an API like
this and I believe Mina is just perfect for this.

Please let me know what you think..and if you don't think its right for
Mina..thats ok too ;-)  But getting your feedback would be best for
me...and making this a community project is even better ;-)

Jeff


_
Don't just search. Find. Check out the new MSN Search! 
http://search.msn.com/




Re: Asynchronous Http Client donation

2007-08-18 Thread Jeff Genender


Simon Aquilina wrote:
 Hi,
 
 I am sorry if this reply is not exactly what you may be expecting back.
 I am sure around here there are many experts that will have many more
 interesting replies then this one. However could you please explain to
 me (and possible others) what Asynch[ronous] Http Client is, and what
 are its advantages? If I know exactly what it is then I can imagine ways
 on how to use it :)

Sure...I would be happy to explain it.

With the movement of web containers to NIO (Ex. Jetty, Tomcat, and
AsyncWeb), they are able to handle a lot more throughput and
simultaneous connections.

For some web applications, the servlets may need to retrieve data from a
third party web service or scrape 3rd party HTML to embed in a page, or
need to grab content as a proxy, like images or ads or pdf from another
server.  In these sorts of scenarios, the NIO/Comet in the web server
would normally have a thread that is blocking when using a blocking
client API (like Commons HttpClient or Sun's HttpURLConnect) to retrieve
this data.  This could significantly throttle the throughput of the NIO
containers.  By having an Async Http Client API, the thread could be
parked and put into use for something else while the original call is
waiting for a connection or a response from the third party server.

Jeff

 
 Thanks and Regards,
 Sim085
 
 From: Jeff Genender [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: dev@mina.apache.org
 Subject: Asynchronous Http Client donation
 Date: Fri, 17 Aug 2007 20:19:07 -0600

 Hi,

 First, I want to say that I am a big fan of Mina.  For those who don't
 know me (which is everyone), I am a committer on Geronimo and have had
 several people ask about an async http client API to use with our NIO
 clients with comet for the 2.0 Geronimo server.  We have had folks who
 want to be able to do HTTP calls to 3rd party servers from servlets/web
 apps to get content, and not tie up a thread while its doing its thing.
  So I decided to try to whip together an API that was similar to Commons
 HttpClient, fully asynchronous, but based on Mina...and I think I have
 80-90% of it completed.  It is here:

 http://svn.apache.org/repos/asf/geronimo/sandbox/AsyncHttpClient

 For what it's worth...it doesn't seem appropriate for Geronimo. So I
 would like to donate it to Mina.  Please have a look at it and give me
 feed back for if I have gone down the right path.  It can be enhanced
 greatly as this is just a start, but I think it can be very useful and
 become a powerful API with everyone moving to NIO.

 Don't hold back any comments ;-)  I would really like to see an API like
 this and I believe Mina is just perfect for this.

 Please let me know what you think..and if you don't think its right for
 Mina..thats ok too ;-)  But getting your feedback would be best for
 me...and making this a community project is even better ;-)

 Jeff
 
 _
 Don't just search. Find. Check out the new MSN Search!
 http://search.msn.com/


Re: Asynchronous Http Client donation

2007-08-18 Thread Simon Aquilina
Thanks for the explanation :) I am no expert in Mina so the source of my 
questions was mostly made out from curiosity. However from what you 
explained it seems to be a very good idea :)


Thanks again,
Sim085


From: Jeff Genender [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
To: dev@mina.apache.org
Subject: Re: Asynchronous Http Client donation
Date: Sat, 18 Aug 2007 09:32:23 -0600



Simon Aquilina wrote:
 Hi,

 I am sorry if this reply is not exactly what you may be expecting back.
 I am sure around here there are many experts that will have many more
 interesting replies then this one. However could you please explain to
 me (and possible others) what Asynch[ronous] Http Client is, and what
 are its advantages? If I know exactly what it is then I can imagine ways
 on how to use it :)

Sure...I would be happy to explain it.

With the movement of web containers to NIO (Ex. Jetty, Tomcat, and
AsyncWeb), they are able to handle a lot more throughput and
simultaneous connections.

For some web applications, the servlets may need to retrieve data from a
third party web service or scrape 3rd party HTML to embed in a page, or
need to grab content as a proxy, like images or ads or pdf from another
server.  In these sorts of scenarios, the NIO/Comet in the web server
would normally have a thread that is blocking when using a blocking
client API (like Commons HttpClient or Sun's HttpURLConnect) to retrieve
this data.  This could significantly throttle the throughput of the NIO
containers.  By having an Async Http Client API, the thread could be
parked and put into use for something else while the original call is
waiting for a connection or a response from the third party server.

Jeff


 Thanks and Regards,
 Sim085

 From: Jeff Genender [EMAIL PROTECTED]
 Reply-To: [EMAIL PROTECTED]
 To: dev@mina.apache.org
 Subject: Asynchronous Http Client donation
 Date: Fri, 17 Aug 2007 20:19:07 -0600

 Hi,

 First, I want to say that I am a big fan of Mina.  For those who don't
 know me (which is everyone), I am a committer on Geronimo and have had
 several people ask about an async http client API to use with our NIO
 clients with comet for the 2.0 Geronimo server.  We have had folks who
 want to be able to do HTTP calls to 3rd party servers from servlets/web
 apps to get content, and not tie up a thread while its doing its thing.
  So I decided to try to whip together an API that was similar to 
Commons

 HttpClient, fully asynchronous, but based on Mina...and I think I have
 80-90% of it completed.  It is here:

 http://svn.apache.org/repos/asf/geronimo/sandbox/AsyncHttpClient

 For what it's worth...it doesn't seem appropriate for Geronimo. So I
 would like to donate it to Mina.  Please have a look at it and give me
 feed back for if I have gone down the right path.  It can be enhanced
 greatly as this is just a start, but I think it can be very useful and
 become a powerful API with everyone moving to NIO.

 Don't hold back any comments ;-)  I would really like to see an API 
like

 this and I believe Mina is just perfect for this.

 Please let me know what you think..and if you don't think its right for
 Mina..thats ok too ;-)  But getting your feedback would be best for
 me...and making this a community project is even better ;-)

 Jeff

 _
 Don't just search. Find. Check out the new MSN Search!
 http://search.msn.com/


_
FREE pop-up blocking with the new MSN Toolbar - get it now! 
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/




Re: Asynchronous Http Client donation

2007-08-18 Thread Mark
I will have some free time in the next week or so.  I can take the lead on
incorporating this into the baseline, if someone wants to give me a good
recommendation as to where to place the code.  My initial thought is to
create a new top level project inside of the trunk.  Maybe
mina-asynch-httpclient ?



On 8/17/07, Jeff Genender [EMAIL PROTECTED] wrote:

 Hi,

 First, I want to say that I am a big fan of Mina.  For those who don't
 know me (which is everyone), I am a committer on Geronimo and have had
 several people ask about an async http client API to use with our NIO
 clients with comet for the 2.0 Geronimo server.  We have had folks who
 want to be able to do HTTP calls to 3rd party servers from servlets/web
 apps to get content, and not tie up a thread while its doing its thing.
 So I decided to try to whip together an API that was similar to Commons
 HttpClient, fully asynchronous, but based on Mina...and I think I have
 80-90% of it completed.  It is here:

 http://svn.apache.org/repos/asf/geronimo/sandbox/AsyncHttpClient

 For what it's worth...it doesn't seem appropriate for Geronimo. So I
 would like to donate it to Mina.  Please have a look at it and give me
 feed back for if I have gone down the right path.  It can be enhanced
 greatly as this is just a start, but I think it can be very useful and
 become a powerful API with everyone moving to NIO.

 Don't hold back any comments ;-)  I would really like to see an API like
 this and I believe Mina is just perfect for this.

 Please let me know what you think..and if you don't think its right for
 Mina..thats ok too ;-)  But getting your feedback would be best for
 me...and making this a community project is even better ;-)

 Jeff




-- 
..Cheers
Mark


Re: Asynchronous Http Client donation

2007-08-18 Thread Jeff Genender


Mark wrote:
 I will have some free time in the next week or so.  I can take the lead on
 incorporating this into the baseline, if someone wants to give me a good
 recommendation as to where to place the code.  My initial thought is to
 create a new top level project inside of the trunk.  Maybe
 mina-asynch-httpclient ?

+1 from a non-binding person ;-)

Jeff


 
 
 
 On 8/17/07, Jeff Genender [EMAIL PROTECTED] wrote:
 Hi,

 First, I want to say that I am a big fan of Mina.  For those who don't
 know me (which is everyone), I am a committer on Geronimo and have had
 several people ask about an async http client API to use with our NIO
 clients with comet for the 2.0 Geronimo server.  We have had folks who
 want to be able to do HTTP calls to 3rd party servers from servlets/web
 apps to get content, and not tie up a thread while its doing its thing.
 So I decided to try to whip together an API that was similar to Commons
 HttpClient, fully asynchronous, but based on Mina...and I think I have
 80-90% of it completed.  It is here:

 http://svn.apache.org/repos/asf/geronimo/sandbox/AsyncHttpClient

 For what it's worth...it doesn't seem appropriate for Geronimo. So I
 would like to donate it to Mina.  Please have a look at it and give me
 feed back for if I have gone down the right path.  It can be enhanced
 greatly as this is just a start, but I think it can be very useful and
 become a powerful API with everyone moving to NIO.

 Don't hold back any comments ;-)  I would really like to see an API like
 this and I believe Mina is just perfect for this.

 Please let me know what you think..and if you don't think its right for
 Mina..thats ok too ;-)  But getting your feedback would be best for
 me...and making this a community project is even better ;-)

 Jeff

 
 
 


Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
I'm at a impasse with protocols. I don't know which to use. Does anyone 
have a suggestion? I like something simple like JMS uses. I tried 
serialization, but feel I'll run into limitations. I looked at things 
like JSON, and XStream.


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Rodrigo Madera
Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:

 I'm at a impasse with protocols. I don't know which to use. Does anyone
 have a suggestion? I like something simple like JMS uses. I tried
 serialization, but feel I'll run into limitations. I looked at things
 like JSON, and XStream.

 --
 Justin Stanczak
 Stanczak Group
 812-735-3600

 All that is necessary for the triumph of evil is that good men do
 nothing.
 Edmund Burke




Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
I'm creating a client/server learning management system. It will involve 
everything from passing objects to multimedia audio/video. I need some 
kind of control structure to pass requests to different services on the 
handler. I was just creating a main handler and having it call an array 
of services. But none of this is set in stone. I'm really just learning 
it. An example would be a student logs in and a request if made for the 
list of courses this student is enrolled in. So my server would return a 
list of Course objects to the client. So I have to have a way to route 
requests to the proper services. I started to create a action class that 
just extends a hashmap that way it was abstract enough to used on future 
version. Like JMS message class. Does any of this make sense? I'm sure 
others deal with this issue all the time. I even thought about just 
copying the JMS message class.


Rodrigo Madera wrote:

Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:
  

I'm at a impasse with protocols. I don't know which to use. Does anyone
have a suggestion? I like something simple like JMS uses. I tried
serialization, but feel I'll run into limitations. I looked at things
like JSON, and XStream.

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke





  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Rodrigo Madera
Justin,

By what you said, you definitely described a HTTP based application.

Everything you need can be used using simple JSP stuff.

Of course you could do it in many other ways, but I would professionally
advise you to seriously consider HTTP.

Hope I helped a bit,
Rodrigo

On 8/19/07, Stanczak Group [EMAIL PROTECTED] wrote:

 I'm creating a client/server learning management system. It will involve
 everything from passing objects to multimedia audio/video. I need some
 kind of control structure to pass requests to different services on the
 handler. I was just creating a main handler and having it call an array
 of services. But none of this is set in stone. I'm really just learning
 it. An example would be a student logs in and a request if made for the
 list of courses this student is enrolled in. So my server would return a
 list of Course objects to the client. So I have to have a way to route
 requests to the proper services. I started to create a action class that
 just extends a hashmap that way it was abstract enough to used on future
 version. Like JMS message class. Does any of this make sense? I'm sure
 others deal with this issue all the time. I even thought about just
 copying the JMS message class.

 Rodrigo Madera wrote:
  Hello Justin,
 
  Deciding on a protocol is something that involves a lot of variables.
 
  Describe what your project's needs are and we may be able to help you
  better.
 
  Regards,
  Rodrigo
 
  On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:
 
  I'm at a impasse with protocols. I don't know which to use. Does anyone
  have a suggestion? I like something simple like JMS uses. I tried
  serialization, but feel I'll run into limitations. I looked at things
  like JSON, and XStream.
 
  --
  Justin Stanczak
  Stanczak Group
  812-735-3600
 
  All that is necessary for the triumph of evil is that good men do
  nothing.
  Edmund Burke
 
 
 
 
 

 --
 Justin Stanczak
 Stanczak Group
 812-735-3600

 All that is necessary for the triumph of evil is that good men do
 nothing.
 Edmund Burke




Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
So you're saying not to use Mina? Us Tomcat and JSP? Or Http over Mina? 
I don't want a browser based client. I want a rich Java client.


Rodrigo Madera wrote:

Justin,

By what you said, you definitely described a HTTP based application.

Everything you need can be used using simple JSP stuff.

Of course you could do it in many other ways, but I would professionally
advise you to seriously consider HTTP.

Hope I helped a bit,
Rodrigo

On 8/19/07, Stanczak Group [EMAIL PROTECTED] wrote:
  

I'm creating a client/server learning management system. It will involve
everything from passing objects to multimedia audio/video. I need some
kind of control structure to pass requests to different services on the
handler. I was just creating a main handler and having it call an array
of services. But none of this is set in stone. I'm really just learning
it. An example would be a student logs in and a request if made for the
list of courses this student is enrolled in. So my server would return a
list of Course objects to the client. So I have to have a way to route
requests to the proper services. I started to create a action class that
just extends a hashmap that way it was abstract enough to used on future
version. Like JMS message class. Does any of this make sense? I'm sure
others deal with this issue all the time. I even thought about just
copying the JMS message class.

Rodrigo Madera wrote:


Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:

  

I'm at a impasse with protocols. I don't know which to use. Does anyone
have a suggestion? I like something simple like JMS uses. I tried
serialization, but feel I'll run into limitations. I looked at things
like JSON, and XStream.

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke




  

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke





  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
I would reference something like Adobe Breeze as an example of what I'd 
like to create. Except using Java and Webstart.


Rodrigo Madera wrote:

Justin,

By what you said, you definitely described a HTTP based application.

Everything you need can be used using simple JSP stuff.

Of course you could do it in many other ways, but I would professionally
advise you to seriously consider HTTP.

Hope I helped a bit,
Rodrigo

On 8/19/07, Stanczak Group [EMAIL PROTECTED] wrote:
  

I'm creating a client/server learning management system. It will involve
everything from passing objects to multimedia audio/video. I need some
kind of control structure to pass requests to different services on the
handler. I was just creating a main handler and having it call an array
of services. But none of this is set in stone. I'm really just learning
it. An example would be a student logs in and a request if made for the
list of courses this student is enrolled in. So my server would return a
list of Course objects to the client. So I have to have a way to route
requests to the proper services. I started to create a action class that
just extends a hashmap that way it was abstract enough to used on future
version. Like JMS message class. Does any of this make sense? I'm sure
others deal with this issue all the time. I even thought about just
copying the JMS message class.

Rodrigo Madera wrote:


Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:

  

I'm at a impasse with protocols. I don't know which to use. Does anyone
have a suggestion? I like something simple like JMS uses. I tried
serialization, but feel I'll run into limitations. I looked at things
like JSON, and XStream.

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke




  

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke





  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group

I was also looking at Restlet, now that you say HTTP.

Rodrigo Madera wrote:

Justin,

By what you said, you definitely described a HTTP based application.

Everything you need can be used using simple JSP stuff.

Of course you could do it in many other ways, but I would professionally
advise you to seriously consider HTTP.

Hope I helped a bit,
Rodrigo

On 8/19/07, Stanczak Group [EMAIL PROTECTED] wrote:
  

I'm creating a client/server learning management system. It will involve
everything from passing objects to multimedia audio/video. I need some
kind of control structure to pass requests to different services on the
handler. I was just creating a main handler and having it call an array
of services. But none of this is set in stone. I'm really just learning
it. An example would be a student logs in and a request if made for the
list of courses this student is enrolled in. So my server would return a
list of Course objects to the client. So I have to have a way to route
requests to the proper services. I started to create a action class that
just extends a hashmap that way it was abstract enough to used on future
version. Like JMS message class. Does any of this make sense? I'm sure
others deal with this issue all the time. I even thought about just
copying the JMS message class.

Rodrigo Madera wrote:


Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:

  

I'm at a impasse with protocols. I don't know which to use. Does anyone
have a suggestion? I like something simple like JMS uses. I tried
serialization, but feel I'll run into limitations. I looked at things
like JSON, and XStream.

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke




  

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke





  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
I was also looking at Restlet, now that you say HTTP. I looked at JBoss 
Remoting as well.


Rodrigo Madera wrote:

Justin,

By what you said, you definitely described a HTTP based application.

Everything you need can be used using simple JSP stuff.

Of course you could do it in many other ways, but I would professionally
advise you to seriously consider HTTP.

Hope I helped a bit,
Rodrigo

On 8/19/07, Stanczak Group [EMAIL PROTECTED] wrote:
  

I'm creating a client/server learning management system. It will involve
everything from passing objects to multimedia audio/video. I need some
kind of control structure to pass requests to different services on the
handler. I was just creating a main handler and having it call an array
of services. But none of this is set in stone. I'm really just learning
it. An example would be a student logs in and a request if made for the
list of courses this student is enrolled in. So my server would return a
list of Course objects to the client. So I have to have a way to route
requests to the proper services. I started to create a action class that
just extends a hashmap that way it was abstract enough to used on future
version. Like JMS message class. Does any of this make sense? I'm sure
others deal with this issue all the time. I even thought about just
copying the JMS message class.

Rodrigo Madera wrote:


Hello Justin,

Deciding on a protocol is something that involves a lot of variables.

Describe what your project's needs are and we may be able to help you
better.

Regards,
Rodrigo

On 8/18/07, Stanczak Group [EMAIL PROTECTED] wrote:

  

I'm at a impasse with protocols. I don't know which to use. Does anyone
have a suggestion? I like something simple like JMS uses. I tried
serialization, but feel I'll run into limitations. I looked at things
like JSON, and XStream.

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke




  

--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do
nothing.
Edmund Burke





  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Rodrigo Madera
I'll give you my opinion based on your description.

Or course, this is only one of the various ways you can implement your
project.

It would be awesome that other members of the list provide their own
implementations so we can compare.

I'm creating a client/server learning management system. It will involve
 everything from passing objects to multimedia audio/video. I need some
 kind of control structure to pass requests to different services on the
 handler.


This could be implemented as a rich Internet page. Of course you will need a
web interface (which you said you don't want) but this way it's already
available and ready for you to put together.


I was just creating a main handler and having it call an array
 of services. But none of this is set in stone. I'm really just learning
 it. An example would be a student logs in and a request if made for the
 list of courses this student is enrolled in. So my server would return a
 list of Course objects to the client. So I have to have a way to route
 requests to the proper services.


This is normally implemented as a page. You can make this a standard web
service using SOAP (which relies on HTTP itself) and make it available for
every kind of client, be it or not a web based one.

I started to create a action class that
 just extends a hashmap that way it was abstract enough to used on future
 version. Like JMS message class. Does any of this make sense? I'm sure
 others deal with this issue all the time. I even thought about just
 copying the JMS message class.


Again, you could implement it using a variety of methods, but the web page
version makes more sense to me.

Regards,
Rodrigo


Re: Deciding on a protocol, need help

2007-08-18 Thread Pat Farrell

Rodrigo Madera wrote:

By what you said, you definitely described a HTTP based application.
Everything you need can be used using simple JSP stuff.


What Rodrigo said.

If what you want to do can be directly done using HTTP, I believe you 
are much better off using it than using any other protocol or messaging 
system. This means your protocol has to be either purely stateless, or 
be able to live with the kinds of state management that you can do with 
Sessions in the servlet model (and equivalent)


Of course, you can go too far in this direction.
One thing that drives me nuts is folks reimplementing much of TCP/IP 
over HTTP (or worse, remote object invocation, etc.).


The prime advantage of using HTTP, in addition to the not minor fact 
that there are tons of tools to help, is that corporate firewalls 
generally allow HTTP over port 80 and many block nearly everything else.


Being able to deploy in a commercial setting without having to spend 
years getting the IT department to approve is a big deal.



--
Pat Farrell
http://www.pfarrell.com/



Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
Ya, I've written web applications for many years, using many different 
frameworks. I looked at the XFire approach, but I find it a very heavy 
stack. However I've never used it so I can't say for sure. Mina just 
seemed like a very fast and flexible framework, being a network 
framework for applications.


Rodrigo Madera wrote:

I'll give you my opinion based on your description.

Or course, this is only one of the various ways you can implement your
project.

It would be awesome that other members of the list provide their own
implementations so we can compare.

I'm creating a client/server learning management system. It will involve
  

everything from passing objects to multimedia audio/video. I need some
kind of control structure to pass requests to different services on the
handler.




This could be implemented as a rich Internet page. Of course you will need a
web interface (which you said you don't want) but this way it's already
available and ready for you to put together.


I was just creating a main handler and having it call an array
  

of services. But none of this is set in stone. I'm really just learning
it. An example would be a student logs in and a request if made for the
list of courses this student is enrolled in. So my server would return a
list of Course objects to the client. So I have to have a way to route
requests to the proper services.




This is normally implemented as a page. You can make this a standard web
service using SOAP (which relies on HTTP itself) and make it available for
every kind of client, be it or not a web based one.

I started to create a action class that
  

just extends a hashmap that way it was abstract enough to used on future
version. Like JMS message class. Does any of this make sense? I'm sure
others deal with this issue all the time. I even thought about just
copying the JMS message class.




Again, you could implement it using a variety of methods, but the web page
version makes more sense to me.

Regards,
Rodrigo

  


--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group

So would something like Restlet be better for this then Mina?

Pat Farrell wrote:

Rodrigo Madera wrote:

By what you said, you definitely described a HTTP based application.
Everything you need can be used using simple JSP stuff.


What Rodrigo said.

If what you want to do can be directly done using HTTP, I believe you 
are much better off using it than using any other protocol or 
messaging system. This means your protocol has to be either purely 
stateless, or be able to live with the kinds of state management that 
you can do with Sessions in the servlet model (and equivalent)


Of course, you can go too far in this direction.
One thing that drives me nuts is folks reimplementing much of TCP/IP 
over HTTP (or worse, remote object invocation, etc.).


The prime advantage of using HTTP, in addition to the not minor fact 
that there are tons of tools to help, is that corporate firewalls 
generally allow HTTP over port 80 and many block nearly everything else.


Being able to deploy in a commercial setting without having to spend 
years getting the IT department to approve is a big deal.





--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Pat Farrell

Stanczak Group wrote:

So would something like Restlet be better for this then Mina?


I don't want to say anything bad about Mina as its very nice. Very 
clean, and approachable.


I have loved REST for a long time. It solves a lot of real problems.

One of my favorite things about REST is that it is easy to setup and 
test. I'm a big fan of testing, test driven design, etc. If you compare 
what you have to do to make a client for REST against Soap, there is no 
question which is faster to get working.


I haven't looked at Restlet, but from a quick google, it sure looks 
worth considering.


Pat


--
Pat Farrell
http://www.pfarrell.com/



IoSessionLogger.trace()

2007-08-18 Thread Mark
I am getting compilation errors on the following methods:

public static void trace(Logger log, IoSession session, String message)
public static void trace(Logger log, IoSession session, String message,
Throwable cause)

Am I missing someting?  I just did an update in Eclipse, and the problem
still exists.

-- 
..Cheers
Mark


Re: Deciding on a protocol, need help

2007-08-18 Thread Stanczak Group
Ya. I downloaded and tried it out some. Looks pretty good. But it does 
bring up a good question. Where does Mina fit when doing a project. Is 
there things it's better for over others? Is it something that's used to 
make servers or something that's used for client server. Is it LAN or 
WAN? Where  does it fit?


Pat Farrell wrote:

Stanczak Group wrote:

So would something like Restlet be better for this then Mina?


I don't want to say anything bad about Mina as its very nice. Very 
clean, and approachable.


I have loved REST for a long time. It solves a lot of real problems.

One of my favorite things about REST is that it is easy to setup and 
test. I'm a big fan of testing, test driven design, etc. If you 
compare what you have to do to make a client for REST against Soap, 
there is no question which is faster to get working.


I haven't looked at Restlet, but from a quick google, it sure looks 
worth considering.


Pat




--
Justin Stanczak
Stanczak Group
812-735-3600

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke



Re: Deciding on a protocol, need help

2007-08-18 Thread Pat Farrell

Stanczak Group wrote:
 Where does Mina fit when doing a project. Is 
there things it's better for over others?


Sure, look at the mina.apache.org

# Unified API for various transport types:

* TCP/IP  UDP/IP via Java NIO
* Serial communication (RS232) via RXTX
* In-VM pipe communication
* You can implement your own!

If you restrict yourself to just using HTTP, your transport if locked.
Mina is vastly more flexible, and for lots of stuff, you need it.

For example, if you really want a UDP type service, don't even think 
about pushing that over HTTP, as HTTP is total overkill. Same if you 
want to use serial.


--
Pat Farrell
http://www.pfarrell.com/