You may want to look @ Jigsaw which is HTTP server that can be configured as
a HTTP Client (by implementing it as a  Proxy). I did  this like 5-6 years
ago and it served my purpose very well.

The HTTP Client would generate the HTTP requests to the web server(s). 
The response would get cached to disk and  processed/transformed to the
business logic layer via a client side filter mechanism that Jigsaw has.
Should save you from writing a lot of code..

A classic case for the Adapter pattern.

Jigsaw is at:
http://www.w3.org/Jigsaw/

Mahesh




------------------------------------------
Mahesh Joshi
W- 408-543-7214
M- 408-829-8051
[EMAIL PROTECTED]



>>-----Original Message-----
>>From: Chappell, Simon P [mailto:[EMAIL PROTECTED]
>>Sent: Thursday, October 16, 2003 4:56 PM
>>To: Struts Users Mailing List
>>Subject: RE: [Semi OT] When does a servlet get a session?
>>
>>
>>Funny you should suggest that. We're currently considering 
>>this as an option.
>>
>>The DF1 protocol is a stone-age protocol used by 
>>Allen-Bradley Programmable Logic Controllers and as such is 
>>very inflexible.
>>
>>While we work on this, we're gonna work with our load 
>>balancer and try to get our sessions to be extra-sticky so 
>>that the likelyhood of two different requests from a PLC 
>>going to different WAS servers is greatly reduced. It 
>>certainly is a pickle of a situation!
>>
>>Simon
>>
>>>-----Original Message-----
>>>From: Joseph Fifield [mailto:[EMAIL PROTECTED]
>>>Sent: Thursday, October 16, 2003 6:06 PM
>>>To: Struts Users Mailing List
>>>Subject: Re: [Semi OT] When does a servlet get a session?
>>>
>>>
>>>I suppose you could fake the http requests yourself, couldn't 
>>>you? When the
>>>DF1 request comes in, translate it to an http get or post 
>>>request and send
>>>it off to your existing struts system. Translate the http 
>>response into
>>>whatever is needed for the DF1 response.
>>>
>>>Also, does this DF1 protocol have any notion of a session? In 
>>>other words,
>>>is there some unique identifier sent with each request to tie 
>>>it to other
>>>requests, or are all requests basically global? Either way, 
>>>you would need
>>>to send an appropriate jsessionid value back with your fake 
>>>http requests in
>>>order to maintain the same http session.
>>>
>>>Joe
>>>
>>>----- Original Message ----- 
>>>From: "Chappell, Simon P" <[EMAIL PROTECTED]>
>>>To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
>>>Sent: Thursday, October 16, 2003 5:31 PM
>>>Subject: RE: [Semi OT] When does a servlet get a session?
>>>
>>>
>>>Craig,
>>>
>>>>-----Original Message-----
>>>>From: Craig R. McClanahan [mailto:[EMAIL PROTECTED]
>>>>Sent: Thursday, October 16, 2003 4:19 PM
>>>>To: Struts Users Mailing List
>>>>Subject: Re: [Semi OT] When does a servlet get a session?
>>>>
>>>>
>>>>Chappell, Simon P wrote:
>>>>
>>>>>You're right that we'll never have an HTTP request, so I can
>>>>see why you're confused as to why we'd want a session. The
>>>>reason is for performance. We want to avoid the overhead of
>>>>writing and reading a database. This is very short term
>>>>information, but now that we're needing to run in a
>>>>load-balanced cluster, we need to be able to handle the
>>>>situation where requests could, in the worst case scenario,
>>>>come into each server alternatively. IBM's WebSphere App.
>>>>Server when running in a cluster will propogate the session to
>>>>any server that needs it. Thus if we use a session, it'll
>>>>propogate back and forth between the boxes.
>>>>>
>>>>>
>>>>The problem you're going to have is that there is no such 
>>thing as an
>>>>HttpSession without an HTTP request.
>>>
>>>We found that out! :-(
>>>
>>>>Even if you could do what you
>>>>propose, it would only make the stored information available
>>>>to a single
>>>>user -- that doesn't seem like it will do what you want.
>>>
>>>Actually, it is exactly what we want. This servlet only exists 
>>>to start our
>>>socket listener. This is a "certifiably awful hack", but they 
>>>wouldn't let
>>>us run a separate server application, so when all you have 
>>is a servlet
>>>engine, everything looks like a hammer (or something like that).
>>>
>>>>A possible strategy to avoid READING the database on every
>>>>request is to
>>>>have a webapp startup method load  the data into a servlet context
>>>>attribute.  This will happen on each node the app is 
>>deployed to, but
>>>>will happen only once (before the first request is processed).
>>>
>>>Actually, we have something like that now, where we store 
>>>information in a
>>>static variable in the servlet. That works fine. The issue is 
>>>that for WAS
>>>to replicate it between server instances, it needs to be in 
>>the servlet
>>>session that we don't have.
>>>
>>>The other challenge is that we don't have any control over the 
>>>DF1 protocol
>>>or the serial to IP device that calls our listener. We asked 
>>>our engineers
>>>if they could try faking some HTTP and then we could send the traffic
>>>through our existing Struts based system, but it would seem 
>>that is not
>>>possible with the current hardware situation that they work with.
>>>
>>>Simon
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to