Living In The Material World
Real world verus pretty architecture, guess who wins?
Reading Eoin Woods' Avoiding the Icebergs: Top 10 Software Architecture Mistakes was like a flashback movie for me, of decisions and oversights I'd love to have back. Whether you read the whole two part article (1, 2) or just the InfoQ summary, I'll bet you'll feel the same way.
For example, I read point 4, "Box and Line Descriptions":
The question is, how do you go about describing something as complex as a modern software intensive system? The approach that we've all tried at some point is the single, all inclusive, â€œboxes and linesâ€ Visio diagram that tries to show everything. The diagram probably includes software modules and some interconnections, machines, network links, databases and data flow, some user interaction, perhaps some system monitoring and so on. If you've tried this yourself then you already know that it's not a terribly effective approach.
And as I read it, I remember being in a conference room, maybe nine years ago now, and our whole video delivery system has been laid out, from the box that represents the human encoder in Charlotte, North Carolina, across lines in their network, over lines to our network in Atlanta, up a line to a satellite, down a line to a TV station, through boxes that represent server-side processes at the station, and across lines to client PCs.
And even then, I thought we were fooling ourselves into believing we'd figured out more of the system than we had. The lines and boxes totally obfuscated very real differences between concepts. The lines were, in different places, local method calls, RMI method calls, FTP file transfers, and a custom multicast IP file distribution. The boxes? Some of them were class instances, others were separate applications, and a few of them were physical boxes. So yeah, we knew from this diagram a sort of minimal overview of our system's architecture, but you couldn't really perceive the true nature of its operation, where it could get into trouble, what we had direct access to and how, etc. As Woods writes:
There are two reasons why the huge Visio picture doesn't work well as an architectural description: firstly, it's trying to show too much information in a single representation, and secondly, no one is really sure quite what each of the different types of symbol that you've drawn mean.
So, do read on, there's a lot of experience to be gleaned, from Forgetting That It Needs to Be Built (#5) to Not Having a Backout Plan (#10).
Also, in Java Today,
The jxta-overlay project is an effort to use JXTA technology for building an overlay on top of JXTA offering a set of basic primitives (functionalities) that are most commonly needed in jxta-based applications. The proposed overlay comprises primitives for peer discovery, peer's resources discovery, tesource allocation,task submission and execution, etc. The set of basic functionalities is intended to be as complete as possible regarding the needs of JXTA-based applications. One of the characteristics of the primitives offered by the jxta-overlay is their independence from the applications that will be using them, yet allowing them to keep the intrinsic decentralized nature of Grid/P2P systems.
By configuring OpenSSO, Sun's open-source project for Sun Java System Access Manager, you can authenticate users with identity-service interfaces that support SOAP/WSDL and REST. The SDN article Securing Applications With Identity Services, Part 1: Authentication describes the procedure through an example application built with the NetBeans IDE.
In today's Forums,
mrueegg is working through the
Use of Java Deployment Toolkit in Intranet environments.
kmexplains a GlassFish namespace issue in
Re: Target deployment after domain resource provisioning with asadmin.
"Basically, an application (Java EE Application, Web App, EJB module, User defined MBean etc. and a resource are in a "unique" name space. This name is referred to by servers and clusters as those names. Thus, if a resource has a jndi-name "jdbc/foo" then no other resource (jdbc-connection-pool, external-resource, connector-connection-pool etc.) can have that name."
bjoern_minkmarpoints out a model-specific cause of BD-J problems in
Re: problem with HGraphicButton.
"The Samsung BD-P 1000 has problems displaying HGraphicButtons and HTextButtons correctly. So i guess your code is okay. HGraphicButtons never show the "actioned state" - graphic and HTextButtons don`t turn back to "normal state" appearance after they`ve once gained and lost the focus. I`ve been working on my own HGraphicButton class implementation to overcome this problem. But i had to find out that some players -like the Samsung - don`t make a distinction betweeen KeyPressed and KeyReleased Events. Maybe there will be a firmware update in the future that will fix the problem. In the meantime you can ignore this behaviour or you should get a second player."
In recent Weblogs,
the tips keep coming from ArunÂ Gupta in
TOTD #13: Setup Mongrel for JRuby-on-Rails applications on Windows.
"In a previous entry, I posted instructions on how to setup Mongrel cluster for JRuby-on-Rails applications on Unix-based systems. The instructions specified there do not work on Windows-based systems because of the following reasons..."
MikeÂ Duigou describes the switch in JXTA logging APIs in
JXSE 2.5 : What's Cool #7 -- Logging.
"We've planned on changing to java.util.logging "eventually" for quite a while. The gentle nudge, and the offer of testing assistance from the Shoal, finally made doing the conversion a priority."
Finally, EmericÂ Kwemou explains
Using JAXB in Hibernate to store java objects as XML documents.
"In this post, a custom Hibernate type is described that uses JAXB 2.0 to store java objects as XML documents in a database, enabling database clients implemented in other technologies to easily process to stored objects."
Current and upcoming Java
- October 16 - Midwest Java Technology Days: Minneapolis, MN
- OctoberÂ 17-19 - Grails eXchange 2007
- OctoberÂ 18 - Midwest Java Technology Days: Chicago, IL
- OctoberÂ 19-21 - Bay Area Software Symposium 2007
- OctoberÂ 19-21 - Greater Toronto Software Symposium 2007
- OctoberÂ 21-25 - ooPSLA 2007
- OctoberÂ 21-26 - Colorado Software Summit 2007
- OctoberÂ 22-24 - Sun Tech Day - Shanghai
- OctoberÂ 24-26 - The Ajax Experience
- OctoberÂ 26-27 - IndicThreads.com Conference On Java Technology
- OctoberÂ 26-28 - Lone Star Software Symposium 2007: Dallas Edition
- OctoberÂ 29-31 - Sun Tech Day - Beijing
- NovemberÂ 2-4 - Northern Virginia Software Symposium 2007: Fall Edition
- NovemberÂ 6-8 - Sun Tech Day - Tokyo
- NovemberÂ 9-11 - Rocky Mountain Software Symposium 2007: Fall Edition
- NovemberÂ 16-18 - Great Lakes Software Symposium 2007
- NovemberÂ 26-27 - JAX ASIA 2007
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Real world verus pretty architecture, guess who wins?