June 29, 2005

Tuesday at Java One

Scott McNealy's keynote

Sun have just bought SeeBeyond, and by coincidence JBI was the most popular session yesterday (our ID badges have RFID so they can measure this). But Scott spent most of his talk (which overran, as it always does) showing examples of Java being used for social change and exhorting us, the developer community, to work for this – writing open source apps for health, education etc. He forsees a time when there will be JCP-like bodies for such things. Interesting.

Amazon web services

Most users (80%) use the REST WS interface not the SOAP one. You can get access to basically everything in Amazon, and Alexa and DMOZ stuff too. There's a whole community of developers and integrators based on AWS now.

POJO web development with Wicket

Wicket is (yet another) web framework with an unusual take: it's highly componentised, and the components are POJOs. This results in a programming style much like Swing. The binding from the web layer to the model is certainly much cleaner than anything else I've seen, with no XML layer and minimal intrusion in the HTML. Looks like fun, but it's hard to imagine the range of ready-made components ever catching up with JSF.

Rich clients with JSF

How to write AJAX components for JSF. It turns out to be very simple, plugging in direct-to-DOM renderkits instead of the HTML ones, and using a very standard JS library on the client to go fetch updates, solving the problem of having to write your own JS for every component (which is probably what all the people rushing out AJAX components for JSF at the moment are doing). Neat.

Java platform clustering

An overview of past and present approaches to providing clustering services at the JVM level. A new API based on JSR-121 is proposed, using the concepts of isolates and aggregates to provide support for clustering in a controllable and non-intrusive way.

Workflow, BPM and Java

This presentation from Tom Baeyens of JBoss hardly mentioned workflow and BPM, but instead presented their new framework on which workflow/BPM applications can be built, which they call Graph Oriented Programming. Amusingly this is virtually identical to the dataflow graphs I proposed in my PhD thesis, with the interesting addition of a hierarchical token system to allow persistence of graph states. Of course at the time it never occurred to me that my ideas could be applied to business modelling.

Service Data Objects SDO 2.0

SDOs are an abstraction above datasource-specific protocols like JDO, JNDI etc, useful for integration scenarios where objects need to be passed around between services where different protocols are in use. The original stanard included stuff like change logging, 2.0 is just a richer set of operations and helpers.

Six ways to meet OutOfMemoryError

Lots of useful details about debugging garbage collection – I now understand what the PermGenSpace error that we've been seeing occasionally since moving to Java 5 means!

June 28, 2005

Monday at Java One

Non-technical keynotes

A bit of a light year for announcements. IBM have licensed Java for another 11 years and will support all their products on all the Solaris platforms. That's really IBM's announcement than being a Java one ISTM. Jonathan Schwartz did illustrate Sun's business model with respect to Java clearly (for once) though: "go where the volume is". With 3 billion Java-enabled devices sold last year they seem to be succeeding. (And all blu-ray DVD players will be Java driven too.) He also announced the next thing to be open-sourced, Sun's next generation enterprise app container. Should be very interesting, but not due until later this year. And promised more open sourcing to come: "there's one price that works for everyone: free".

Technical keynotes

Graham Hamilton revealed more of what's to come in the next two versions of Java. (Lots more usability, mostly through annotations, and tool support.) Sun have finally realised that version names like "J2SE 5.0" are inherently confusing (is it 2 or 5?) so the next version of J2EE will be called Java EE 5 and the next version of the standard edition Java SE 6.

Mark Hapner revealed that first versions of Java EE 5 should be out next year. Main focuses: POJOs (hallelujah), dependency/resource injection using annotations, JDO-like persistence mechanism, lots more support for web services.

There was also a session on Service Oriented Architectures (SOA), but it wasn't technical, just waffle. The vibe outside afterwards was that other people thought so too.

Java Business Integration

The new JBI spec, just released, is an architecture for enterprise service bus type systems based on WSDL 2.0 to abstract away messaging details. Looks useful for integration projects. Convinced me that there may actually be something useful in SOA. There's a lot of froth around it at the moment (even though it's not a new term – been known to computing science since at least the 70s). But I begin to see what it may be useful for and JBI has a nice API to do it.

EJB 3.0

EJB3 has changed a lot since last year, having undergone a massive reduction in the number of annotations it uses – down to 2, essentially the container will be made to do most of the work. Deployment descriptors will not be eliminated after all, but will be completely optional. An upgrade path from EJB2.1 has been defined and looks convincing. The persistence engine will be pluggable (I see the hand of the 6 JDO vendors on the expert group in this) and will support JDO2-style attach/detach.

Experiences with the 1.5 language features

Some useful snippets. I think I now understand what covariant return types are for. Why the conditional operator is dangerous with generics and why wildcards are essential for API designers.

June 27, 2005

Sunday at Java One

Netbeans Keynotes

Some good new stuff coming in Netbeans, much of it focussed around existing strengths such as GUI design (the new GUI building engine looks excellent), cross-device development (setting breakpoints in a mobile phone is cool) and out-of-the-box usability. Netbeans does seem to be kind of the most agile IDE; they're already talking about integration with Looking Glass, the 3D desktop.

In general, the priorities with Netbeans coincide with those for Java generally, around ease of use (supporting higher level constructs and working with a variety of platforms) and dynamic languages. Early leak: the Dolphin release of the JVM (2008) may include byte code to support dynamic languages, which will be the first byte code in there that isn't used by Java itself.

Fireside Chat

The fireside chat featured a real fireplace, though it wasn't lit (no surprise, since it was on stage in one of the conference halls and the flue only went up to the top of the stage set). It's purely an audience Q&A session with the top people who shape the JVM, platforms and APIs. No overall theme, therefore, but interesting to hear the kinds of questions asked. Much interest in support for phone/PDA devices. Worst regret in 10 years of development of Java: AWT. Deprecated APIs will never be removed from the platform. JDO will not be deprecated (though since all the big JDO vendors are involved in EJB3, it may not develop much further after the EJB3 compatibility revision). Annotations will be developed further, but otherwise no major new language features planned for the next two releases – witness how long it took to standardise generics (over 5 years). Mantra of Sun Java developers is like the Hippocratic Oath: "do no harm".

June 14, 2005

ADS takes shape

The Academic Data Store, a new database which I'm bringing into being, is starting to take shape. We've nearly finished designing it and next week we install the software that will drive it, and start sucking in data from many sources.

It's hard to be interested in databases, especially when they don't hold much data of their own, and a large part of why we're building the ADS is to make all the connections between datbases and other databases easier to manage – a purely administrative benefit. But the user-facing things ADS will make possible are increasingly looking quite interesting:

tasks + data = checklist

We're introducing the concept of a task, which is essentially just some text which describes some data. Together with the data from a variety of different databases (ID card issuing, academic enrolment status, the sports centre, maybe the library), this will make us able to provide a checklist of all the administrative things new students need to do and actually display which ones have been done. With the new web signon system in service, it will be easier than ever to hop from one web system to another to complete the tasks.

lectures + module registrations = personal timetable

With module lecture data from the timetabling office and student module registrations from OMR, we'll be able to produce personalised timetables for students which just show the lectures they need to go to, something which hasn't hitherto been possible.

modules + arbitrary groups + events = seminar groups

With data from OMR defining what students are taking a module, and the ability to define arbitrary sub-groups (and 'supergroups', a group plus hangers-on) of those students, it will be easy for staff to define groups of students for seminar groups. Once defined, these can be used in mass mailing, for controlling access to SiteBuilder pages etc. Generalising the concept of a lecture into an event with a start and end time, times for seminar group meetings can be defined and automatically mass-mailed out to the participants.

events + tasks = deadlines

Using the task concept and event concept together, you can define a task to be presented to students with a start and end time. The timing could be applied so that a SiteBuilder page becomes accessible only for a defined period, perhaps with another event publishing the solutions page immediately afterwards, and a reminder event happening a certain amount of time before the end of the first event, triggering a mass mail reminder that the deadline is approaching. Students who miss the first 5 minutes of the lecture will have no excuse now.

It's all getting awfully joined-up. And this is just an initial bunch of ideas, that we hope to have built on top of ADS by xmas or so. Further ideas for joined-upness are welcomed.

April 21, 2005

The clamour for exam timetables

The updated exam timetable software went live last Friday, the same day as the summer exam timetable was finalised (exactly on time according to plan). After some "real data" testing on Monday, we finally made personalised students' exam timetables available on Tuesday.

The student-facing system is essentially unchanged – the PDFs are generated on request from the database. Under the covers there was some improvement to the code for better maintainability. But most of the new development went into a new system for departments to nominate their invigilators via web forms instead of the old paper forms. We start piloting this tomorrow.

What surprised us was the huge demand for the personal timetables, much higher than last year. In spite of the complete exam list being published on a noticeboard last Friday, and in spite of us opening the system quietly at the very end of the working day on Tuesday, by 8am on Wednesday the system was overloaded and I had to restart it with more memory. The load was significantly higher than last year's peak.

Aside from the IT systems perspective, students seem to have been clamouring for exam timetables this year – I don't know why this should be different from any other year. A particularly immature student union officer decided it would be clever to organise a campaign of students emailing the exam office to demand publication. Several hundred students did so, although some of them apparently emailed to say they disagreed with the union's position and were quite happy with the current system.

There are two reasons why such a tactic could never work. Firstly, and very obviously, the task of reading hundreds of emails can only slow down the work done by an office, not speed it up. But secondly and more importantly, the exam office is an example of a central service department which depends heavily on academic departments. The main reason why producing an exam timetable is hard is that departments will not provide accurate information in a timely manner. They prevaricate, delay, provide wrong information and change their minds. The task of co-ordinating what exams need to happen is one of chasing up departments and meeting, in some cases, much less than full co-operation. It must be a frustrating job.

Module registration is subject to much the same kind of process: although modules for next academic year are supposed to have been finalised at this point, some modules are missing, some are still 'provisional' because departments failed to submit them to the approving committee in time, and one department has even completely opted out of the pre-registration phase for Online Module Registration because they intend to make so many changes to their courses (which should have been finalised by now) between now and October that it would be pointless.

It's a shame that students often perceive these issues as problems of the IT systems or the Academic Office. We can't do our jobs properly unless academic departments provide us with the information we need. Some departments are good at it, and some bad. It seems to me the University, on behalf of the students, ought to be a bit firmer with departments about what their information management responsibilities are. It's not a very sexy subject, and not one which academics are likely to be very interested in, but it's vital to being a smoothly run university.

April 06, 2005

Bigger and better

Writing about SSO v3: Scalability and manageability from Kieran's blog

I was interested to read about the new generation of the web sign-on service that Kieran's been working on. I had come across SAML a few months ago while looking into something else and made a mental note that it looked like a good, well-focussed standard.

What's also interesting is the fact that the new software has taken months of development effort, whereas I hacked together the first version in hours (admittedly re-using some code I'd previously written for something else). This seems typical of the way e-lab's work has changed in its 3 years' existence: in the early days we needed to get stuff up and running quickly, at least in prototype form, whereas now we're putting in the effort to 'do things properly', at least in areas we've identified as being worth the effort, for reasons of scalability and maintainability. My new project, the Academic Data Store, is another example. We have databases that do the various jobs, but the way they all connect to each other is messy, hard to extend and problematic to maintain, so we're going to pour resources into a proper meta-database that will fix that.

As someone who's always been interested in big, complex systems I like this trend. 20 years ago I was fascinated by operating systems, now there are worlds of fascination just within J2EE. I've never been very interested in small projects. Partly that's because I'm process-oriented rather than goal-oriented; I enjoy finishing projects, but it's the getting there that really interests and motivates me. Actually the designing and planning of projects is my favourite part; the blank slate is where there's the most scope for creativity.

March 08, 2005


Writing about an entry you don't have permission to view

A more useful definition for the word bloggage would be: the set of assumptions and preconceptions that come from hanging out in the blogosphere . As in: "don't unload your bloggage on me!

February 07, 2005

Linux and chocolate

It's the tenth anniversary of my first ever linux install today. For the first few years I was just running it on my home PC but for the last 5 or more as my main work desktop as well. And it was already a fully-fledged unix with X windows (which macs now have), pre-emptive multitasking and multiprocessor support (which MS now have) 10 years ago, so don't let anyone tell you there's anything recent about linux as a desktop OS.

I know the date because it's my birthday, and that year I took the day off to take delivery of my first IBM-compatible PC, factory-fresh with no OS installed. This year I'm at work so anyone passing by my cubicle, please do help yourself to the cookies. There's ginger and chocolate, or double chocolate. Chocolate is compulsory you see.

January 14, 2005

The end in sight

It's coming up to the second anniversary of beginning the work on Online Module Registration. The only remaining big new things are automating the changeover to pre-reg (must be done by April), and loading Medical School students which we might also get going with by the summer term. Apart from that there are a ton of reports and extracts and tweaks but with several people to work on them we should have got through most of them this quarter, and the rest next quarter. Then, at last, we'll be out of the development phase and into maintenance. Can't wait.

January 10, 2005

JSF solutions

The early access version of Sun's Java BluePrints for JSF is out.

April 2021

Mo Tu We Th Fr Sa Su
Mar |  Today  |
         1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30      

Search this blog



Most recent comments

  • Good luck, Jon. Thanks for your helps in the past 3 years. by Hongfeng Sun on this entry
  • Good luck in the future by Mathew Mannion on this entry
  • It is indeed. And when I look out of the nearest window at work, I see Charter Avenue, where parking… by on this entry
  • There's very little free parking on the rest of campus, so why should westwood be treated favourably… by on this entry
  • I live in Earlsdon. I can drive, but haven't since I came to University here in 1990 (I never left –… by on this entry

Blog archive

RSS2.0 Atom
Not signed in
Sign in

Powered by BlogBuilder