CHAPTER 1 ■ WHAT’S APACHE BEEHIVE?
3
Getting the Best Performance
One of the other key requirements for applications today is that they should support high
volumes of users and yet provide low response times. Typically, a user doesn’t want to wait for
more than a few seconds to see data. Systems also need to be available 24×7 and be highly fault
tolerant. Imagine that there’s a power failure at the Amazon.com server farm or, even worse,
the software had a bug and something went wrong, and you were in the process of placing an
order when something went wrong. You have no clue whether your order was processed. The
next day, you place your order again successfully. However, the first order actually had been
processed. So, you end up with two books and two charges on your credit card. Although you’ll
never know the actual cause of the problem, needless to say that you won’t be a happy camper
and probably won’t shop at that business again.
Imagine for a minute that the application is not a simple Amazon.com shopping cart that
you can easily repopulate. Instead, it’s some budgeting application or policy management
application, and you’ve spent the last hour filling in dozens of screens’ worth of form data. And
for some reason, you lose your connection for a few seconds and lose all your data. This could
be something such as a browser crash at your end or something more serious on the server
side. Now you’re really mad.
This brings up the requirements for features such as automatic load balancing, failover,
and user data replication across all layers of the architecture. Applications should be able to
handle the highest anticipated user volumes, always leaving room for the most unexpected
usage patterns, and should be able to switch configurations on the fly.
Securing Your Applications
Security is more of an issue than ever. It used to be sufficient to restrict the outside world from
accessing your data. However, since applications spanning enterprise boundaries now share
data, protecting sensitive data is more critical. You’re exchanging sensitive data with all your
suppliers, customers, and partners. You need to implement the levels of security and data
access policies carefully to ensure integrity of the data being shared.
On the flip side, the users don’t make this task any easier. They insist on a single sign-on
not only across all internal applications but also across these enterprise boundaries. Technologies
such as Microsoft Passport are fast gaining popularity. The security mechanisms need to support
this functionality while maintaining the highest levels of integrity.
Introduce wireless to this equation. Most executives do or soon will have some sort of
wireless connection to the Internet. This could be a cell phone, BlackBerry, or laptop. They will
soon start demanding the same reports and data that they can access on their desks from their
wireless devices. How do you maintain security configurations in these scenarios?
Integrating Your Applications
Large enterprises over the years have collected data in several different software systems. The
challenge today is how to reuse these systems and be able to extract data from them as needed
to serve your evolving business. To do this, IT departments need standards-based access to
these back-end systems and need to be able to ensure security, transactional control, resources,
and so on. You can use several technologies from Web Services to simple JDBC to address these
issues. Standard Enterprise Application Integration (EAI) techniques have evolved to provide
standardization on the integration problem.
Download from www.pookebook.com