I was wondering if you were going to say that :)  That prompts me to ask,
why not simply not have a timeout in App A at all?

I mean, if opening App B is supposed to, in a sense, stop App A from ever
timing out, and if closing App B doesn't necessarily somehow allow App A
to time out again, it sounds like App A timing out is something you could
do without period.

-- 
Frank W. Zammetti
Founder and Chief Software Architect
Omnytex Technologies
http://www.omnytex.com

On Fri, May 13, 2005 12:01 pm, Patrick Lacson said:
> Thanks for the code Frank, I'll give this a try.
>
>> The only problem I see is what do you do when App B closes?  I presume
>> you'd want the timeout in App A to take effect again, but I don't see a
>> foolproof way to do that.
>>
>
>  If webapp B closes, I don't neccessarily want webapp A to timeout.
> The primary application is webapp A and webapp B offers small
> functionality.
>
> Thanks
>
> -Patrick
>
> On 5/13/05, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>> Well, I would want to keep the apps isolated as much as possible, so I
>> would do something like this...
>>
>> (1) When App A opens App B, at the same time, it calls a function of its
>> own that sets a flag in session to indicate that App B is open.
>>
>> (2) On every page of App A I would have a Javascript function that is
>> called as a result of a timer started onLoad.  This function would be
>> something like:
>>
>> function keepAlive() {
>>   try {
>>     if (window.XMLHttpRequest){
>>       ajaxXHR = new XMLHttpRequest();
>>     } else {
>>       ajaxXHR = new ActiveXObject('Microsoft.XMLHTTP');
>>     }
>>     ajaxXHR.open("get", "myKeepAliveAction.do", true);
>>     ajaxXHR.send(null);
>>   } catch(e) {
>>     alert(e.message);
>>   }
>> }
>>
>> (3) myKeepAliveAction would do basically nothing, just return null for
>> the
>> forward.
>>
>> (4) Be sure to only set the timer onLoad when the flag is set in session
>> indicating app B is open.
>>
>> So, what this will do is that when App B is opened, App A would fire
>> this
>> AJAX request to myKeepAliveAction (be sure to set the timer interval to
>> something less than App A's timeout period!).  That should keep App A
>> from
>> timing out and you won't have to worry about refreshing any page or
>> anything.
>>
>> The only problem I see is what do you do when App B closes?  I presume
>> you'd want the timeout in App A to take effect again, but I don't see a
>> foolproof way to do that.
>>
>> --
>> Frank W. Zammetti
>> Founder and Chief Software Architect
>> Omnytex Technologies
>> http://www.omnytex.com
>>
>> On Fri, May 13, 2005 1:47 am, Patrick Lacson said:
>> > hi Frank,
>> >
>> > you're the second person who suggested making an ajax call.. partly
>> > because its probably a cleaner approach.
>> >
>> > do you have an example of how i can use ajax from webapp B to call
>> > webapp A in some interval period?
>> >
>> > thanks much.
>> >
>> >
>> > On 5/12/05, Frank W. Zammetti <[EMAIL PROTECTED]> wrote:
>> >> If you can use Javascript (and can require it), what you could do is
>> set
>> >> a timer in app B's onLoad event to call a Javascript function in app
>> A
>> >> from app B (parent.myFunction();)... This function could refresh
>> >> whatever the current page is in some interval less than your timeout
>> >> period.  You'll have to ensure all pages of app A have that refresh
>> >> function in page-scope, and that all pages in B set that timer and
>> make
>> >> the call.
>> >>
>> >> If a full-page refresh isn't feasible, you can make an AJAX call to
>> app
>> >> A that does really nothing, but that should be enough to keep the
>> >> session from timing out.
>> >>
>> >> Does that all make sense? (I'm not sure I described it well)
>> >>
>> >> Frank W. Zammetti
>> >>
>> >> -----Original Message-----
>> >>     From: "Patrick Lacson"<[EMAIL PROTECTED]>
>> >>     Sent: 5/13/05 12:56:43 AM
>> >>     To: "Tomcat Users List"<tomcat-user@jakarta.apache.org>
>> >>     Subject: Re: Sessions and keep-alives
>> >>       I've considered iframes, but unfortunately not an option for
>> us.
>> >>
>> >>     >From what I understand AJAX can make async calls to the HTTP
>> server
>> >>     from the webapplication only, not on behalf of another.  So if
>> the
>> >>     popup application is webapp B, and the parent webapp A, how can I
>> >> call
>> >>     the webapp A server from webapp B for the keep-alive?
>> >>
>> >>     On 5/12/05, Tim Funk <[EMAIL PROTECTED]> wrote:
>> >>     > The simplest kludge is an iframe that is "hidden" and uses a
>> META
>> >> refresh.
>> >>     >
>> >>     > Or look at using ajax.
>> >>     >
>> >>     > -Tim
>> >>     >
>> >>     > Patrick Lacson wrote:
>> >>     >
>> >>     > > hi All!
>> >>     > >
>> >>     > > I'm involved in a project that integrates two disparate web
>> >>     > > applications: webapp A is using WebSphere and webapp B is
>> using
>> >>     > > Tomcat.
>> >>     > >
>> >>     > > The integration involves Single Sign On, with webapp A being
>> the
>> >>     > > primary webapp from which webapp B is launched.  webapp B is
>> >> launched
>> >>     > > as a popup-window.
>> >>     > >
>> >>     > > My question is: how can i ensure that while the user is
>> working
>> >> on the
>> >>     > > webapp B popup, the parent window webapp A, does not
>> time-out?
>> >>     > >
>> >>     > > Thanks in advance!
>> >>     >
>> >>     > 
>> >> ---------------------------------------------------------------------
>> >>     > To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> >>     > For additional commands, e-mail:
>> >> [EMAIL PROTECTED]
>> >>     >
>> >>     >
>> >>
>> >>     --
>> >>     Patrick
>> >>
>> >>     ---------------------------------------------------------------------
>> >>     To unsubscribe, e-mail:
>> [EMAIL PROTECTED]
>> >>     For additional commands, e-mail:
>> [EMAIL PROTECTED]
>> >>
>> >> [Message truncated. Tap Edit->Mark for Download to get remaining
>> >> portion.]
>> >>
>> >>
>> >
>> >
>> > --
>> > Patrick
>> >
>>
>
>
> --
> Patrick
>


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

Reply via email to