O'REILLY NETWORK'S ONJava.com NEWSLETTER
--------------------------------------------------
The Independent Source for Enterprise Java
==================================================================
Experience Oracle OpenWorld
500 educational sessions, 150 partners, 200 product demonstrations: 1
Oracle conference. See how Oracle 10g supports J2EE, portals, integration,
security, wireless, Web services and more--all in a single
product--enabling organizations to reduce their total cost of ownership.
Oracle OpenWorld San Francisco. December 5-9, Moscone Center. Register now
for only $1,450 and save $300 off the full price.
http://www.oreilly.com/go/orc_jav111104
==================================================================
Greetings...
The Law of Unintended Consequences holds that all human actions have at
least one unintended consequence, that a given cause has more than one
effect. This happens all the time when you program: every line of code is
fraught with tiny little side effects: consuming memory and CPU,
increasing the complexity of the code, etc. Most will turn out to be
beneficial or at worst irrelevant, but sometimes your systems turn on you
in ways you did not expect. This fact struck me as I read this week's
article on memory contention.
Adding CPU's to a multiprocessor machine should speed up your J2EE app,
and it does, but not without an unintended side effect. A single CPU can
read and write to memory with impunity, but a multi-processor machine
needs to synchronize access to main memory so that threads on the
different processors don't corrupt each others' data. In Memory Contention
in J2EE Applications for Multiprocessor Platforms, Deepak Goel and
Ramchandar Krishnamurthy investigate this by testing progressively larger
objects under progressively heavier loads on a multi-processor system.
They found "high memory requirements of these J2EE threads clearly create
a contention in the system and act as a bottleneck in the scaling of the
J2EE applications." Fortunately, their article also provides some
strategies to deal with the slowdown created by memory contention.
http://www.onjava.com/pub/a/onjava/2004/11/10/memory.html
Sunil Patil writes, "I have seen lot of projects where the developers
implemented a proprietary MVC framework, not because they wanted to do
something fundamentally different from Struts, but because they were not
aware of how to extend Struts." In Extending Struts, he offers an overview
of how to extend Struts with PlugIns, RequestProcessors, and whole new
ActionServlets, so that you can reuse as much Struts functionality as
possible without having to reinvent the wheel.
http://www.onjava.com/pub/a/onjava/2004/11/10/ExtendingStruts.html
Constantly testing your software keeps you out of trouble, but testing is
a drudgery many developers avoid. The cure for drudgery: automation. Mike
Clark, author of Pragmatic Project Automation says, "each project chore
you automate is an investment that pays off immediately and increases in
value over time. You can quickly get started with each individual step by
using freely available tools such as Ant, Maven, CruiseControl, JUnit, and
simple scripts." In Got Project Automation?, he offers a vision of how
easy it is to put out fires when a project's building, source control,
testing, and deployment are all automated. As a bonus, he links to a blog
entry showing you how to set up your process to display build status with
red and green lava lamps.
http://www.onjava.com/pub/a/onjava/2004/11/10/automation.html
In our feature article from java.net, Jonathan Simon shows how to code and
test multi-tier systems, even when some of the tiers are unavailable or
haven't even been written yet. Developing Clients with Simulated Servers
introduces server stubs, which can run locally and mock the behavior of
the server. The payoff is that "I can work on the client with or without a
server up and running, or even before it's built. I can develop in
isolation when the server codebase is out of sync with the client, and I
can run simulations with relative ease."
http://today.java.net/pub/a/today/2004/10/19/stubs.html
Please join us again next week.
Chris Adamson, editor
ONJava.com
==================================================================
We Made Mobile Content Sales Simple
Nokia introduces Preminet Solution, an open, customizable
mobile content sales chain that makes everything more
simple, more flexible, and more profitable. Test and verify
once. Load. Sell to operators everywhere. Download the free
white paper and learn to simplify your entire sales process.
http://www.oreilly.com/go/nok_jav111104
==================================================================
*** Java News and Weblogs ***
java.net Weblogs
http://weblogs.java.net/
O'Reilly Network Java Weblogs
http://www.oreillynet.com/pub/q/weblog_s?x-subject=3
Other Java News (channel -- LANG: JAVA)
http://www.oreillynet.com/meerkat/index.php
Java Cookbook Recipe of the Day
http://www.onjava.com/onjava/javacook/solution.csp?day=1
Java Events
http://www.onjava.com/onjava/events/
==================================================================
Special Offer for November
New Learning Lab Certificate: Open Source Programming
http://www.oreilly.com/redirector.csp?link=UAOSP&type=news
The O'Reilly Learning Lab presents a new certificate series for users who
want to acquire the skills needed for programming on any Linux or Unix
platform. The Open Source Programming Certificate Series is comprised of
five courses that span programming skills from intermediate to complex.
Students learn the core technical skills necessary for a complete
understanding of programming using open source operating systems,
languages, libraries, and databases. HTML skills are a prerequisite.
Only in November, sign up for all five courses and save 40%:
http://www.oreilly.com/redirector.csp?link=UAOSP&type=news
==================================================================
*** Other Related O'Reilly Network sites ***
O'Reilly Network
http://www.oreillynet.com
XML.com
http://xml.com/
ONLamp.com
http://onlamp.com
O'Reilly and Associates
http://www.oreilly.com/
O'Reilly Java
http://java.oreilly.com/
***
ONJava.com Affiliates
Servlets.com
http://www.servlets.com/
JDOM.org
http://www.jdom.org/
------------------------------------------------------------------
To change your newsletter subscription options, please visit
https://epoch.oreilly.com/account/default.orm and click the
"Manage My Newsletters" link. For assistance, email
[EMAIL PROTECTED]
------------------------------------------------------------------