People and Technology

November 12, 2007

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

Filed under: Xml, applets, camel, flash, groovy, html, javafx, ruby, scripting, silverlight, swing — Paul Browne @ 11:17 pm

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

May 15, 2007

The last Rails For All mail you will ever get, maybe

Filed under: BPM, Web 2.0, Web2Ireland, architecture, rails, ruby, ruby on rails — Paul Browne @ 11:22 pm

Most websites do one thing : grab information from the user, and store it in a database.

For these simple websites , using Enterprise Java is like using a sledgehammer to crack a walnut - you’re much better off using a solution like Ruby on Rails. Off course, once you go off the usual path (e.g. to implement complex business rules and workflow) things become a lot more difficult. That’s how we make a living - a post for another day.

So, if you’re a business person looking for a web site ‘that has to be done by the end of the week‘ or a technologist looking to solve the pain of ‘I can’t believe building web sites is still so difficult‘, then it’s worth checking out Ruby on Rails.

Rails for all inon

A good place to start is Rails for All, which has recently moved home to Google Groups, and. The official announcement is below.

Rails For All - No more RFA email Hello everybody, This may be the last email you will get from Rails For All. You loved our email updates you say? Well, we have created two Google groups for your reading pleasure - one for discussions and one for announcements. Good stuff. Tell all your friends.

See you there!

Sincerely,

Robert Dempsey

Founder Rails For All, Inc.

—————

Promoting Ruby on Rails to the developer and business communities

More posts on Ruby

January 31, 2007

Dear Bruce Eckel : Hybrid Java, Google Web Toolkit and Adobe Flex

Dear Bruce,

First up, thanks for the book. Yes I’m saying thank-you about 8 years too late. ‘Thinking in Java‘ is what got me going in the language and in my mind is one of the best Java books written (sorry Tim). Giving it away free only cemented your reputation as the Bono of the Java world. OK, Bono without the Guitar, the Stetson and with a couple of overloaded constructors thrown in, but a man of stature nonetheless.

Thinking in Java Front Cover

Secondly, I’ll forgive your flirtations with Python, on the basis that I’ve been having an affair myself with JRuby. I now understand the pain that you’ve been having at home, the endless repetitive arguments to get simple things done, and the temptation of a newer, younger, more flexible model.

So , I think you’re onto something here in your blogpost. I can feel the pain, the need to deliver Rich clients to users over the web. I think that Ruby / Google Web Toolkit / Struts 2 / Name your web toolkit has further to go than you may think , but eventually these ‘heroic efforts‘ (nice quote) will run out of steam. On the basis of your recommendation alone I’m willing to look at Adobe Flex, but I’m not sure if this is going to solve all the problems.

Now , a lot of us Java guys don’t like change (and as if you needed proof, just look at the comments on this O’Reilly blogpost on the Google API’s). All the same , we have a problem that gets worse every passing year. 6 Years ago we could have been sure that 90% of web sites were running Internet Explorer 4. Now we’ve got IE, Firefox, Safari (in all their different versions) as well as an explosion of mobile devices. The Windows Vista launch is only going to fragment things further with yet another platform to support.

No one web solution is going to display the same in all of these browsers. We’re not going to get a single solution from Microsoft / Sun / Adobe that everybody from developer to my Granny is going to install. So we’re going to have to take the ‘least bad’ route - something that looks great, but degrades gracefully to standard HTML on less capable devices. Excuse my ignorance, but I don’t know (yet) if Flex does this.

Yes Hybridizing open source Java is the starting point for the solution. Unfortunately we’ve a long way to go yet, and Flex is perhaps only inspiration along the way.

Yours sincerely

Paul

January 29, 2007

Build your Web2 site quicker - Free Ruby Book

Filed under: Java, PHP, Web 2.0, Web2Ireland, enterprise, enterprise web 2.0, rails, ruby, ruby on rails, wordpress — Paul Browne @ 1:52 pm

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.

January 23, 2007

Java and those pesky Google APIs

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.

January 9, 2007

Dublin Ruby Meetup

Filed under: Dublin, Events, People, meetup, networking, ruby — Paul Browne @ 1:42 pm

We’ve been along to a couple of the Dublin Java Meetups , so it interesting to see that a couple of Ruby guys are talking about getting together tonight at the Lemon / Mulligans in Dublin. Won’t make it to this one myself, but will try to get along to one in the near future.
Groups Logo

More information is available over on the Google Groups Page.

Update: Two people who were there are Olivier and Aidan.

December 4, 2006

Dear Open Source Santa,

Filed under: .Net, Java, Open Source, apache, ruby — Paul Browne @ 8:31 am

Dear Open Source Santa,

Now that you have Java in your open source toy bag, can I have Duck Typing please ? It shouldn’t be too hard to do, since the elves in Ruby-Wonder-Land have been making toys with Duck Typing for years. I’ve been a good boy all year and promise to play nicely with the .Net kids next door.

You don’t know what Duck Typing is? Sorry, I forgot that you’re more than 1000 years old. Little Jamie next door got Ruby last year and he says that ‘if it looks like a duck, and walks like a duck , then it is a duck’. He says making the computer do more work makes it a lot easier to write programs.

My Teacher says not to be greedy, and that you’re very busy making Toy Trains. She says just ask for getters and setters. You know, the boring code like ‘getSomeValue()’ and setSomeValue(). She says the Apache imps have been very good with Dynaforms but that writing a Java web application is still just too slow.

Rudolph will tell you that writing get(”someValue”) is about as cool as having a bright red nose. He would also want to put ’someValue’ in one place only (the web page). Having to write config files and javabeans feels too much like homework.

Santa, I know there are other children that need changes to the core Java code more than I do, so maybe you know of an open source project that already has this.

Paul

P.S. :I still want to keep compile time type checking to make sure I don’t make any mistakes.

November 29, 2006

15 seconds of fame on the Serverside.com

Filed under: .Net, Java, Open Source, article, enterprise, jvm, open, ruby — Paul Browne @ 7:43 am

Check out this article. If you haven’t come across it before, TheServerside.com is a technical website where Enterprise Java people hang out.

ServerSide Logo [Link to Serverside.com]

Update: A copy of the original post can be found here.

November 24, 2006

Open Java changes everything

Filed under: .Net, Geronimo, IBM, JBoss, Java, Microsoft, Oracle, SAP, Visual Basic, apache, apple, harmony, jruby, ruby — Paul Browne @ 1:49 pm

Now that the dust is beginning to settle on Sun’s Decision to open source Java , what does it actually mean for you? That’s you as in a Business user, you as in a Java Developer , and you as a member of the wider IT Community?

  • In the short run (i.e. next 6 months), once the buzz dies down , not much. Remember that it took several years after the Netscape code was open source for Firefox to emerge and change the dynamic of the browser market.
  • In the medium term (between 6 and 24 months) expect some interesting packagings of Java to emerge, similar to the way the various Linux Distros work today. Consider these ‘green shoots’ or prototypes with interesting ideas. A ’small footprint’ version of Java targeted at Applet developers seems to be one popular opinion of what might emerge. However, unless you are ‘bleeding edge’ or in a niche area the chances are you won’t notice them at this stage.

It is in the longer term (2 years plus) that open source java really makes it’s mark. Some predictions that you can quote back to me later:

- In the same way as JBoss and Geronimo have commoditised the app server market programming languages and runtimes will become a commodity. Expect the .Net platform to be opened (not just standardized) in some limited form.

- Java will become more like .Net with multiple languages running in the standard JVM. We have JRuby and Groovy. It wouldn’t be too hard to add C# to this list. Visual Basic in the JVM (the Sun Semplice Project) is already on it’s way.

- Oracle , IBM , SAP and others already committed to the Java market will become focussed on Java as an even bigger part of the core strategy. Just like the app server market, each will seek to differentiate themselves, perhaps by Service (IBM), by a core database (Oracle) or by leading a niche (SAP). Expect tension between the desire to differentiate (and fragment) and the GPL which seeks to ‘bind them all’.

- Apache Harmony , a clean room implementation of Java will continue to gain momentum. It will get picked up by a major vendor in a similar manner to Apple using BSD code.

- Microsoft .Net will end up in a ‘death march’ with Java trying to gain a lead in a feature set. Open source is very good a mimicing existing products (as it makes an easy spec for dispersed developers to write on - just look at Open Office), so (unless software patents get thrown into the mix), it’s hard to see .Net getting a fundamental and lasting edge over the Java Ecosystem.

Update: I’m not saying that .Net is going to go away (nor should it), just that both it and Java are going to be around for a long time to come. Joe and John also have more commentary.

October 30, 2006

Must not Copy and Paste …

Filed under: Ajax, Java, Spring, Web, ageci, dwr, enterprise, grails, groovy, hibernate, jruby, ruby, struts — Paul Browne @ 9:51 pm

I must not copy and paste program

I must not copy and paste program

I must not copy and paste program

….

You get the drift. Currently doing a Struts - DWR - JBoss Rules Web application, and there is way too much copy and paste programming going on in there. It’s a web page that needs to pass information to a JBoss Server - how difficult can that be? Maybe it was interesting the first time, but 7 years on the buzz is no longer there.
Grails Logo

I was tempted by a non-Java solution (Ruby on Rails , or JRuby) ,but a similar approach within the Java mindset) is Grails (Groovy on Rails). It gives you all the enterprise Java frameworks (Spring , Ageci, Hibernate) , but with a rapid turnaround.

Oh dear … too many web frameworks …. head hurts … only time to learn one … more head pain … must make mercenary decision about which will be the likely market leader.

Watch this space. 

(For the record the problem isn’t DWR which is excellent, but more the version of Struts / JSP that is being used. )

July 25, 2006

And the results of the Virtual Java Meetup are …

And the results of the Virtual Java Meetup are … here. Names have been changed to protect the innocent.

If you couldn’t be bothered reading the entire thing , the results of the Dublin Jury on ‘what technologies should I be learning in the next 12 months’ are:

  • Web services are going to be big, but only if they can be simple.
  • EJB 3 and Netbeans are both worth taking a look at again, they are now much better than the previous versions that gave them a bad name.
  • Middleware (e.g. workflow and Rules Engines) are interesting in a corporate environment, but there is a high barrier to entry.
  • Struts , and to a lesser extent JSF , will continue to be dominant Java Web frameworks, despite not being the best technical choice.
  • A lot of companies are still using Java 1.4, but may make the leap to Java 6 (Mustang).
  • Service Orientated Architecuture (SOA) is a nice idea, but not so many projects have been implemented using it.
  • IDE’s (Netbeans / Eclipse / JDeveloper) can deliver a lot of value, but only if backed up by lower level tools (e.g. Ant and Maven).
  • More for the next 24 months , keep an eye on Apache Service Mix.

July 20, 2006

JRuby - Web 2.0 in the Enterprise Java world

On a recent project , the choice was between Enterprise Java (using frameworks such as DWR and Struts) , or Oracle Forms. The newest latest Java technology , versus a 15 year old technology that Oracle is comitted to phasing out (and moving to ADF / Oracle fusion). No contest , you think , until you hear that the decision was made (and rightly so) to us Oracle Forms.

‘What?!’ I hear you say - how could this happen? The project in question was fairly simple - get information and store it in a database. The problem is , despite being mainstream for the last 6 years, there is no standard, easy ‘drag and drop’ method of doing these applications in Java. C# does it in Visual Studio. Oracle does it with Forms. With Java (and despite having doing 10 or so of these projects), there is still too much plumbing that the developer needs to know.

I’m expecting a deluge of ‘have you tried project X’ on this post. And yes, I expect that an Eclipse based tool will probably fill the gap. But for these simple applications , there is no standard way of doing this (standard being a solution that dominates the market in the way Struts did the Web App framework space, until recently). But we’ve been waiting 6 long years!

ruby on rails logo

All of which brings me to Ruby. Ruby on Rails’ sweet spot is exactly these kind of simple, ajax enabled , no frills ‘get info from web and store it on database’ applications. Enterprise Java’s sweet spot is the heavy lifting workflow , Rules , Calculations, Integration with Legacy and other systems , web services and basically anything to do with Business logic. The two are a perfect complement to each other, which is why the news that JRuby now runs Ruby on Rails is especially interesting.

JRuby is a version of Ruby that runs in the Standard Java Virtual Machine (JVM). It means that (1) You don’t have to install Ruby, which might meet resistance in a corporate environment. It also means (2) that all the methods you have available in Java you have available in Ruby. The O’Reilly Ruby site and this Javaworld Article are good places to start learning more about Ruby and linking it into Java.

July 12, 2006

What you missed at the Dublin Java Meetup

15 people turned up to talk about Java yesterday evening in the Forum Bar Dublin. Actually we talked about the World Cup (Ireland didn’t make it , but we had the choice of 6 other teams, including Jakub who was very selfish and had two!), Ruby (which is going to eat Java’s lunch in some areas), PHP, Naked Objects (write in Java, deploy in .Net), JavaKicks (a Digg like service, targetted at Java), .Net, Enterprise and Financial software, Spring , EJB 3.0, Apache, Blogging , Web 2.0 , Ajax , Service Orientated Architecture, Government Tenders, the Dublin Contract market and a little bit about Java.

Can’t make it along in person? We’re going to do a 2nd Java meetup, but in a ‘virtual pub’ for people who find it hard to get to Dublin. We’ll still carry on with the existing (face to face) meetups. As an extra, at 7.30pm the last Tuesday of the month we’ll have an open chat session (We’ll setup chat software on this or another website).

So, for 7.30pm on Tuesday 25th July I’ll be online. We’ll start with ‘What technologies should I be learning in the next 12 months?’ and let things develop from there.

July 5, 2006

Fancy a job at Google Dublin?

Filed under: Dublin, Google, Ireland, Irish, Linux, MySql, Open Source, PHP, People, System Administration, Technology, Unix, ruby — Paul Browne @ 8:27 am
As posted on the Irish Linux User Group mailing list:Google Logo

Data Center Linux Systems Administrator - EU Headquarters
This is a permanent, full time position based in Dublin
Google is the premier provider of Internet search and has the most advanced
search technology in the world.

We are looking for exceptional System Administrators, at all levels of
experience,
to support our growing server infrastructure.

The ideal candidate will
- work effectively alone, as part of a team or as the technical lead in a
small group of technicians.
- be goal-oriented
- be able to handle interrupts while fluidly switching between several
projects
- take a “work smarter, not harder” approach.
- enjoy looking for opportunities to come up with solutions to difficult
problems.
Responsibilities:
- Configure systems and network devices
- Monitor system stability and performance
- Help develop tools to monitor and maintain systems
- Ensure 24×7 operation
- Proactively scale systems to meet anticipated demand
- Write comprehensive documentation
- Assist in the training of other systems administrators

Requirements:
- BS or MS in Computer Science or equivalent experience
- Multiple years of Linux or UNIX system administration experience
- Working knowledge of TCP/IP networking
- Knowledge of webservers, firewalls/security, DNS, MTAs etc.
- Programming/scripting ability: Python, Bash, Perl, C
- Excellent verbal and written skills with outstanding customer service

For further information please visit www.google.com/jobs or email your CV
jobs@google.com. In the subject box you must include the job title: Data
Center Linux Systems Administrator - EU Headquarters.

May 30, 2006

All this Web 2.0 Technology and what do we do with it …. ?

Filed under: Ajax, Dublin, Google, Ireland, Web 2.0, Web2Ireland, blog, ruby — Paul Browne @ 8:15 am
… we use it to Track where Bono is in Dublin.

Google Bono Logo

Powered by WordPress