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.

March 3, 2008

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

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!

February 12, 2008

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

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.

October 1, 2007

You need to go to a self help group - Rules and Workflow

Filed under: JBoss, Java Enterprise Edition, Workflow, design, enterprise, enterprise java, j2ee, java5, rules — Paul Browne @ 4:33 pm

Picture the scene: a self help group meeting, plastic chairs arranged in a circle. Sitting on the chairs are an assortment of (mainly) men in their 20’s or 30’s. One plucks up the courage and mumbles ‘Hello, I’m Paul , and I’ve been writing bad Java code for 10 years‘.

When I got into Java I was using JSP for everything - HTML, talking to databases, doing workflow - anything I could get my hands on. I was young and I didn’t know what I was doing. Even after I got treatment based on EJB, Spring and Hibernate, I still feel that there is a void at the centre of my coding life‘.

Rule Engine Logo

I fell in with a bad crowd. Business types with suits and violin cases. They said they’d pay me good money if I built them something. Now they don’t believe that it works - it’s all techie stuff to them. Those boys are going to play rough if I can’t make them understand the code. What can I do?

There was silence for a while. Then the group leader said

It’s a tough one. Does anybody have any suggestions?

Read the full text of the O’Reilly Mini-Article here.

September 18, 2007

Red Hat Developer Studio - Office for Java People

Filed under: Development, Java, Technology, enterprise java, j2ee, java5, jruby, visual studio — Paul Browne @ 5:36 am

I’m not going to cross post my O’Reilly Blog entry on Red Hat Developer Studio.

I’ll just give the 2 minute summary. An IDE (integrated Development Environment) is like Microsoft Office for Developers - you could use notepad instead, but an IDE makes the overall writing experience easier. Microsoft Visual Studio is the main non-Java IDE. For Java , you have the choice of Eclipse (and other tools built on it such as JBoss IDE, JBuilder ,Websphere and Weblogic studio), IntelliJ or Sun’s Netbeans. Very much a personal preference as to which is best of the three of these.

For me, I tend to use Eclipse (1) because I can install it on any client site (2) If an IDE preference is stated on a project, it tends to be Eclipse and (3) There are plugins available for almost anything - including non-Java languages such as Ruby.

Or rather , I download a version of Eclipse with all the plugins pre-packaged - which is what Red Hat Developer Studio does.

Full Install Notes on / Getting started with Red Hat Dev Studio are here.
Red hat Splash Screen

August 16, 2007

Dublin Java Conference Announced - November

Update: FirstPort has more information on the Dublin Java Conference.

From Jake, organiser of the Dublin Java User Group.

Subject: Conference Announcement - Call for Speakers

From: Jakub Korab Date: August 15, 2007 06:41 AM R

I am happy to announce what I hope will be the first in a series of major Java events here in Dublin. In conjunction with IrishDev the Dublin JUG will be hosting the Irish Java Technologies Conference in early November. This 2-3 day event aims to bring together the big names in Java right here in Dublin.

We are currently in the process of organizing speakers for the event. If you have any suggestions of technologies/topics that you would like to hear discussed, particular speakers you would like to hear, or would like to present on a topic, please email myself or .

Jake Dublin

JUG Organizer

More details on Jake’s Blog.

June 25, 2007

Development.ie - Welcome to the Blogosphere

Filed under: EJB, Entrepreneur, IT, JSF, People, enterprise java, j2ee, jvm, log4j, mvc — Paul Browne @ 3:38 pm

After months of intimidation encouragement , Andrew has finally taken to the blogosphere and made his first post.

March 6, 2007

What would you like to see on an Advanced Java Course?

Most people building systems run into the following problems again and again:

  • How to capture Business rules , in a way that both the Business users and the computer can understand.
  • How to capture the flow of actions in a system, in a way that both Business users and the computer can understand. This flow is across multiple users, and may extend over days or weeks.
  • How to deliver a system to the user (e.g. Via the Web), but to give the user a rich interface , similar to what they are used to on the desktop.
  • How to maintain and enhance older systems , now that Java has been mainstream for more than years.
  • How to take advantage of the new Features afforded by Java 5 and EJB 3, and what business problems to the solve.
  • How to build components for reuse in all environments (Web , Enterprise, Command Line and Desktop).
  • How to map information in a Java System to and from a Database (Persistent Storage or Legacy System).
  • How to deliver value to the business at every point in the project.
  • How to use the many resources and solutions already available in the Java community.

It’s to address problems like these , that I’ve been asked to put together a Advanced Java training. It’s early days yet, but I’d like to get your input as to what you’d like to see on such a course.

Java Logo
Full details of the Advanced Java course are available on the knowledgebase / Wiki. Leave your comments here.

Update: I posted a similar question on the (technical) O’Reilly Books Java blog. If you’re interested in seeing the responses , click here.

February 5, 2007

Enterprise Java Developer Wanted

A good friend of mine needs an Enterprise Java Developer, to be based in Dublin Ireland (sorry , no Teleworking). It’s a contract position and the project is high profile and sounds quite interesting. The main reason I’m passing on it as the exact location is the only place where I cannot get to easily from Drogheda! One man’s poison is another man’s meat (or something like that).

With that information (i.e. next to none at all) I’m going to ask you if you’re interested. Yes , I could put all the buzzwords (the usual Spring , Ajax, JSF, EJB , Hibernate), but to be honest I don’t know where the technology road will take this project.

One small catch. We need to weed out all the muppets that are out there. So, you need to have been blogging about Java for the last couple of months. If you’re interested , leave a comment and I’ll pass on your details.

February 2, 2007

Masters / Msc in Web 2?

This post was originally titled ‘Readers Wives Questions’

Mike from Galway writes …

I read your blog regularly so I thought you might have
some insight to a specific topic i’m currently researching in GMIT,
Galway. My current research title is “An Evaluation of the Uses of
Object-Oriented Web Application Frameworks in the Irish Services
Sector”. This basically involves examining the usages of web
technology, services and SOA in service companies, such as [name]
Insurance

I’m in the process of doing a masters myself and I still haven’t got a final title for the dissertation! There are a couple of areas that I think are worth covering:

  • Does innovation stop at the firewall? How are the raft of publically available Web2 / SOA innovations going to be adopted by business?
  • Is SOA too complicated? Why has Google moved from SOAP to a more simple (but still XML-Web based) API?
  • Is Security scaring people off? Do current security solutions (based on simple human based web interactions) cut it with the more complex machine based transactions?
  • Is it a ‘Winner Takes all’? Connecting to a web service takes time and (some) money. Will there be a series of ‘mini microsofts’ in each sector, with nobody willing to (spend money) to connect to the company in 2nd place?
  • Do Business people know (or need to know) what SOA is? What is the ‘killer application’ that we have them knocking at the IT department’s door to do an implementation.
  • Are the skills widely available to do SOA / Web Services implementations? What are the preferred technologies to use?

Anybody else have any suggestions? I’m guessing that Mike would be very interested in hearing from Irish companies currently doing an SOA implementation. Email me at PaulB [at-sign] firstpartners.net , and I’ll pass any contact details onto him. Otherwise, just leave a comment!

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 19, 2007

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

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.

August 22, 2006

Back to the future with Java and Retroweaver

Filed under: JBoss, Java, Java Enterprise Edition, Open Source, Performance, j2ee, java5, js2e — Paul Browne @ 2:24 pm
Java 5 (also known as Java 1.5) was a fairly major release that makes using Java a lot quicker , easier and cleaner (click here for a full list of the new features, including Meta-Data , concurrency, Generic Types, Profiling , integrated JMX Admin facilities and XML support as part of the java core.).
RetroWeaver Logo
The problem is that a lot of Application Servers still require the previous (1.4) Version. Even if you’re running on a Server (such as JBoss) that does fully support Java 5, the chances are upgrading an existing application will take a lot of time , mainly in testing effort to make sure nothing has broken. As Java matures, running on older versions will become more and more of an issue.
So, how do you get the benefit of the latest features , without losing the known stability of the previous version. One solution is Retroweaver which allows you to write in Java 5, and deploy in Java 1.4.
Thanks to Joe Walker’s Blog (Him of DWR fame) for putting me on to this one.

November 13, 2005

MSC Masters in Advanced Software Engineering

Filed under: Dublin, Java, Uncategorized, eclipse, j2ee, refactoring, tomcat, ucd — Paul Browne @ 8:09 am

First week of masters course in software engineering.

This weeks training was on refactoring - Notes to follow , but broadly using fowlers book on refactoring (http://www.martinfowler.com). Fairly industry standard stuff , but might give you pause for thought before diving in and copying/pasting left right and centre.

On a practical side , the course uses a lot of Java / J2EE , Eclipse and Tomcat, with quite a high level expected in these (e.g. the refactoring group assignment expected these to be built on a bare machine before the refactoring proper could begin - easy enough if you’ve done it before , but not really the object of the course!!)

The course itself is on UCD’s Belfield campus , and is run for 3 weeks a year (part time) with exams in June.