Académique Documents
Professionnel Documents
Culture Documents
.":70-6.&*446& 888"+"94:4$0/$0.
pushing
%FMJWFSJOH/FYU(FOFSBUJPO
6TFS*OUFSGBDFT6TJOH"+"9
0SBDMF9&"+"9
"TZODISPOPVT9.-JO"DUJPO
'BTU4DBMBCMF
"+"9"QQT
Contact Us
Address:
555 Not My Home St.
Big City, CO 12345
Your App Starts Here.
We are the leaders in RIA development services.
INCREDIBLE APPLICATIONS
PASSIONATE USERS
PROVEN SUCCESS
CYNERGYSYSTEMS.COM
March 2007
RIA Technologies
Choosing between two paths: n28 Quasar’s Nuqleo System
AJAX or Adobe Integrates AJAX into
by Jeffrey S. Hammond Enterprise Publishing
Work flows improve, bottlenecks disappear
Taking AJAX
Art Director Louis F. Cuffari
Editor
Seriously
Nancy Valentine, 201 802-3044
nancy@sys-con.com
Roger Strukhoff
Subscriptions
E-mail: subscribe@sys-con.com
U.S. Toll Free: 888 303-5282
International: 201 802-3012
Fax: 201 782-9600
Cover Price U.S. $5.99
I
U.S. $19.99 (12 issues/1 year) t’s fun to watch kids grow up, as is a revolution, a buzzword, or an inflec-
Canada/Mexico: $29.99/year
they move from various cute stages tion point in the history of technology and
International: $39.99/year
Credit Card, U.S. Banks through the obnoxious teen years and civilization. It’s easier to tell what’s hap-
or Money Orders into what passes for maturity these days. pening with AJAX. Separating AJAX from
Back Issues: $12/each On an accelerated timescale, it’s fun to Web 2.0 reveals a seriousness of purpose
watch technologies grow up, too. Some by AJAX proponents and developers, and
Editorial and Advertising Offices
Postmaster: Send all address changes to: mature more quickly than others. Some a future that will be more about improv-
SYS-CON Media mature too quickly and die out, while oth- ing existing infrastructures than trashing
577 Chestnut Ridge Road, ers never seem to mature at all. them.
Woodcliff Lake, NJ 07677
Over the past two years, AJAX as a Improving the customer experience – a
Worldwide Newsstand Distribution general technological approach seems to key goal of AJAX – can be measured by the
Curtis Circulation Company, be maturing very quickly. I won’t bore this very large and very serious companies
New Milford, NJ magazine’s savvy audience by recount- that are now integrating AJAX into their
ing for the umpteenth time how, when, front ends. How quickly can customers
List Rental Information
Kevin Collopy: 845 731-2684,
and by whom the term was coined, and find what they need? How does the new
kevin.collopy@edithroman.com, I fully realize that many of you had been efficiency aid clickthroughs, sales, and
Frank Cipolla: 845 731-3832, working – sometimes for years – with repeat sales? How does it improve the
frank.cipolla@epostdirect.com
JavaScript, XML, and related languages company’s effort to develop and maintain
and approaches before the term AJAX a 360-degree customer view? How does
Promotional Reprints
Megan Mussa came into existence. this compare with competitors? How does
megan@sys-con.com What is important is that AJAX today it compare with potential competitors?
is not the AJAX of early 2005. Seen origi- All of these questions can be answered
Copyright © 2007
nally as part of a communitarian Web objectively and provide information much
by SYS-CON Publications, Inc. All rights
reserved. No part of this publication may 2.0 culture that once again threatened to more concrete than that provided by a
be reproduced or transmitted in any form overturn the so-old, so-dated IT world of mere “wow” factor.
or by any means, electronic or mechani- the past, AJAX is, in fact, now becoming As AJAX becomes less and less about
cal, including photocopy or any informa-
an integral part of any serious enterprise’s “wow” and more and more about develop-
tion storage and retrieval system, without
written permission. approach to its IT infrastructure. ing traditional customer satisfaction, we
Google Maps was seen as the quint- can expect the market for AJAX technology
AJAXWorld Magazine essential AJAX/Web 2.0 manifestation. providers to grow and grow. Enterprises
is published bimonthly (6 times a year)
Raucous start-ups such as YouTube, Digg, are taking AJAX seriously. AJAX is no lon-
by SYS-CON Publications, Inc.,
577 Chestnut Ridge Road,
et al, with huge Web traffic numbers but ger some sort of revolutionary concept;
Woodcliff Lake, NJ 07677. precious few employees were seen as the it is becoming the way to do business.
SYS-CON Media and SYS-CON way of the future. AJAX interfaces prom- It seems as if AJAX has gone from being
Publications, Inc., reserve the right to
ised to enhance the customer experience, the cute kid, skipped those pesky teenage
revise, republish, and authorize its
leave old-fashioned Websites in the dust, years, and become a very nice and pro-
readers to use the articles submitted
for publication. and change the world. ductive young adult.
The trouble with revolutions, though, This may seem like a terribly unglamorous
is that they burn out quickly and don’t statement to all of us who like to act like
always manage to overthrow the existing radicals now and then. But it strikes me as
order. It’s too early to tell whether Web 2.0 a beautiful thing. n
Akamai delivers AJAX Websites up to 5x faster. Ensure To learn more, download a new White Paper:
every transaction is completed with optimal performance Web 2.0 is Here—Is Your Infrastructure Ready?
for each user—even for highly interactive sites. Visit www.akamai.com/AJAX
W
hen it comes to rich Internet appli- have tiny footprints and download to browsers so
cation (RIA) technologies, application quickly that there’s no perceptible lag in app per-
development professionals must choose formance. Some open source AJAX tool kits share
between two paths: AJAX or Adobe. AJAX is the best this trait, but others approach the size of Adobe’s
bet for experienced Web development shops looking Flash and have equally long install times.
to incrementally evolve existing Web applications.
Of course, selecting AJAX also raises the question of Developers and architects may salivate over the
whether to go with a homegrown, open source, or technical merits of AJAX, but managers should note
commercial AJAX framework. that using AJAX frameworks also introduces risk.
In contrast, Adobe is best for shops looking to Unmanaged, these risks can increase costs or derail
completely transform their Web experiences. But a development effort entirely. For example:
to do so, firms must acquire the skills necessary to • It’s easy to choose the wrong AJAX framework.
use Flex, which is the development framework for There are dozens of popular AJAX frameworks,
the Flash runtime environment. Early adopters with and they are not created equal. Developers might
time-to-market concerns and comfort with either want to cut a check based solely on a framework’s
smaller vendors or open source can select AJAX with rich widget set or light-speed performance, but
confidence. But firms that require support from a architects will need to validate that the framework
larger vendor and full-featured development tools supports corporate standards for security, acces-
will do better with Adobe. sibility, service integration, and data access.
App dev professionals should make the selec- • Finding best-of-breed AJAX development tools
tion based on their time-to-market requirements, is difficult. Experienced Web developers don’t
whether they’re looking to evolve or revolutionize mind writing JavaScript and XML in text editors,
their user experience, and whether they prefer tools but most developers in enterprise IT shops pre-
from large established vendors. fer visual designers and WYSIWYG editing tools.
When it comes to AJAX, the only such tool support
AJAX: The Fast Lane to a available at present is tied to commercial AJAX
Better User Experience frameworks, meaning that the choice of one is
App dev organizations that prefer a fast path to necessarily a choice of the other.
RIAs — for developers and users alike — select AJAX • Cross-browser compatibility issues increase test-
for the following reasons: ing costs for AJAX. Testing costs increase in direct
• AJAX helps shops meet time-to-market needs. proportion to the number of browser platforms
Developers with existing Web skills find that and versions to be supported. However, using a
adopting AJAX involves a shift in design patterns, commercial AJAX framework can mitigate these
not a wholesale change in programming language costs, as the framework vendor incurs the cost of
or development tools. cross-browser testing. For example, Software AG
• AJAX favors gradual re-factoring of existing Web certifies its cross-vision Application Composer
apps. AJAX is based on open and standard lan- on multiple versions of browsers like Internet
guages like JavaScript and XML. This makes it easy Explorer, Mozilla, and Netscape.
for developers to integrate AJAX widgets into exist-
ing Web applications that are written in HTML, The AJAX Path Itself Forks with
DHTML, or server-side JavaScript. Homegrown, Open Source, and
Jeffrey Hammond is a senior analyst at • AJAX can deliver speedy performance. Vendors of Commercial Alternatives
Forrester Research where he covers tools commercial AJAX frameworks like Backbase and Just because a development team has chosen
and techniques for application JackBe invest considerable resources tuning their to go with AJAX doesn’t mean that its tool selection
design and development. AJAX frameworks for speed because their clients effort is complete. There remains the important
port and certification of their products, which is provides developers with a visual, WYSIWYG
Production
appealing for managers who are uncomfortable experience on a par with the best commercial
Lead Designer
taking the open source route. They also focus on tools for AJAX. What sets Flex Builder apart from Louis F. Cuffari, 201 802-3035
providing capabilities that enterprise developers these tools, though, are features that improve louis@sys-con.com
Art Director
require, including high-performance clients and collaboration between developers and designers.
Alex Botero, 201 802-3031
tooling that makes it easy for developers to con- Using Flex lets developers and designers at the alex@sys-con.com
nect to enterprise applications. American Cancer Society rapidly iterate through Associate Art Directors
design changes and preview them with stakehold- Tami Beatty, 201 802-3038
tami@sys-con.com
Just as there are myriad AJAX frameworks, there ers within hours.
Abraham Addo, 201 802-3037
are also myriad AJAX framework selection criteria. abraham@sys-con.com
These criteria fall into five buckets: customizability; Flex Developers Are Hard to Find and Other
security and accessibility; widget set; tooling; and Drawbacks of Flex SYS-CON.COM
Vice President Information
cross-browser support. But not all of these criteria But Adobe isn’t perfect. App dev professionals
Bruno Decaudin, 201 802-3051
should be weighted equally (see Figure 1). should consider the following Adobe drawbacks: bruno@sys-con.com
• Flex developers are difficult to locate and com- Consultant, Information Systems
Adobe’s Solution Is Powerful, Predictable, mand a premium rate. Flex developers are harder Robert Diamond
a near-universal browser plug-in (Flash) that’s tive at a North American financial services firm we Richard Walter, 201 802-3057
richard@sys-con.com
designed to simplify RIA deployment. Managers who spoke with had to retain talent from South Africa
have concerns about small commercial AJAX provid- and the Czech Republic to deliver a successful Accounting
ers or support issues with open source AJAX frame- project. As more developers ramp up on Flex this Financial Analyst
Joan LaRose, 201 802-3081
works consider Flex a safe alternative. But there is a issue will subside, but for now it makes Flex more
joan@sys-con.com
downside: To be productive in Flex, developers have expensive in the short-term than Ajax. Accounts Payable
to learn two new languages and an extensive run- • Flash upgrade issues can defeat the deployment Betty White, 201 802-3002
time framework — something that can take between value proposition. When users aren’t on the lat- betty@sys-con.com
one and three months to learn. Once this initial est version of Flash, requiring them to upgrade is
Customer Relations
hurdle is cleared, Adobe adopters see the following risky because almost half will abandon the site. Circulation Service Coordinators
benefits: Many are unwilling to wait through the lengthy Edna Earle Russell
• Widespread adoption of Flash speeds deploy- install process and instead choose to do business edna@sys-con.com
Alicia Nolan, 201 802-3081
ment. When Flash is already installed, application elsewhere — potentially with the competition.
Alicia@sys-con.com
deployment requires no additional changes to the • Success can create an unexpected user response.
Figure 1:
Figure 2:
TRY IT
NOW!
Product Highlights
• Cross-browser Ajax client runtime • Server-side integration with Struts and JSF
• Simple and easy-to-use Ajax tags • Section 508 / WAI compliance
• 100+ Ajax widgets w/ source • Extensive documentation and tutorials
• Ajax development tools • Sample applications
• Debugging and testing tools • Open API
• SOA integration • Proven RIA blueprint implementations
• Integration with portal servers • Comprehensive 24x7 support
For more information, call 866-800-8996 (Americas); +31 20 465 8888 (ROW)
Web 2.0
B
y any reckoning, the Internet and the World mail. Web 2.0 and AJAX-based applications represent
Wide Web have remade the way we do busi- an opportunity to fully realize the Web’s potential to
ness. The ascendance of the Web-based make users smarter and more productive, and that
enterprise has come to be seen as inevitable. But opportunity extends to the most sophisticated back-
anyone who takes a hard look at the serious limita- end and analytic applications.
tions of first-generation Web applications is likely
to have a renewed sense of wonder at the spread How We Got Here: Evolutionary Steps to
of their adoption thus far. Users experimented with Web 2.0
e-mail, instant messaging, and search engines and As any significant technology evolves toward
turned them into real communication, collabora- maturity, attention shifts from the technology itself
tion, and information-gathering tools. Those same to the work that the technology enables. That shift is
business users endured their fitful interactions with clearly manifest in Web 2.0, the third major phase of
static HTML pages and moved applications to the the Web’s evolution, which can be summarized like
Web anyway because of the substantial savings this:
promised by the shift. • Web 1.0 – Content delivery and communication.
Now their patience is about to be rewarded. This early stage changed the dissemination of
Emerging from a decade of groundwork is Web 2.0, information via two innovations, HTML pages and
which offers dramatic gains in productivity for indi- e-mail.
vidual workers and whole enterprises. Web 2.0 appli- • Web 1.5 – Content personalization and multi-
cations are distributed collaborative tools available level communication. Search and personalization
on-demand from any browser anywhere. And those made the spread of information more efficient,
tools are constructed to be at least as intuitive and while chat rooms and instant messaging expand-
easy-to-use as any application loaded on a desktop. ed communication in real-time.
Web 2.0 is based on many technologies – most • Web 2.0 – Authoring and collaboration. This cur-
prominent among them being Web Services, rent stage is not about the dissemination of infor-
Asynchronous JavaScript and XML (AJAX), mation, it’s about productivity – accomplishing
Cascading Style Sheets (CSS), and Really Simple work-related tasks in a virtual space with tools and
(Web) Syndication (RSS) – and the list will continue applications that are available anywhere, at any
to grow. Of these, AJAX has attracted the most atten- time, and can be shared collaboratively.
tion recently because it’s the technology that most
effectively fills the gap between the user experience In the past, Web applications’ lack of respon-
of Web and desktop applications. siveness and dearth of controls offset most of their
And the user experience is absolutely central advantages as thin-client tools. In contrast, desk-
to the Web 2.0 model. Web 2.0 applications must top developers have historically taken advantage of
possess a set of user interface components that two capabilities of Windows that make applications
are as compelling and responsive as a desktop- more intuitive and user-friendly than their Web
based environment. Developers can no longer be counterparts: richness and responsiveness. When a
satisfied to offer discontinuity in user experience, complex and robust set of UI components is com-
Rado Kotorov is a technical director of stra- because widely distributed, frequently mobile users bined as they have been on the desktop, they make
tegic product management for Information won’t be able to tolerate it and do their jobs well. the user interface natural, informative, and intui-
Builders, Inc., responsible for emerging The improved user experience will include, but tive to use. And when the application and the user
reporting, analytic, and visualization must extend beyond, the most common productivity interface quickly adapt to user actions, they create
technologies. tools, such as word processing applications and e- an uninterrupted interaction. Windows applications
T
he Bad Old Days, or, I Walked a Hundred Miles Some JavaScript developers learned to create
to School, in the Snow, and It Was Uphill Both applications with a series of if-then statements
Ways pointing to specific versions for specific browsers,
Back in the late ’90s, people started to use the replicating the functionality in each major “support-
term “Dynamic HTML,” often shortened to DHTML, ed” browser. Sometimes this led to unanticipated
to describe the use of JavaScript to manipulate results, as when the tests were too specific (look-
HTML in the browser. Basic DHTML meant rollover ing for a particular version of a particular browser)
images that changed state when you moused over they often broke when new browsers were released.
them or drop-down menus that cascaded down (Smarter developers learned to test for specific func-
from the top navigation. More complex DHTML tionality, rather than looking for a particular browser
concepts included dragging-and-dropping objects, version – but this could still lead to a number of code
hiding and revealing content, and even whole games branches for different browser levels.)
built purely from HTML, images, and JavaScript. Some Web designers found an alternative in
The problem with DHTML, of course, was that it Flash. Flash enabled designers to create animation,
was tremendously hard to do. More accurately, it was use sound, and create interactivity on the page
tremendously hard to do well in a cost-effective way. without having to worry about browser versions and
It was certainly possible to do some of the simpler platforms. Because Macromedia (now Adobe) is the
functions (drop-down menus, mouseovers) in a reli- sole supplier of the Flash plug-in, it can offer com-
able cross-browser, cross-platform way. But anything plete control over the experience for both developers
more complicated than that quickly ran into the and users. Designers who resisted the urge to create
problem of alternate browser implementations: for monster intro movies and used Flash judiciously as
example, using the “layer” tag for Netscape 4, but the a supplement to an HTML page, rather than as a
“iframe” for Internet Explorer and newer Netscape/ replacement for it, found great power in the ability
Mozilla browsers. Similarly, Internet Explorer 5.x and to add interactive elements and animation without
John Eckman leads the Next Generation later supported document.getElementByID() as did having to decipher the complexities of DHTML.
Internet Practice at Optaros (www.optaros. the Mozilla-based browsers, but Internet Explorer (A number of these first-generation Web designers
com), and has over a decade of experience 4.x relied on document.all, and Netscape 4.x on abused Flash’s power, creating unnecessary ani-
designing and building Web applications document.layers. mation, breaking the very interface conventions
for organizations ranging from small The whole experience got confusing rather quick- new Web users so desperately needed, and sticking
non-profit organizations to Fortune 500 ly, leading to a number of different alternatives. “introduction” movies in front of Web pages, leading
enterprises. John´s technical background Many individuals coded applications or sites to the birth of the infamous “Skip Intro” button. See
includes J2EE and .NET frameworks as well directly to a single browser, leading to the phenome- http://www.skipintro.nl/skipintro/ for a humorous
as scripting languages and presentation- non of “Best Viewed in…” badges on sites. (I thought version of the problem.)
tier development approaches, in addition this behavior had gone the way of the “blink” tag, Finally, a significant number of information
to information architecture, usability test- but Wal-Mart’s recent digital download site exhibited architects and Web designers simply learned to avoid
ing, and project management. He received similar behavior – for several weeks following the DHTML altogether, or at least to avoid any of the
a BA from Boston University and a PhD launch, the site greeted Firefox visitors with an apol- “more complicated” functions. I remember seeing
from the University of Washington at ogy: “We’re sorry. Our Web site requires the browser statements of work for Web development that either
Seattle; he expects to complete an MS in Internet Explorer version 6 or higher. It appears that specifically excluded anything but the most basic
Information Systems from Northeastern you’re using Firefox, Safari, or another browser that DHTML or noted that DHTML use would increase
University in 2006. He also achieved PMP Wal-Mart Video Downloads doesn’t currently sup- risk and cost. If you didn’t have the right JavaScript-
certification in 2003. port.” In early March, however, it appeared that the and browser-savvy resources as part of your Web
jeckman@optaros.com problems had been rectified.) team, it was undoubtedly safer simply to stay away.
– continued from page 13 which is, after all, the goal of business intelligence.
Organizations were moving applications to the
instantly available to users, eliminating desktop Web even before the emergence of Web 2.0 and
installations. And it’s a model that can be extended AJAX-based tools because cost savings were so
to applications across the enterprise. attractive that they trumped the limitations of first-
For example, as sophisticated analytics and busi- generation Web applications. Now, with Web 2.0
ness intelligence information are pushed further out applications that provide a user experience equal to
into the enterprise, it is essential that applications that of desktop applications, that trend is going to
deliver the information smoothly, clearly, and in an build momentum rapidly.
uninterrupted context. AJAX provides the foundation For several years, enthusiasts have predicted that
for user interfaces based on reusable components, the impact of the Internet and the Web will rival that
each of which enables a set of UI functions that can be of the Industrial Revolution. Driven by the same
manipulated individually for or by the user. The flex- need to use resources more effectively and increase
ibility inherent in AJAX-enabled applications translates productivity as that earlier transformation, Web 2.0
into quick, easy rollouts of new functionality as user could make those predictions come true. But instead
needs change, as well as the ability to customize the of centralizing workers and machines in factories,
interface for users based on their roles and specific Web 2.0 will liberate a distributed, mobile workforce
needs. Improving the user experience translates into by offering consistent access to applications and
a parallel improvement in the user’s ability to apply information anywhere in the complex world of the
high-level information to the decision-making process, global enterprise. n
Web: www.jackbe.com
Phone: (240) 744-7620
Optimizing Business Activity Email: info@jackbe.com
Inside Look
T
his article covers the process of building a real lation so you need to unlock it first using the SYSTEM
working AJAX application on top of Oracle’s account through SQL*Plus (this command will also
free database software. The demonstration set a new password for HR):
takes advantage of features integrated directly into
Oracle Database 10g Express Edition (Oracle XE), the SQL> alter user hr identified by hr account unlock;
Oracle 10g Express Edition (Oracle XE) plete waste of both time and bandwidth. Having said Oracle Database 10g Express Edition Release
development since its early beta stages back that, using AJAX to create Web applications is good not 10.2.0.1.0 - Production
in 2005 and can easily distinguish the new only for the end user, but for the Web server as well.
features in this first database from Oracle Applying this relatively simple technique boosts SQL> exec dbms_xdb.setftpport(‘21’);
that’s free to develop, deploy, and distribute. your Web applications’ usability many times. The
Oracle XE’s small footprint doesn’t stop potential of AJAX is so big that Web applications now PL/SQL procedure successfully completed.
him from taking advantage of many of its have a real chance of replacing desktop programs
advanced features and plugging them into without degrading the user experience. SQL> alter system register;
Mark Townsend is vice-president of data- All you need is access to an Oracle XE database
base product management in Oracle’s instance and its WebDAV folders. Oracle XE is much The first command enables the FTP listener in the
Server Technology Division. His responsibil- more than just a database server: Embedded PL/SQL database, while the latter registers the just-activated
ities include requirement analysis, release Gateway makes it a regular Web server, while the listener on PMON (process monitor) without actually
planning, coordinating database product built-in WebDAV and FTP listeners let you connect waiting for its 60-second refresh cycle. Now you can
management activities, communicating and store files served over HTTP directly through connect to the server with any FTP client or directly
with analysts and the press on database one of these protocols. This tutorial assumes that you from the command line (ftp localhost).
topics, and the development and delivery have Oracle XE installed on your local computer. So Now we can upload static files into the database storage
of field technical training. He was product that URLs refer to localhost, you may have to adjust it area. What about dynamic content? The Embedded PL/
boss for Oracle XE. Mark has been with to fit your network’s configuration. SQL Gateway – introduced for the first time within Oracle
Oracle since 1991 and has specialized in I’ll be using the sample HR schema that ships with XE – enables you to access stored procedures directly
the Oracle database for over 15 years. Oracle XE. By default it remains unlocked after instal- from a Web location. Using the http://SERVER_ADDRESS:
<ROWSET>
<ROW>
<COLUMN1></COLUMN1>
<COLUMN2></COLUMN2>
...
</ROW>
...
</ROWSET>
request.onreadystatechange = function() {
T
here are a couple of very common issues This notion not only applies to texts, it • Workflow Automation: Nuqleo allows simple
in enterprise publishing, and they almost extends to many aspects of page design as construction of complex workflow scenarios.
invariably lead to bottlenecks. For exam- well. While Nuqleo relies on Adobe InDesign A visual workflow editor lets you combine
ple, if the designer is the only person who can for page layout and typesetting, users with any number of steps and conditional settings
modify a page layout, even minor changes will the appropriate privileges can access design to cover every possible situation.
depend on his or her availability. If only a small files in a browser window and make explicitly • Phonetic Search: Proprietary search algo-
number of people in a workgroup have the pub- authorized changes. rithms can find text even when exact spell-
lishing know-how to prepare a publication for One of the key advantages of Nuqleo is ing is unknown. (This is particularly impor-
the printer, delays are likely to occur. Most enter- that it allows Web-based editing of text and tant in multi-lingual projects.)
prises have learned to live with these constraints design. This means that last-minute design • Visual Tagging: Allows fast access to visual
in their document production because there just changes can be made even when the page information that can’t be captured by key-
doesn’t seem to be a better way. layout application is not present on the com- words.
In the typical publishing workflow, design puter that participates in the editing process. • Integrated Image Management: Nuqleo
modifications can only happen on a worksta- offers centralized picture management
tion equipped not only with the appropriate Flexibility and an Easy with automatic image quality control and
software, but also the necessary fonts for Learning Curve IPTC/XMP metadata support.
a document. Even graphic elements for a Managing collaboration in this way pro- • Translation Management: Nuqleo sup-
page layout are usually stored locally on the vides companies with a considerable amount of ports translation management and can
designer’s computer (very often simply on flexibility, and also allows the administrator to manage alternate designs, visuals, etc., for
his desktop), until the files are prepared and define a system that has minimal training over- local markets.
transferred to the printer or service bureau. head, since only the functionality that is needed • Project Management: Built-in project man-
While this way of working may be accept- to complete a task is exposed to the user. agement tools and a retro-planning mod-
able in small workgroups, it can become The systems can be seen as a toolkit for ule automatically manage documents from
extremely time-consuming when different modern publishing processes rather than start to finish.
departments or offices are involved in the a one-stop solution for magazine, book, or • Publication Management: There are many
document creation. catalog publishers. By opening up very early different ways in which publications can be
on in the development process to the con- represented in the Nuqleo system. Through
A Different Approach siderable complexities of modern enterprise the flatplan manager, a publication can
Quasar’s Nuqleo system takes a different publishing, the company managed to create be displayed and updated in real time in a
approach to solving these problems. By using a system that can speed up the enterprise browser window. Different views let admin-
modern Web technologies such as those com- content publishing workflow significantly. istrators check the status of different sec-
mon to the AJAX approach, the company tions. Inserts and cover-mounted objects
managed to create a completely de-local- Key Aspects are also managed, and a highly realistic
ized, browser-based system that allows users • De-localization: Users from around the preview allows a user to display a publica-
anywhere in the world to access data and world can log into the system and collabo- tion and turn its pages on-screen
documents, to contribute to the publishing rate on a publication.
workflow, and even to modify certain aspects • User Administration: Sophisticated sup- Few providers of dedicated publishing
of a page layout document without needing port for internal users and external con- systems have the necessary understanding
the software or the expertise of a designer. tributors allow an administrator to allocate of the complexities that enterprises face in
While the design files, images, and texts neces- precisely which documents, elements, or their publishing tasks. There is no “typical”
sary for the design process are stored in a central program functions can be accessed by a enterprise, and even less a “typical corporate
server, Nuqleo manages access and user privileges specific user. Nuqleo even manages con- publishing workflow.”
in a sophisticated manner. In other words, if a user tributors who are not allowed access to the Quasar provides a system that offers the
logs in with the necessary privileges to perform system by managing external assignments flexibility and ease of use to be able to tack-
basic text editing, Nuqleo will not expose any via e-mail. le the organizational issues so common in
other aspects of the workflow. This gives the sys- • Web Editing: Most editing operations are con- enterprise content production, collaboration,
tem a lot of security against involuntary changes, ducted directly in the browser. Many aspects of and automation – while also providing the
and it also allows a high degree of flexibility in the a page can be modified without the need for a necessary integration with other systems and
management of documents. page layout application on the host computer. environments if it is required. n
Software aG
Take The Lead - LeT‘s TaLk!
Free download at www.softwareag.com/ajax
Performance
S
uccessful AJAX-based applications provide a ers are optimized for longer-lived connections and
better end-user experience than traditional higher volumes of concurrency than typical Web
Web sites. Fast performance is absolutely servers.
essential to deliver on this potential. The large num- A general rule of thumb with polling: if the
ber of technologies and the additional complexity response time for a request is comparable to that
that AJAX adds to the mix creates significant head- of your polling interval, you’re either polling too
aches in tracking down performance bottlenecks frequently, or your server is taking too long to return
and related issues. useful information.
So where do you start tracking down perfor- The performance of SQL queries is essential to
mance-related problems? The answer is logical: any AJAX application as is the Input/Output (I/O)
by delving into the raw performance data of your performance of your database. Bonnie++ is a use-
application. Perhaps a pedantic suggestion, but by ful tool that helps you quickly track down disk I/O
not adequately analyzing and measuring the data, issues. SQL query performance is the topic of hun-
you’re relying only on hunches and past experience. dreds of articles, but sometimes simple EXPLAIN
Fortunately, we now have a number of highly useful statements and a healthy dose of query log analysis
open source and commercial tools available to assist will suffice to slow or eradicate performing queries.
us in this tedious process. Analyzing performance over the Internet and
The best place to begin a thorough search & verifying that you’re getting the correct data from
destroy mission is with HTTP-level performance the server to the browser is the next step in your
problems that can be resolved in server configura- quest. A number of tools exist to assist with this
tion and fine-tuning. Is the caching configured prop- analysis. Wireshark, formerly known as Ethereal,
erly? Are there issues with load balancing? How many is a network protocol analyzer that provides com-
concurrent requests per server before performance plete insight into all data across the wire for your
suffers? AJAX applications typically reduce the data computer or network. LiveHTTPHeaders, a Firefox
size per request, but highly aggressive polling can extension, allows easy viewing of all normal HTTP
saturate your servers with too many requests. traffic, XMLHttpRequests, and Comet traffic, includ-
When using the Apache Web server, two useful ing the viewing of full headers in the Firefox browser.
open source tools are Apache Bench, which is great Firebug, a debugging extension for Firefox, among
for concurrency testing, and Tsung, which provides its many capabilities, lets you view not only script
Dylan Schiemann is founding software a replay proxy mode to monitor system performance errors and XMLHttpRequest information, but also
engineer for Renkoo and co-founder of under a variety of scenarios. Similar commercial and measures the load times of various resources such as
the Dojo Toolkit. He is best known for open source tools exist for other Web servers as well. script and image files.
building web applications that make use Push the limits of your servers and find out what For those of you waiting for me to get to the
of JavaScript, Dojo, and other common makes them fall down. JavaScript-specific performance optimization tech-
Web development technologies. He is the As AJAX applications become increasingly com- niques, we’ve arrived. With AJAX applications, many
co-founder of SitePen, a consulting firm mon, users expect real-time updates to accompany of our performance issues happen before we even
that specializes in designing custom web their real-time experience. To be effective, real-time get to the code that’s executed in the browser. Now
applications focused on outstanding user or highly collaborative applications require a sig- that you have effectively ruled out issues outside the
experience. Previously, he has developed nificant amount of AJAX polling to make the appli- scope of the Web browser, it’s time to take a closer
web applications for Informatica, Security cation work. If this is simply too demanding on your look at your JavaScript code. If you’re using an AJAX
FrameWorks, and Vizional Technologies, to Web server, you may want to consider switching to toolkit such as Dojo, you may already have profiling
name a few. a Comet server implementation such as Cometd, code to supplement Firebug. For example, a Dojo
dylan@sitepen.com Lightstreamer, KnowNow, or lighttpd. Comet serv- contributor recently found an instance where the
F
ollow along and implement the real-time TIBCO General Interface, an open source AJAX proj-
streaming AJAX system in Figure 1 using two ect that currently provides ready-made AJAX controls
different AJAX toolkits and the OpenAjax Hub. for GUI, data, and communications in addition to
visual tools for rapid AJAX application development,
Requirements unit and functional testing, and AJAX debugging.
The requirements for this solution are straight-
forward. For this application we need a ready-made Real-Time Communications
data grid control that will display changes in prices For our real-time data, we’ll use DWR 2.0, the
to stocks when those changes occur. A nice-to-have just-released next version of Direct Web Remoting
would be visual indicators in the GUI that show (DWR), an open source project that enables you
when a cell value in the grid is increasing or decreas- to remote Java objects through JavaScript in the
ing…and, of course, we want to deploy this to just browser and now vice versa through its “Reverse
a standard Web browser, so we also must do this AJAX” capabilities for real-time remote control of
without any reliance on plug-ins, applets, or Active- JavaScript objects in the browser via Java objects
X controls. (Thanks goodness this is an AJAX article!) on the server across a persistent HTTP connection
Figure 1 shows the basic design that could be styled (a.k.a “Comet”).
more at a later date. In addition we’ll want to add
more AJAX controls to this page that can tap the Project Source Code
same streaming stock data for other calculations and You can quickly grab a copy of this project and all
visuals, such as charts or portfolio totals. For now, its parts from the 2.x release of DWR at http://geta-
we’ll keep it simple. head.org/dwr. Once you’ve installed DWR, check
out the General Interface demo. Those who want to
Architectural Design extend the GUI and add more controls should also
We don’t have to build the above system from download TIBCO General Interface from http://
scratch, and can instead leverage readily available, developer.tibco.com/gi. Note that the OpenAjax.js
reusable AJAX parts to get the job done quickly; the file that ships with the project in the DWR down-
architectural strategy is to use AJAX pieces and parts load is an older, 46 kb version of the OpenAjax Hub.
that can work together. At the core of the system in The latest version of the OpenAjax Hub, which now
Figure 2 is the OpenAjax Hub (see the OpenAjax Hub also implements a savvy topic-based event naming
for Interop sidebar). We’ll use the OAA Hub as a cen- scheme over the basic pub/sub capability, is cur-
tral publish/subscribe bus to which we can publish rently under 2 kb (yes two kilobytes – that’s not a
the live stock data so that the data grid and the future typo).
visual controls and functions can listen for those
events and messages. Implementation
The <dwr>/gi/index.html file loads up the
Resources OpenAjax.js file, the needed DWR libraries, and
Publish/Subscribe Core some application specific files in the head of the
For our publish/subscribe core we’ll use the HTML page.
OpenAjax Hub, an open source project implement- The body of the page includes a div that loads the
ing the evolving OpenAjax Alliance Interoperability TIBCO GI library.
Working Group specifications. Start at HYPERLINK
Kevin Hakman is the co-founder of General “http://www.openajax.org” www.openajax.org and <div style=”width:100%; height:220px;”>
Interface and director of developer evange- follow the links to the sourceforge.net project from <script
src=”JSX/js/JSX30.js”
Joe Walker is the creator of DWR and presi- Ready-Made GUI Controls jsxapppath=”gidemo” jsxlt=”true”> </script>
dent of GetAhead Ltd, UK. For the GUI controls we’ll leverage those from </div>
project in /gidemo and in turn renders the for (var property in corporation) {
OpenAjax.subscribe(“gidemo”, “corporation”,
objectPublished);
dwr.engine.setActiveReverseAjax(true);
dlerData, corporation) {
ation.jsxid);
matrix.insertRecord(corporation, null,
inserted == null); Figure 1: Web-based real-time stock quotes implemented using TIBCO General Interface,
matrix.repaintData();
the OpenAjax Hub, and the recently released DWR 2.0.
}
if (current != “” + corporation[property]) {
repaint. {
// matrix.repaintData(); getScriptSessionsByPage(“/dwr/gi/index.
Figure 2: System Architecture
html”);
Conclusion
The solution above demonstrates how
easy it can be to implement powerful systems
based on sound publish and subscribe archi-
tectural principles. Further, the decoupled
nature of the publish and subscribe style
implementation enables one piece of a sys-
tem to be added or replaced without effect-
Figure 3: Comparison of a system of separate parts, integrated point to point versus a ing other parts. Accordingly, this approach is
system integrated based on publish/subscribe events and messages. highly applicable to mashup and AJAX portal
scenarios. As shown, beyond the basics of
using the emerging publish and subscribe
As opposed to the more primitive DOM events such as onclick, onkeydown, standards of the OAA Hub to connect reusable
onmouseover, and the like, typically these types of events and messages are associated client-side components, technologies, such
with “application-level” concepts such as like “userLoggedIn”, “newCustomerCreated”, or as DWR 2.0’s Reverse AJAX and TIBCO’s just
“addNewStockSymbol”. released Ajax Message Service for highly scal-
Figure 3 compares a system with five parts directly linked to each other in a point-to- able real-time data over HTTP, are enabling
point fashion with a system implemented in a publish/subscribe message bus architec- publish and subscribe events to occur across
ture. the network. Accordingly, one can begin to
Architecting your AJAX applications using publish and subscribe techniques enables think not of an HTML page in a browser
each part of the system to be decoupled from the others, and thus to be built and managed connected to a server across a network, but
as distinct units. This modularization not only facilitates greater reuse and more efficient instead the AJAX application running in the
team development, but also helps you to avoid creating the hairballs of code typical of browser being in the same event cloud as the
point-to-point architectural approaches to application systems. The more elements in a server, publishing to and subscribing from
system, the most complex and expensive adding to and maintaining the system becomes streams of information mediated by event bus
in point-to-point architectures when compared to publish/subscribe bus architectures. architectures on the client and on the server,
and, accordingly, enable you to build more
powerful AJAX solutions. n