Thursday, November 18, 2004

What's new with Java 6

Sun invites outside involvement with Java 6 "The new version will be easier to manage, exposing information that outside management software can use to make control decisions, said Mark Reinhold, chief J2SE engineer. And it will be easier to find problems, with an "attach-on-demand" feature that can let debugging software graft onto software while it's running instead of just before it's launched.

Another item on the list is support for a basic set of Web services called WS-I, Hamilton said. That basic set, standardized through the Web Services Interoperability organization, had been scheduled for the Tiger release.

And Mustang will have better integration with graphical user interfaces, including Microsoft's upcoming Longhorn version of Windows, Reinhold said. "

Details here.

Tuesday, November 16, 2004

The Problem with Ontologies

The Ontology Problem: A Definition with Commentary" "If the Ontology Integration Problem is not solved it will not be possible to answer a semantic search query across the open Web for a question such as "find all software products that work with Linux and are open-source and are endorsed by people or companies I trust." Why not? Because while there could be tons of raw RDF and OWL instance data out on the Web that is relevant from various ontologies, unless it either all uses the same ontology or all the ontologies that various instances refer to are integrated, the query agent will have no way of making sense of or normalizing the results. Of course, the query agent could simply run the query on all data from all ontologies it knows about, and then just present the results in a single list, sorted by ontology -- but as we've seen above, different ontologies might mean different things by classes with the same names -- and thus the results returned may not really be relevant or well-ordered."

"I believe the solution will ultimately stem from a solution to the Upper Ontology Problem -- if we can solve that problem, then much of the Ontology Integration Problem will go away as most ontologies will automatically be inter-mapped at the Upper-Ontology Level at least. If we had a standard Upper Ontology and furthermore, if this standard were to include concepts for mapping between ontologies and expressing shades semantic mapping and structure between ontological definitions, then mapping would be even easier."

Metadata Driven Component Model

BEA Announces Open-Source Milestones for Apache Beehive "BEA Systems, Inc. (Nasdaq: BEAS - News), a world leader in enterprise infrastructure software, today announced significant milestones in the company's open-source efforts including code release milestones, updated tools and additional platform support for Apache Beehive -- the lightweight metadata-driven component model which is designed to help accelerate the development of service-oriented architectures (SOAs)."

"The M1 code release for the Apache Beehive project is now publicly available for use in both Beehive open-source development and by BEA WebLogic Workshop 8.1 users, and can help developers to begin developing and collaborating on SOA-based applications."

The Apache Beehive Project "This is the project working on making J2EE easier by building a simple object model on J2EE and Struts. The goal is to take the new JSR-175 metadata annotations and use them to reduce the coding necessary for J2EE. The initial Beehive project has three pieces."

Related Pollinate Project " Pollinate is an Eclipse technology project slated to build an Eclipse-based IDE and toolset that leverages the open source Apache Beehive application framework." The PDF slides has some more information on NetUI Page Flows.

Via BEA announces Apache Beehive Milestone

Monday, November 15, 2004

HAVING

One of the features we recently added to iTQL was HAVING. This is practically identical to SQL's use of HAVING. For example:
SELECT $foo COUNT (SELECT $bar 

FROM ...
WHERE $bar <-> <->)
FROM ...
WHERE $foo <-> <->
HAVING $k0 <tucana:occurs> '1.0'^^<xsd:double> ;

There are a few things that bother me with this. The first one is the implicit column names. All aggregate functions in iTQL are implicity given $kn. Where n is an integer. The variable name should be able to be set by the user; something like: "SELECT $no_people=COUNT ..." or you could copy the SQL 92 use of AS.

Another one is caused by copying SQL. Putting constraints in the WHERE that were meant for the HAVING will produce an error from an SQL interpreter explaining that certain constraints must be in the HAVING. What this really means is that it could've been done in the WHERE clause and have been automatically extracted if necessary.

Also, the use of double should really be changed to nonNegativeInteger.

A good summary of these first two points are highlighted in a presentation "The Importance of Column Names". It is part of the web site of the new version of "The Third Manifesto".

Here's an example:
SELECT D#, COUNT(*)  

FROM EMP
GROUP BY D#
HAVING COUNT(*) >= 50

In SQL:1992 this is equivalent to:
SELECT *  

FROM ( SELECT D#, COUNT(*) AS NUMBER_OF_EMPS
FROM EMP
GROUP BY D# ) AS TEETH_GNASHER
WHERE NUMBER_OF_EMPS >= 50

The Tutorial D version:
( SUMMARIZE EMP  BY { D# } ADD COUNT ( ) AS NUMBER_OF_EMPS ) 

WHERE NUMBER_OF_EMPS >= 50

Closing the World

'Closed world' assumptions in RDF "Could we not use the XML declaration attribute standalone to determine that a document is self-contained? As in:

<xml version="1.0" encoding="UTF-8" standalone="yes">


That assumption would possibly elimitate the usefulness of that document in a Semantic Web, but could potentially make the 'open world' issue controllable."

RDF/XML is just one serialization of RDF so modifying the XML doesn't change the RDF contained within. While I don't think you can make RDF be closed world, things like ontologies do let you express "all pigs don't fly" or you can perform a query "do any pigs in this graph fly?" which may have been what you wanted anyway.

Manufacturing Semantics

A question of semantics "“I believe the big trend right now in terms of integration of business systems is the movement toward the semantic Web,” says Steven Ray, division chief for the Manufacturing Systems Integration Division (MSID), a division within the National Institute of Standards and Technology (NIST). “The semantic web gives meaning to information—it makes that information formal and acceptable to a computerized system to allow truly intelligent searching.”
According to Ray, the semantic Web is more than a structured database. Today, companies rely on programmers to give meaning to information. For example, if an enterprise resource planning (ERP) company wants to work closely with suppliers to monitor inventory levels, a programmer must complete integration for each new supplier. Over time, this can become quite costly."

"“These standards are the primary building blocks to intelligent and integrated manufacturing,” says Pat Snack, on executive loan from General Motors for AIAG. “We will see a growing need for semantic standards in coming months. The closer we get to end-to-end integrated manufacturing, the more we need to minimize our cost to complexity. It is really a delicate balancing act.”"

Sunday, November 14, 2004

Shortcomings of Spotlight

Tiger's Spotlight - Simplicity with Room for Improvement "While I'm not doubting the success of Apple marketing this as a world-class search tool, from what I know today, there are some shortcomings:
* Only one Importer registrable per File type (.extension) system-wide.
* No daisy-chaining of Importers.
* Very limited amount of data to be stored in dictionary per file.
* No built-in capability to index the content of compressed files like jars, zip, tar etc."

Follows a recent article Apple details plans to Spotlight desktop search. If you want to try something similar there's also Quicksilver which runs on 10.3 and comes with a Spotlight plugin called Flashlight.

Annotations and EJB 3.0

EJB 3.0 Preview " The EJB 3.0 specification uses annotations so that you can declare your EJB metadata directly within the bean class.


import javax.ejb.*;

@Stateful
public class ShoppingCartBean implements ShoppingCart
{
@Tx(TxType.REQUIRED) @MethodPermission({"customer"})
public void purchase(Product product, int quantity) {...}


@Remove void emptyCart() {...}
}

The @Stateful annotation marks the ShoppingCartBean as a stateful session bean. @Tx denotes transaction demarcation, while @MethodPermission defines role-based security for the bean method. EJB 3.0 provides annotations for every type of metadata so that no XML descriptor is needed and you can deploy your beans simply by deploying a plain old JAR into your application server."

Friday, November 12, 2004

Never trust a company with a fish tank

EA: The Human Story "...all along the way there were deceptions, there were promises, there were assurances -- there was a big fancy office building with an expensive fish tank -- all of which in the end look like an elaborate scheme to keep a crop of employees on the project just long enough to get it shipped. And then if they need to, they hire in a new batch, fresh and ready to hear more promises that will not be kept; EA's turnover rate in engineering is approximately 50%. This is how EA works. So now we know, now we can move on, right? That seems to be what happens to everyone else. But it's not enough. Because in the end, regardless of what happens with our particular situation, this kind of "business" isn't right, and people need to know about it, which is why I write this today."

That goes for virtual ones too.

The Floggings Will Continue Until Morale Improves "The list could be much longer, but it boils down to:
* Give them the tools to do their job efficiently
* Remove potential interruptions or distractions
* Make sure they’re motivated"

Always the last to know

NetKernel + Kowari "NetKernel has a great pipes/filters framework for composing services. Kowari is the only non-rdbms backed RDF triple-store with support for queries against datetime data types.

Sadly, building a web application or service in Kowari kinda sucks. But, theoretically, Kowari is embeddable. So I set out to verify this assertion and to gain more knowledge about the inner workings of NetKernel."

"Fourth, NetKernel is really just that, a kernel for managing the interaction and scheduling between components executing in the vm, called modules. But I haven't found support for explicit life-cycle management. That is, there is no init(), start() or stop() type methods on a module. It seems to rely on finalizers to clean up resources. Thus, shutting down a NetKernel instance corrupts the Kowari database."

Like I said in the comments, previously commited data will be there no matter if you kill the process, turn off the power or whatever. However, if you stop it during a load or if autocommit is off it won't be there when restarting.

New from Google

Coincidentally, Google's Index Size Jumps and Search Engine Size Wars V Erupts "On the eve of Microsoft's long anticipated launch of MSN Search, Google is reporting on its home page that its index size has nearly doubled. Google now claims that it is now "Searching 8,058,044,651 web pages." Earlier today, a search for the word "the" returned nearly 11 billion results, a far larger number than officially reported on the home page. No matter which numbers you believe, it's a significant expansion of Google's web database."

"Microsoft had planned to seize the title of biggest search engine by announcing 5 billion pages indexed today."

And the people at Google "abusing" their power Tweaking the tiger's tail. It's still there. A search for kowari only brings up references to the RDF triple store and not the animal. Google brings up Kowari the animal as the second result.

Thursday, November 11, 2004

Too many or not enough

The Ontological Challenge "There are several big missing pieces right now in making the semantic web. Certainly the lack of ontologies is a major issue. There are, I guess Deborah would say thousands of ontologies. So there maybe isn't a lack; there may be too many from one perspective. When you start looking at these ontologies, what you find is that some of them are overly specialized; maybe they are focused, for example, on particular niches of interest to DARPA, not particularly of great use to consumers unless you live in New York (with the paranoia that we all experience there)."

"Currently, there is no good human-readable mid-level ontology that's covering common-sense concepts. Cycorp has probably the most impressive ontology. The only problem is it's so big and complex and requires such a high, steep learning curve to actually do anything with it that it's not really targeted at the needs of normal developers and regular end users. The lack of the good, open ontology that covers common-sense concepts is a big problem. That's something we're working on, too. I think that ultimately there ought to be at least something like that that comes out of the W3C or is handed to the W3C at some point to at least provide a basis for describing certain types of entities and relationships that we all have to use in our applications."

"So associating data with ontologies is a problem. Building ontologies, I come from the school of thought of top down. I've never seen a bottom-up ontology that I liked. There aren't many. Having built much of ontologies, I think that the amount of thinking that goes into it is just so intensive that to do it well, I just don't think that, at least without great AI, we'll be able to do it anytime in the next couple of decades."

Wednesday, November 10, 2004

Welkin

Welkin: A General-Purpose RDF Browser "Many consider the Semantic Web to be vaporware and others believe it's the next big thing. No matter where you stand, a question always pops up: Where is the RDF browser? The SIMILE Project, a joint project between W3C, MIT and HP to implement semantic interoperability of metadata in digital libraries, released today the first beta release of a general purpose graphic and interactive RDF browser named Welkin (see a screenshot), targetted to those who need to get a mental model of any RDF dataset, from a single RSS 1.0 news feed to a collection of digital data."

Welkin Homepage.

Creative RDF in Queensland

Creative Commons taking shape in Australia "The Australian branch of the Creative Commons is taking shape with the Queensland University of Technology being the lead agency, according to Professor Brian Fitzgerald, head of the university's law school.

In February this year, QUT became the Australian institutional affiliate for the project and over the last few months it has worked closely with the legal firm Blake Dawson Waldron to set up the platform for the project in Australia.

The University is holding a conference in January next year on Open content licensing, and has invited Stanford University Law Professor Lawrence Lessig, one of the directors of the Creative Commons, as its keynote speaker."

6 months with Java 5

"I have been writing JDK 5.0 code for over six months now, so I thought I would take some time to reflect on my experience and draw a few conclusions on the features that were introduced."

Surprisingly the favourite, is the enhanced for loop:
"The undisputed winner. I can't even begin to describe how good it feels to use the new for loop everywhere (well, almost everywhere). I mentally cringe the few times when I am forced to use the old for loop, typically when I need the index or that I want the Iterator to be visible outside the loop."

Unsurprisingly annotations gets a rave:
"Obviously, I am partial to annotations since they are at the heart of TestNG but I am a firm believer that annotations are going to change the way we build software in Java. We have been relying for far too long on reflection hacks to introduce meta-data in our programs, and annotations are finally going to provide an excellent solution to this problem.

Also, I haven't felt the need to use some of the predefined annotations such as @Override, so I haven't formed an opinion on them yet.

It seems inescapable to me that in a couple of years, most of the Java code that we will be reading and writing will contain annotations. "

And generics:
"In a nutshell, I have this to say about Java generics: my code feels more robust, but it's harder to read."

JDK 5 in Practice.

Also an interview with one of the authors of Hibernate:
"Well, we are a bit stuck. We can't use many of the new features, because Hibernate needs to stay source-level compatible with older JDKs. The annotations stuff is okay, because we can provide it as an add-on package.

Certainly, annotations are the most significant new feature of Java 5, and it's very likely that they will completely change the way we write code."

The problem with SOAP

Web Services - The SCRAM Generation "SOAP - the bedrock of our industry's plans for universal interoperability. The cornerstone of enterprise mission-critical integration."

"SOAP - a communications protocol that does not guarantee delivery of messages, does not guarantee what order those messages will be delivered in, and does not guarantee not to throw in extra messages, just for the fun of it. Now to be fair, SOAP is only half of the problem. The other half is the communications channel itself, which is typically HTTP."

"SCRAM stands for Secure, Coordinated, Reliable Asynchronous Messaging"

SPARQL Protocol

SPARQL Protocol for RDF "This document describes SPARQL, a protocol for accessing RDF data and for conveying RDF queries from query clients to query processors. The SPARQL Protocol has been designed for compatability with the SPARQL Query Language for RDF but is designed to convey queries from other RDF query languages as well."

"The SPARQL abstract protocol has three parts: types, operations, and responses."

"The abstract protocol uses the following types, which fall into three categories: W3C XML Schema types, which are relevant to all abstract protocol operations and borrowed from W3C XML Schema Datatypes; protocol types, which are relevant to abstract protocol operations; and query types, which are relevant to query operations."

"The SPARQL Abstract Protocol defines three kinds of response: success, fault, and informational. Success responses indicate that the protocol operation was successfully executed; fault responses indicate that the protocol operation was not successfully executed; informational responses either provide additional information about an abstract protocol operation or describe specific conditions relevant to particular abstract protocol operations."

"The SPARQL Abstract Protocol is made up of seven orthogonal operations: query, getGraph, getOptions, makeGraph, dropGraph, addTriples, and deleteTriples."

Monday, November 08, 2004

The time for change

J2EE5, EJB3 and microcontainers "Today, java has support for annotation since JDK5.0. We are already using it to transform the way we think about, design, implement and indeed standardize middleware in the next generations of J2EE. Where J2EE has a big edge over .NET is first in a large installed base but most importantly in the quality of the services."

"We have been doing the right thing in the spec committees, namely simplifying the programming models to support POJO and annotations at the specification level by leveraging JDK5.0. Across the board in EJB3 for example, we have completely revamped and simplified the way developers interface with and program to middleware. Instead of complex API's and tons of XML, developers can tag their objects with annotations. Developers have already adopted this approach."

"EJB3 will have a long life, as it is the first to introduce this long awaited microcontainer, lightweight programming view of the world. EJB services can now be used on J2SE with these microcontainers."

"All of this is already used in production, today. Many vendors are on the market, many packages await branding standardization for further penetration of the market. J2EE will remain strong."

No-Nonsense Semantic Web Part II

A No-nonsense Guide to Semantic Web Specs for XML People "I was going to talk about RDQL in this article, but on Oct. 12, the Data Access Working Group (DAWG, pronounced so that it rhyms with 'dog') released the first working draft of Sparql, the query language for RDF."

"So, as a result, the query will return the title and the price of items where the price is less than 30.

Big deal, I hear you saying. I can do that today in SQL.

True, you can. If your data is local and you control it. But what if you want a software agent to do the queries for you? How are you going to find out across different databases how to adapt your query to their own internal logic, to their tables and to the way thay modeled the information in their relational model?"

"So, in short: should you care about RDF? For now, you are safe if you care about keeping your own data valid and coherent. The semantic web is trying hard to unlock the chicken-egg problem of "no killer app until data, no data until killer app" and automatic trasnformation of existing data into RDF is what I think is going to unlock it. Also, the fact that we are building tools that you can now use to operate on your RDF data, for example to browse and search it, will show you what you can gain by making those relationships explicit."

Thursday, November 04, 2004

Parallel Countries

The similarities between the Australian and American political situation was recently highlighted by "Bush & Howard: parallel lives"

"As John Howard ponders the likely return of George Bush, he will no doubt be struck by the parallels between the President's probable re-election and his own emphatic victory last month."

Similarities:
* Both have control in the upper and lower houses to pass laws as long as they can maintain party lines.
* Running trade deficits - Australian Trade Deficit Widens as Imports Increase
* Banning abortion.
Sarah Maddison: Minister mistakes opinion for fact
.
* Increasing surveillance powers. Ruddock relaunches terror laws.
* Tax cuts for the higher tax brackets.
Howard flags new tax cuts

* Reducing gay rights. THE COALITION PLANS TO REINTRODUCE LEGISLATION BANNING SAME-SEX COUPLES FROM OVERSEAS ADOPTION NOW IT HAS CONTROL OF THE SENATE.
* Environment. We won't Sign Kyoto Treaty, Says Australia