104 Patterns: Implementing Self-Service in an SOA Environment
6.2.1 Web-based clients
In this section we discuss the key technologies involved with Web-based clients.
Web browser
A Web browser is a fundamental component of the Web client. For PC-based
clients, the browser typically incorporates support for HTML, DHTML, JavaScript,
and Java. Some browsers are beginning to add support for XML as well. Under
user control, there is a whole range of additional technologies that can be
configured as plug-ins, such as RealPlayer from RealNetworks or Macromedia
Flash.
As an application designer, you must consider the level of technology you can
assume will be available in the user’s browser, or you can add logic to your
application to enable slight modifications based upon the browser level. For
Internet users, this is especially true. With intranet users, you can assume
support for a standard browser. Regarding plug-ins, you need to consider what
portion of your intended user community will have that capability.
Cross-browser strategies are required to ensure robust application development.
Although many of these technology choices are maturing, they continue to be
inconsistently supported by the full range of browser vendors. Developers must
know browser compatibility for all features being exploited by the application. In
general, developers will need to code to a lowest denominator, or at least be able
to distinguish among browser types using programmatic techniques. The key
decision here is to determine the application requirements and behavior when
handled by old browsers, other platforms such as Linux® and Mac, and even the
latest browsers.
In the J2EE model, the Web browser plays the role of client container. The model
requires that the container provide a Java Runtime Environment as defined by
the Java 2 Platform, Standard Edition (J2SE). However, for an e-business
application that is to be accessed by the broadest set of users with varying
browser capabilities, the client is often written in HTML with no other
technologies. On an exception basis, limited use of other technologies, such as
using JavaScript for simple edit checks, can then be considered based on the
value to the user and the policy of the organization for whom the project is being
developed.
The emergence of pervasive devices introduces new considerations to your
design with regard to the content streams that the device can render and the
more limited capabilities of the browser. For example, Wireless Application
Protocol (WAP) enabled devices render content sent in Wireless Markup
Language (WML).

Get Patterns: Implementing Self-Service in an SOA Environment now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.