Introduction - (warning - old-timer indulgence) From the mid-nineties through to the end of 2006 I earned my living as a developer of Web applications, or as someone managing Web application development projects. I like to think I was quite good at it, and I certainly have a lot of experience. I worked with CGI writing in Perl and a little C, moving into ColdFusion and Java (via JServ - anyone remember that? [continues...]
I have been asked to provide a position paper for next week's Future of Interoperability Standards meeting hosted by CETIS. This blog post is one I have been meaning to write for ages so I'm offering it as a position paper of sorts. UKOLN has been charged by JISC with the task of supporting the development of Dublin Core Application Profiles (DCAPs) in a number of areas. While I have not (so far) had much direct involvement in this work I have developed, over the last year or so, a real interest in the process of developing these. [continues...]
Last week I outlined an idea, that of the service anti-pattern, as part of a presentation I gave to the Resource Discovery Taskforce (organised by JISC in partnership with RLUK). The idea seemed to really catch the interest of and resonate with several of those members of the taskforce who were present at the meeting. My presentation was in a style which does not translate well to being viewed in a standalone context (e. [continues...]
During an interesting session called the 'Great Global Graph' at the CETIS conference this week I formed the opinion that, in the recent rush of enthusiasm for 'linked data', three 'memes' were being conflated. These next three bullets outline my understanding of how these terms have been used in recent discussions, including the CETIS session: Open data: I see this as something expressed as a philosophy or, in more concrete terms, as a policy, such as that espoused by the UK Government. [continues...]
For some time now I've been thinking about what I think of as the ascendency of the opportunistic developer in web application development. The phrase has unfortunate connotations for those who remember the 'personas' meme from some years ago when it was revealed that Microsoft had characterised three type of developer for three of its software development products. [ 1] and [ 2]. This post is not directly related to these archetypes (the opportunistic developer was called 'Mort' in the meme, a name which has become derogatory). [continues...]
Matthew Somerville has created a great web application called Accessible UK Train Timetables. For 'accessible' read programmable, so that having completed the search form, the resulting page's URL is useable in another web application in a RESTian way. for example, my search for early morning trains from London to Bath gives me the following URL: http://traintimes.org.uk/london%20paddington/bath%20spa/07:30/
{10 things to change in your thinking when building REST XML Protocols}(http://web.archive.org/web/20060629003823/http://www.xmldatabases.org/WK/blog/2287_10_things_to_change_in_your_thinking_when_building_REST_XML_Protocols.item) by Kimbro Staken. Kimbro’s work on XML databases was a real influence on XCRI developments, so this is food for thought. This was previously published at http://blog.sockdrawer.org and was retrieved from the Internet Archive.
Joe Gregorio lays out a simple process for designing a REST application. I’ve been doing a lot of this kind of design and development lately, but I still found that this piece clarified my thinking. In a nutshell, Joe’s process is: To build a good REST service you need to answer the following questions: What are the URIs? What’s the format? What methods are supported at each URI? [continues...]
Martin Fowler on sniffing out bad code: A code smell is a surface indication that usually corresponds to a deeper problem in the system. The term was first coined by Kent Beck while helping me with my Refactoring book. The quick definition above contains a couple of subtle points. Firstly a smell is by definition something that’s quick to spot - or sniffable as I’ve recently put it. I especially like the “smell of the week” teaching suggestion. [continues...]
After the AOP panel at the TSS Java Symposium had finished, Ted Neward threw out a challenge to some of the participants to come up with "an explanation of AOP without resorting to buzzwords." I've been mulling that around in my head for a few days now... What follows should be considered an early version of an attempt to explain what's at the heart of AOP (from my perspective), without resorting to any buzzwords. [continues...]
The EJB 3.0 expert group seems to have handed JBoss the EJB application server market on a silver platter. Several weeks ago at TheServerSide Java Symposium in Las Vegas the EJB expert group announced its decision to shelve the current entity bean architecture and focus on the lightweight persistence of Plain Old Java Objects (POJOs). Specifically, it decided to use Hibernate as the persistence mechanism in EJB 3.0. Hibernate is an open source object/relational mapping solution that joined the JBoss Group last year. [continues...]
Rickard Öberg recently posted a request for suggestions about using Java to convert MS word docs into HTML. I have been doing some work on this lately using the freely available, open-source OpenOffice.org to do the hard parts, making calls to a running OpenOffice server from within my Java code. It seems that there is some more interest in doing this from the Java community at large, so I am posting some source code here for anyone who is interested. [continues...]
"The Unix idea of piecing together solutions from reusable parts has morphed into XML-based, service-oriented architecture. This time around, though, it's all happening on the Web, in an environment where everybody can compose simple and popular tunes. When technologists forget that, I hope users will administer the dope slap we deserve." Jon Udell on XML.com This resonated with me. Recently, as part of my work at a London University, I re-engineered a legacy enterprise-wide web application called MISLine, moving it from a straightforward ColdFusion app into a set of Java Beans / servlets / JSPs and deploying it in a J2EE cluster. [continues...]
"Without a dominant proprietary solution and with EJB in disarray, the software industry has a significant vacuum in the Java persistence solution market. Many are looking to the next best standard. With the Java Data Objects (JDO) 2.0 specification under way, the timing is right for JDO to seize this opportunity. " Bruce Tate on DevX.com Bruce's conclusions are interesting. Despite developing J2EE apps for a couple of years now, I have not found a compelling case for developing Entity Beans, but would welcome a 'safe', standard, persistence solution. [continues...]
This is a useful, searchable resource of regular expression examples. It covers expressions for validating such formatted data as email addresses, UK postcodes, dates etc. Thanks to David Gammel's High Context for this. This was previously published at http://blog.sockdrawer.org and was retrieved from the Internet Archive.