The document proposes a smart device solution architecture with proxy servers that detect client properties like device type and screen size. The proxy servers select an appropriate CSS, access backend service servers, and create customized pages for each client type. This allows common interfaces for all browsers, easy extensions, better performance by offloading processing to proxies, and centralized updates through the proxies rather than each client app.
2. System Architecture
iPad,
Android Pad,
Surface, etc Proxy Servers
request Service Servers
iPhone,
Android Phone,
Windows Phone,
request
Blackberry,
Firefox Phone,
etc
Smart request
In the same lan network
TV,
STB,
etc
3. What should proxy servers do?
detect the client's user-agent to find the browser's type
from the request.(javascript,etc)
detect the client's screen size from the
request.(javascript,etc)
select and use the right css for the client by use the
user-agent and screen size info.(javascript,etc)
access the service servers cross the local lan and create
a page for the client.(java,jsp, php, etc)
4. Merit
No need to implement the business logic at the client side, the client side
only need to be a input device to deal with the hardware such as camera,
gps, senser, etc.
Common interface for each kind of device that have a browser(web view),
the architecture is simple.
Easy to extend, for new smart device which have a browser(webview), only
need to add a css and the detect case at the proxy server side.
Better performance. Because the heavy logic process such as sort the data
list, arrange the layout, etc will be done at the proxy server side. The only
thing the client side need to do is just to show the result.
Can use same UI layout for all kinds of devices.
Easy to support HTML5 for extend, just change the proxy server side.
The maintenance is easy, if the service server side has some update, no
need to update the app side, just update the proxy server side.