New books from Addison-Wesley

Just got an email from Addison-Wesley with a list of the new books that they are publishing. Here are a few of them that I found interesting based on their title and description.

  1. Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans.
    This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing
    complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development.

  2. Next Generation Application Integration: From Simple Information to Web Services by David S. Linthicum.
    In Next Generation Application Integration distributed computing and application-integration expert David S.Linthicum describes the effect that this new generation of middleware will have on traditional application-integration efforts. Using key industry examples and case studies, Linthicum reveals the techniques and practices that are necessary to revolutionize data-sharing for any company–from sole-proprietorship to Fortune 500.

  3. Balancing Agility and Discipline: A Guide for the Perplexed by Barry Boehm and Richard Turner.
    Balancing Agility and Discipline begins by defining agility and discipline, sweeping aside the rhetoric and drilling down to core concepts. The authors describe a day in the life of developers who live on one side or the other. They expose the bureaucracy and stagnation that mark discipline without agility, and they liken agility without discipline to unbridled and fruitless enthusiasm. Their analysis is both objective and grounded, leading finally to clear and practical guidance for all software professionals-showing how to locate the sweet spot on the agility-discipline continuum for any given project.


HP Buys BEA in the next year?

Found this interesting thread of TSS that’s talking about how BEA and HP are growing closer and BEA deployment on HP is up 31%. I posted my thoughts there and wanted to post them on my blog as well.

I think HP and BEA will continue to get closer and closer, but I personally don’t see HP buying BEA. I’ve been speculating about the HP BEA buyout/merger for a while and I used to think it would happen. But if you look at HP today, they are trying to be an open-we’ll-do-what-you-want type of company with a close alliance to Microsoft for the Windows market. They are adopting Linux and aggressively marketing that instead of HP-UX. I think they’ve figured out something Sun hasn’t figured out — Hardware and services is their bread-n-butter and they don’t need to waste time on software and operating systems wars. Support all of them and make your money on the hardware.

I was at BEA eWorld earlier this year and Carly Fiorina was one of the keynote speaker at the event. She didn’t want her picture taken at the BEA podium and so a special announcement was made before she took the stage about no pictures. Kinda humorous 🙂

Personally, I wish HP would buy BEA giving BEA the edge (cash) it needs to compete with IBM on the marketing side. BEA has IBM beat on the product side, but IBM has the cash to drown BEA with those entertaining IGS commercials.

Blogger and Blog*Spot Woes

It has been a strange week – Blogger and Blog*Spot, the hosting service of Blogger that allows bloggers to host their blogs in vanity domains has had tons of problems in the last week. The service at Blog*Spot has suffered several Internet outages making all blogs inaccessible. Another major issue was permalinks, where all permalinks stopped working for Blog*Spot users.

Apologies to reader of Erik’s Pulse – In the last issue, Erik has pointed to my Tomcat review but readers were not able to get to it because of the issues. I wonder if the problems affecting FreeRoller and JavaBlogs are contagious. 🙂

I am in the process of moving my blog over to my own domain. We’ll see if that works any better.

XMLBeans arrive @ Apache

Just caught this email in my mailbox and I’m really excited to see this development. I was blogging about this topic earlier and I am really glad to see this happen.

-----Original Message-----
From: Cliff Schmidt []
Sent: Monday, September 15, 2003 9:05 PM
Subject: XMLBeans code has been checked in!

Thanks to the help of Brian Behlendorf, Ted Leung, Steven Noels, Greg Stein, and several other friendly folks within Apache, BEA has just checked the entire XMLBeans source code into [1]. It's now available to everyone who wants to be involved -- just click on 1+ of the links below [2] [3][4][5] and join the exciting world of XML and Java binding!



XMLBeans Web site (soon to be updated with binaries, docs, and much more): [2]

Subscription links:

Kudos to BEA for donating XMLBeans to the Apache Group and kudos to Apache for accepting it. I am really excited about participating in this project and I’m downloading the source as we speak.

[OT] Goodbye to spam – Maybe

I’m sure you have the same problem. I’ve used the same email address for the last 9+ years and in that time, I’ve probably subscribed to every programming related newsletters out there. I’ve also posted in Usenet and several mailing list with my email address and I now get about 500+ email messages a day. 99% of them are spam message. My email provider offers spam and virus protection services and I use them for my mailbox. The ISP’s spam solution blocks about 50% of the spam and most of the viruses that come my way. I then use Cloudmark’s SpamNet outlook plugin to attack the rest of my spam and it catches anywhere from 50-60% of the spam. This still leaves me with about 100+ messages that I have to go through by hand and pick and choose the email messages I care about.

While surfing around, I discovered Mailblocks. Their claim-to-fame is the spam blocking and address authorization technology called Challenge/Response. If someone sends an email to you and they are not in your personal Addresses list, they will be asked to prove that they are human and not a computer sending you spam. Senders will click on the link in an email and be taken to a web site, where they can quickly confirm themselves as a human. If they click the link and accept, the email they send will be delivered to your inbox. If not, the messages is marked as spam and deleted. Pretty interesting idea.

They also offer a pretty cool option called Tracker, which is an alias to your existing Mailblocks account. Trackers provide disposable email addresses that allow you to receive messages from listservs and mailbox that will not be able to respond back to the Challenge/Response mechanism. Subscribe to some listserv and newsletter using Trackers and then just delete them when they start getting spam.

OK, I’ll stop now before I get accused of shilling for Mailblocks. 🙂 I’ve signed up for an account and will see how it goes. I hope it works as I’m tired of dealing with spam. I’ll keep posting my experience with Mailblocks here on my blog.

PS: Phil Goldman, the CEO of Mailblocks also has a blog.

The Tomcat Bible – A must own book for anyone using Tomcat

I’ve had this book for a couple of months now and I finally posted a review on Amazon. Here’s a copy of what I posted on Amazon.

Tomcat: The Definitive Guide is a great book about the most commonly used open-source servlet/JSP container. Tomcat is the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. Tomcat is really powerful and flexible, but you really need a good book to figure out how to integrate Tomcat with Apache, how to set load-balancers, clustering, etc on all of the major platforms, including Windows, Solaris, Linux, and Mac OS X.

This is where Tomcat: The Definitive Guide comes in. This really well written book makes it easy to follow for the developer as well as non-developer admin. The book starts with an introduction of Tomcat (v4.0) where you learn how to stop/start the server, learn about the directory structure, and learn to modify the start/stop scripts as well as the configuration settings. I really like the treatment given to security, realms and JAAS in the second chapter with more details in the sixth chapter. Most books of this type will leave out security and this book deals with it in the second chapter. Kudos to the authors for that.

I also really like the chapter on performance tuning that deals with real-world applications. The chapter on integration with the Apache webserver is really well written. Most people that deploy Tomcat in production will want to put Apache webserver in front of Tomcat to serve up static content like html and images while letting Tomcat handle servlets and JSPs. Most of the documentation about this Apache httpd ? Tomcat integration on the Internet deals with v1.3 of Apache httpd. However, the book deals with Apache 2.0, which is another plus for the book.

I can go on and on – If you are using Tomcat, planning on using Tomcat or just want to learn more about the server, this book will provide you with all of the information to help harness Tomcat’s power and wealth of features. I would highly recommend this book as a companion to any servlet/JSP programming book.

My Love Affair With JRockit

I am in love with JRockit! 🙂 JRockit is the high performance JVM developed for server-side applications that is bundled and integrated into the BEA product line, including WebLogic Server. BEA acquired Appeal Virtual Machines AB, a Swedish company that made JRockit in 2001. Since then, they have worked closely with Intel to improve the product for servers based for Intel architectures.

WebLogic JRockit is the world’s fastest JVM for server applications. The virtual machine has full Java compatibility (1.3 & 1.4) and support for dynamic class loading. JRockit uses full adaptive optimization where it provides runtime information to improve code optimizations, garbage collection and thread management. JRockit also adapts to its underlying hardware and to the application running on it, but you also configure the memory management system (including the garbage collectors), and the thread system.

JRockit supports four different modes of Garbage Collection: a single-spaced concurrent GC, a generational concurrent GC, a parallel GC, and a generational copying GC. JRockit also has two different threading models. The first is the traditional threading or native-thread model that is used by most VM’s. A new model that is unique to JRockit is called thin-threads where multiple Java threads are run on a singe operating system thread. This allows JRockit to optimize thread scheduling, thread switching, and thread synchronization, while using less memory. While the thin-thread model is experimental, it is very useful in Linux and Windows environment.

I have been using JRockit since the first release of the product from BEA and it is just an amazing VM. The performance improvement is noticeable and quantifiable. With the latest release of the VM bundled with 8.1 SP1 WebLogic server, I see a 28% performance improvement across the board with a vanilla J2EE application with servlets, stateless session beans and DAO. The performance improvement is great and the app just visually looks and feels faster.

Another bonus of the JRockit VM is the management console that is included as part of the VM. The JRockit Management Console can be used to monitor and control running instances of WebLogic JRockit JVM. It provides real-time information about memory and CPU usage, method invocations, exceptions and many other items. You can also setup notifications based on certain events such as heap size, CPU usage, etc.

One of my favorite features is ability to generate a thread dump on the running server you are attached to.

The latest thing to come out of the JRockit engineering group is the WebLogic JRockit Runtime Analyzer Tool. The runtime analyzer tool allows you to capture and analyze the actual runtime characteristics of the application running under the VM.

To start using the runtime analyzer, you start by creating recording. To do that, you

C:java-toolsjrockit_runtime_analyzer>java -jar JraRecordingStarter.jar localhost 7090 vinny.xml 300
Recording successfully started!

Where vinny.xml is the name of the file that is recording the data and 300 is the duration (in seconds) of the recording.

Once the recording is complete, you can use the runtime analyzer to dig into the results and see how JRockit is optimizing your application.

I highly recommend you download and play with JRockit and test it out yourselves. JRockit is free for download and I hope it will continue to be free. It is in BEA’s interest to develop JRockit to make WebLogic more performant on the Wintel/Lintel platform and offer a lower TCO of the platform. Hope you find JRockit as awesome as I do.

PS: The views and opinions expressed on this page are my personal opinion and in no way reflect the opinion or position of the company I work for or it’s other employees.

BEA gets in the act

Over the weekend, I was checking out to see what was new and I spotted the entry entitled ‘Blogs We Like‘. dev2dev has had links to Adam Boswoth’s and Byron Sebastian’s blogs for a while now, but this has expanded into a section of the site where they have links to other blogs. I hope this signals the start of many other BEA developers and engineers blogging out there. Blogs @ GotDotNet really have a lot of Microsoft people blogging there and it’s nice to get that insight into what people are working on and what they are thinking about. I wish BEA would do the same. I’m surprised Tyler hasn’t jumped in yet 🙂

I know what I want for Christmas

I know what I want for Christmas! Well, besides 60-inch Plasma Flat-Panel HDTV TV. 🙂 I just saw the launch announcement for the Sharp Actius AV18P notebook on Gizmodo and CNET. The Actius AV18P notebook is 1-inch thick, weighs 3.9 pounds and comes with 802.11b wireless networking capabilities. It uses the low-voltage mobile Athlon XP-M processor from AMD and has 256MB of memory and a 40GB hard drive. It comes bundled with Windows XP Professional Edition.

The introductory price for this notebook is $1,399 for the short term and will be $1,449.00. I am not really a laptop person, but this would be nice to have some mobility around the house with a nice, thin laptop. Sounds like a better solution than smart display concept that uses 802.11b to give you access to your Windows XP pro desktop from anywhere in your home. Ahhh, To Dream…

Sun Mulls Joining Java Eclipse Effort

Just saw this on Yahoo via this blog. The headline, ‘Sun Mulls Joining Java Eclipse Effort‘ almost knocked me off my chair. The article states that Sun has indicated it might be willing to join the IBM-sponsored Eclipse project. The VP of the developer tools division said that he favors a standard that open-source development platform developers can access to build Java applications and Web services. Even if Sun joined the Eclipse project, they would keep NetBeans around. Why? Is there anyone using it anyways?? (so says a biased IDEA user) 🙂

This would be huge step in making Eclipse the ‘standard’ in the Java space. BEA has WebLogic Workshop and Oracle has JDeveloper and I’m sure these guys aren’t going to give up those tools and play nice with IBM. So it will come down to Eclipse, Workshop and JDeveloper in the free IDE space. (One could argue if Workshop and JDeveloper are really free) The Yahoo article also talks about Project Rave somehow merging with Eclipse.

I remember the violent reaction from Sun when IBM first announced the Eclipse project and they were probably even more incensed with the use of SWT vs. Swing or AWT. I gues Sun will do anything to reach the 10 million developer level.

I am not sure what this is going to mean to the tools. I have used Eclipse here and there for more than a year, but I still love IDEA and Eclipse doesn’t even come close to the features, versatility and speed. I guess I’m sticking with IDEA and will continue checking out newer releases of Eclipse as they come out. Sound off in the comments if you have any thoughts.