|
Table 2
shows prevalent and emerging development tools for each tier of
application functionality. The growing adoption of Java and object
protocols such as CORBA and IIOP offers the possibility of using
common skills, tools, and methodologies for all aspects of an application.
These platforms also allow the migration of application components
between the client and various server tiers with much greater ease.
How
thick should your client be? To determine this for a given application,
think about the trade-off between "richness" and "reach."
Richness refers to the complexity of the application, or the degree
to which it's customized for a very specific purpose. Reach defines
the breadth of the audience for the application.
Generally, thin-client applications offer great reaches as
they can be accessed by anyone with a browser; but the limitations
of the browser make them less suitable for complex applications.
Where the primary requirement is richness, consider a thicker client,
which can offer a more complete and optimized user experience. (See
Figure)
The
ultimate extension of reach takes your applications beyond the boundaries
of your business, directly into the hands of your customers and
business partners. While the browser environment is still shaky
and unsatisfying for internal line-of-business applications, an
HTML interface can offer a low-cost way to facilitate transactions
with both the supply and distribution chains. At least one large
manufacturing company has used this path to deploy an open e-commerce
solution rapidly and inexpensively. Its existing back office systems
were Electronic Data Interchange (EDI)-enabled. The company simply
built a thin HTML ordering interface and some scripts to translate
the input into EDI documents, which let the company leverage all
the business logic in their legacy CICS system and gave the company
a very capable Internet presence with minimal investment. The internal
users of the system are still plugging away -- very productively,
I might add -- on their terminals.
As
another example, consider the process of booking travel. End users
like myself find Travelocity, Expedia, and other travel Web sites
to be easy and functional. It takes me perhaps 30 minutes to book
my average business trip through one of these sites, with flights,
hotels, and cars. But my travel agent can do the same job in about
three minutes because of her amazing mastery of the Sabre command-line
interface through (you guessed it) a 3270 terminal. It would take
me years to learn to use Sabre directly. Conversely, my travel agent
has tried out all of the various attempts to replace her command
line interface with a GUI. "The windows and the mouse just
slow me down," she says. The travel Web sites all use Sabre
or a similar computer reservation system (CRS) on the back end and
use the Web to extend the reach of these applications massively.
Wells
Fargo Bank's CRS is an enterprise-scale application that demonstrates
the effective deployment of different user interfaces from a core
of common business logic. This application integrates multiple legacy
systems into a set of middle-tier business objects using CORBA.
A variety of clients access these objects. Customer service agents
at Wells Fargo call centers use a robust, Windows-based application.
The bank's external Web site, extended ATM services, and automated
voice response systems represent thin-client interfaces to the same
underlying infrastructure. You can download a white paper on this
project from The Cushing Group's Web site at www.cushing.com/abstract.htm.
Overall,
enterprise developers should take a measured approach to thin-client
computing. Rushing to move applications into the browser may be
a mistake. Instead, design systems to allow for flexible partitioning.
Gauge the appropriate thickness of the client based on the requirements
for both richness and reach. Consider a hybrid approach, which maintains
central control of business logic but offers separate interfaces
optimized for the needs of different user communities. By doing
this, you can produce real progress, rather than just a return to
the golden age of timesharing.
David Ritter
is a senior information technology specialist
|
Presentation |
Navigation |
Business
Logic |
Data
Management |
Platforms |
NC,
PC |
NC,
PC, Web Server |
PC,
Web Server, Application Server |
PC,
Database Server, legacy system |
Wide
available tools |
Native
GUI,HTML, Java Script, Java |
Native
GUI, JavaScript, Java |
Java,
CORBA, JavaBeans |
SQL,
native stored procedures, Java |
Connectivity |
HTTP,
Active/X |
HTTP,
RMI, DCOM, CORBA, IIOP |
DCOM,
CORBA, IIOP |
ODBC,
JDBC |
Table 2:
Platforms and example tools for multi-tier application development
|
|
|