May 2006 Archives

AddThis Social Bookmark Button

The SpringOne 2006 conference is soon, from June 15 to June 16 at the Metropolis in Antwerp, Belgium.

Amir Shevat

AddThis Social Bookmark Button

One of the big things presented in JavaOne was .NET-Java interoperability. The notion of language interoperability can be understood and implemented in several different ways.

Dejan Bosanac

AddThis Social Bookmark Button

There is an interesting Ajax-related proposal in Apache incubator, named XAP (eXtensible Ajax Platform). It is a project donated by Nexaweb Technologies Inc and represents XML-based declarative framework for building rich internet applications based on Ajax. You can find more information about this project on Nexaweb site

In the proposal there is the following paragraph:

Although these toolkits ease development of Ajax-powered web applications, there are still significant development and maintenance challenges, mainly associated with writing, debugging and maintaining JavaScript code. In particular, some developers would prefer not to use JavaScript.

I’m not sure whether XML is easier to debug and maintain than JavaScript and also whether any XML-declarative framework can have the same flexibility for writing GUIs as scripting language? Also, why we need another XML dialect when there is XUL which is mature and proven in practice. Do you think that JavaScript is the weak point of Ajax and how would you overcome it?

Paul Browne

AddThis Social Bookmark Button

As an Irish O’Reilly Blogger , I have mixed feelings around the controversy on the Web 2.0 name. The original story is here, about a Web 2.0 conference organised by friends of mine in Cork , Ireland.

The O’Reilly response is here. What is remarkable is the polarisation of opinion between the ‘O’Reilly is a big bad corporation’ and ‘O’Reilly is ok guy , just an honest mistake’.

My view probably leans towards the latter - while I’m no fan of lawyers, the fact that I’m here on the O’Reilly site, blogging about the controversy means that O’Reilly is still far from your average faceless corporate monolith.

Update (1): Latest from Cork here.

More on Technology in Plain English

AddThis Social Bookmark Button

Despite the news that Red Hat has acquired JBoss, the annual JBoss World conference will still be held from June 12 - 15 at the Rio Hotel and Casino, in Las Vegas NV.

This will be my first time attending JBoss World, and am looking forward to it. There’s so much to take-in. If you are planning to attend or want to know some of what JBoss World will be offering, check out the agenda of sessions and keynotes page.

JBoss is one of the leading companies out there that has revolutionized professional open source, in my opinion. Anyway, I hope to see you there.

Chris Adamson

AddThis Social Bookmark Button

We’re having an internal discussion on the editor’s list about JavaOne news and mood, and there’s a thread on AJAX that I think is remarkable because it’s based in profound misconceptions. I’m disagreeing with everyone here, first with two of my bosses, and then with the community at large, so let’s take those in order.

Norbert Ehreke

AddThis Social Bookmark Button

In the current edition of iX, a German IT magazine, Kent Beck is interviewed about JUnit 4. A statement about using annotations got me thinking. He was asked this question (roughly translated). Q. You have changed the entire architechture of JUnit 4. What was the primary reason for doing this? Were it the features of Java 5 or other testing frameworks? A. The primary inspiration came from NUnit. In hindsight, we understood that the naming conventions in earlier versions of JUnit were, in fact, a simple form of metadata. Making this metadata available explicitly via annotations simplifies the API and helps IDEs creating test support.

Interpreting this statement in a broader sense we come to the differentation of explicit and implicit metadata in general. Annotations are, as Kent stated, the explicit form of metadata, while conventions are the implicit ones. The implications are interesting. Annotations have been received with a lot of criticism. (I might be wrong, but it seems much more so in the Java community compared to the C# community. Again, I might be wrong, but Microsoft developers seem to be less critical of what is decided in the big white tower of wisdom than Java developers. One of the reasons why I feel more like a Java guy.)

As used in JUnit and other frameworks, I see annotations as glue between two or more systems. While explicit metadata in form of annotations is generic glue, implict metadata is industry strengh super glue. It is stronger, but makes the connection more brittle.

Paul Browne

AddThis Social Bookmark Button

If you want the full detail , go to this article by Tom Bayerns of JBoss.  If you want the superficial , lightweight version , stick right here!

Look at this picture. Isn’t it pretty?

What workflow is:

  1. You draw the above workflow diagram using the JBoss IDE (it’s a bit like Visio or any other drawing tool)
  2. You get your developers to put small bits of Java code behind each block (not difficult)
  3. Your business process changes? You drag and drop the diagram et Voila! you have your new business system already implemented.

Ok, it’s a gross simplification. But in terms of ‘drag and drop’ programming , it’s the closest that I’ve seen so far.

More stuff that we’ve written about workflow. Some posts, including Windows Workflow and the difference between JBoss Workflow Engine and JBoss Rules Engine (Drools) even have some detail in them.

Jim Farley

AddThis Social Bookmark Button

A short(ish) summary of the hot and cold, cool and lame, good and bad at JavaOne this year.

Robert Cooper

AddThis Social Bookmark Button

Thoughts on Thursday’s JavaOne events…

Chris Adamson

AddThis Social Bookmark Button

Memo to Sun/Sony/Philips: if you’re talking to developers and you don’t have an SDK, then what’s the damn point?

Robert Cooper

AddThis Social Bookmark Button

More news and photos from JavaOne

Robert Cooper

AddThis Social Bookmark Button

One of the sessions I went to today was more of a discussion about the future of XML in Java. There was a proposal for a java.lang.XML class, and various tactics for including XML syntax in the language. You may have seen some of these they tend to look something like:


 XML xml = { <foo><bar>someVar</bar></foo>};
Robert Cooper

AddThis Social Bookmark Button

Photos and news from the first day of JavaOne.

Robert Cooper

AddThis Social Bookmark Button

If, like me, you have been under a particularly large rock of hiding as far as what is going on in the Interwebs, you might have missed the Google Blog entry announcing the Google Web Toolkit.

I just saw the presentation at Java One, and I am here to tell you, this isn’t the greatest thing since sliced bread. It is the greatest thing since CHEESE.

Jim Farley

AddThis Social Bookmark Button

Is Eclipse relearning the painful lessons of the past?

Robert Cooper

AddThis Social Bookmark Button

More NetBeans Day Coverage!

Robert Cooper

AddThis Social Bookmark Button

Semi-live blogging from NetBeans day — opening presentation.

Dejan Bosanac

AddThis Social Bookmark Button

According to this article it seems that Sun will announce tomorrow a new distribution program that will motivate OEMs to distribute Java SE with their equipment. If this is true, it will certainly help distribute Java on variety of platforms. I see this move as an attempt to make Java more suitable for writing client applications than it is now.
Do you think that this will lead to more client-side development in the Java?

Norbert Ehreke

AddThis Social Bookmark Button

Looking at JSR 296 I have the impression that it should focus on data-centric applications and that the target audience should be the newcomer rather than the programming expert.

JSR 296 is a specification request for a Java framework supporting rich client development with Swing. It is discussed, for instance, here and here.

If it’s possible to really simplify development with Swing, e.g having developers not worry about all those threading issues, hiding the complexity of MVC programming (at least for beginners), more people would be attracted to Java.

Let them easily access databases, provide decent data binding & validation, provide forms communication support, provide application state handling, provide launching support, action management support (menus, toolbars and popups). Personally, I’d like to assume that the data, which is manipulated by and large, are Java Beans and collections thereof. Therefore a set of enhanced, easy-to-use JLists, JTables and JTrees should be part of the reference implementation. Oh, and let’s not forget to make it pretty by default. (Some of the points I made have been already mentioned in the discussions I referred to above.)

Paul Browne

AddThis Social Bookmark Button

No matter what your system does , be it insurance , banking , online travel booking or telecoms, the chances are it does the following things:

  • Gets information from users over the web
  • Does some business processing on that information
  • Saves the information in a database.

At a conservative estimate , about 99% of Enterprise systems would fall into this category.

If so, why do you need an architect , when you can use our ‘one size fits all’ architecture diagram (below)?! Most non-trivial systems, regardless of the language they are written in (be it Java, .Net , or your language of choice) follow the pattern seen in this diagram.

3 Tier Enterprise Diagram viewable on this blogpost

There are 3 Pieces to the Solution:

  • Web Browser (for the user / client).
  • Web and Application Server - carry out business logic.
  • Database Back End - to store data and ensure data integrity.

Within the Application Server (the middle bit above, which as Java Architects is the bit we are interested in), there are a further 3 tiers

  • A Presentation tier (or layer), which is mainly about talking to the user (it gets and sends requests to the web browser).
  • A Service layer , which is mainly about talking to back end such as databases, legacy systems (such as mainframes) and XML-Web services that we may use.
  • A Business layer, the ‘meat’ of the sandwich, where the ‘Value add’ is in terms of business processing and validation.

For each of these layers , your priority in building them are slightly different.

  • The Presentation layer is the bit the user sees. You want it to be fast and give a good impression to the client. Underneath, use a standard framework (link: pick your framework here) and then customize the look and feel.
  • The Service layer you want to work fast and well (e.g. no data faults), but then then forget about. Unless things go wrong, no user is going to complement you on the quality of database persistence! Use standard libraries for the entire layer.
  • Unless your company is a clone or franchise, the business layer in the system is going to be completely different. Aside from the user-interface , concentrate most of your project effort here as this is the core of what system does. We’ve written quite a bit about how to increase the value-add of the business layer (link to O’Reilly Technical Articles)

Do you agree? Would your ‘1-page-use-anywhere’ architecture be different?

More blogposts on Technology in Plain English.

Tim O

AddThis Social Bookmark Button

Smallest Blog entry ever follows: If you are looking for a great visualization library, take a look at Prefuse. It’s a visualization library written in Java and licensed under a BSD-style license. It has a rich set of demonstrations, and a helpful Introduction.

Dejan Bosanac

AddThis Social Bookmark Button

Recently I needed to display some information on the web page
according to the value of a cookie. I think that this is one of the
common web application functionalities that have been around for a
decade.
If you have ever used Spring MVC you know that view resolvers could be
instructed to expose request and session attributes as view variables.
It is done through the

<property name="exposeSessionAttributes"><value>true</value></property>
<property name="exposeRequestAttributes"><value>true</value></property>

properties in the appropriate view resolver configuration.
I wonder why there is no similar functionality for cookies, such as:

<property name="exposeCookies"><value>true</value></property>

or something similar.

Currently you have two options to deal with this issue:

  • Find cookies of interest in the controller and add it to the model manually.
  • Deal with the cookies in the view by using JavaScript.

I know that both of these ways are perfectly valid and will do the
trick for you, but this is one of the fundamental web features (and so
easy to implement) that I wonder how no one asked for it before. I
googled for it and found nothing. Or am I just missing something?

Advertisement