YOUR FEEDBACK
James Nelson wrote: Thanks for the posting, which we are hoping will solve our software issue with t...


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Java Editorial — Not Invented Here: Reject, Repulse, and Reinvent
The phrase 'not invented here,' or NIH describes a resistance by a group to use a perfectly valid solution

The phrase "not invented here," or NIH, when applied to technology, describes a resistance by a group to use a perfectly valid solution to a problem they're encountering because they'd rather build the answer from scratch than adopt something existing that already does the job. Assuming that there are no legal or licensing issues to stop the already-built technology from being included, the reasons behind the recalcitrance to its usage usually boil down to human nature.

Software engineers are inventors, and inventors like to build things from first principles. Arriving at their door with a completed solution takes the wind out of their sails; it undermines their relevance and forces them to examine something built by people who are possibly smarter than themselves. Most scientists revel in such group sharing of knowledge; as Sir Isaac Newton acknowledged, "If I have seen further it is by standing on ye shoulders of Giants." Only by recognizing, embracing, and then using the solution as a platform to further advance can science move forward. At a recent presentation given by some NASA engineers who base their command and control systems on the Eclipse Rich Client Platform, they described the decision to do this by drawing analogies to rockets. As developers, their job at NASA is to work on the payload of the rocket and perfect the portion that rides on the top to boldly go and do novel and exciting stuff in space. The lower part that propels them into orbit is basically a commodity to them and bought off the shelf from Boeing and other big companies whose expertise is in moving big and heavy things efficiently through the atmosphere. This embracing of Newton's wisdom to pre-requisite technology such as Java and the Eclipse RCP is not rocket science to mature and sensible developers.

Leaving the world of space exploration for a moment, one of Java's problems since its inception has been the model by which classes are loaded into a JVM. Simplistically speaking, when a JVM starts it is given a classpath that contains a list of directories, or .jar files, and each time the JVM wants to load a class it scans the classpath until a matching .class file is found. Having been located, the .class file gets loaded by the JVM's ClassLoader and instances can be created. This model of having a JVM start up with all of its classpath ducks lined in a row, requiring termination and restarting when anything changes, is overdue for an overhaul.

Fortunately, the OSGi alliance, www.osgi.org, has been tackling this problem for about eight years now, during which time it has created an extremely mature and well-thought through dynamic module system for Java. OSGi's member companies are a who's who of today's software giants: BEA, Oracle, Motorola, IBM, Intel, Red Hat, Ericsson, and numerous others. Among the few absentees are Sun. The OSGi component software module model covers not only the execution environment, but encompasses life cycle management, as well as a registry of discoverable services. The technology is used today by the Eclipse framework and, along with the Standard Widget Toolkit, underpins applications built on the Rich Client Platform. A sensible strategy going forward would be for OSGi's Java component model to be included in the language. Such an initiative exists: Java Specification Request 291. JSR 291 was recently ratified by the JCP, a move that is goodness to all, from Java developers who can now build more flexible and robust applications, right through to the end users who will enjoy having more dynamic, more resilient, and more organic applications on their desktops, their servers, and their mobile devices. Everyone wins.

For some strange reason though, a cloud still lurks over JSR 291. Sun voted against ratification of JSR 291 in a move that many in the community are unable to reconcile as nothing more than an extreme case of NIH. In their defense Sun did have one other community member who voted with them to block the OSGi work becoming the de-facto Java module mechanism, Hani Suleiman, a gentleman not shy of sharing his opinions on the subject (www.eclipsezone.com/eclipse/forums/t92517.rhtml#92138332).

To complicate matters for JSR watchers, there is JSR 277 whose goal is to create a new static component model for Java 7. Many believe it is some kind of last ditch rearguard action to undermine JSR 291, OSGi, and, by ironic inference, the JCP.

Edmund Burke, the English philosopher, once remarked that, "The only thing necessary for the triumph of evil is for good men to do nothing." He was remarking about the fact that if nothing is done to counteract belligerence, arrogance, and bellicose behavior, then it will ultimately succeed. What I find remarkably refreshing about the Java space, however, is that time after time the recipe that triumphs for success is for strong positive arguments, strong technology, and strong communities to come together and tackle problems collectively. Those who choose not to participate are left behind and the consensus moves forward to a better place for the greater good of all involved.

As users of Java technology, we are all ultimately judged by the ability of the applications we build using the Java language to succeed or fail in front of our end users. The best way to serve them is to remain focused on their goals and wishes, collaborating with others if necessary to find answers to common problems, and intelligently assessing and adopting technology where relevant and applicable. The worst way to serve our end users is to adopt nihilistic attitudes to other's work, to engage in newsgroup insult wars over complex issues, or to attempt to apply a form of Java government that, like the ClassLoader, while rele-vant in the previous millennium, no longer pulls its weight today and is merely dated, anachronistic, and ineffective.

About Joe Winchester
Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.

LATEST JAVA STORIES & POSTS
Three-letter acronyms (TLAs) are hardly new in Information Technology: EAI, ESB, SOA, BPM, BAM, ETL, MDM; the list goes on and on. This article is about yet another three-letter acronym, EDA, which stands for Event-Driven Architecture. EDA is not a brand new technology, but rathe...
Furthering its dedication to providing Java developers productivity with choice, Oracle announced the Oracle Enterprise Pack for Eclipse, a new component of Oracle Fusion Middleware. This release marks the first free Eclipse 3.4 environment to support Oracle WebLogic Server 10g R...
Two of the biggest launches in Rich Internet Application history took place in 2007/2008 when Adobe launched AIR 1.0 in February '08 and Microsoft launched Silverlight (September '07). At the 6th International AJAXWorld RIA Conference & Expo in October SYS-CON Events is delighted...
Red Hat CTO Brian Stevens, Citrix CTO Simon Crosby, Egenera CTO Pete Manca, Allen Stewart, Group Manager, Windows Virtualization at Microsoft, and Brian Duckering, Sr. Director of Products and Alliances at Symantec were the top industry executives who joined Jeremy Geelan in the ...
Government intervention and direction has long been critical to the development of the computer industry. The Internet, after all, was derived from the ARPANET, developed in the early 1970s from a U.S. government-sponsored research project by the Advanced Research Projects Agency...
Commercial systems are developed with a huge range of performance requirements and we are concerned in this article with the small number of systems where absolute maximum performance is demanded either in terms of execution speed or available memory. We'll discuss the role of be...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
In every field of design one of the first things students do is learn from the work of others. They ...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE
BREAKING JAVA NEWS

SpringSource, a leading provider of infrastructure software and the company behind ...