Author: [EMAIL PROTECTED]
Date: Mon Dec 8 13:06:21 2008
New Revision: 4267
Modified:
wiki/WAR_Design_1_6.wiki
Log:
Edited wiki page through web user interface.
Modified: wiki/WAR_Design_1_6.wiki
==============================================================================
--- wiki/WAR_Design_1_6.wiki (original)
+++ wiki/WAR_Design_1_6.wiki Mon Dec 8 13:06:21 2008
@@ -117,6 +117,12 @@
# A web browser then loads the host HTML page, which loads the
compiled selection script.
# The compiled selection script detects that it is not running in the
hosted browser, and therefore loads web mode normally.
+== RPC Servlets in Hosted Mode ==
+
+RPC servlets present special problems with this design. RPC servlets by
design and convention are mounted relative to the module's base URL.
However, we are effectively changing the module's base URL for each hosted
mode module session. We believe this implies N-many instances of RPC
servlets must be instantiated simultaneously, because each instance might
have a different serialization policy file corresponding to a different
hosted mode session state. N-many instances implies that this cannot be
accomplished merely through web.xml configuration, but servlets must be
dynamically mapped; perhaps through a servlet filter.
+
+Alternatively: perhaps we could do write a pattern-match rule in the
web.xml combined with some special magic in RemoteServiceServlet to avoid
having to install a filter, and allow a single RPC servlet to service
multiple module sessions at the same time.
+
== Linker Stack Changes ==
The linker stack must now support hosted mode fully and correctly. When a
hosted browser begins to load a GWT application, a module-session is
created, and an initial link is performed into the module-session
directory. This module-session is retained throughout the life of that
hosted browser remaining on the page. The initial link takes only public
resources as inputs, but should produce a selection script based on zero
`CompilationResult`s. In the future, we may choose to synthesize a
`HostedModeCompilationResult` to represent the actual deferred binding
properties of the browser associated with the module-session.
@@ -132,21 +138,18 @@
== Open Issues ==
# How do we isolate the web app classloader to ensure same behavior in
deployment?
# What happens to the GWT `<servlet>` tag for `HostedMode`?
- # Supported programmatically? (Can lead to deployment failure.)
- # Deprecated?
- # Ignored?
- # Validate that web.xml matches and suggest the text to add? <---
this one
+ # Validate that web.xml matches and suggest the text to add?
+ # Host new instances ourselves via a servlet Filter for active module
sessions
# `war/qualified.ModuleName/scripts/` is likely to change in 2.0 with
runAsync
# How will JUnit work?
# Probably can use legacy stuff for now
# Will this design work with Maven?
# Will the module-session idea negatively impact history / backing into
an application?
- # How the heck do we make RPC servlets, which are based off module base
URL, work with the rebasing for module sessions?
== Deprecation Policy==
The 1.6 release should deprecate the legacy entry points so that they may
be removed entirely in the subsequent release. Without a forcing function,
there is no incentive for users to migrate to newer entry-points, leaving
them as the proverbial albatross.
== Open Tasks ==
- # Make sure app creator and sample follow this structure.
- # Remove the GWT module deploy-to attribute introduced in the 1.6 branch.
\ No newline at end of file
+ # Make sure app creator and samples follow this structure.
+ # Deprecate somehow GWTCompiler and GWTShell
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---