Following is the high level integrate chart for IHG GWT client and IHG backend servers.
Client side is GWT and backend is Spring MVC.

Flow of execution:
- Once user type in a url such as http://www.holidayinn.com/hi/us/en/atlca/hoteldetail, Spring DispatchServlet will be invoked and URLMappingInterceptor will be executed.
- URLMappingInterceptor will parse the URL to get region, brand, language and other env information (such as contextPath, URI etc), convert env to JSON object, save JSON object to request variable. Then flow will go to the Controller.
- The Controller will handle the request, validate request, session manager, call Business Object and forward control to JSP.
- In JSP, the request scope JSON object will be assigned to Javascript variable. The control will be back to browser.
- Browser will execute GWT nocache.js embedded through JSP and GWT Engine will be invoked.
- GWT Engine will extract and parse configuration xml file through navigation manager
- The page is rendered and displayed to the end user.
Navigation manager responsible for:
- Create navigation flow to history listener.
- Get populators through one RPC call and populate return values to widgets
- Display resource bundle content with ResouceBundleWidget.
- Use DayContentWidget to collect day content inputs and set to HashMap, then a single RPC call will be invoked to get all day contents.
- DayContentWidget will re-populate day content value to user.
- Day is content management tool IHG used. The content can be changed dynamically with Day author.
- populator is internal term used for dropdown and/or check box list items, such as "Rate Preference". dropdown list.
- navigation manager is feature we create to read/parse xml file with defer binding and used to manage navigation as well as populator and day content.
Change History:
Author: Michael Wang, initial draft
No comments:
Post a Comment