Flash Killers – Java FX, Microsoft Silverlight, Groovy and Xoetrope

It wasn’t meant to be this way, but I spent most of the IJTC talking to people about Flash Killers. Technologies that look good, work in any browser and are powerful enough to deliver enterprise applications with no installation.

  • Dejan Bosanac, was speaking on Scripting in the JVM. He was kind enough to give me a copy of his book which (for the first time) has got me seriously considering Groovy. Maybe I’m about 3 years behind everybody else on this , but I get there in the end! Dejan’s book (Scripting in Java: Languages, Frameworks, and Patterns) is available on Safari
  • Guillaume Laforge talking on Groovy completed what Dejan had begun. Ironically, I didn’t see the talk , but it was the reaction of the people that did that got me interested.
  • Xoetrope (an Irish Open Source company sponsoring the conference) was demonstrating the XUI framework. Initially I thought that the world did not need another Java presentation framework. What changed my mind is that this has two edges – the first is the IDE – a plugin for either Eclipse or Netbeans , similar in drag and drop style to Visual Basic but generating clean XML Files. The second is that you can deploy on the Desktop (as either SWT or AWT/Swing), or as JSP / HTML. You can download XUI (and IDE plugins) from sourceforge.
  • Richard Bair from Sun were talking about Swing and Java FX (more below). Sun is threating to deliver on the intial promise of Java Applets (Write once, deploy anywhere).
  • Strange for a Java event, but Microsoft was giving out disks containing Silverlight – a time limited Visual Studio Professional with Expression Studio (inc Web / Design / Blend / Media).

(I’m still too traumatised by James Strachan and his Corba coloured underpants to talk about Apache Camel. And that was before Mark Proctor and Emmanuel Bernard starting talking about the size of their …. audiences 🙂

None of the above technologies really solve what I’m looking for; Ideally we’d have a version of Flash (that almost everybody has installed / designers know how to make look good) with Java embedded in it (we need the processing power of the client). Think modern version of Java Applets. Realistically we’ll have to go for 2nd best as such a thing doesn’t exist.

More on the Java FX Stuff: James Weaver of the JavaFX blog was good enough to talk through these requirements. I came across James blog after reading his book (cover below). While the book covers Java FX and FX alone (but does it well), I’ve been promised a blogpost on deploying a JavaFX Script via Webstart. With that, and if Sun makes good their promises on consumer usability in the next version of Java, then maybe we have a Flash Killer. While Sun has dropped the ball in the past (note that it was Microsoft and not Sun handing out CD’s) the response times for the FX team for a casual query about Webstart (which is not their area) gives me some hope.
JavaFx Book Cover

Advertisements

Yahoo Pipes – could do better

I’ve been playing with Yahoo’s latest toy – see Yahoo Pipes in 10 easy steps.

It’s a very good example of a Web 2 tool. While it is still in beta it already allows you to combine / filter / clone and edit RSS streams. (RSS = a summary of a website, offered by many sites, including this one – just look for the orange logo). In the same way that SQL queries a database, Pipes allows you to query Websites (or to be more precise RSS streams) for the information that you want.

Yahoo Pipes is worth checking out for the following reasons:

  • The user interface (finally) puts Gmail to shame. Just how do they generate the dynamic / curvy pipes linking the boxes?
  • It’s completely graphic. Users with at a ‘power user of Excel’ level can generate streams that would previously have taken an experienced programmer a number of days.
  • It’s another piece on the Web2 infrastructure. All other desktop apps have migrated to the web. It was just a matter of time before developer tools did as well. Does it make sense for you? Your call.

Yahoo Pipes Logo
Pipes, for the reasons below, is not yet going to displace teams of Java people who do nothing but code RSS streams all day. Before, the choice on many IT projects was Build , Buy or use Open Source (or various combinations of those three). Online Web 2 apps and services (of which pipes is only one example) gives a fourth option to put into the mix. So what does Yahoo pipes need to overcome the ‘toy’ label and become a ‘serious’ option for IT projects?

  • The problem is, it’s free. How do Yahoo intend making money out of Pipes? More accurately , will they make enough money so that my project can still use it in 3 years time.
  • You’re stuck with Yahoo. If you build against pipes, you’re stuck with them. Even in the database world, it is possible, if expensive, to switch product supplier. I’d love Yahoo to open source pipes to solve this dilemma, and allow them to build a business around the ‘pipes hosting’ part.
  • It’s completely graphic. This is mainly a good thing but no doubt most developers would still like the option to see and edit the generated code.
  • It’s hard to extend. If there is a way of extending it with my own ‘widgets’ , then I missed it. I can host RSS-generating code on my own server, but this detracts from pipes overall ease of use.

What do you think – will Yahoo Pipes take off , or be quietly abandonded?

Yahoo Pipes in 10 Easy Steps – sample for Iona Dublin

Yahoo Pipes allows you to take RSS Feeds (Website summaries) and combine , filter, sort and otherwise manipulate them according to what you need. This sample shows you how to do this, based on several feeds from the Iona website. The feeds we are going to combine are:

Drag this RSS symbol into your RSS reader to obtain the feed IONA Information, News and Events
Keep on top of the latest IONA news, events, class schedules and more

Drag this RSS symbol into your RSS reader to obtain the feed Debbie Moynihan’s blog
Open thoughts about open source, open standards, and lots of other random stuff.

Drag this RSS symbol into your RSS reader to obtain the feed Eric Newcomer’s blog
SOA, Software Standardization, Web Services, and Transactions

Drag this RSS symbol into your RSS reader to obtain the feed Oisín Hurley’s Weblog
SOA, Eclipse Tools, Open Source and SCA

Drag this RSS symbol into your RSS reader to obtain the feed Publicly Speaking
Rob Morton’s Weblog

Drag this RSS symbol into your RSS reader to obtain the feed IP Babble
William Henry’s Weblog

Drag this RSS symbol into your RSS reader to obtain the feed SOS
Services in OpenSource

Drag this RSS symbol into your RSS reader to obtain the feed Essence is Real
Kiyoshi Egawa’s Weblog

If you want to see the end result (all the Iona Dublin Feeds in one place), click here.
Disclaimer: I have no connection to Iona, but I do want to read all their Bloggers feeds in one place.

Yahoo Pipes in 10 Easy Steps.

1. Open your web browser and Login to Yahoo Pipes at http://pipes.yahoo.com/. You can use a standard Yahoo ID (e.g. from Flickr, or Yahoo IM)

2. Click ‘My Pipes’ on the top left of the page . You should see the following screen
yahoo pipes picture 1

3. Click on ‘Create a New Pipe’. It should be in the middle of the screen towards the top. You should now see something like the following
yahoo pipes picture 2

4. At the top left of the screen is a blue menu option ‘Sources’ , with a couple of different places we can pull information from (e.g. The results of a Yahoo Seach, A Google Base Search, Flickr Photographs). The one we’re interested in is ‘Fetch’ , which can pull information from any Web Address (url).

Drag and drop the ‘Fetch’ box into the ‘grid’ area on the right. The main part of your screen should look something like the following:
yahoo pipes picture 3

5. Now we will add the Web Addresses (URL’s) that we want to pull the information from. We’ll get these from this page on Iona’s web site. Luckily, the blogs / web pages we want to combine also come in the RSS format (the orange buttons on this page). All blogs and many web pages have this ‘RSS’ option, and it makes it easier to combine the information in pipes.

To find the URl, we right-click on the orange button on the IONA site, and select ‘Copy Link Location’.

6. Back in Pipes Again , we paste this RSS link into the ‘url’ field on the Fetch box. We also click the ‘+’ sign at the top left of the box, so that pipe gives us the option to enter a 2nd URL. Our Fetch box now looks like this:

yahoo pipes picture 4.

7. We repeat step 6, and copy the 8 other RSS feeds into our fetch box.

8. At the bottom of the Fetch box there should be blue circle. Drag this blue circle and drop onto the ‘Pipe Output’ box. Your screen should now look something like this.
yahoo pipes picture 5.

9. Clicking on ‘Pipe Output’ (grey tab at bottom left of screen) fetches the information that we have just selected. The output from your newly created pipe should be at the bottom of the screen and look something like this :
yahoo pipes picture 6

10. That’s it! We’ve created a Pipe. To allow the world to see your new create, Select ‘Save’ then ‘Publish’ (both grey tabs on the top right of the screen). We’ve published a cleaned up version of the Iona Feed for you to view at: http://pipes.yahoo.com/pipes/KIwiFt282xGelck8mLokhQ

Free Drinks at the Irish Blog Awards

Final Results for Round 2 of this challenge are now here.

In a recent challenge , Ken McGuire crushed all opposition by reaching 100 subscribers on Feedburner before anybody else could roll out a shameless self publicity campaign.

So , to give everybody a chance, we’re going for another round. You can join in at any point (leave a comment below to get included).

The rules are simple : The person who gets the biggest % increase in FeedBurner subscribers (that’s the number on the top right of the blog) between now and the Irish Blog Awards wins. Prize is a pint. And yes, all is fair in Love, War and trying to up your Blog numbers.

To subscribe to this blog (we really can’t afford to lose twice in a row, the price of drink in Dublin being so high), click on the Orange XML icon on the top right of this page. If you’re not automatically asked to subscribe , you may want to sign up to a service such as Bloglines. Subscribing means that you’ll automatically be updated on who is in the lead.

Due to popular demand (and the fact Damien will have 17 Squintillion subscribers before next Tuesday) we’ll probably have a round 3 after this one. If you want in , leave a comment. Remember, it’s all about the percent increase, so it’s an advantage to start small.

And the Contenders are …


Blog Start Current
Ken McGuire Creative Imaginations 103 Ken Feedburner Stat
Conor O’Neill- Louder Voice
44 Conor Louder voice stats
Aidan Finn AidanF.net 84 AidenF
  James Corbett – Eirepreneur 480 James Corbett Feed
Robin Blandford – ByteSurgery 42 Robin Blandford Feed
Tom Raftery – IT views 751 Tom Raftery Feed
Paul Browne – Technology in Plain English 96
  Richard Hearne – Red Cardinal 85 Richard Hearne Blog
Thomas Holmes – YClickIt 113 Thomas Feedburner
Eoghan McCage – Naive by Design 35 Feedburner
  Damien Mulley – Blog AwardsHonorary Lifetime Member –
1200% increase in first 24 hours
6
  Damian O’Broin- Ask Direct 23

Older News1):The most Recent entrant is Richard Hearne of Red Cardinal. With the SEO Ninja tricks this man has up his sleeve, he’s going to be a fairly strong contender.2): Mon Dieu! Thomas Holmes has entered. Almost certain to use a 2 language blogging strategy to take the title, how will the other competitors react?3): Eoghan is in. Damien and Damian may be in. Are there going to be any other last minute entries?

4) In a shock last minute move:

Damien Mulley forgoes his 400+ base and opts to start again with the Irish Blog Awards feed (6 readers). Rumour has it that we may as well buy the man a pint now, while the rest of us scrap it out for second place (prize – diet coke with ice). We did say almost anything was fair game … 🙂

5) In another shock first day wipeout: Damien Mulley has increased his total by 1200% using a little known site called the Irish Blog Awards. I’ll check the small change down the back of the sofa , buy Damien the pint, and the rest of us mere mortals can continue on to see who gets pint number 3.

Enterprise Java Presentation at DCU

On Wednesday, I’m presenting on the topic of Enterprise Java at DCU (Dublin City University) , in conjunction with Trigraph.

Trigraph Logo


I’ll blog later about bits and pieces of the slides (for commercial reasons I can’t publish the full set here), but the overview is below.

Description: Success or failure in your business depends on dealing with information faster and better than your competitors. This briefing shows you how Enterprise Java tools can do this and how to apply them to your organisation. Crucially, the briefing shows you when not to use Enterprise Java and details the alternative approaches.The briefing will give delegates an overview of the Java Web development environment, how to architect and distribute multi-tier applications and how to link these components with existing sources of information using Enterprise Application Integration (EAI). Most business have substantial investments in existing and legacy IT systems and the briefing will show how to integrate these with techniques such as JMS Messaging/ MQ Series, SOAP / XML or using the Java Connector Architecture (JCA).

As well as examining the main Java Application Server vendors (including Sun , IBM , Oracle , BEA and JBoss) the briefing will detail the technology stack that they offer. This stack includes Web presentation frameworks and SOA – Service Orientated Architecture at the Front end. In the middle (Business) layer this covers the capture of Business knowledge using Business Rule Engines and workflow (BPEL). At the back (Service) layer, this includes database integration using JDBC, and the Enterprise Service Bus (ESB).

What Problem are we trying to solve?Where Java Fits in Enterprise Computing.
Enterprise Application Integration (EAI).
A Componentised & Connected Enterprise.
Enterprise Java Architecture Overview.
Enterprise Java Platform Roles.
Benefits to the Enterprise.
Alternatives (.Net , PHP , Oracle , Lightweight Java Frameworks , scripting)
Scripting Languages and Enterprise Java (Ruby, Python, Groovy)
Vendors (IBM, Oracle, Sun , Bea , JBoss and SAP)
Vendor Specific Solutions (e.g. Oracle Fusion / ADF , IBM MQ )
Market Trends – Resource availability (can we get the people to do this?)

Foundation Technologies & Techniques.

Enterprise Web 2.0 and Service Orientated Aritecture (SOA).
Integrating with other Systems ( Legacy Systems, Oracle etc)
Enterprise Java Beans 3
Middleware (MOM, Rule Engines, Workflow)
Java on the (Enterprise) Desktop
Web Services / Enterprise Service Bus
Best practices (Code standards, Build standards, Version Control / Iterative Development / Junit)
UI Layer: HTML, Servlets, JSP, XML/XSLT.
XML’s Role in the Enterprise.
Application Tier: EJB, JNDI, JDBC, JDO.
Integration Technologies.
Java Connector Architecture- JCA
RMI, CORBA/IIOP, SOAP.
Security – Application and Server Level
Java Access & Authorization Service (JAAS).
Object-Orientation & UML.
Design Patterns.
Frameworks (Struts , JSF, ADF, DWR, Spring, Hibernate)
.Net interoperability

Enterprise Java Application Architectures.

Overview of Enterprise Application Servers.
Commercial Application Servers.
Distributed Application Models with Enterprise Java.
Enterprise Java Application Server Basics.
How to Choose a Enterprise Java Application Server.
Enterprise Java Application Architecture.
Building a Enterprise Java Application.
Deploying the Application.

Enterprise Java & Your Business.

Planning for Migration.
First Steps.
The Implementation Plan.
Organisational Challenges.
What’s next for Enterprise Java?

Close.

Java Market Trends

Below is an extract of a report Distributed by Computer People. It’s a breakdown of all the Java Job Adverts for the last 6 months in the London Contract / Permanent Market. While it should be treated with caution as (a) it’s sales and marketing material and (b) the London / UK market will differ substiantially from Dublin. For example , I would not expect to see as many Sybase roles in Dublin as London, due to the use of Sybase in the London Financial markets.

Example from the figures: Of all java jobs advertised in the UK , 36,86% were also looking for J2EE (Enterprise Java) Skills.

  • 22504 (36.86 %) J2EE
  • 17476 (28.62 %) Oracle
  • 16045 (26.28 %) UNIX
  • 15510 (25.40 %) XML
  • 15321 (25.10 %) SQL
  • 15269 (25.01 %) C++
  • 12815 (20.99 %)  Finance
  • 12370 (20.26 %) Banking
  • 11152 (18.27 %) Graduate/Degree/BSc
  • 10069 (16.49 %) OO
  • 9465 (15.50 %) .NET
  • 8413 (13.78 %) CSharp
  • 8188 (13.41 %) JSP
  • 7529 (12.33 %) Sybase
  • 7340 (12.02 %) HTML
  • 6940 (11.37 %) Investment Banking
  • 6740 (11.04 %) UML
  • 6606 (10.82 %) Front Office
  • 6479 (10.61 %) Windows
  • 6343 (10.39 %) SQL Server
  • 5991 (9.81 %) Linux
  • 5533 (9.06 %) Perl
  • 5047 (8.27 %) WebLogic
  • 4940 (8.09 %) JavaScript
  • 4685 (7.67 %) Struts
  • 4547 (7.45 %) EJB2
  • 4456 (7.30 %) Servlets
  • 4435 (7.26 %) Microsoft
  • 4136 (6.77 %) VB
  • 3892 (6.37 %) Fixed Income

JBoss Workflow JBpm and JBoss Rules (Drools)

Notes from this Post on the Serverside

 I recently wrote an O’Reilly article on one of the related JBoss projects the Drools / JBoss rules engine.

Just to get the difference between jBPM and Drools / JBoss Rules straight in my head:

– Workflow tends to be ‘wide’ where Rule Engines tend to be  ‘deep’.

– Workflow is wide as the flow is spread over different people / actors and over time.

– Rule Engines are ‘deep’ as they apply simple rules to solve complex problems, but in general the rules are applied ‘all at once’.

Some of the confusion (in my head at least) comes from the fact:

– It is possible to implement workflow using a rules engine, much as it is possible to write your own workflow using Java. Of course , you don’t get the graphical designer that JBpm has.

– Both JBoss Rules (Drools) and JBoss Workflow (jBPM) see to
‘externalize’ part of the solution outside of Java. By stepping outside
of Java to use an XML / Graphical based approach, it makes the solution
easier to configure and understand.