September 2002 Archives

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.fawcette.com/javapro/2002_11/magazine/features/dsavarese/default_pf.a…

Has Java passed its prime? According to this Java Pro article and a Meta report, it has certainly peaked. As cycles go, it may be a sign of beginning decline. Judge for yourself.

According to this article: “Creeping featurism may drive programmers away from Java to use newer languages that come along. Java cannot be all things to everyone, but it will probably try to do so… As Java’s complexity increases, its utility as a teaching language may decline. Just as C and C++ kicked Pascal and BASIC out of the classroom and were themselves kicked out by Java, Java may get kicked out by whatever new language comes along. Java has many faults and perhaps tries to do too much, between its ever-growing standard APIs and the evolving language and virtual machine. In Java, it’s very awkward to express dynamic behavior, such as introspection and adaptation. If dynamic computing structures become as important as static ones, scripting languages may make their long-predicted jump to the fore of software development. But Java will secure its niche, and like Cobol, keep many programmers happily employed.”

According to a ZDNet Meta trend report: “Global 2000 organizations will have heterogeneous application environments indefinitely, but .Net share will increase to 30 percent of enterprise development projects as J2EE use stabilizes at 40 percent by 2004.” So, I guess that J2EE vs. .NET debate is irrelevant; isn’t it?

Has Java passed its prime? According to this article and a Meta report, it has certainly peaked.

Ted Neward

AddThis Social Bookmark Button

I must admit, it’s been a long time since I was a steady programming magazine subscriber. Time was, I relied on magazines and their articles and columns for a deep insight into the industry I love; no longer. I’ve since cancelled almost every subscription I ever owned, and the few that continue to come to the house do so only because their subscriptions haven’t come up for renewal yet–and I’m sorely tempted to let them expire when they do.

Issues with Monthlies

At the heart of it all, I refuse to subscribe to magazines because they simply don’t capture my interest the way they did five years ago, for a variety of reasons.

For starters, speaking as an author of numerous books and white papers, I freely admit that I enjoy the editorial freedom that hosting white papers on my website gives me. I don’t have to justify the topics of the article to an editor for him to include it, nor do I have to try and find topics that will reach a broad swath of developers–I can focus my articles as tightly as I wish,
such as the white paper on dynamic classloading in Java potentially failing due to the nature of the hierarchical model in Java (“Understanding Class.forName()”) or how to build a java.security.Policy implementation (“java.security.Policy”), both of which were topics shot down by editors. I wrote them anyway, and they draw numerous hits even now, two years after writing them. It’s important that I admit that I’m still not sure if the papers would draw enough interest to justify inclusion in a magazine–I’m simply stating that I don’t have the same concerns
about “saleability” that an editor has.

I’m sure that the reasons editors have for making such decisions are sound,
from their perspective–it’s just that we, the author, the publisher and the reader,
each have a different perspective and agenda. As an author, I want to write about
interesting things. (Believe it or not, it’s not about the money–writing articles
is NOT the way to financial freedom.) Publishers, however, need to worry about what
will sell magazines, both to create direct revenue from the sale of the magainze
as well as indirect revenue from more advertising. Lastly, readers want to find
out about topics that may be relevant to the job (in my case, both as an instructor
and programmer/architect).

One thing that readers of my papers will notice is that my white papers are
definitely much longer than your average magazine article, another freedom.
For most articles, length limitations of 2,000 words (some longer, some shorter)
doesn’t leave much room to get in deep on a topic. My white papers routinely
weigh in around 15 pages or so–trying to strip that down to 2,000 words would
leave tremendous amounts of information out.

I feel this on the other side of the coin, too–as a reader, I’m
often frustrated at the extremely narrow-minded degree of a given article. It’s
not uncommon to read an article and feel like so much was left out; if the article
tries to cover an API, say Java Reflection, it has just enough room to cover
the basics, and nothing else. The material might
show you how to walk through the Class to obtain Fields and Methods, but won’t
explain the difference between getFields and
getDeclaredFields, or that using Reflection requires a
RuntimePermission to be able to successfully examine private
elements within the class. It leaves me with just enough knowledge to explain the
exact sequence of method calls for the sample code–if I were to take that code
and twist it around a little, I’m suddenly out of the article’s scope. To do the
subject justice, however, usually can’t be done in 2,000 words–therefore, to do
the subject justice usually means a two- or three-part article, stretched across
three (or more) months.

It’s also easy to get out of an article’s scope just because the platforms
and specifications mutate so much. Thanks to the long lead times required by
magazine publishers (again, I can’t blame them–there’s good reasons, I’m sure),
a magazine author will be writing an article easily half a year before the
article sees the light of day in print. Six months is forever, particularly in
the rapidly-evolving Java space. Think about it–how many JSRs were in pre-Public
Draft form at the end of March of this year, compared to now? Yet articles written
then are just now coming into publication. The end result is an article that may
actually be incorrect, incomplete, or simply unnecessary.

Part of this long lead time is because magazines want to set “themes” for each
issue–this month, Web Services, next month, Databases, the month after that,
Mobile code. This means that an article written today about some of the adoptation
of Web Services security standards adopted this past month won’t be read until
sometime next year, since that’s when the next “Web Services” theme will come
around. I’m not sure when we decided that magazines had to have themes–that it
is unacceptable to run articles about JDBC next to articles about J2ME with an
article on WebServices in between–but I’m assuming there’s a good reason,
frustrating as it is. And while we’re on the topic of time, waiting a month
between issues for the three articles (plus a few columns) in your average
magazine just hardly seems worth it–so many other resources can fill that gap
in between.

All of these issues thus far, while certainly frustrating, aren’t in of themselves
a strong enough reason for me to have abandoned the monthly print format, however.
The truly damning reason is simple: magazines keep publishing the same articles
over and over and over again, written by different authors but covering the exact
same material. How many articles have been published on Java Reflection,
demonstrating the basics of how to find a Method and call invoke()
on it? The title of the article tempts you with a juicy title like “Build a Dynamic Website Using
Reflection”, then spends 75% of its time describing how to obtain a Class,
iterate through the Method objects returned, and call invoke(). This
is almost line-for-line similar to the article that ran last year, showing
how to use Reflection to tie Swing buttons to “business object methods”, which
again spent 75% of its time walking you through how to obtain a Class…. Where
are the editors on this? If a magazine has already run a “Reflection Basics”
article, then why can’t the article this year simply say, “For details of how
to use invoke on Method, see the article ….” and let interested
readers look it up in a back issue or on the Web? Then the author would have 1,500
words (insted of the 500 left to them now) to talk about the benefits and
drawbacks of using Reflection as part of a dynamic website, a clear win for the
reader.

Frankly, as a reader, it feels to me (paradoxically enough) like the magazines
don’t do enough editorial work on the content of the articles themselves, forcing
authors to cite existing articles instead of rehashing information already covered.
In fact, it often feels like the magazine is a first “proving ground” for would-be
book authors, a place for a programmer to try his hand at technical writing as a
resume-building experience. While I’m not adverse to that–quite the opposite,
in fact, I think we need as many new perspectives as we can find–as a reader of
articles I don’t want to subsidize a programmer’s steps into publication if it’s
not going to give me some benefit. And, quite frankly, the last several years of
articles haven’t done a thing for me. It honestly feels like the magazine is so
desperate for authors, they’ll take anybody as an author, so long as they turn
in the piece on time. That’s not fair to the author, that’s not fair to the
reader, and it’s ultimately not fair to the publisher’s shareholders.

Reading Material

As an instructor and author and architect splitting my time between both Java
and .NET, it’s a fair question to ask what I’m using as a replacement for
magazines–if magazines don’t provide the in-depth information I’m looking for
in the kind of time I want it, then what does?

  • Books More technical publishing companies exist today than ever before, and they’re producing more and more books every year. I’ve had the privilege to work with three of them–Manning, OReilly, and Addison-Wesley–and I can honestly say that all three companies are top-notch organizations, turning out, on average, top-notch books. While the odd turkey will still slip through (I think of my Core OWL and Advanced OWL titles at Manning, which shipping six months after OWL was discontinued by Borland–my fault, entirely, for taking two years to write them instead of hte six months I’d promised), all three publishers churn out remarkably well-written titles. Books carry the disadvantage of having even longer publication cycles than magazines do, but not by much–your average book takes about 9 months to publish, from date of contract signing to pages rolling off the press. Books certainly don’t suffer from the length restrictions an article does (unless the book attempts to cover every API under the Sun, a failing some do succumb to), and a book author typically has much greater editorial control over what goes into the book than a magazine author does.
  • Internet resources I spend a lot of time
    online, reading email (usually from a number of mailing lists I lurk on),
    reading weblog entries, participating in Wikis, reading white papers, and
    scanning developer portals/websites for new information. I also subscribe to
    a couple of online newsletters–”e-zines”, I suppose. DevX, for example,
    publishes online releases, each one containing three or so articles
    of just about equal length as a magazine article. Granted, these online
    newsletters/e-zines somtimes suffer from the same problem of reptition, but
    here it’s not so onerous, since I didn’t pay for anything in the first place.
    I’m more than happy to simply skip the article if it’s a repeat of information
    I already know, unlike the magazine, where I paid for it.
  • Specifications and Documentation Although it doesn’t work
    for everybody, I personally spend a lot of time reading specifications and
    experimenting with reference implementations. In many ways, it’s the best
    way to get an unbiased opinion of a technology before the pundits (like me)
    start to dissect–or hype–it.

In many ways, I feel sorry for the magazine publishers; they’re caught
between a rock and a hard place, to use the old expression. On the one hand, the
website-driven Internet is all about providing content, the same as the
traditional paper monthly. In this, they are direct competitors. The Internet,
however, suffers none of the distribution
drawbacks that a paper-delivered monthly must face, that of printing and shipping
the magainze all of which bear costs. A fixed number of copies must be printed,
hoping not to come up short (lost revenue) or long (extra inventory), where that
number must be predicted ahead of time using past sales data and a wee bit of luck.
For Internet media, no such restrictions exist–I publish a paper on my website, and
within a month Google has picked it up, people start finding it, spreading the
word. The paper/article/story is now “published”. (This is precisely what
happened with my “Hosting
ASP.NET”
paper; in that case, the word was spread much more quickly thanks
to fellow weblogger Brian Jepson’s nice plug for it in his weblog.)

All hope is not lost for the magazine; as I stated before, the key problem
that turned me off of the paper magazine is a correctable item, that of
repetitive content. Editors, if you’re reading this, take a stronger stand on
the details of the articles published, strictly requiring that duplicate material
instead quote an existing article. Doing so will rebuild the credibility of the
magazine, and who knows? You might sell a few more back issues that way.

Do you find magazines useful? Where else do you go to find the information you need to “get the job done”?

William Grosso

AddThis Social Bookmark Button

Related link: http://www.wgrosso.com/emerging


A few months ago, I decided to found a new special interest group (or SIG) focused on new and emerging software ideas.


The idea is simple. I wanted to found a SIG for architects, CTO’s (of small software companies) and senior software developers with an early-adopter mentality. I wanted to focus on emerging software ideas– things that aren’t commercial yet, but will be in 2 to 4 years. And I wanted to focus on the technical side of things and get the people actually building the future to say a few words about what it is they’re building.


It’s starting to come together. In September, we had R. Guha in to talk about TApache, which might become one of the cornerstones of the semantic web.


This month, on October 8, Chris Crawford is going to speak on Understanding Interactivity (to see what Chris has been doing recently, see his website).


In November, on November 12, Peter Norvig will be talking about trends in programming language design.


And things are only going to get better. There’s a lot of interesting people out there, and a lot of ideas to explore.
So, if you’re in the neighborhood, check it out. And, if you’re not, the slides will usually be available from the web site.


P.S.– To keep up with the emerging technology group, you can always go to our website. If you want to be on our mailing list, the mail server seems stable now. It’s located here.

Got a speaker idea? Please share it.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://conferences.oreillynet.com/macosx2002/

Visit the O’Reilly Mac OS X Conference next week. It will have a Java keynote by James Gosling, along with several Java tutorials and sessions by the likes of Daniel H. Steinberg and O’Reilly Java Cookbook author Ian Darwin.

Keynote

Java on the Desktop
James Gosling, Sun Microsystems

Track: Keynote
Date: Wednesday, October 02
Time: 4:00pm - 4:45pm
Location: Santa Clara Ballroom

One of the under-appreciated strengths of Java is as a platform for building desktop applications. Mac OS X is a superb desktop. The combination is unbeatable. James Gosling describes why the future is exciting for Java developers on the Mac OS X platform.

Tutorial

Java and Mac OS X
Daniel Steinberg, Dim Sum Thinking, Inc

Track: Mac OS X Tutorials
Date: Monday, September 30
Time: 8:45am - 12:15pm
Location: Bayshore

Every Mac OS X box ships with Java 2 installed. From the familiar command line applications to Apple’s free IDE, we’ll take a look at how to develop Java applications on and for Mac OS X from three perspectives:

The tools: What are the tools available for you for developing Java applications on your Mac? Many of your favorite open source and commercial applications just work on Mac OS X. Others work better on the Mac and still others are available only on the Mac. You’ll have a comprehensive overview of configuring your toolset on Mac OS X.

Platform Advantages: There are features that you can take advantage of when you target Mac OS X for your Java application. You may be interested in adding Spell Checking, or Speech Synthesis and Recognition. You may want to use Java to control your QuickTime movies. This section highlights the benefits of bringing your Java application to Mac OS X.

Targeting the Mac: A Java application can be made to feel almost native on Mac OS X. We’ll explore options in deploying your application as well as the tweaks you should make to your code to make it more “Mac like.”

Session

Java Servlets on Mac OS X
Ian Darwin

Track: Programming
Date: Wednesday, October 02
Time: 10:45am - 11:30am
Location: Bayshore

OK, so you know how to program a little Java and want to run Servlets
on your Mac OS X machine. Ian Darwin tells you everything you need to
know, including installing and configuring Tomcat (the Open-source Java Web
Server from the Apache Foundation) as a standalone web server and Java Servlet/JSP engine under MacOS X.

Once it’s up and running, learn how to deploy Servlets, JSPs and complete “web apps,” as well as how to integrate Tomcat with the Apache HTTPD–you may want to do this for performance reasons or because part of your website depends on software outside of Tomcat’s realm. By the end of this session, you’ll have (or know how to get) your Tomcat web site up and charging!

Session

Java Media: QT or Not QT?
Chris Adamson

Track: Programming
Date: Thursday, October 03
Time: 1:30pm - 2:15pm
Location: Lafayette/San Tomas/Lawrence

As Mac programmers, we find QuickTime to be an old and trusty friend; as Java programmers, we usually tend towards Sun’s API’s because they’re de facto “standards.” So what to do when we want to write media apps in Java on our Macs? We can choose between QuickTime for Java and the various JavaSoft media API’s, including Java Media Framework (JMF), JavaSound, Graphics2D and Java Advanced Imaging (JAI). So how do we make the choice?

Java consultant Chris Adamson offers an overview of the two sides of Java media, helping those who haven’t invested deeply in one or the other (or both) see the issues that face Java media programmers:

  • Supported platforms: The status of what works where, and how well
  • Supported media types and codecs: What can you play or display, and how much freedom you have to work with it
  • Deal-killers: Which framework has MIDI device support that doesn’t actually work with physical MIDI devices? Which has broken sound-input support? Which doesn’t play nicely with Swing?
  • MPEG-4: Is it really the future, and how can we work with it?
  • Future support: Will QuickTime keep pace? Is JMF dead? Does it matter to you?

Aimed at Java programmers new to media programming, Adamson’s talk provides both a taste of the media API’s and a road-map for how to use them.

What made Adamson pick this topic for his presentation? “Client-side java seems to get the short-end of the stick, even from JavaSoft sometimes, and the idea of doing media work in Java seems inconceivable to some people–adding MP3 support to Java is one of the top-10 feature-requests on Sun’s website, even though playing an MP3 is a one-line program with the Java Media Framework, and maybe five lines with QuickTime for Java. Since Mac people tend to be so media-savvy, I’d like to help them see that if they’re java programmers too, then robust media API’s are here today, they work, and that we should start doing great things with them.”

There will also be Java-related sessions on Aqua, Cocoa, and more as well given by the likes of Apache’s James Duncan Davidson. For more on Java and Mac, visit the O’Reilly MacDevCenter.com and O’Reilly ONJava.com Web sites.

William Grosso

AddThis Social Bookmark Button

Related link: http://www.sdforum.org/p/calEvent.asp?CID=905

On October 3, Tim O’Reilly will be giving a talk in The Software Development Forum’s
The Future of Software Development series
.


Never seen Tim? Whether you’ve never had the opportunity, or whether you simply slept late and missed Tim’s keynote at a conference, it’s all the same. Come on down and join the fun.

Got any good Tim stories to share? I’m probably doing the speaker’s introduction (that 5 minute “here’s who he is” thing that precedes most talks) and I could use a good anecdote or two?

William Grosso

AddThis Social Bookmark Button

Related link: http://www.techdepot.com


I was looking at refurbished boxes on Tech Depot (a subsidiary of Office Depot that I like a lot). One of the boxes I was looking at struck me as a little too expensive. And so, I clicked on the “Tell me when this price drops” link (in itself, a wonderful feature– if they drop the price by enough, they’ll automatically let me know).


Up came a very simple page with a single form which requested three things: my target price, my e-mail address, and the date when the request should expire.


Ordinarily, I balk at giving companies my e-mail address. But not in this case. Because the same page also contained their privacy policy. Here it is, in full:
Tech Depot will in no way use your email address for anything other than the intended purposes herein.


That’s perfect. One sentence, complete assurance.


The question is: why do so many other websites not get it?

Steve Anglin

AddThis Social Bookmark Button

Related link: http://servlet.java.sun.com/javaone/jp2002/home/index.en.jsp

The 2002 JavaOne Conference and Pavillion in Japan has begun. Look for keynotes by Java platform head, Rich Green, James Gosling and more. Click for more on these keynotes as well as sessions, BOFs, tutorials and more. Look for focused coverage on Java-based Web services such as JAX, J2EE, and, of course, wireless Java (J2ME).

Furthermore, internetnews.com reports that Sun will announce the following:

1. JCP has completed final approval process for J2EE 1.4, which includes Java Web services API such as JAX. The group said it is expecting to begin implementing a reference implemention program in late October or early November with final acceptance of the specification due out in early 2003. As part of this, look for the following tools: Java BluePrints for the enterprise program available now in Japanese; a server compatibility program that verifies that a J2EE platform product complies with the J2EE platform standard; and a JavaVerification Program.

2. Sun and the JCP is replacing its longstanding PersonalJava specification with a new Personal Profile specification (JSR 62). This new profile is a J2ME Connected Device Configuration (CDC)-based technology that promises better Internet connectivity and Web fidelity. The CDC HI (Connected Device Configuration, HotSpot Implementation) is an implementation of the CDC that includes a configurable compiler for client devices. Ericcson, IBM, Insignia, Philips, RIM, Texas Instruments and Zucotto were among the committee companies that approved the specification. Look for Motorola to be in the mix as well on this. Additionally, as a J2ME CDC-based profile, the J2ME Personal Profile contains advanced Java 2 technology features such as reflection and security, on-board bytecode verification, a Java Native Interface (JNI), and an AWT. And finally, the JCP offers three new standards for J2ME devices: MIDP 2.0, Mobile Media API (MMAPI) and Wirless Messaging API (WMA).

It seems wireless will be the real focus of interest at this JavaOne. If you can’t make it to Japan like me, you can always wait until next year when the next JavaOne will be held at San Francisco’s Moscone Convention Center in June 2003.

If you made it to Japan, share your views on this year’s JavaOne there?

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.insignia.com/content/about/releases/020923.shtml

How’s this for irony? Sendo licenses Insignia Mobile Foundation based on J2ME for Sendo Z100 Multimedia Smartphone, a new Microsoft Smartphone 2002-based phone. Find out more in this press release.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://news.com.com/2100-1001-959066.html

Is Hewlett-Packard (HP) becoming the Switzerland for server software and middleware solutions?

First, HP announced a partnership with BEA Systems to incorporate BEA’s WebLogic application server middleware, and possibly the entire suite, with HP’s HP-UX servers. Second, some HP executives are now sitting on BEA Systems’ board of directors. Third, BEA enhanced its WebLogic offerings by partnering with Borland to incorporate Borland’s Java IDE, JBuilder, with WebLogic.

So far, it sounds like HP is in the realm of Java. Well, yes and no. The no, because of this new HP and Microsoft partnership and investment in .NET announcement. But also, a month or so ago, Borland announced that it will develop IDE and other development and programming tools that support and use .NET. So, while Borland may be part of the BEA WebLogic Java-based equation, it’s certainly a part of the .NET equation. Apparently, so is HP.

HP realizes that the debate between J2EE vs. .NET is not a debate afterall. As businesses integrate, merge, and look for cost-effective ways connect and operate, the value of interoperability between Java and .NET is paramount. Also, HP has a rather large Windows base, from its merger with Compaq. Therefore, it makes sense for them to invest in and support the .NET framework, in addition to continued investment and support for Java-based applications and Web services.

Of the big three server vendors consisting of IBM, HP, and Sun, HP is poised to be in the best competitive position going forward while IBM and Sun are primarily Java-only shops. IBM, however, does partner with Microsoft on W3C Web services initiatives.

Is HP becoming the Switzerland for server software and middleware solutions?

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.theserverside.com/home/thread.jsp?thread_id=15682

Floyd Marinescu posts the following on TheServerSide.com: “eWeek has published an interview with James Gosling, revealing that he is researching model-based tools, thinks serverside Java is about as pervasive as it can get, defends Sun’s poor success in the tools market because Sun focused on building the community, has a hard time with the GPL anti-IP mindset, thinks Hailstorm sucks, and that Web Services have been here in different forms for some time.”

Steve Anglin

AddThis Social Bookmark Button

Related link: http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2880274,00.html

According to ZDNet and METAGroup: “By 2003, the use of open-source software will become a standard part of all organizations utilizing Java, with a high number already using the Apache Web server (60 percent of active sites) and a significant group using open-source Java servers (14 percent).”

Steve Anglin

AddThis Social Bookmark Button

Related link: http://sunnetwork.sun.com/sf2002/conf/schedule/index.en.jsp

Here’s a final look at the SunNetwork 2000 Conference and Pavillion and its remaining schedule, including keynotes, sessions and BOFs. Also, here are today’s SunNetwork 2002 sessions.

Today’s sessions of interest to me include the following:

The Java CardTM specifications enable JavaTM technology to run on smart cards and similar devices with extremely limited memory. With more than 200 million cards already deployed, the Java Card API allows applications written for one Java Card technology-enabled smart card platform to run on any other Java Card technology-enabled platform. This session details the recent Java Card 2.2 release, which is a technology evolution release following the Java Card 2.1 release in Nov 1999, Java Card 2.1.1 release in May 2000, and Java Card 2.1.2 release in April 2001. The Java Card 2.2 release addresses ease-of-programming issues by providing RMI support and a modular deployment framework, which makes programming the card as well as the terminal easier. It addresses some of the real world deployment issues such as applet and package deletion, and introduces support for logical channel access to smart cards to enable the 3G phone market to use multiple USIM card applications simultaneously. These features bring value to 3G, IT infrastructure and financial markets, yet the release remains completely backward compatible with previous specifications.

Implementing Web Services with JavaTM API for XML Messaging (JAXM) and the Java Web Services Developer Pack (Java WSDP) — This developer-oriented session presents the JavaTM API for XML Messaging (JAXM) programming model for Web Services. After an architectural overview of JAXM, this session will take the audience through the steps required to develop two types of JAXM client applications (with or without a provider), the details of the JAXM programming model through code/demo walkthroughs, and configuration and deployment on the Java Web Services Developer Pack (Java WSDP), which is an integrated and production-quality tool set that will help Java developers to build, test, and deploy Web Services. The difference between the two JAXM clients, the relationship with JAX-RPC and JMS, the SOAP 1.1 with attachments API for Java (SAAJ), and message profiling will be discussed in the context of the Java 2 Platform, Enterprise Edition (J2EETM) component models. This session is intended for developers planning to either implement JAXM, build/extend JAXM profiles, or develop SOAP 1.1-based messaging applications by using Java WSDP. After the session, developers are expected to be able to start JAXM Web Services development.

JXTA in the Enterprise — The open source Project JXTA (www.jxta.org) defines a set of network protocols to establish a virtual ad hoc, peer-to-peer network overlay on top of existing physical networks. The JXTA virtual network standardizes the manner in which peers discover each other, self-organize into peergroups, advertise and discover published network resources (cpu, disk, contents), communicate, and monitor one another. The JXTA network is built out of five abstractions that hide the underlying network complexity and topology: homogeneous peer ID addressing, peergroups that define spontaneous secure virtual domains, a uniform resource advertisement description, a resolver to bind a resource to a physical peer, and pipes as virtual communication channels between peers. This session will discuss security and network infrastructure issues faced when deploying JXTA in a corporate network. We will describe how a JXTA corporate network (Relay and Rendezvous peers) can be configured to address various enterprise security requirements, and how the JXTA network can be integrated with existing enterprise services (directory, monitoring and authentication services). We will cover a number of JXTA enterprise services that recently have been contributed by the JXTA community to help the integration of JXTA into an enterprise network such as an LDAP-based naming service, a JavaTM Authentication and Authorization Service-based peergroup authentication service and a SOAP/Web bridge service.

Of course, there are others today like Java and SAP, Web Services Development using Sun ONE, Liberty, Jini and much more. How does one choose? Anyway, I have to say that this conference is a success. I only wish I could come on Friday when Bill Joy and James Gosling keynote, in addition to another day of choice SunNetwork 2002 Friday sessions. Enjoy!

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.theserverside.com

Recently, interviews with Sun’s Open Source Diva, Danese Cooper, and Sun’s Java Web Services Developer Pack Architect, Eduardo Pelegri-Llopart have been posted.

First, java.sun.com held an interview with Danese Cooper, who manages Sun’s Open Source (OS) Programs Office. The interview reviews Sun’s progress in making good on its promise to allow OS versions of its specs, compatibility branding for OS projects, the reason why JBoss can’t be J2EE branded, etc.

And finally, TheServerSide.com recently interviewed Eduardo Pelegri-Llopart as part of its Hard Core Tech Talks series. He describes the Java Community Process (JCP) and the role of a spec lead. He talks about Sun’s Web services strategy, and how current vendors’ approaches to building Web services differ from that of Sun. He describes how developers can use the different JAX APIs in their projects, and discusses the role of JAX-RPC, JAXM, and JAXR. He also looks at Web services support in J2EE 1.4.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://sunnetwork.sun.com/

The first SunNetwork conference contains enthusiasm, buzz and more. It is Sun’s first user conference in years. Combined with its developer audience, look for the following…

Today’s sessions covered include JXTA and JAX-RPC. The JXTA session was an introductory session on peer-to-peer fundamentals. It covered “HelloWorld” and how to register as a peer, with detailed Java 2SE-based code examples. JXTA also has C, Python, and other language implementations. The JAX-RPC session covered how JAX-RPC bridges or maps WSDL to Java classes, and serves notice as a possible replacement for JAXM in terms of messaging. JAX-RPC may become the key interoperability API in Sun’s Web services strategy. Look for JAX-RPC to incorporate SOAP 1.2 real soon as well. For more on today’s sessions, visit Sessions, Wednesday September 18.

No, SunNetwork 2002 is not another Java conference. It’s much more, focused on how Sun’s Sun ONE (Open Network Environment), not to be confused for open source, is a complete, integration and interoperability environment, framework, as well as product tool suite for enabling the development, administration, management and use of Java, Web services, Solaris OS, Linux OS in a comprehensive and cost efficient manner. At least, that’s my take on it so far. Sun ONE is not just Web services anymore; that’s for sure. It’s also more than just a suite of tools. This conference is attempting to clarify the message behind Sun ONE. And so far, it’s doing that.

Bye for now. The next round of sessions are beginning. If you’re unable to attend today, check it out tomorrow and/or Friday.

What do you think of this conference? Share your views here.

Dion Almaer

AddThis Social Bookmark Button

Related link: http://www.theserverside.com/resources/index.jsp

How annoying is it for many developers to have all of those damn ClassCast exceptions. Classloading isn’t a simple thing when it comes to J2EE, and knowing how YOUR application server configures its classloaders for your EAR file is necessary. I hate going in to see people putting all of the jar files in the system CLASSPATH :/ This article on TheServerSide discusses a few advanced classloading schemes.

Discuss the article here

Steve Anglin

AddThis Social Bookmark Button

Related link: http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2880274,00.html

Posted by TheServerSide.com’s Floyd Marinescu: “A recent metagroup article analyzes the risks and benefits of open source, focusing on its uses in the J2EE context. The article makes predictions including open-source software adoption in all java-shops by 2003, 14% of which to use OS appservers. They also say that the line between open source vendors (with profitable business models) and commercial vendors with free products will blur.”

Marc Hedlund

AddThis Social Bookmark Button

Related link: http://www.oreillynet.com/pub/wlg/1992

I enjoyed reading Ted Neward’s weblog on The Success of Java, but I disagree with his conclusions and I have an alternative proposal.

I agree with one of the reader comments on Ted’s article, which says that creating GUI code is not something open source projects have done particularly well. The reader points to shipped GUIs like GNOME and KDE, and certainly there are other examples in this vein. I would go a little further and say that GUI APIs are probably even more removed from the strengths of an open source project model. Not only must the API itself be internally consistent and easy to use, the effects it creates — that is, the look and behavior and defaults — must be externally consistent as well. I certainly would say an open source project could succeed at such an effort; but I would also say I haven’t seen it happen yet, and it would take more — much more — than Sun dumping a ton of code into the ether for it to happen.

(As a side note, I think there’s a very interesting project waiting to be done: an analysis of the governance and participation models of various open source projects. I’ve suggested this to Tim O’Reilly in the past and I would do it myself if I had more time. Linux and Perl and Apache, three of the most widely-referenced open source successes, have three incredibly divergent models for controlling change and inviting participation. The leadership models are radically different, the histories are rich, and arguably the nature of progress and evolution varies between them. I’d love to see in-depth interviews with participants in these and other projects, with some resulting prescriptions for how to run projects under the models suggested by Linux’s “benevolent dictatorship,” Apache’s “meritocratic representation,” Perl’s “monarchy and prime ministry,” and others. Relevant to the Swing discussion, an open sourcing of Swing would need, in my view, either a benevolent dictator or a monarch and prime minister model — the representative governance of Jakarta seems the worst-suited to the level of consistency and integration needed for GUI development. The closest analog is Perl, not Tomcat.)

In any case, we could argue about whether an open source GUI project would succeed or fail. We could even argue whether the development of Swing is really a problem — I think Swing is an excellent API hobbled by the horrible desktop performance of Java. Instead, I’d like to set this aside and make an alternative proposal for Sun and the open source community around UI development and the Java libraries.

One of the most tantalizing things I’ve found in C# and the .NET platform is the close relationship between Windows Forms (the .NET analog of Swing) and Web Forms (the .NET analog of JSP). When you look at these two APIs, you can see that Microsoft is pushing them as closely together as possible. Why? Well, here’s what Microsoft says on the topic:

The next generation of Visual Studio will dramatically reduce the complexity of creating the next generation of Web applications. Visual Studio developers will be able to develop applications targeting the Web using the same paradigms with which they build Visual Basic applications today. With new, simplified techniques for Web application development, and with inherent support for industry standards such as XML and SOAP, Microsoft will help Visual Studio developers create the next generation Web.

In other words, bringing the Web and desktop GUI APIs closer together will allow developers and applications to easily move between these two paradigms. I think this is an incredible benefit of C# and the .NET platform: you develop your UI in a common, easy to learn API model, and that model can be applied to Web (thin-client, connected access) interfaces and Windows (fat client, disconnected access) interfaces with a trivial amount of work. Your application operates the same way for your users, depending on their needs and environments.

Let’s take an example of a sales database. In the office, the sales database is a Web application, accessible from any intranet browser and updated instantly with every piece of customer data. That’s great — as long as you’re in the office. Salespeople, of course, travel all the time. With a Web Forms to Windows Forms port (and some help from ADO.NET, an elegantly complementary data access technology in .NET), your salespeople can use the same application in the same way, sitting at their desks in the office or disconnected on their laptops while flying from New York to L.A. Development porting time is limited, user education is minimal, and the benefits are clear.

Great stuff if you’re a Windows developer and you can get the benefits of Windows Forms. What if you’re a Java developer? Well, you’re out of luck — Swing and JSP are radically different, almost unrelated models. Taking a Java-based Web application and turning it into a Swing app is almost a complete rewrite of the interface.

Here, then, is a project where Sun and the open source community could work well together. The Jakarta project has done exceptionally well with server-based interface toolkits like Struts; Sun has done very well in creating a usuable and consistent desktop GUI API in Swing. These two groups should work together to meet the challenge of Windows Forms and Web Forms. Use Swing and its API as the model, and create a “port” of this existing, consistent API to the Web model (providing a desperately needed alternative to JSP in the process). This sort of porting effort is very well suited to an open source project. In addition, such a project could again show Sun’s customers the benefits of working in a development environment supported by the open source community — namely, that the growth of the environment is not limited to a single vendor’s ideas and needs, but instead is fueled by collaboration of many companies and communities.

If Sun does nothing to address the strengths of Microsoft’s Windows Forms/Web Forms model, that model might wind up being a wedge for Microsoft to break Java’s server-side dominance. Show our hypothetical salesperson that they can get the benefits of a Web application with the interface of a Windows application, and they may never want to go back.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://techupdate.zdnet.com/techupdate/filters/specialreport/0,14622,6023433,00.…

According to ZDNet: “While Sun is on a path to open up Java on its own terms, IBM doesn’t like where things are heading. In Sun’s world, Java needs a guardian angel to protect the sanctity of the many things that Java already offers and, in Sun’s eyes, that guardian angel should be Sun. But IBM thinks Java should be an open standard governed by an independent and objective organization. So says IBM director of e-business standards strategy Bob Sutor.”

William Grosso

AddThis Social Bookmark Button

Related link: http://www.wgrosso.com/emerging/Meetings/Sept2002Meeting.html


I’m starting a new SIG, concerned with emerging technology (I’ve written a previous weblog article about it too). We held our first meeting last Tuesday.


64 people showed up to hear R.V. Guha speak about his work on TAPache.


The core idea is fairly simple: build a simple platform so that people can share data. Instead of the increasingly complex world of XML (where specs take 300 pages and are unimplementable), focus on a simple data model and a very simple query interface. It’s easy for people to export data, and since the data is basically RDF-style triples, it’s easy for programs to interpret the results.


What’s more:
TAPache also implements everything as an apache module and a client library. You can literally download the code and start experimenting with the semantic web.


Amazing stuff. Really. I only wish that Guha’s comment’s about commercial prospects (”We’re about 5 years away from any reasonable business model”) didn’t ring quite so true.

What emerging technologies are you interested in?

Ted Neward

AddThis Social Bookmark Button

Java enjoys something of a tarnished history, in some ways. Originally held up as the penultimate client-side technology–everybody remember when “Write Once, Run Anywhere” was the sole slogan for Java?–Java has since more or less abandoned its client-side roots in favor of its success on the server-side in J2EE. And yet, Sun just can’t quite give up on the idea of “Java everywhere”: server-side, client-side, even PDA-side. They sink millions of dollars in time and salaries in perpetuating the Swing libraries from one JDK release to the next, all to be greeted with comments like, “Java Swing is not good for GUI development” or the more colloquial “Swing Sucks”.

Realities of Economics

Let’s establish a few facts up front here, before we continue with the analysis:

  1. Sun is engaged in a fight with Microsoft over the future of enterprise computing. Anybody who doesn’t see this needs to stop talking to the volleyball. It’s .NET vs J2EE, no holds barred, with the referee (the DOJ) taking a coffee break and munching on a donut.
  2. Sun is smaller than Microsoft. This is another indomitable fact–Sun simply doesn’t have the same kind of resources to throw at Java that Microsoft does at .NET, particularly when we stop to realize that Sun is also a hardware manufacturer, and derives much (most?) of its income from that line of work.
  3. Software development requires resources. Money for infrastructure, money for salaries, employees’ time, these are all non-trivial costs associated with any particular software (or standards) development project. Resources are finite (thank you Keynes), so Sun needs to make sure that the investment in resources yields commensurate payoff–not in “web presence”, which was sooo 1990’s, but in hard cash.
  4. “You cannot strengthen the weak by weakening the strong”. This quote, by Abraham Lincoln, highlights a key principle: sinking money into something that’s not yielding results, when that money could go into something that does, is not a great business prospect. Medical guys call it triage. Business types call it “rightsizing”. I call it “smart investment”.
  5. Further development is necessary. Swing needs additional enhancements, and will always need additional enhancements, for the lifetime of the project. Changing UI guidelines, new looks from Microsoft (among others), new hardware that needs to integrate within the UI, all of this represents a perpetual employment curve for Swing coders. Can you say “Big Black Hole”?
  6. Portable GUIs are hard. Without exception, Swing is the largest project in the J2SE library, and easily (I’m guessing) represents more than half of the development effort for any given J2SE release. Consider the staggering goals of this project: to produce a cross-platform, natively-drawn, GUI toolkit. I remember going through this phase back in 1992-94, when C++ ruled the roost and toolkits like XVT, Zinc, and zApp promised cross-platform applications with just one source base. “No #ifdefs!” was the rallying cry. The problem is that this kind of transparent portability is hard. Very hard. So hard, in fact, that none–count them, ZERO–of those toolkits survived. (Rogue Wave, a company that acquired one of those toolkits, still exists, and their C++ libraries are still available for purchase, but there’s zero new development going on there.) None of those toolkits even attempted to do all the screen-painting natively, either, when complaints that “the GUI just looks wrong” when rendered with native components (think AWT here) came up. The goals of Swing are HUGE.

Swing != Payoff

For just a moment, let’s give credit where credit is due–Swing represents a HUGE success, as far as I’m concerned. Sun has created a library that, more or less, does what it’s supposed to. Yes, it has bugs. Show me a project larger than “Hello, World” that doesn’t. Yes, there’s functionality we’d love to have that wasn’t there to start (think mousewheel), but Sun has been slowly folding that support in. Themes, portable look & feels, a rich model/view architecture, non-trivial controls (JTree, JTable), Swing definitely hits a triple. It’s portable, you can write functionally usable applications using it, and it has a rich set of UI functionality available to you.

But, as O’Hearn notes, Swing is hardly a resounding success across the board. Running on light hardware, Swing crawls–because, in order to maximize its UI portability, Swing has to draw each and every pixel in the window itself. Swing apps “just don’t quite look right” to many users–the look and feel just “stands out” compared to other applications for whatever platform you’re running, even using the native look & feel for that platform.

Let’s not forget that Swing is entirely free–the entire development cost of Swing is a drain on their development budget, with no income to compensate. Frankly, this doesn’t make much business sense, unless you believe that people wouldn’t use Java if a UI toolkit wasn’t available. One is (AWT), and gets people “just far enough” that students and hobbyists you want to build apps with it can do so. If a company wants a professional-looking application, isn’t it worth some money to them to get a professional UI toolkit?

Let’s also not forget that this race is far from over. Java has had more than five years in which to build a lead against Microsoft, but that grace period is over. Any opportunities to make mistakes and not pay for it are long since gone. From here on in, it’s a knife fight. Sun needs to keep their focus tight.

No Swing? No Way

That Java wants a GUI library to ease developer efforts on client-side applications goes without question. As O’Hearn notes, “Sun needs to realize that the Java platform can’t survive against Microsoft indefinitely as a server-side technology only”. Particularly, as I’ve already noted before, the “rich client” (as opposed to the browser-based “thin client”) is about to begin a renaissance, and full-featured UIs are coming back in vogue. Not having a rich client technology here would be almost fatal, because it will be far easier to go Java-to-Java client-to-enterprise, rather than .NET-to-Java. If .NET WinForms become the de facto choice for doing client-side development (and WinForms face their own adoption curve, make no mistake, so this isn’t a guarantee by a long shot), it’ll be very easy to give in to the temptation to just go .NET-to-.NET.

That Swing needs to exist is not up for debate. But does Sun really need to be the driving force behind it?

Turn It Loose!

Question: What would be the result if Sun simply turned all Swing development over to the community as a whole?

We’ve already seen the huge success a number of Open-Source projects have enjoyed in the Java space: Tomcat, Ant, Crimson, Axis, the Jakarta-Apache Group is an amazing collection of people that have created an amazing set of tools and code. (My personal favorites: Ant and BCEL.) It’s not unreasonable to assume that the Swing libraries would get good attention once released. It’s also not unreasonable to assume that Swing would remain as the preeminent “standard” for developing native UI applications, just as Tomcat and Ant and preeminent “standards” in their respective areas.

What this does most of all, though, is:

  1. free Sun to take those hordes of Swing developers and either contribute them back to the open-source effort (as they did with Tomcat), or move them onto other projects,
  2. bring far more developers into the halls of Swing than Sun could ever hire or pay for, and
  3. earn back some respect from the open-source community that our dear buddy Scott McNealy burned with his comments about open-source J2EE efforts.

These are not intangible benefits, and most of all, seems to represent a win-win for everybody. The Swing Connection could move to jakarta.apache.org, the developers there could become the nucleus of the open-source Swing community, and Swing could “keep up” with platform developments at almost-zero cost to Sun. This sounds like a good result to me….

Thoughts?

Ted Neward

AddThis Social Bookmark Button

(I feel compelled to issue some kind of disclaimer here, that OReilly is in no way responsible for anything written here. This is all me, from the heart.)

The Visual

The reality is, two tall buildings that dominated the New York City skyline are gone. Madame Liberty, standing in New York Harbor, no longer has the Twin Towers to keep her company in her lonely vigil over New York. Thousands of innocent civilians–men, women, going about their daily lives, much as you’re doing right now–will never look back, never see their families or their friends again.

I mourn them. More, I mourn for those they left behind, because the harder road is reserved for the ones who didn’t die in the tragedy. Questions of “Why me? Why was I spared?” linger in the back of their minds, a cancerous blight to their life forevermore. Vietnam veterans report struggling with such questions even now, almost thirty years after their return. Make no mistake about it: the memorial services, the tributes, the wreaths, these aren’t to comfort the spirits of those who have passed on–these are to comfort ourselves.

The Message

In the wake of the attacks, America sought to find a reason, a purpose, something that would justify these 19 men’s anger against us. We reasoned that they despise our way of life, they despise us, they are the epitome of evil. We wrapped ourselves in our fundamental belief of our own goodness by simply saying these men were “evil” and left it at that.

At the one-year anniversary mark, I’d like to think that we, as a nation, are ready to emerge out of such childish beliefs, and start to examine the reasons. The fact is, many of those who fight in this manner do so because they believe they are powerless–that they have no way except through violence to affect their surroundings. The Palestinian uprising currently plaguing Israel is another such example. The IRA in Northan Ireland is a third. The basic line of reasoning is one we as Americans are all familiar with, having witnessed it on movie screens and television shows all our life: “If they won’t listen to me, I’ll MAKE them listen.”

As the foremost superpower in the world, America has a responsibility that we ignore at our peril. Our decisions affect the planet. Our choices shape mankind’s destiny. We decide to attack Iraq, and the entire world reacts to our decisions. If Belgium, or France, or even Britain, made such a gesture, it wouldn’t even make front-page news. But if President Bush has an aide that lets something slip in a back room somewhere, and it’s on the cover of every news rag in the world, with foreign leaders’ reactions to the statement. We could, quite literally, take on the entire world and make a fair fight out of it. This is power, and, as the comic-book hero learned, “With great power comes great responsibility”. How could we have forgotten what we learned as children?

Going Forward

Like Kevin Bedell, as a software guy I often wonder if what I’m doing really makes a difference. It’s not like I’m saving lives, or inventing medicines, or even growing crops. I sit at a desk, producing tools that 99.9% of the general population will never see, understand, or use. Some of us are fortunate enough to work for environments where their work is visible to the world; in many ways, I envy the developers at Yahoo, Google, and Amazon, because when asked, “What do you do?”, they can point to their respective sites by way of answer. Software is ephemeral, abstract, something that most people just don’t get.

As a result, it becomes more difficult to justify what I do when something like 9/11 comes up. Coming out of high school, I thought my career path lay in the direction of foreign intelligence analysis, doing what has become so critical today: finding clues amongst the “chatter” of threats to our nation. All I’ve achieved so far as a geek just pales in comparison, it feels. So I choose to make my difference indirectly, rather than directly: I spend a few more minutes with my kids each day. I write books, in the hope that if I can save you five minutes, you’ll spend that time with your family and friends. I write articles to try and explain how I found a problem, in the hopes that it’ll save readers time, time we now realize we’re all just borrowing anyway. I can’t fight fires, I can’t decide policy, I can’t raise the standard of living for those in poverty, I can’t punish the WTC perpetrators directly. Instead, I try to content myself with the idea that I’m helping those who can do such things do their job better, and that I’m influencing part of the next generation, in hopes that they can solve the problems that have so far eluded us.

This anniversary, spend a few more minutes with your kids. Talk to someone of the Islamic faith, and rediscover what we learned the hard way in the 60’s: that looks don’t matter, that turbans and dark skin don’t mean terrorists. Call your parents, your brothers, your sisters, and find out how they’re doing. Call your Congressman, and urge them to look into how to solve the problems of the Middle East, instead of backing the most convenient leader. Sell your SUV and buy a Saturn instead, to reduce American dependence on foreign oil. As Americans, we’ve all heard that “life can never be the way it was”. It can be better. But only if we, not “somebody else”, make it so.

Steve Anglin

AddThis Social Bookmark Button

Here in Silicon Valley and Tysons Corner, VA last year, the well-regarded Computer Literacy Bookstores closed. What does that leave? Well, for those who are looking for techical bookstores that they can actually visit by foot, here are some remaining options:

1. DigitalGuru is a technical bookstore that’s both virtual and real. DigitalGuru has an excellent selection of computer programming trade books for all skill levels. Moreover, they have a good selection of engineering, math and graphics books. To visit by foot or by car, go to 546-3 Lawrence Expressway, Sunnyvale, CA in the heart of Silicon Valley. If you are unable to visit in person, you can go online or likely find them at a major conference near you. That’s because they’re the offical bookstore at several major conferences including JavaOne.

2. Stacey’s Bookstore is not just a technical bookstore, but a general one as well. However, their technical focus is quite good, especially at their San Francisco store. They also have a store in Cupertino, CA, again in the heart of Silicon Valley.

3. Also, try visiting university bookstores such as the ones at Stanford, U.C. Berkeley, Santa Clara University, San Jose State/Robert’s Bookstore, and more. These stores usually have an excellent selection of computer and technical books.

Well, I think I’ve covered the Silicon Valley. Of course, there are excellent technical bookstores elsewhere in the U.S., including San Diego, CA, etc. So, if you’re looking for technical bookstores to actually visit by foot (or by car), check out these or others that readers will put forth, below in the Talk Back.

I invite you all to submit your nominations for best technical bookstore to visit in person, below.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.chillingeffects.org

The University of San Francisco, Harvard, Stanford and U.C. Berkeley law schools created a Web site to help people to understand their legal rights relating to the Internet. This includes trademark and domain name disputes, as well as copyright and patents. It’s a good resource, and I highly recommend this for anyone developing, managing, and using the Internet.

AddThis Social Bookmark Button

Most users and developers are familiar with the standard HTTP error messages, particularly the infamous 404 and the almost-as-infamous, at least in web applications, 500, the dread Internal Server Error. Most web development environments let you override the standard web server error messages with your own versions, providing more (and less incongrous) information to the user. For any application, particularly when you make a conscious decision to present the error, this seems like a good idea. At the very minimum, it makes log analysis and error pinpointing that much easier.

The team desiging the Microsoft Exchange Web Access server gets this; but the IE folks don’t. This morning I tried to log in to an Exchange Web Mail environment for the first time. I did this in IE, and after entering my login information incorrectly I got a 403 (Unauthorized) error, which made sense. But after entering them properly I got a generic IE 500 error, indicating some internal crisis the system was not going to describe to me in any greater level of detail.

For some reason I decided to try it in Netscape (partially because I was curious whether the Exchange Web Mail function would even work with Netscape), and instead of the generic 500 got a message indicating that my account had been locked out and couldn’t be accessed. This made perfect sense, but all IE had done was blame Exchange for some internal collapse (and not set me on the way to resolving the problem).

It turns out I hadn’t disabled IE’s “Friendly Error Messages”, which replace whatever the server provides with a more helpful version. This is fine when the error message is an unhelpful server default, but when the application is using the messages as to provide information on valid modes of operation. Sure enough, once I turned this off (it’s on by default) I got the same message in IE as in Netscape.

So that’s today’s bit of web development wisdom: don’t override the standard error codes for your own application. Use regular (response 200) pages with error messages instead. It’s supposed to work, and you’re supposed to be able to do it, but all you’ll really manage is to confuse 80% of the browsing public. I’m actually not convinced that “Friendly Error Messages” are a bad idea, since most sites don’t provide enhanced error messages and the web server defaults aren’t generally that helpful for less technically inclined users. But that’s neither here nor there, since the going-forward assumption has to be that they’ll be there, and developers will have to work around them.

Anything else like this?

Steve Anglin

AddThis Social Bookmark Button

Related link: http://www.theserverside.com/resources/article.jsp?l=MonsonHaefel-Column3

The second part of Richard Monson-Haefel’s “EJB 2.1 Web Services” column has been posted on TheServerSide. This installment looks at SAAJ (SOAP with Attachments API for Java) which enables you to build object-oriented representations of SOAP messages, including attachments. The second half of this column looks at why the JAXM API didn’t become a part of J2EE.

Steve Anglin

AddThis Social Bookmark Button

Related link: http://otn.oracle.com/oramag/oracle/02-sep/o52jdom.html

“Chances are, you’ve probably used one of a number of Java libraries to manipulate XML data structures in the past. So what’s the point of JDOM (Java Document Object Model), and why do developers need it?” JDOM.org founder Jason Hunter explains in this article on the Oracle Technology Network.

For more Jason Hunter articles and editorials, visit Servlets.com, an ONJava.com affiliate.

William Grosso

AddThis Social Bookmark Button

Related link: http://www.forbes.com/global/2002/0708/064.html


Over the past year, I’ve lost a lot of money (by my standards, at least). I was invested fairly heavy in technology. And even though I managed to avoid the dot-com flameouts (all of my investments are still in business), it’s pretty clearly been a bad fiscal year for me.


I’m still investing though. It’s a long term game, and I think that, in the long term, it’s good to own stock.


But I was curious. My personal investments are a combination of “invest in products you understand” and Benjamin Graham’s basic precepts. Maybe this is a bad way to pick stocks? Maybe professionals do better?


Among the professionals, no-one seems more confident, on a month-to-month basis, than Kenneth Fisher, who writes for Forbes magazine and manages a fairly large investment fund. So I picked an article of his at random from the pile of old issues of Forbes by my bedside (it’s also available on-line from
here
) and checked up on his recommendations.


His recommendations for the month were: Aegon (AEG) at $19, Credit Suisse (CSR) at $34, Telstra (TLS) at $13, TDC (TLD) at $13, Ford (F) at $17, and Six Continents (SXC) at $11.


The one he liked the most was Ford. “A real steal.”


Currently, they’re trading at: Aegon (AEG) at $13.48, Credit Suisse (CSR) at $22.06, Telstra (TLS) at $13.64, TDC (TLD) at $12.55, Ford (F) at $10.20, and Six Continents (SXC) at $9.32.


He’s not doing so good either.

Have you performance-checked a stock picker lately?

Ted Neward

AddThis Social Bookmark Button

<Your Quote Here>

Generics represent a powerful way of examining and modeling system behavior–Ada first introduced them, and C++ (under the guise of “templates”) gave them widespread exposure. In many ways, generics/templates offer the O-O programmer a first look at what “metaobject” programming, MOP models, Aspect-Oriented Programming, and other approaches “above objects” are like. This is powerful, powerful stuff, and it’s great to see movement from both the major technology camps (Java and .NET) on this score.

But I’m starting to get just a wee bit worried here. Java had the better part of a three- to four-year lead on Microsoft to introduce generics into the language and platform, and while we can’t say that Microsoft has “passed” Java on this score–both technologies are in a form of beta, after all, neither being a part of the corresponding “commercial” product–Java’s JSR on generics has languished behind the JCP for the better part of a year now. What’s taking so long?

The Curse of Success

While I can’t speak with any authority, one of the thoughts that comes to mind is that Sun is perhaps becoming a victim of its own success on this score. In particular, there seems to be a general trend within the JCP to “not change anything” at the bytecode level. The language itself may be open to (select) change, such as the welcome addition of assertions in JDK 1.4, but the bytecode set remains precisely the same as it was when JDK 1.0 shipped. (Certainly no new opcodes have been documented in the JVM Spec, nor are any new ones showing up in my semi-frequent trips into javap.) In fact, the generics implementation put forth by Sun a year ago was a language-level implementation, essentially generating “standard” Java classes out of the genericized Java language. This is in contrast to Microsoft’s approach, which modified the IL instruction set to cope with the new requirements of generics.

Part of this differential stems from the fact that .NET is multilinguistic, and Java is not; .NET generics, in order to be successful, will need to be consumable from any CLI-compliant language (imagine JScript using generics!), whereas Sun has never really embraced the idea of any other language as a front-end to Java bytecode. This simplifies the Java platform somewhat, but also limits it–whether this is a good thing or a bad thing is still open to interpretation.

What bothers me, though, is that there really doesn’t need to be this resistance to changes at the bytecode set level within the JVM. Every release of the JDK has upped the version numbers embedded in a .class file, and older VMs can’t run .class files with higher version numbers than they recognize. Since the versioning scheme is already there, and VMs use it, why not be a bit more liberal with extending and expanding the bytecode set, and bring some of this new functionality into Java? This kind of forward-thinking will help Java compete with a platform that’s brand-new and doesn’t carry some of the weight of a 6-year history.

On Your Marks…

In the meantime, however, it’s a race. Both Microsoft and Sun have heard that generics are something developers want (even if it was those same developers that fled C++ because “templates were too hard”), and whomever gets generics into the commercial release of their platform gains some major PR points and developer mojo. In the end, though, if both bring generics support into their platform within three months of each other, it’ll be a push. The only thing that would really hurt anybody is if one platform got them, and the other one didn’t for six months or more.

Frankly, I’m excited for *both* platforms. This is why competition is good.

William Grosso

AddThis Social Bookmark Button

Related link: http://www.wgrosso.com/emerging

Along with a couple of friends, I’m starting a new meeting group devoted to new and emerging technology. We’ll be meeting on the second Tuesday of every month, in Palo Alto. The first meeting is on Sept 10; and will feature R. Guha talking about the emerging data web.


For more information about our first meeting, please see the SDForum Description


I’ve enclosed a longer version of our group description below.


Silicon Valley is the home to a lot of innovative and interesting technologies. New ideas, and new ways of thinking about old ideas, are constantly being created. Which leads to a question: where do you go to find out about them? Well, if an idea is successful enough, the odds are that it will eventually have a SIG devoted to it. That’s what happened with the Internet (the Internet SIG, founded by Janice Carter in 1994). And that’s what happened with Java (the Java SIG, founded by Tom Hill in 1996). So, if you wanted to wait, you could just wait for the SIG.

But what if you didn’t want to wait? What if you wanted to find out about the Internet in 1992? Or Java in 1994? What if you wanted to find out about new and interesting technologies before they hit the mainstream, when they were still half-baked and the entrepreneurial opportunities were abundant (because, after all, Silicon Valley isn’t just about innovation. It’s also about founding startups).

That’s where the Emerging Technology Group comes into play. Founded by William Grosso (current chair of the Java SIG), with help from Tom and Janice, it’s a monthly meeting focused on the future. The goal is to talk about technologies that aren’t quite here yet, to discuss trends in software technologies, and, in general, to examine what’s coming down the pipeline.

Ambitious? Yes. Slightly Unfocused? That too. But we like it that way. And we think you’ll like it too. Here’s what we’re planning for the next three months: 

  • Sept 10. R. Guha, founder of E-pinions and currently a Research Scientist at IBM, will talk about the emerging Data Web.
  • October 8. Steve Bjorgan, VP Technology Development of France Telecom, will talk about what France Telecom thinks are strategic technologies over the next 2 to 3 years.
  • November 12. Peter Norvig, Director of Search Quality at Google, will talk about recent trends in programming languages.

The Emerging Technology Group. Meeting the second Tuesday of every month in the Palo Alto Area. Because, after all, it’s more fun to be ahead of the curve.

All meetings are free for SDForum members (and cost $15 for non-members).

What emerging technologies are you most interested in?

AddThis Social Bookmark Button

Related link: http://www.washingtonpost.com/wp-dyn/articles/A33395-2002Sep3.html

Having myself had to deal with a variety of Verisign and Network Solutions shenanigans over the years, I’m not surprised. I’m sure they’ll dodge the bullet, but maybe this will result in a reduction of irksome marketing tactics and an increase in customer service.

I ordered a digital certificate from Verisign subsidiary Thawte the other day, and experienced a fairly lengthy delay during the reconfirmation process. I also had the same email inquiry answered by three separate employees over the course of 48 hours. While all three responses were polite and helpful, it’s a shame that employees 2 and 3 had to waste their time replying again when they could presumably have been off getting certificates issued. Somebody needs a CRM system.

AddThis Social Bookmark Button

Related link: http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/news…

I really hope that the flap over the latest IE Security flaw ends quickly. This gem of a problem, which allows the spoofing of digital certificates to match any domain name as long as the ultimate certificate in the chain of authority has been signed by a root certificate, has destroyed the integrity of the little lock icon at the bottom of the browser window.

While Microsoft protests (link above) that there is no real security risk, as a properly signed certificate is required, this simply isn’t the case. For one thing, certificates can be compromised by other means: an improperly secured server certificate on a compromised web server could be used to create a series of bogus certificates that could be passed around the security underground. And even if transgressors bought their own certificates, I haven’t noticed IE keeping a log of the various sites I’ve visited so I could chase down the culprit later. There’s a lot of hand-waving going on here.

Of course, the real risk isn’t that great. Intercepting TCP/IP communications for a man-in-the-middle attack is difficult without access to specific machines. What concerns me is the potential for companies to step back from rolling out new web based business applications on the SSL platform, out of concern that sensitive business data could be compromised. Over the last few years I’m sure it’s happened at least once.

So I hope this thing doesn’t blow out of proportion. Right now people are confident that the little lock icon will protect them and their data. It may not be proof from technological advance or the NSA, but customers need to be confident that they are not being placed at risk due to shoddy programming.

What’s the biggest threat to business and consumer confidence on the net?

William Grosso

AddThis Social Bookmark Button

For the past two years, I’ve been running the Software Development Forum’s Java SIG.
It’s still not quite clear how I wound up doing so, but it’s been interesting and it’s been educational.


I’ve learned that there’s a wealth of technical information in the valley, and that it’s frequently accessible. This month alone, I’ve got people from AspectJ and Covigo coming in, to talk about some amazing ideas and technologies. IBM has been amazingly supportive (thank you, Karen Lee), BEA’s been wonderful, and the number of small companies that are out there, talking about interesting new things, is absolutely inspirational.


I’ve learned that the technical people at SUN are extraordinary.
Josh Bloch and Neal Gafter stop by on a regular basis. Craig Russell recently came by to talk about JDO, Stephen Uhler spoke about his Brazil project, and so on.


On the other hand, SUN itself apparently doesn’t care about user groups. Here’s an example: go to Javasoft’s web site and try to find out where, as a user group leader, you should give general feedback or ask questions or request speakers. If you look hard enough, you might find the list of Java User Group pages (though linking to the user groups pages from the New to Java pages is something that didn’t occur to SUN).


But no-one at SUN maintains the user group lists. No one at SUN pays attention to them. And no-one at SUN is even remotely attempting to be pro-active about them (for example, occasionally contacting user group leaders and asking if there’s anything SUN could provide to the community).


The level of neglect is absurd. The entry for the user group I run hasn’t been updated since 1999. Tom’s no longer in charge, the url listed there is incorrect, and the name never was the “Palo Alto Software Forum Java SIG.” I’ve sent e-mail into SUN asking to have this changed (for example, asking to have the url point to the correct web site). There’s been no response.


So let’s review. You’re SUN. You need to get your technological messages out to developers. Right down the street is a user group that has over 100 people each month, talking about Java technology, and who really just want to get the occasional overview of what’s going on with crucial technologies (for example, what’s new with Swing? It made a big splash, but it seems to be the red-headed stepchild of Java technologies these days).


What do you do?


You ignore them.

What should SUN be doing to support Java User Groups and SIGS?

William Grosso

AddThis Social Bookmark Button

Related link: http://grubbforcongress.manilasites.com/


It’s never quite clear to me how much overlap various blogs have with each other. So this is a summary of something I first learned about from Scripting News.


Tara Sue is running for Congress. She’s running against Howard Coble, who is both a demagogue (why is the single most visible item on his site that he wants to award a medal to the passengers of United Flight 93? Surely that’s not the most important piece of news he can offer his constituents) and
a fan of the RIAA
(you can also read a response to that column here.
North Carolina is a very different place from Silicon Valley and it’s fascinating that they’re having these arguments there too).


This is, by itself, of little note.


The interesting thing is that Tara Sue has a weblog, a paypal collection box, and is running, to some extent, as a candidate from outside her area. Dave Winer has been vocal in his support.


It’s all kind of interesting.


I’m sending a $25 check. Not because I think she’ll win (the incumbent is a Republican who’s so entrenched into his ridiculously gerrymandered district that the Democrats don’t even bother running an opponent), but because, ultimately, the money’s for a good cause. If she can mount a good campaign, if she can cause Coble a few moment’s worry, then I think everyone in Congress will worry (because, if Coble’s vulnerable to this sort of challenge, then everyone in Congress is vulnerable to this sort of challenge).

How much did you send Tara Sue’s campaign?

Advertisement