People and Technology

April 29, 2008

Agile Projects Using the Spring Framework - Training

Filed under: Ajax, Dublin, Ireland, Java, Security, Spring, Training, aaa, enterprise, hibernate, j2ee — Paul Browne @ 9:15 pm

Lots of things going on behind the scenes at FirstPartners. One of which is the Spring Framework training course that we’re giving on Wed 30th May in Bewley’s Hotel, Ballsbridge, Dublin. Interested in going? - you can book here (via Trigraph). Can’t make it? We’ll probably do a follow up.

What are you missing? Apart from the crash test dummies (below), there’s loads of lego blocks, Swiss mountains, trains crashing through walls and a Kangaroo. (Spring, Geddit?). You might even learn something about Java along the way.

Agile Projects using the Spring Framework
Executive Briefing
Delivery: Public or In-house
Course Length: 0.5 days. Optional mentoring / follow up session if required by Client
Course Approach: Lecture, discussions
Level: Beginner / Intermediate

Dummies

Course Description:

Spring, with good reason, is the most actively used framework in the Enterprise Java world today. The half- day briefing shows the problems that Spring can solve for your projects, core Spring concepts such as Inversion of Control and integration with existing Enterprise Java technologies for database access, messaging and web deployment. The briefing also shows how to use Spring to make your projects more agile, improving quality and reducing deployment time.

Course Objectives:

  • Following completion of this course, students will be able to:
  • Understand why Enterprise Java is the mostly widely used corporate technology, and how Spring both simplifies and improves this technology.
  • Understand core Spring concepts such as Inversion of Control (IOC), configuration , deployment and testing.
  • Describe how to integrate Spring with Enterprise Technologies such as Databases, Messaging and Web 2 frameworks.
  • Understand how Spring can make your projects more agile and the benefits it brings to your organization
  • Map out a plan of how to introduce the Spring framework to existing systems.

Course Syllabus:

Section 1: The Problems That Spring Solves

  • Introduction
  • Who are you? Who are we?
  • What is Spring?
  • What is (Enterprise) Java?
  • The problems with Enterprise Java
  • Why Enterprise Java is costing you money.
  • The Deployment Scale
  • Java Classes and Objects
  • Just enough XML to get by
  • Core Spring - Inversion of Control pattern
  • Spring Configuration and my First Spring App
  • Deployment via Web, Enterprise Java and Command line
  • Spring on other platforms (.Net , Ruby and Groovy)
  • Alternatives to Spring
  • Spring and Java 5 – easier development
  • Starting out – just a little Spring in your Step.

Section 2: Core Spring and Enterprise Spring Integration

  • Spring Web Framework (MVC)
  • Spring Web with Struts , JSF , XSLT , Tiles and GWT (Google Web Toolkit)
  • Spring and Ajax in Web 2 Applications.
  • Spring Webflow
  • Spring and Databases (Hibernate and JDBC)
  • Spring and Messaging (MQ and JMS)
  • Spring Remoting and Web Services
  • Aspect Orientated Programming (AOP)
  • Transactions in Spring
  • Appfuse – ready to roll Spring projects with Maven
  • Administration of your Application using Spring and JMX
  • Scheduling using Spring and Quartz
  • Spring and Acegi Security

Section 3: Practical Spring - make your project more Agile

  • The problems with IT Projects
  • What is Agile
  • Spectrum of Agility
  • How Spring makes your project more agile (and your customer happy)
  • Key Agile Practices
  • Unit Testing with Spring
  • Integration Testing
  • Mock Objects
  • Spring IDE
  • Spring and Business Rules
  • Spring and Workflow
  • Alternative Spring configuration.
  • Extending Spring to meet you (obscure) needs.
  • What’s new in Spring 2.5 (and coming up for Spring 3)

Audience:

  • Managers and Project Managers wishing to understand the benefits of adding Spring to their projects.
  • Software developers needing an introduction to Java and the Spring Framework and integration with key Enterprise technologies.
  • Support, Database , Web Designers and other IT professionals needing to interface with Spring and Enterprise Java systems.
  • .Net developers wishing to understand the concepts behind the Spring.Net framework.

Related Courses:
Enterprise Java (Trigraph) and Agile Project Management (Trigraph)

Prerequisites:
Some high level exposure to the Java, .Net or other Object Orientated language would be beneficial but
not necessary.

September 17, 2007

Microsoft Silverlight - Web 2 IDE - Event

Filed under: Ajax, Development, Microsoft, flash, silverlight, web2 — Paul Browne @ 5:53 am

Fergal Breen asked to blog about the Dublin Silverlight event, but Stephen Downey beat me to it. (Update: Ken McGuire is also writing about the event)
Microsoft silverlight logo

Microsoft Silverlight is a flash competitor; It looks good and is well worth checking out, but I’ve got my reservations if it is truely as portable as Flash (see comments on Tom Raftery’s Silverlight launch post). All the same, Silverlight is going to be big (it’s backed by Microsoft), and the IDE / Editor is setting a good standard.
Not sure? Go to the Event and make your own mind up.

August 23, 2007

OpenLaszlo - Cool Flash for Clunky Java people

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.

July 27, 2007

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

(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

March 27, 2007

Yahoo Pipes - could do better

Filed under: Ajax, Web 2.0, Xml, enterprise web 2.0, rss, user interface — Paul Browne @ 12:58 pm

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?

February 1, 2007

What is Adobe Apollo?

Filed under: Ajax, EnterpriseWeb2.0, Javascript, Web 2.0, Web2Ireland, adobe, apollo, architecture, flash, flex — Paul Browne @ 9:50 am

Update: Apollo has since been rename AIR - Adobe Integrated Runtime. Personally, I Preferred the ‘Flex’ name.
What is Adobe Apollo? You know, Adobe , the people that give us the PDF reader.
Is Apollo the new Java for this Decade? Will it replace Atlas and .Net? Is Apollo an answer to problems we have in building web sites that all users can see? Will Apollo replace Ajax , Flash and plain vanilla HTML? Does it play well with Ruby and JRuby?

apollo.jpg

I don’t know. And neither does the Financial Times Tech Blog. But it does say

Adobe (and incidentally eBay) looks like it has a winner - if only the company can find a better way to explain what Apollo does.

I do know that Apollo may fix the pain of cross-platform web development. So, I’m over to the Adobe Labs site to find out more. Ajaxian has the demo. Mike Chambers (Adobe product development) has the slides. According to Mike:

Apollo is a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, Ajax) to build and deploy desktop RIA’s.

Translation into plain English:Powerful web pages,easy to build , loads of pretty colours. If it’s delivered as promised

December 18, 2006

Struts 2 is the new Mini

Filed under: Ajax, Development, JSF, Java, Spring, Web, design pattern, mvc, struts — Paul Browne @ 8:03 am

No matter what car you drive , the chances are it was influenced by the Mini. Introduced in the UK in the 1960’s a whole generation of families was crammed into a car that popularized the notion of front wheel drive. While small , it was practical and drove so well it even starred in films such as The Italian Job. Recently, a more modern version was released with none of the parts but all of the spirit of the Original.

Mini

We’ll come back to the Mini, but if you build websites using Java, then at some point you have used Struts. The original Struts is proof that a framework / project / product doesn’t have to be the best to be the most widely accepted. It just has to be in the right place at the right time, and ‘do what is says on the tin’ - in this case a fairly useful implementation of the ‘Model-View-Controller’ design pattern.

So what’s the link? Seeing the original Mini from the outside may bring a smile to your face, but on the inside it’s cramped and unfortable. You may have happy memories of websites you built using the original Struts, but lately your thoughts have been straying to more modern frameworks, perhaps with Ajax and integration with Spring built in.

This is where Struts 2 comes in. Like the Mini, it has (almost) none of the parts , but all of the Spirit of the original. It’s based on Webwork which sounds scary, but most Struts Drivers will be able to climb in , find the Struts.xml file and get the engine running within minutes. Struts 2 is easier to drive (JavaBeans instead of Action Forms), more powerful (it can use Ajax and JSF) and comes with more optional extras (e.g. it’s integration with other frameworks like Webwork and Spring).

Best of all the Struts team have a clear migration path between the old and new Struts. You can use both side by side in your garage application, and change over the parts piece by piece. Spare parts for the original Struts will still be available for quite some time, both from the original team and the large dealer developer network that has built up around the framework.

What do you think? When Are you going to give Struts 2 a try?

December 14, 2006

Applets coming back from the Dead?

Filed under: Ajax, Finance, Java, Oracle, applet, flash — Paul Browne @ 5:41 am

If you remember Applets, then you are so 1990’s man. Right back before the dot-com boom , everybody was putting these Java programs in their web pages to do things simple things like display a financial chart (guilty as charged , my ‘lud). Oracle still uses them in some versions of it’s applications as a half-way house between it’s older desktop applications and a completely web only solution.

Trampoline Logo
Fast forward to 2006 and these ‘heavy’ applets have been replaced by light web pages using Ajax and Flash, which don’t require a user download to run. Pretty much anything a Java Applet can do can be done in Ajax (if you have enough time and patience). Ajax developers have been pretty inventive in using Flash to solve problems (e.g. allowing web pages to store information on your local PC), so it may only be a matter of time before this gets picked up.
It’s ironic then, that the very technology that is meant to replace it , ends up giving Applets a new lease of life. It won’t suit everybody or every problem. An ‘ideal’ problem for this to solve is where the user interaction, business logic or security requirements are at the ‘higher’ end of the scale. While you could solve it using Ajax (basically javascript on steroids), using Java Applets and having a nice IDE to develop and solve your problems in may pay off in the long run.

Jan of Trampoline Systems explains in more detail.

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. )

October 20, 2006

Enterprise JavaScript

Filed under: Ajax, Articles, Development, Web 2.0 — Paul Browne @ 7:34 am

http://script.aculo.us/images/logo.gif

I’m already a big fan of using DWR to create Dynamic Ajax web pages. I’m beginning to warm to script.aculo.us. DWR is the workhorse, script.aculo.us the flash cousin with all the special effects. Still , any framework with a page on Unit Testing gets my vote. Enterprise JavaScript , here we come!

July 22, 2006

Anybody up for BarCamp Ireland?

Filed under: Ajax, Dublin, EnterpriseWeb2.0, Events, Networks, People, Web, Web 2.0, Web2Ireland, barcamp, galway, meetup, techcamp, wiki — Paul Browne @ 8:07 am
It’s been a while (9 months already) since TechCamp Ireland. Just when I was thinking of ‘when is the next one’ up pops this post on Web2Ireland. (Hint: If the previous sentence just lost you , imagine an (almost) self-organising event where everybody just turns up and makes an ‘unconfernece’ happen.
For more information , check out the BarCamp Ireland page. Early details are sketchy, but it’s pencilled in for the 23rd September , possibly Cork , Galway or Dublin. Techcamp covered everything from Ajax to Web 2.0 and every thing in between (podcasting , Digital rights, user generated content) , so expect the same and more besides.

If you’re not quite sure what Barcamp is , some useful links:

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.

June 12, 2006

Not a Web 2.0 Company - Scandanavian Airlines

I don’t think these guys will be joining the Web2Ireland (even Web 2.0) group anytime soon. Basically , their website says ‘We couldn’t be bothered using any of the Ajax toolkits out there, so we’ll get you Mr Customer to do all the work for us’. I wonder what their look-to-book ratio is ( I used to do some work for Aer Lingus - LinkedIn Profile).

Scandanavian Airlines (SAS) Website.

Hint to SAS: Here is how to fix this (pdf), or hire us and we’ll fix it for you.

Or if you prefer , reassure yourself that you’re not the only airline with Ajax problems.
More blogposts on Ajax.

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

April 30, 2006

Web2Ireland - almost Mainstream

Filed under: Ajax, Business, CV, Dublin, Ireland, Networks, People, Technology, Web, Web 2.0, Web2Ireland — Paul Browne @ 11:09 pm

Been reading the various posts by bloggers on the recent Web2Ireland event organised by Enterprise Ireland.

(Photo of Marc Canter Speaking , by Dermod)

Prize for one of the better (and concise) definitions of Web 2.0 goes to Kevin Sherry of Enterprise Ireland:

Web 2.0 is the Second Wave of Internet Business Activity.

Having said that , my view is Web 2.0 is almost , but not quite , going mainstream (in Ireland at least). Judging by the people I met (more below) and the dress standards I would judge the audience as 1/3rd Business-VC (suit and tie) 1/3rd Techie (Jeans and T-Shirt) and 1/3rd Professional Technologist (Suit but no tie). This contrasts with the last Web 2.0 event , where the audience was almost exclusively techie, despite dual business and technology marketing.

You can judge for yourself from the agenda at the Web2Ireland site, but my only gripe is that I’m not sure if Enterprise Ireland got the balance right. Aside from Marc Canter (who managed to successfuly quote Joyce in a techie presentation!) the main speakers - Judy Gibbons from Accel and Jeff Clavier (Software Only) - were either VC or Angel investors. That’s not to say that they didn’t have a lot of good, interesting and relevant things to say (more below), it just meant that you had to bear in mind their angle on things (we want to lend you money). Given the success of all the people mentioned  this paragraph, I think they are well worth listening to. Adam Green , who despite being on a blogging break, hosted a very good lunchtime session (summary: ‘everything is XML’).

The key things I learned from the above speakers were (these are paraphrased , so excuse me if the quotes get lost in translation):

  • Web 1.0 is dialup , Web 2.0 is broadband.
  • Web 2.0 is part of a virteous circle, where each technology builds on the expectations - e.g. consumers now expect to find information online , so more information becomes available.
  • Web 2.0 is still incomplete , so need to navigate around what is possible and what is not. (e.g Netflix , started with posting out DVD’s , but will stream video as that becomes widespread).
  • Content is not scalable, but user generated content is.
  • ‘The customer is only one click away from never using you again.’
  • A valid business model is (still) seeing what has worked well in the US, then implementing it in Europe before the Americans can.
  • Only exit strategy is to be bought - forget about IPO’s.
  • Innovation comes from small companies.
  • Make your website / service addictive.
  • Leverage the power of community.
  • Enterprise Web 2.0 is not there yet , but it will be.

This last point is of particular interest, given that the stuff that FirstPartners build is increasingly Web 2.0 techniques and technologies applied to the problems of the Enterprise. That’s probably worth another , separate blog post.

There a lot of good people that I met on the day, but a lot of people that I either missed, or didn’t have enough time to complete our conversations. By way of an apology , I’ll use the power of Wordpress to trackback to them. Their blogs are well worth reading for further information / angles on the event.

Technorati Tags:

April 20, 2006

This site really is Web 2.0

Filed under: Ajax, Web, Web 2.0 — Paul Browne @ 2:19 am

or so the guys at Web2-Validatorthink - 23 out of 49 might not be that great , but it’s better than 50% , given that it’s not really a Web 2.0 blog in the first place!

I wonder if they can come up with a percentage probability that a given Web 2.0 site will be around in 18 months time …

It’s been very quiet over here (aka what has Paul been up to) - Enterprise Web 2.0

It’s all been very quiet over here , too quiet. And not just because of the hosting issues (the people at Netbunch, you know that I’m talking about you)

It’s been very quiet , because I’ve been very busy. On top of all this , we’re coming to the end of the year for the (part time) Masters at UCD in Dublin, so we’ve also got exams coming up. Thankfully it’s the last year, the downside being I have a dissertation to write.

Being a blogger , I’m not happy putting together a weighty tome that will sit gathering dust on a shelf. Instead , I want something that will solve some business problems , and that I can use as interesting content. So after much thought , the proposed title of my dissertation will be …… cue drum roll ….. ta-da!

Enterprise Web 2.0

Now, if you’ve talked to me , you know I spend a lot of my working day as an Enterprise Java Consultant , working for various banks. The idea is to take some of the Web 2.0 ideas (and you don’t need me to repeat them) and apply them to the sort of problems large companies have. Or , if you want the catchy subtitle , ” it’s all about sucking the knowledge out of people’s brains and putting it onto (ugly) websites”.

So an obvious topic to cover is the use of Ajax , which while big on the web at the moment , is going to be huge once companies realise what it can bring to their internal applications. The rest of the topics cover knowledge management (what is web 2.0 if it’s not about sharing knowledge), but also some tools and techniques that will all Enterprise Java (with all it’s robustness and scalability) compete with the nimbleness and tricks of Ruby.

Business Problem 1: How to present this information to people in a easy to deploy, but powerful way.
Solution: Update to Sun Java article - this one on how to do Web 2.0 / Ajax ‘right’ in Enterprise Java (i.e. not worrying about legacy code)

Business Problem 2: Where you have documentation, but don’t know how to find it.
Solution: Write up of the Red-Piranha Adaptive Search engine that ‘learns’ what the team wants , and finds more of it.

Business Problem 3: Where you have information in Excel sheets, but can’t do much with it.
Solution: Update to previous O’Reilly Articles on JBoss Rules - this one on JBoss’ ability to ‘run’ Excel Spreadsheets.

Business Problem 4: Where you have information that people ‘know’ , but that a machine finds it hard to ‘learn’
Solution: Simple Neural Networks using Joone, applied to a ‘real life’ business problem.

Business Problem 5: Where several people have to work together on a set of information , following a strict set of steps.
Solution: JBoss workflow, with a simple online example

March 30, 2006

What is Web 2.0?

Filed under: Ajax, Office, Web, Web 2.0 — Paul Browne @ 6:02 am

I’ve often been asked the question ‘What is Web 2.0′? Normally it’s followed quickly by the question ‘how do I make money out of it?’ Recently I’ve been thinking that Web 1.5 might be a better term (as it is an upgrade to the web , with a mix of shiny new and old but reliable techniques).

Web Monkey Logo

While there are many sites jumping on the Bandwagon and claiming the Web 2.0 Title, Tim Ziegler writing on Webmonkey gives a very good summary of what most Web 2.0 sites have in common. As always, you’ll be able to find true Web 2.0 companies that break these ‘rules’ , but it’s as good a place to start as any.

In Summary, Web 2.0 Sites / Companies / Products tend to:

  • Build on the notion of ‘the long tail’ where niche demand meets niche supply , a cost-effective and profitable market due to lower transaction / search costs on the Web.
  • Web as a platform. It doesn’t matter where you are , or what computing you use. As long as you have a web browser you can use these products.
  • Ajax , a technique that combines the power to traditional Desktop Applications (like Word and Excel) , with the ‘use anywhere-ness’ of web pages.
  • Smart Content Management. Create and publish a web page as easily as a Word Document. Forget needing to know FTP , HTML , CSS and other low level tools of a previous generation.
  • Dashboard Views. Because Web pages are published in Machine as well as Human Readable format, it is easy to create summary, Dashboard views.
  • Give it away to get more back
  • . It is alleged that in earlier days Microsoft was more willing to tolerate piracy of it’s office suite in order to get ‘critical mass’ - missing out on revenue initially, but growing the cake substantially in the process by becoming the de-facto standard. It may have worked for them but ‘give your product away to get a core of paying users’ won’t impress too many VC’s.

  • Human Filters or Trust your users. Also known as ‘Many hands make light work’.
  • Iterations , or many small releases (easy because the software runs in only one place) is better than one big bang.
  • Simple is good. Forget feature overload - think iPod.

So that answers the ‘What is Web 2.0′ Question. Up to you to find out how to make money out of it.

More Web 2.0 Posts here.

March 1, 2006

Web 2.0 and Enterprise Java - move over Struts

Filed under: Ajax, Architect, Articles, Fusion, Java, Java Server Faces (JSF), Open Source, PHP, Technology, Web, Web 2.0 — Paul Browne @ 2:23 am

A while back I wrote an article for an O’Reilly sister site, Java.net , on Sprinkle Some Ajax Magic into your Struts Web Application. I’m going to repeat one thing I said in this article: while coding Ajax is cool, you really want to use a framework if you have the choice. If you don’t believe me , check out some of the podcasts on Ajaxian.com. When you listen to the problems that the frameworks have overcome (What if the ActiveX XmlHttpRequest Object is turned off? What if you want to do local storage? What if the user hits the back button?), you’ll be a convert to the ‘Frameworks are better’ approach. So which Ajax enabled framework should you use as an Enterprise Java developer?

Pre Ajax, the answer to ‘which Java presentation framework should I use?’ would have been Apache Struts. Not because it was technically better than any of the other frameworks (although feel free to leave your comment!) but because everybody else is using it. This meant
(a) using Struts is good for your client, as they can replace you if you get run over by a bus and
(b) using Struts is good for you, as you can take your Struts skills to your next piece of work.

However , in this strange new Ajax and Web 2.0 world, things are beginning to change. Javascript gone from ‘has been kiddie scripting language’ to ‘coolest thing on the planet’. User expectations about what Enterprise Web applications can are going through the roof as Web 2.0 enters the mainstream. What Java framework are you going to use to deliver these expectations?

With this in mind, I did some research on the Ajax Enabled Java frameworks that are currently (Feb 06) available. I tried to pick out the best ones (best for your career, and hopefully technically best) based on the following criteria:

  • Java - Web development frameworks with Ajax capability.
  • Rating based on technical capabilites, and which is most likely to be the ‘next Struts’ (i.e. become the defacto standard for Java-Web Development).
  • Rating is based partly on downloading and running the projects and partly on evaluation of what the websites / other people say.
  • Products must be available (at least partly) in open source form with a recognised open source licence - as these are most likely to get community traction.

Before we get into the list, there a couple of items that you may think are missing:

  • Whatever you may think of non-Java frameworks (e.g. Ruby on Rails, PHP with Ajax), these are not included here. The notion of Java being replaced by Language / Framework ‘X’ is an entirely different article.
  • The list also does not include several excellent ’server neutral’ frameworks such as BackBase, Dojo, Prototype, or JSON. While these frameworks are included with some of the toolsets listed below, we’re aiming to get an ‘out of the box’ toolkit for the Web tier of Enterprise Java applications.
  • You’ll also probably note that there are 3 implementations of the Java Server Faces (JSF) standard on this list - MyFaces , Ajax JSF and Struts (Shale).

Think we got the evaluation wrong? Leave your comments at the bottom of this post.

Ajax Java Web Presentation Frameworks

AjaxAnywhere Independent of Java framework (e.g. Struts, JSF or Spring). Closest in approach to Java.net Struts-Ajax Article. Good interim solution based on existing frameworks, but can’t see this being the main framework long term.
Apache Myfaces Apache implementation of JSF, including technology donated by Oracle from ADF / Oracle Fusion. Being Apache, will become one of the main JSF implementations in use. But is JSF the best way of doing your website?
App Fuse combines a lot of the leading frameworks (Struts, Dwr, Spring with JSF as an option) into one easy to use package. Already a very good ready to go package (for web , mid and business tiers) and the Appfuse team have a good track record in integrating the latest, most widely used frameworks.
Ajax JSF Ajax implementation of the Java Server Faces Specification. Good indication of what a full JSF Ajax implemention would be like, but implemented by only one brave developer!
Echo 2 Evolution of original Echo Framework, can run in any Servlet container. Original has cult following, but doubt if it will become the number 1 web framework.
DWR - Direct Web Remoting Acts as a proxy so that you can call Java Objects transparently from Javascript. Good solution, seems to have traction, even though it still forces you to write Javascript and keep objects in Synch with Java. Several other frameworks (e.g. Appfuse and Webwork (soon to be in Struts) integrate this.
JSP Controls Aims to be drop in (Ajax enabled) replacement for JSP Tags. Can be used both with simple JSP and other frameworks, but at the time of writing has less than 1000 downloads
JWIC Dynamically add Ajax to Java class based application - similar to Velocity concepts. A good simple framework, based on POJO’s but doesn’t (yet) seem to have much traction on sourceforge.
Struts The original, and to many, still the best. Many changes are afoot in the next version, including the integation with WebWork (which already has Ajax capabilities) and the move to the JSF compatible (’Shale’) Struts aims to be backwards compatible, and the forthcoming JSF and Ajax capabilities look good. Pity there is no ‘offical’ milestone release yet.
Struts Layout Struts Tags, but with Ajax capabilities. Another good interim solution based on Struts, but is the Struts Event model suited for the Ajax world? (e.g. multiple events being raised from the ajax web page, instead of just the one (GET or POST) in the standard HTML model)
Swato Integration with Java Servlets through use of Servlet filters.Not a lot of documentation, nor a demo to encourage me to invest more time in it.
Tacos aimed at providing Ajax for Tapestry
Tapestry is technically a good framework, just didn’t seem to get the traction Struts did. Not sure if adding Ajax is going to change that.
Webwork Will integrate with next version of Struts (as Model - called the ’struts action framework’). Strong contender, gives Ajax functionality through (integrated) DWR and Dojo.
WidgetDev Hybrid (Open-source/ commercial) Framework. (In my opinion) Not enough maturity / features to justify open source version with reduced features
zk8 XUL / XAML type framework , capable of being rendered in either Swing or HTMLGood Framework, might attract people who are familiar with extending Firefox using XUL, but can’t see XUL (no matter who much I think it is a good idea) being mainstream without a visual designer.

Conclusion
The New Struts is …. Struts. Some other framework may overtake Struts to become the new standard, but I would recommend the following Struts-related frameworks based on the following scenarios

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.

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’. This fits in well with …

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.

February 23, 2006

10 things I learned at the Irish Web 2.0 event

Filed under: Ajax, Business, Dublin, Events, Ireland, Networks, Web, Web 2.0, presentation — Paul Browne @ 1:16 am

Yesterday we presented the Irish Web 2.0 Event at the Morgan Hotel , Temple Bar , Dublin - the other half of ‘we’ being Fergal Breen of IrishDev. Being a Web 2.0 event, we made it a bit more interactive than your usual presentation, so I ended up learning a lot. Here are the top things that I didn’t know before yesterday:

1) In Ireland at least , awareness of Web 2.0 is highly concentrated in the tech , and not the business community. 90% of the audience described themselves as technical , despite the event being co-hosted by the Irish Internet Association (IIA), a business group. I expect this to change over the next 6 months following patterns elsewhere.

2) Walter (from Sxoop.com) described the recent Web 2.0 conference in London. One thing he said surprised me: He said that there was a feeling that developers in the area were doing it to ’scratch their own itch’ (a good thing) but were hostile to ‘Enterprise’ development (bad as somebody has to pay the bills!). A gap in the market for an ‘Enterprise Web 2.0′ conference perhaps?

3) 10% of the Audience were Johnny Cash fans. Johnny Cash is a perfect example of the ‘long tail’. 18 months ago (before his untimely demise and biopic starring Joaquin Phoenix) it was nearly impossible to get his records (in Ireland at least) - a classic case of ‘long tail’ demand. Now, he’s a blockbuster again, so mainstream shops are stocking his CD’s in high profile positions. In 18 months time , will be back on the long tail again?

4) Google has huge mindshare amoung Ajax developers and Web 2.0 people. Nearly every single person present had used Google maps (so much so that we didn’t need the demo video). Most were also aware of the awesome Ajax stuff coming out of the Googleplex such as the Ajax based XSLT transformation and image handling libraries.

5) People don’t want to do Javascript. While Ajax has rekindled their interest in this language, there was almost a relief that that frameworks such as DWR and Dojo do most of the work for you. To be fair, many people’s opinion are based on Javascirpt circa 1999, but there was a definate preference for using Atlas ,Ajax.net and Java Server Faces (JSF) / Oracle ADF.

6) There was a healthy representation of Microsoft people. Given that the consensus is that Web 2.0 and it’s Ajax capabilites are the most serious challenge to Redmond on the Desktop, it’s healthy to see such a strong interest. Healthy as in competition (from Firefox) has given us Internet Explorer 7 and will continue to drive innovation.

7) Nobody can agree what Web 2.0 is. This is not surprising considering that Web 2.0 is about individual experience. Big, shared, events like the Superbowl (or Champions League final , for us that prefer our football in other formats) are now the exeption rather than than norm. Even these events will be customised - choose your own camera angle, choose which sports blogs you read leading up to the game , choose the device (TV , PC, Mobile) that you want to watch on, and when you want to watch.

8) There is a healthy balance of Buzz and scepticism around Web 2.0. A lot of the companies (such as eats.ie) that are ‘doing’ Web 2.0 would not use the web 2.0 label. They’re doing the Ajax / online hosting / word of mouth marketing / self funding / continual updates thing , but they find that the label just gets in the way.

9) Some people were concerned about ‘how do you test Web 2.0 and Ajax apps?’. The answer - the same as before , only involve your users. While Ajax gives us incredible power (including the ability to ‘break’ the web browser), people have got used to certain conventions with Web and PC apps that will take time to evolve.

10) There was a lot of interest in using Agile techniques to deliver Web 2.0 apps (e.g. Flicker s update of code every half hour). Which is a nice lead in for the Agile event at the Irish .Net Developers Association.

Finally , if you are going to a joint presentation (with the two speakers stepping in and out as required), try to see the final version of the slides more than 10 minutes beforehand. You know who you are (Fergal!). Luckily , the feedback from the people so far has been good (e.g. Robert Burke. I think the word ’superb’ was used. Was Kieran at the same event ? !

If you’re looking for the slides / materials , they’re available at this blog post.

Newer Posts »