Contact   FirstPartners.net   Articles   Wiki   LinkedIn

Paul Browne Consultant CV Photo Paul Browne CV
   

Archive for the 'enterprise web 2.0' Category

JBoss workflow invading Dublin (Free Community Conference)

Wednesday, May 14th, 2008

I’m not going to explain what workflow is as I’ve probably blogged enough about it already. But the JBoss Workflow (jBPM) guys are coming to Dublin on June 6th. If you’re into workflow (and if you’re doing any sort of software for large business you should be) then this is a do not miss event and we’re privileged to have it in Ireland.

The JBoss workflow guys are dream guests. They just asked for a couple of venue suggestions and they finally went for the Guinness Hopstore where Barcamp ran last year. Next thing we got was an email saying that the JBoss Workflow event was go. So for the benefit of people flying into Dublin, here’s the information we gave on where to stay and things to do if you’re making a weekend of it.

(More information on the event on Tom Baeyens Blog)

Workflow

How to get there

Dublin is pretty well served by direct flights from Europe and the US. Aer Lingus and Ryanair are the two biggest airlines flying into Dublin - but there are plenty more (list at FlightMapping.com).

Things to do

  • Tour of Guinness brewery and visit the Gravity bar (one of the highest in Dublin)
  • Dublin Pub Tour and general social scene (it’s a coincidence that the first 2 items are drink related!)
  • Tour of Scenic Wicklow Mountains and Glendalough
  • Liffey River tour by boat
  • Dublin Bus tour - including it’s Georgian buildings and coastline
  • Newgrange - 2000 years older than the pyramids, in the stunning Boyne valley
  • Windsurfing , Kayaking or Rock climbing in Viking Carlingford Fjord.
  • Trinity College Dublin, 400 years old university , right in the city centre including the 1000 year old ‘Book of Kells’
  • For the more curious , Belfast is 2hrs away by express train in Northern Ireland.
  • Get lost in Phoneix Park, the worlds largest city centre park.

Places to Stay

I don’t tend to say in Dublin hotels too much (!) but the following I know are reasonably good value (and quiet / clean)

  • 3 of the Jury’s Inn (Christchurch is just down the road from the event location, but the IFSC and Parnell Street are also good)
  • Academy hotel is ok, if slightly more expensive , if you’re stuck.
  • If you want an airport location (about 20 mins / 20 Euro Taxi from the city centre) the Premier Inn chain are pretty good.
  • Hotel Isaacs is budget but decent , central and near the main bus / train stations.
  • Morgan hotel is where the presenters were put up for the Dublin Java conference. Central but Slightly more pricey.

For people from the community, there’s also plenty of ‘budget’ backpacker type accommodation.

Web2 with Java:Struts2, Spring MVC, Flex, JavaFX and Google Web Toolkit

Thursday, March 13th, 2008

Originally posted on the O’Reilly Books OnJava blog. 

My fellow Java Developers. Two years ago I wrote an article on ‘Web 2.0 and Enterprise Java - move over Struts‘ looking at what was likely to replace Struts 1 (then and now a de facto web standard). How did our predictions fare?

Remember that article (and this one) isn’t looking for technical best, but which is going to be a best investment of your time to learn (in a mercenary commercial sense). And if you’re deciding which to use in a project , which framework is going to be easiest to support in 5 or 10 years time?

Broadly speaking, the frameworks we talk about break into two types: those that treat the web as a set of pages, and those that treat the web as a set of components (think Visual Basic, Delphi or Oracle Forms act-a-likes).

So , what has changed in the last 2 years:

  1. The rise of Spring. Not only has it gone mainstream, but the Spring MVC, Spring Webflow and Spring-JavaServerFaces are very powerful and widely used web frameworks. A sign of how things have changed is that for Sruts 1 the Spring guys wrote the integration for the (then) bigger Struts framework. For Struts 2 , the integration was provided by the Struts community. With the forthcoming Spring 3 release the framework is increasing momentum; More annotations and less XML in Spring MVC; Rest Web Services out of the box, support for Dynamic languages like Groovy and Spring Webflow becoming a more ‘just use it where you need it’ solution.
  2. Adobe Flex and OpenLaszlo - Flash graphical interfaces on the Web, built using Java. I don’t think these will be *the* mainstream choice but I do think the will be more than a just a niche. And for design led companies, nothing else (not even Microsoft Silverlight) can come close in terms of a user ‘wow’ factor.
  3. JavaFX and Applets done right (Jim Weaver has a good article on this). More of a competitor to Adobe Flash as both are rich content in the browser using an easily obtainable plugin. JavaFX will appeal to developers because of it’s Java like syntax. I hope I’m wrong, but for rich web content, would you put your money on Sun (an Engineering led company) or Adobe (an almost apple-like design led one)?
  4. Frustration with JSF (Java Server Faces). For the last 3 years I’ve thought that ‘*this* is the year of JSF. I’m still waiting not because of lack of demand (as web apps become more complicated and use more Ajax they become more like the JSF component based model). It’s now uphill for JSF as I (and a lot of other Developers) have given up. I’m still waiting for the ‘EJB 3′ moment when JSF becomes more simple and more usable. Remember , we ‘re not talking about technically best, but which is going to be in widespread use.
  5. Google Web Toolkit (GWT). Looking at it one way , GWT is JSF done right - a component based web framework , but one that is fast and has a lot of community support. Even then it took me a long while to warm to GWT - I’ve bad memories of web-components that hide their internals (remember Microsoft Interdev 10 years ago?) . What got me over the hump was thinking of GWT as a compiler not to Assembly or bytecode , but to Javascript and HTML.

How has Struts 2 got on in the meantime? I’m not sure. Remember , Struts 2 is very different from Struts 1. Conceptually it’s very similar to Spring MVC (Simple Java Beans based with configuration); Slightly easier to learn and maybe slightly less powerful than Spring (although both are more than capable for most Enterprise web applications.

The ‘I’m not sure’ bit comes from two (non technical) factors:

  1. Struts 2 hasn’t achieved the massive Enterprise developer mind share that Struts 1 did. It’s a better framework, but it’s got more competition.
  2. If you’re using Spring in the middle tier, why not have one less framework and use Spring MVC (instead of Struts 2) in the presentation layer as well?

Back to the previous predictions , how did we get on?

Scenario 1: Adding Ajax to existing Struts Applications. Use AjaxAnywhere - closest to the approach taken in the article Sprinkle Some Ajax Magic into your Struts Web Application. Despite writing this article , I see the frameworks evolving rapidly to the point where you would only take such an approach for adding Ajax to ‘Legacy’ applications.

How did we do? I’d maybe widen the choice of Ajax Libraries (to include DWR , Dojo, Prototype and others) but the basic idea of evolving rather than replacing your Struts 1 app still holds true.

Scenario 2: Need Ajax Now for a new Java Application. Use Appfuse as it gives Struts, Ajax (with DWR) and the possiblity of JSF integration now, all ‘out of the box’.

How did we do? I still recommend AppFuse, as it combines (name-your-web-framework) with Spring Hibernate(and other ORM) and Maven. However I’d now tend towards choosing Spring MVC (unless you’ve a reason to use Spring 2), given that you’re probably already using Spring in the mid tier.

Scenario 3: Medium Term. Use an implementation of JSF (either MyFaces or whatever Appfuse promotes - probably Struts Shale). Struts Shale (JSF) has so far released only ‘overnight’ builds. Apache MyFaces (JSF) tool support and Ajax capabilities are likely to improve over time. Both Struts-Shale and MyFaces are likely to play well with AppFuse , making it a safe bet for investing your time checking it out.

How did we do? Struts2 and Spring both still give you migration route to JSF. But do you want it?

So out of the creative ajax-induced chaos of 2 years ago, I see 4 or 5 clear choices in Enterprise web frameworks: Struts 2 (as a follow on from Struts 1). Spring MVC, due to the huge mindshare Spring has on the mid-tier. Google Web Toolkit , both as a natural home of frustrated JSF developers , and because who’s going to argue with the people who gave us maps and mail? Flex, because Flash apps done well just look so good. And JavaFX, because Applets-haven’t-gone-away-you-know.

In my view, we would have been delighted to have any of these framworks 5 years ago. And each (for different reasons) is likely still to be popular in 5 years time. Your missions now is to pick the one that suits your project needs.

Spring Belfast and Spring Dublin - two of the biggest Java events of the year

Monday, March 3rd, 2008

No apologies for over simplifying this :

  1. If you’re in business you need computer systems to support your team. Systems to find previous dealings with a customer, systems to allow your team to work together, systems to stop people finding out things that they shouldn’t.
  2. Once your business passes the 100 employee mark and is heading for ‘Enterprise’ scale, chances are you need custom software written just for you, in addition to he ’shrink wrap’ stuff you’ve been able to get away with until now.
  3. Most custom Enterprise software is written in (or uses a large element of) Enterprise Java.
  4. Enterprise Java is hard to get started with - it’s a big and complex framework because it solves big and complex problems. The Spring framework makes it easy.

spring logo

OK, so we’re Spring nuts. But nuts only because it’s solved problems for FirstPartners over the last 4 years. What we like:

  • Spring allows you to use just enough Enterprise Java to solve your problem
  • Spring complements Enterprise Java, not replaces it.
  • Spring gives you a gentle slope to using Enterprise technologies.
  • Spring works well with Java, Oracle, .Net , (J)Ruby and pretty much any mainstream technology - including most of the widespread Java Frameworks like Struts and Hibernate.

So you wait ages for one Spring Event in Ireland, then two come along at once. We’ve written about Rod Johnson speaking in Dublin on Tue March 11th. Now there is a full day Spring Event in Belfast the day before (March 10th). And it’s sponsored by Momentum NI, so it’s free. And the Hilton Hotel is right beside Belfast Central train station, so it’s easy to get to from Dublin.

The full agenda is here (more details below), but given the importance of Spring to the Enterprise world, and the fact that the top four Spring guys are speaking, we reckon that it the Enterprise event of the year. The booking form is here.

Spring Ireland 2008

10th March 08:30 10th March 17:30
Hilton Belfast, 4 Lanyon Place, Belfast (Beside Central Train station)
SpringSource is proud to announce Spring Ireland 2008. Join us for a free one-day conference with presentations from the SpringSource team including a keynote from Rod Johnson.

Keynote: Spring into the Future - Rod Johnson

The Spring Framework began in 2002 with Rod’s best-selling Expert One-on-One J2EE Design and Development; one of the most influential books ever published on J2EE, Rod is recognised as one of the world’s leading authorities on Java and J2EE development.With the rapid expansion of SpringSource and move to new corporate HQ in Silicon Valley, this is a rare UK opportunity to hear Rod provide his views and explore the future of J2EE application development.

What’s New in Spring 2.5 - Sam Brannen

Sam is a lead architect at SpringSource and one of the most experienced developers within the organisation.This session provides delegates with an overview of the new features available in Spring 2.5. Specifically, highlighting the simplified and extensible configuration support provided via configuration annotations and new XML configuration namespaces, new Java 6 support, updates to Spring AOP, improved JDBC and JPA support, annotation-driven web MVC controllers, the new annotation-based TestContext framework for unit and integration tests and more!

SpringSource Professional Services – Greg Southey

Greg has built SpringSource’s UK Professional Services organisation into the leading Spring consultancy business in the world.

This is a brief resume of some of the 97 major projects completed by the UK Professional Services team in 2007. Delegates will hear about the business drivers behind some major development projects, the business issues faced and how they were resolved in partnership with the client.

Spring as a Full Stack Web Framework - David Syer

As Principal Consultant at SpringSource, Dave leads the way in the understanding of satisfying business requirements using the Spring Portfolio. His easy manner cloaks a prodigious knowledge of application development.

This session explores the “full stack” web framework trend and answers the question: how does Spring stack up? This session defines what a full-stack web framework is, then provides a fair technical comparison between a Spring-centric web development stack and the alternatives. Delegates will head about the feature-set of modern “full stack” web frameworks, and what Spring has that differentiates itself from the pack.

Spring in Ireland – Ian Graham

Ian Graham, Momentum, will explore the use of Spring in Ireland and introduce case studies from companies who are using the Spring family of products.

Round Table Discussion - Rod Johnson, Rob Harrop, Dave Syer, Sam Brannen & Greg Southey

Your chance to ask Rod and his team anything that’s on your mind regarding Spring!

Mr Spring, Rod Johnson, Speaking in Dublin March 11th

Tuesday, February 12th, 2008

I’ve been lucky enough to have been using Spring for just over 4 years. If you don’t know what Spring is, it solves a lot of problems in complex Enterprise Java Systems. And it makes those systems more configurable; Spring makes your code like Lego blocks. Blocks that you can take apart and use again and again (no matter what the underlying technology is). And because you can take it apart, it makes your code easier to test. And testing is a good thing - the earlier you find bugs , the cheaper they are to fix.

spring.PNG

Get the feeling that I’m a bit of a Spring fanatic? Wasn’t always that way. It took me two projects where other people had choosen Spring to convince me. And did I mention that it’s one of the most in demand skills in the Java world?

Rod Johnson (aka ‘Mr Spring’) is speaking in Dublin at the Westin hotel Dublin on the 11st March. It’s fairly central, and it’s a breakfast briefing, so you don’t even to have to arrange the day off work. More details on the event are on the Kainos Website.

Update: The registration form to sign up for the event is here.

Top 10 Speakers at the Irish Java Technologies Conference (IJTC Dublin)

Thursday, October 25th, 2007

Not (too blatant) a plug for the Irish Java Technologies Conference (IJTC). Although if you’re around Dublin on the 7th / 8th / 9th November I’m told you’re more than welcome to drop in. This post is more a quick review of the people who are speaking. It’s also an invitation to check out their websites and see if any of the technologies they are promoting could be of use to your project.

Dublin Jug Logo

Here are the top 10 projects that I’m looking forward to checking out.

10) Java and Microsoft SQL Server : It’s still a brave Microsoft person that comes to a Java conference. Shows MS recognition a substantial amount of Java deployments persist their Data to a SQL- Server database.

9) Eclipse STP (and SOA) - Service Orientated Architecture is the buzzword of the year. If anybody can put substance behind the hype , it’s the guys From Iona.

8) Eclipse JPA and Dali. Hibernate pushed Object Relational Mapping (ORM) to be the standard approach to database access. The manager of the ‘other’ ORM Project (Oracle Toplink) should give a interesting coverage of the tooling developments.

7) Apache Geronimo - by Jeff Genender from Apache Foundation. So long the ‘other’ Open source application server, this is now becoming credible in commercial deployments.
6) Java Update - Simon has been working as a lead Java consultant for Sun Microsystems. He’ll be talking about Java Standard Edition 6 and Java Mobile Edition. But what I’m really interested in is Java Enterprise Edition 5, Scripting, Java Realtime and Java FX.

5) If scripting is your thing fellow Onjava Blogger Dejan Bosanac is also speaking on this subject. He’s talking about Scripting within the JVM, which will be one of the hot topics for 2008.

4) iPhone v JMME - I don’t get the buzz around Mobile (give it another 18 months , we’ll all be running Java Application Servers on the mobile). But many people are interested in it - this talk is how to make you Mobile Java apps as slick as those in the iPhone.

3) JBoss Drools Engine (Drools) - I’ve blogged (a little bit) about Drools before. I’ve also been fortunate enough to hear Mark Proctor speak and you will come out an convinced that the natural home for Business Logic is in the Rule engine.

2) JPA and Hibernate - There is a very strong possibility that Emmanuel Bernard will be returning to Dublin to talk about the Hibernate project that he leads. Having seen his recent talk, and given the level of interest in Hibernate, I expect a strong turnout for this one.

1) Spring 2.5 - Spring has been around for more than 5 years and is making serious inroads in the the Enterprise Java community. Sam Brannen (from Interface21) will give details on the latest on the major update to Spring (2.5) as well as what is planned for the future.

Disclaimer: I’ll be talking about Java Workflow (based on on JBoss jBPM). But compared to these guys, I’m way down on the Z-List of presenters.

Other People Blogging about this:

OpenLaszlo - Cool Flash for Clunky Java people

Thursday, August 23rd, 2007

Flash is created by cool people who wear black and use Apple Macs. If you’re not sure as to what flash is, the chances are that if you’ve seen something on the web recently that made you go ‘wow’ for it’s coolness, then it was built using Adobe Flash.

To add substance to this froth Java people can use Flash (instead of normal web pages) to create cool pages that do useful stuff. For example Google Analytics uses Java and Flash to create a stunning User Interface. Even though Ajax and DHTML give you a lot of interactivity on your web pages, Flash goes one better at the small cost of not being as good for SEO and requiring a plugin (that most people already have installed).

So, what are you to do if you want to combine the coolness of Flash with the heavy lifting of Enterprise Java on the Server? The two main options are:

  1. Flex from Adobe is one way for Java people to create flash. The core toolkit is free, but the editor costs about $500 and that’s before you pay for using it on your servers. More details in the previous blogposts on Adobe Apollo and Adobe Flex.
  2. Open Laszlo Project is open source all the way, but does’t have a drag and drop editor (i.e. it’s more technical than graphical). Still , it allows you to create some cool effects , such as this Flash Clock.

Which framework will win out? I don’t know , and that’s before you even consider the Standard Java Web Frameworks such as Struts 2.

More (In progess) notes on Open Java and Flash are on the wiki. In an impulse buy , I bought the OpenLaszlo in Action yesterday. As an EBook , with rebate (coupon LZ35607 before the end of August) it costs about 10 Euro. Initial impressions are good (both for the book and Open Laszlo) , but I’m still working my way through it (so don’t quote me on it).

Disclaimer: I get a rebate if you buy the book from Amazon, but not if you buy the (Cheaper) E-Book direct from Manning. I bought the E-Book this time, but have got free books from Manning in the past for having reviewed (as yet unpublished) JBoss items.

Moaning about Struts 1 won’t help you move to Struts 2

Friday, July 27th, 2007

(Struts is one of the most popular way for companies to build their websites. This was to be posted on Bill moaning about Struts 1 problems, but Bill’s blog isn’t accepting comments at the moment.)

Struts 2 Logo

Bill,

I hate to spoil your Struts 1 party , but most of these problems have been known for some time (and the Struts team would be the first to articulate them). Struts 2 is a huge improvement and , as you mention, there are good alternatives out there (including Spring MVC).

The problem is that migration from Struts 1 to (for example) Struts 2 , while easy, still carries a risk for the project in question. It can be hard to convince the business decision maker when all they see is pain (’so you’re going to break the existing site?‘) for very little gain (’where’s the immediate payback of upgrading?‘).

My advice is to stick with Struts 1 on existing projects. Use Struts 2 (or even better, Appfuse) on new projects. And for new code on existing projects, consider running them both side by side. They’re all tried and tested solutions.

Paul

Irish Business Networking - Investnet.ie - better than OpenCoffee, Barcamp or BNI?

Wednesday, July 4th, 2007

Derek Organ left me a comment about the new Investnet site. Investnet run the successful (offline, Dublin based) Wireless Wednesday and First Tuesday networking events. In terms of cold financial payback, the latter is the most successful IT-Business networking event(s) that I’ve taken part in. Now all these networks are available online, in a Facebook / LinkedIn style site.

Good to see an Irish Organisation ‘get’ the networking possibilities that Web2.0 brings.

InvestNet Ireland Logo
Also came up in conversation at Barcamp Belfast - Business Networking International (BNI). Great if you do lots of little sales - e.g. Accountants, Solicitors, IT shops , as the aim is do to cross referrals between close, but not competing , companies.

I’ll (finally) get to OpenCoffee Dublin tomorrow (Thurs 5th July). Will it be better for networking than Investnet, Barcamp or BNI?

Easy(ier) Ajax with Struts 2

Thursday, June 28th, 2007

Some time back , I wrote an article for Java.net about How to add Ajax to your Struts Application. It’s pretty straightfoward (as is Ajax underneath all the hype), but it still involves too much JavaScript for my liking. Nothing against JavaScript, but if you write it , you have to support it. Far better to use a standard Ajax library , like DWR , Prototype or Dojo.

(As a reality check , if you don’t know what Ajax is , this article explains what Ajax is and what it can do)
Struts 2 Logo

Along comes Struts 2 (. Be careful - it’s good , but very different from Struts 1 - it should have been called WebWork 3). It does a lot of things better - for example , the way it’s Actions are normal POJO’s makes it a lot of things easier to unit test.

Struts 2 also gives you Ajax ‘out of the box’. No writing of javascript, no debugging against various browsers; just configure and go. A full description of how to setup Struts 2 to use Ajax is in this wiki article. The quick version is:

  1. Setup Struts 2
  2. Add the Struts-Ajax URL and Div Tag.

That’s it. Ajax without the fuss.

Enterprise Web 2 Book - latest chapters (workflow,rules,search)

Tuesday, April 3rd, 2007

This an in progress draft of ‘Financial knowledge capture using Rules , Workflow, Search and Enterprise Web 2.0‘, complimenting the Red-Piranha Open Software project.


Chapter 1 - Introduction - notes

Chapter 2 - Problem Domain - good draft

Chapter 3 - Red - Piranha Framework - good draft

Chapter 4 - Technical Overview - draft [new]

Chapter 5 - Financial Workflow - draft [new]

Chapter 6 - Financial Calculator and Business Rules - draft [new]

Chapter 7 - Adaptive Search - good draft [new]

Chapter 8 - Future Work and Conclusion - notes

Chapter 9 - Appendices - notes


Yahoo Pipes - could do better

Tuesday, March 27th, 2007

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?

Many Eyes - A Web 2 Service from IBM - Graph Pretty Picture from Excel

Friday, February 9th, 2007

It’s been a while since we posted a pretty picture on the blog. Not an Andrea Corr or Paris Hilton kind of pretty picture, but one to liven up the general flow of text on this site.

Just as well then that IBM has announced ManyEyes , an online Service to take boring old numbers and turn them into the kind of graphics that you see below. It’s pretty simple to use : upload your data in a table (Excel like) format, then select how you want to view it. They even provided a wizard to allow you to link the results on your own site.

For example: This is the Value of 1 US Dollar against the Other Major Currencies (Euro , Yen, Sterling , Yuan).

Interesting, in this Ajax-y world, that it’s implemented as a Java Applet. Maybe Bruce was right?

Build your Web2 site quicker - Free Ruby Book

Monday, January 29th, 2007

Ruby has a lot of buzz around it. The idiots version of what Ruby is:

  • It’s a programming language (like Java) that allows you to tell computers what to do.
  • Used with the Rails framework , it allows you to churn out your latest Web 2 site faster than you can pitch it to your friendly VC.

InfoQ has a good link to a Free Ruby Book that has just become available. The author of the book (Jeremy) blogs here.

Free Ruby Book Link

We have two main reasons why we’re interested in Ruby:

  1. Java is great for scalable , Enterprise systems used by thousands of people. Sometimes we just want something quick and dirty to try out an idea.
  2. If your idea proves successful , you want a migration path (i.e. not to have to throw away all your original work). Ruby gives you this as the way it is organised means it is less likely to fall into a heap (Object Orientated)
  3. So Why not PHP (the way this blog, using wordpress, is built)?  Ruby has a companion tool called JRuby. This means that you can run Ruby code anywhere you can use Java. Anything that Java can do , Ruby can do as well.

We’re also going down the free book route on Enterprise Web 2.0. Only it’s taking us a lot longer to get there. Currently the problem is a techie version of writers block.

Java and those pesky Google APIs

Tuesday, January 23rd, 2007

Recently one or two people disagreed with what I had to say about the impact that the Google, Amazon (and other) API’s will have on Java. Considering the ratio of positive to negative comments (about 3 for and 30 violently against), I obviously need to express myself in a clearer way. The link to the original post is at the end of this article, read on before you consider flaming me.

Amazon Web Services Logo

So , deep breath , here goes.

Compare the the way you develop now , with the way you built software 10 years ago. Do you remember having to manage your own memory? Or the pain of trying to deploy your software on different machines without a JVM? Or the hassle of trying to write distributed software using Corba? Or using a text editor instead of the fine IDE’s (Eclipse, Netbeans or JDeveloper - take your choice) that we have today? Would you consider building your software without a tool like Ant or Maven?

(Shudder). Things have moved on ,and I am very glad they have. Likewise, the way we develop 10 years into the future will be very different. I don’t know what the future will look like, but here’s a simple guess.

The biggest trend today is the move from software running on your computer , to software being delivered over the web. I’m not talking about the buzzwords being thrown about regarding ‘Service Orientated Architecture’ or ‘Enterprise Service Bus’. I’m talking about simple API’s that are available for use over the web today. Like the API’s and products from Google - including their Documents and Spreadsheets, and their Authentication service.

‘Everything should be made as simple as possible, but not one bit simpler’ - Albert Einstein

‘You Ain’t Gonna Need it’ - Anon, XP Mantra

As a good Agile Developer you’d probably agree with these quotes. But what if the most simple way of doing things was not to develop in Java at all? Most people don’t build their own operating system - they use Linux, Windows or OS X instead. Most people don’t write their own Java Server - they use Tomcat, JBoss or your server of choice. The pattern is the same. A small, dedicated core of developers builds the product, and the rest of us say ‘thank you very much’ and use it to get things done.

This range of ‘off the shelf’ solutions is increasing all the time , even before the online services arrived on the scene. As a Java developer , you’ve said ‘thank you’ , downloaded the latest version and integrated it into your solution. The time you save means you deliver other cool features instead. Java is very good at this ‘download and integrate’ process - not only is it a key benefit of Object Orientated Software, but Java has the widest range of solutions available (if you don’t believe me , just check out Sourceforge).

Java can also let us build our solutions (either partly or fully) around the online API’s. Java has great networking and XML handling ability already. In time this will become as normal as the idea of using a JVM. Great - we use these API’s pretty much like we do libraries today, and we can continue developing pretty much as before, right?

Wrong.

Remember, what is the most simple way of doing things? What if the most simple way of doing things was not to use Java but to use a more simple language (like Ruby or PHP) instead? Until now there were a couple of advantages that Java had over these ’simple’ (and that’s a compliment) languages. When using online API’s these advantages disappear, or worse, become a liability.

  • Scalability and Robustness. Enterprise Java is massively scalable (it’s one of the reasons for it’s complexity). But can even you outscale Google?
  • Security. Enterprises haven’t (yet) learned to trust the security of online applications. This trust will be hard earned over time. But already you can make the argument that you data is safer with Google / Amazon / other service provider than on your average virus-ridden home PC.
  • Language Ties. To use the Java libraries you needed a JVM somewhere in your solution. Once you had a JVM , you might as well write your own solution in Java. But when the product you are extending is hosted elsewhere, you are free to code in the (most simple) language of your choice.
  • Always on. As long as you have a connection to the web, your programs can use the API’s. Scripting languages like Ruby and Python can claim to be even more portable. Not only can they run natively in most environments, they can also be deployed via a JVM if that is your choice (under the guise of JRuby and Jython)
  • Features. Need a feature that you don’t have in your scripting language? Just borrow it from Java by running in the JVM. How can Java win a ‘features arms race’ against that?

So do we face a form of developer apartheid, where a ‘hard core’ of Java Experts develop web API’s that the rest of us use via scripts? Let me know what you think. Like the original blogpost said, it may not be the end of Java, but perhaps the end of Java as we know it.

Irish Blogger lynched on O’Reilly site for comparing Google Spreadsheets with Java

Friday, January 19th, 2007

There are times when Web2, blogging , feedback from readers and the wisdom of crowds is great. And there are times that it’s extremely painful.

OnJava Logo
Like this Blogpost I wrote over on the O’Reilly site. Do Google Spreadsheets mean the end of Java?

I expected some people to disagree with me , but at least disagree for good reasons. The key point, that Web 2, it’s applications (of which Google spreadsheets is only ) and their API’s will fundamentally change the way we solve business problems using IT has been lost in the knee-jerk reaction.
Copy of the blog post here.