April 2006 Archives

Paul Browne

AddThis Social Bookmark Button

For those of you living outside of the Emerald Isle, Enterprise Ireland is one of the reasons why Ireland is the biggest exporter of software in the world. OK , you can argue with that last statistic , but when these guys organise a Web 2 conference , you can be sure that the mainstream is beginning to recognise Web 2.0 as going to be big , very big.

Having said that , my view is Web 2.0 is almost , but not quite , going mainstream (in Ireland at least). Judging by the people I met and the dress standards I would judge the audience as 1/3rd Business-VC (suit and tie) 1/3rd Techie (Jeans and T-Shirt) and 1/3rd Professional Technologist (Suit but no tie). This contrasts with the last Web 2.0 event , where the audience was almost exclusively techie, despite dual business and technology marketing.
(Photo of Marc Canter Speaking , by Dermod).

You can judge for yourself from the agenda at the Web2Ireland site, and see if Enterprise Ireland got the balance of speakers right. Aside from Marc Canter (who managed to successfuly quote Joyce in a techie presentation!) the main speakers - Judy Gibbons from Accel and Jeff Clavier (Software Only) - were either VC or Angel investors. That’s not to say that they didn’t have a lot of good, interesting and relevant things to say, it just meant that you had to bear in mind their angle on things (we want to lend you money). Given the success of all the people speaking, I think they are well worth listening to. Adam Green , who despite being on a blogging break, hosted a very good lunchtime session (summary: ‘everything is XML’).

Want to know more about the Web 2 Ireland event? - further information here.

Norbert Ehreke

AddThis Social Bookmark Button

On the last two projects I have worked on, some people have attributed my contributions with “too complex”, “too difficult” and “not straightforward”. Since then I have been trying to determine whether or not that is true and how to tell the difference. After reading Kurt Cagles Thoughts on Complexity I did some researching and found that commonly people think about complexity and how to manage it best. However, if simplicity is the conceptual inverse of complexity, shouldn’t we be concerned about designing simple solutions rather than managing complexity? The problem is, as Kurt pointed out, someone has to pay the price, since it is impossible to eliminate complexity — it is just moved within the system. Hence, abstraction is often the most popular way of hiding complexity.

In many cases that’s fine. Design Patterns provide us with many powerful ways to overcome complex solutions, however they also require a necessary level of understanding that is needed to really grasp what is going on. How many managers consider an implementation of Design Patterns simple?

So, I came up with the following list of criteria for simple solutions.

  • Comprehensibility
  • Ease of implementation
  • Extensibility
  • Usability
  • Maintainability
  • Transparency
Tim O

AddThis Social Bookmark Button

Mergere just released “Better Builds with Maven”, a free book focusing on Maven 2.0. It was written by Vincent Massol, Jason van Zyl, Brett Porter, John Casey, and Carlos Sanchez, all core members of the Apache Maven Project Management Committee. If you are using Maven 2, or if you are starting to use Maven 2, you will want to read this book. It’s free, go download it now.

Paul Browne

AddThis Social Bookmark Button

The 2nd most useful Java-Oracle Tool that I’ve used this year is schema spy.

How often have you taken over a project without any documenation? Even worse , there is a database involved, and everybody just ‘knows’ (or pretends to know) where things are. What if all the orginal developers are gone and nobody is left to explain things? I can find my way around most legacy Java code , but databases leave me cold.

Still not convinced - take a look on the Schema Spy website. The level of information that this tool gives you takes you from knowing nothing about the database to knowing almost everything.

Interested in trying it out? Follow these simple steps
- Download it from http://schemaspy.sourceforge.net/
- Change the configuration to point to your database
- Install the Graphviz component (available here)
- Run the tool and await your fully documented database.

Just to shame the commercial competition , as well as Oracle , Schema Spy supports DB2, hsqldb , Microsoft SQL Server, MySQL, PostgreSQL and Sybase. It’s written by John Currier and is well worth a donation.

In case you’re wondering, the most useful Java-Oracle tool for 2006 is Oracle’s project raptor. Schema spy runs it a very close second. Considering that it’s a Billion dollar company Vs one man , I’d chalk that up as a victory for the little guy!

More Technical Blogs in Technology in Plain English

Tim O

AddThis Social Bookmark Button

House Subcommittee hearing on Network Neutrality on C-SPAN 3. I’m listening to it in the background. Really important subject for everybody who uses the Internet, some great comments by Amazon’s Misener and Comptel’s Earl Comstock. The Internet is a part of the fabric of our society, if Congress messes around with network neutrality, I think we can kiss the Internet as we know it goodbye. Timothy Wu, Columbia Law Professor, makes the point that the Internet is an almost perfect free market, someone talented with a good blog can get more readers than the New York Times tomorrow, someone with a great idea and a website can become a huge jobs creator and billion dollar company.

If you don’t have time now, I’ll post the archive link when it becomes available.

UPDATE: Walter McCormick, U.S. Telecom Association, President & CEO, makes an absolutely misplaced analogy between network neutrality and featured vendors on Amazon.com. At first, McCormick’s comments sound harmless: “We will not block, impair, or degrade content or services.” “The functionality you have today you will have tomorrow.” …..but, he goes on to mention that carriers should be allowed to differentiate service in the same way a website like Amazon.com features selected vendors. Big difference, carriers are infrastructure, Amazon.com and Google are services.

UPDATE: Points to Zoe Lofgren (D-CA) she’s a representative well informed about the internet - refers to Google founders by first name. Her questions point to the fact that some carriers have threatened to build a separate “controlled” network. Timothy Wu, responds, “this neutral internet has been good for everybody”

UPDATE: Rep. Sheila Jackson Lee (D-TX) frames the question by making an analogy to a “private road”. McCormick then takes this analogy and makes another wild (mis)statement about the Internet as a single-lane public road. Here’s his line of reasoning: “The Internet is like a single lane road. If someone wants to expand capacity of that single lane highway, if they want to ship goods with a numer of large 18-wheelers, who should pay for the expansion of the road? McCormick thinks that Amazon.com should pay for the privilege of shipping those goods with “18-wheelers”?” It sounds crazy, because it is crazy. Amazon.com isn’t shipping traffic to me, I am specifically asking them to send me packets. Word games.

UPDATE: Comstock talks of Verizon’s FIOS home service. The line they install in your house has a capacity of 1 GB/s (his words), they reserve the bulk of that capacity for cable TV service and reserve a tiny fraction of that service for your “broadband”. Timothy Wu talks about the nightmare scenario for cable companies, where the bandwidth of these lines is free and the consumer can by video content directly from a provider over the internet at as high a quality as a cable service.

UPDATE: McCormick again brings up Google sponsored links as some sort of preferential treatment. It looks like McCormick is trying to justify tiered discriminatory sservice by pointing to content providers. Timothy Wu responds, the carriers are moving to a discriminatory approach/tiered services, this might be marginally more profitable, but “the neutral internet has floated all boats”. Timothy Wu: Google runs a neutral search, they have advertisements which Mccormick calls a “priority lane”. Wu says that McCormick is trying to confuse the issue, search engine market is incredibly competitive. Wu thinks McCormick is trying to confuse the issue, possibly captializing on Google’s recent China publicity. Wu suggests that even discussing this is a waste of the committee’s time.

UPDATE: Paul Misener of Amazon, foreign carriers specifically DT, already on the record saying that they will try to extract fees for access from Google, EBay, Amazon.

UPDATE: Timothy Wu: if we move toward a discriminatory network, the products consumers prefer may not be the applications that work as well on the network this is the short-term threat. Long-term threat, when competition becomes a question of who has the best connection with the gatekeepers you will no longer have the level of innovation we currently have. Mentions innovation like A9, new innovations to the internet space. That’s the trade off of allowing carriers to discriminate

UPDATE: Because this issue is under the jurisdiction of the FCC, these questions are usually viewed as geeky distractions or as a fight at a “star trek” convention. Issues like this are national macroeconomic issues, not just technology.

Adjourned. Sorry for the non-Java distraction, this issue affects every technologist no matter what language they use.

Steve Anglin

AddThis Social Bookmark Button

Here’s a very interesting eWeek.com article covering the keynote panel from last month’s TheServerSide Java Symposium in Las Vegas, NV consisting of luminaries such as Rod Johnson, Bruce Tate, Floyd Marinescu, and more as they discussed the future of Java, the role scripting/dynamic languages may play, Spring, EJB 3/Java Persistence API, open source innovations vs. standards, and more.

There’s clearly pressure being put on the Java community. But of late, it’s not primarily from Microsoft and .NET. Instead, it’s from Ruby on Rails and to some extent PHP, both attacking Java’s “underbelly”: The Web-tier.

The Java Web-tier is seemingly weak as many even in Java have turned to Ruby on Rails for a simpler solution than what Struts and other Java Web Frameworks apparently offer. And the evolution of Java-based scripting/dynamic languages such as Groovy and JRuby have been slow in coming. Long-term, Rod predicts that Java Web Frameworks will be dead in 3-5 years (also mentioned in this keynote panel, but missing in this article). He probably believes that these could be replaced by Ruby on Rails, but also JRuby (with Rails integration) and other Java-based scripting/framework solutions for the Web-tier such as Groovy, BeanShell, Rhino, Jython, etc.

If Java is to indeed endure, it must continue to evolve, especially in its weakest or perceived weakest area, the Web-tier. And the evolution of Java-based dynamic/scripting languages and accompanying frameworks appears to be key. We’ll see what happens. The Spring Framework, for example, is already making inroads to support and integrate future Java-based scripting solutions. Etc.

Tim O

AddThis Social Bookmark Button

I’m perplexed by Ellison’s FT interview re: open source. I only half believe him when he says that Red Hat doesn’t own anything. Ellison is trying to cast a shadow on the Red Hat deal from two weeks ago, and, to me, it speaks volumes that he’s so prepared to answer questions about the JBoss deal. Here’s an illuminating (and perplexing) quote:

“… Why didn’t we buy JBoss? Because we don’t have to - if it ever got good enough we’d just take the intellectual property - just like Apache - embed it in our fusion middleware suite, and we’re done. We always have that option available to us - IBM always has that option available to them.”

Nonsense. Not buying JBoss was a mistake. Red Hat now owns the JBoss brand, owns a lucrative services operation, and employs a set of very talented and loyal developers. Ignoring the licensing differences for the moment, you won’t just embed JBoss “and we’re done”…”just like Apache”, in fact, i’m pretty sure you are going to be cursing the fact that you didn’t pay that premium you so swiftly dismiss in your interview. You see, once you are forced to “take the intellectual property” (which you can’t anyway), your customers are going to start to wondering why they are paying Oracle so much for your “fusion middleware suite” when they could just get an fully integrated solution from Red Hat. And, if Red Hat were to purchase MySQL AB, you’d have a single corporation providing a fully integrated open-source solution for both LAMP and Enterprise Java. Ellison - two big ships on the horizon Red Hat and MySQL (which is growing up faster than you can say “solid enterprise class database”). Sleepycat and InnoDB acquisitions notwithstanding, this is still an interesting game of chess.

This interview puts Ellison’s strategy on the table: he’s making the argument that companies like Red Hat don’t “own anything” and that open source isn’t “good enough” yet. Plus, there’s been some nefarious speculation about Red Hat being the next SCO courtesy of a perfectly timed opinion piece at Eweek masquerading as “news”. Oracle passed on the JBoss deal, and now they want us to think that there are “IP ownership” issues with JBoss code. Don’t believe the hype.

Tim O

AddThis Social Bookmark Button

Jackrabbit is a content repository from the Apache Software Foundation. It only graduated from the Apache Incubator recently, and there is a 1.0 release available. I’m impressed with what I’ve seen so far, but one note of caution is that the documentation (Javadoc) on the site is for the trunk release not the 1.0 release. There are some things you’ll probably want to investigate, like setting up persitence managers that retrieve a DataSource from JNDI. If you download the 1.0 distribution and attempt to use something like JNDIDatabasePersistenceManager you are going to have problems.

To get around this, you can checkout the Jackrabbit source from Subversion and build it using Maven 1.0.2.
If you check out the source, you’ll also want to check out the code in a contrib subproject jcr-commands. If you are looking for good code documentation, you’ll find it in this commandline tool.

I’ve been taking a closer look at JSR-170 lately, mainly because Content Management Systems are probably the single most abused product category in enterprise computing. The industry hasn’t converged on a single definition of what a Content Management System does and does not do, and I see JSR-170 as an attempt to provide some clarity and concepts to what I perceive as the current “Wild West” approach to selecting a CMS. When organziations select a CMS, they are usually selecting the product with the prettiest looking interface, JSR-170 is an attempt to put some badly needed standards and stability behind those pretty content management toolls. From what I’ve seen in JSR-170, I’m interested to see what the next revision of JCR will bring. Work has already begun on JSR-283

Tim O

AddThis Social Bookmark Button

A Maven 2 JIRA issue that caught my attention today. Extending a Web application has always been something I’ve been interested in doing, and it looks like David Hawkins submitted this feature to the Maven 2.x WAR plugin back in November, and I’m just now noticing.

I haven’t used this feature yet, but it is definitely something to take note of. Let’s say you have 10-20 web applications all of which reuse the same set of tag files, the same set of CSS, same icons, etc. You might customize a few JSP pages and add some custom classes. It makes sense to consolidate common elements into a generic “default” web application and then work some logic into your build that allows you to selectively override these defaults. The interesting part is that this plugin allows you to “copy the contents of dependent wars into the war being built. It will never overwrite existing files and has configurable includes and excludes which are applied to the files being copied”. So, you could conceivably create a number of mixins that your web application could inherit.

It could get messy if misused, but this seems like another step toward making web applications a bit easier. Anyone out there successfully using this feature?

Dejan Bosanac

AddThis Social Bookmark Button

I just saw the release note for DWR 2.0 milestone 1. It introduces many new features, but the most interesting is certainly “Reverse Ajax”, which allows Java code to asynchronously call JavaScript code in the browser.

I’ve used DWR on few projects in the past and I find it to be a very good AJAX implementation for Java. Also, I can think of some very good use-cases for these new features, so I will certainly put my hands on this new release soon. How about you? What is your experience with DWR and what do you think of these new capabilities?

Tim O

AddThis Social Bookmark Button

You can buy software, but you can’t buy “community”.

When IBM bought Gluecode, they didn’t buy Geronimo. It is a common misperception to think that IBM bought Geronimo, the application server, and that the Geronimo project is now synonymous with IBM. To the contrary, because of the Apache license, no one will ever be able to “buy” the Geronimo code. If anything, the IBM purchase of Gluecode was an investment in an open community, and an open commercial eco-system that continues to expand. Red Hat’s purchase of JBoss is a completely different story. Why? The supposedly “free” GPL, actually encourages consolidation of corporate influence over a codebase. By purchasing JBoss, Red Hat has effectively become the original copyright owner of a codebase licensed under a reciprocal license. Because of this license, Red Hat can, indeed, “buy” the JBoss project’s source code and community all in one perfect corporate transaction. While I’m happy for the few JBoss employees I know, I’m not exactly celebrating the consolidation of corporate power over open source software…read on…

Dejan Bosanac

AddThis Social Bookmark Button

In the previous post I showed how you can make a Spring wrapper around the WebServer object and thus configure it easily in Spring-based applications. This solution is good for standalone applications that use Spring as a configuration mechanism.

But if you are using Spring MVC to develop web applications you probably don’t want to start another web server to handle XML-RPC calls. Instead, we have to find a way to configure XML-RPC to work with the web server that hosts our application and again to use our beans as XML-RPC handlers.

On the first look I thought that the easiest way to achieve this is to wrap the XmlRpcServlet (available from version 3.0 on) in the ServletWrappingController. But when I started looking at the code I found a solution that is much more simple and elegant.

Tim O

AddThis Social Bookmark Button

I’ve been continuing to make small changes here and there to the MVN Registry. I’ve built out the version pages, such that you can look at a specific version of Commons Codec, and see exactly what depends on it and what it depends upon. In addition, if a project has filled out the right fields, every project version should have a description, a list of contributors and developers, a link to the project page, and a link to mailing lists.

I’ve also added two Top 25 lists to show you the most depended upon projects. The current leaderboard is commons-logging with 1053 projects depending on it, junit with 1036 projects, and Log4J with 689. If anyone has any feature requests, feel free to leave a comment.

Advertisement