Speaking at the JBoss jBPM community day tomorrow and I’m nervous. I’m nervous because I’m standing up and talking to a group of people that really know their stuff about JBoss workflow. And talking about a project (JBoss Business rules) which has a friendly rivalry with it.
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
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.
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.
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.
Most custom Enterprise software is written in (or uses a large element of) Enterprise Java.
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.
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:3010th 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!
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.
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.
How do you follow up the Dublin Java Conference? 20 International Presentations, hundreds of attendees and the best speaker night out that I’ve been to in a while.
Over the last 6 months, I know of 5 top Java guys who have either left , or seriously planning to leave, Ireland. I’m not happy about this.
Surprised?
You’d think that I’d be delighted that the idea of the all the competition leaving. Reality is that all us IT Consultants live in an ecosystem: if companies don’t have a pool of talent available they will find somewhere or some other way of doing it.
All of the 5 guys have very different reasons for going (and they are guys, just to confirm the stereotype). All are going for very positive reasons. They want to go to the UK, USA, France and further afield. Some are going on spec, some have work with top companies lined up. There is a mix of nationalities, but all have been in Ireland for three years or more. These aren’t people who came to Ireland for a working holiday or are leaving do the ‘Big OE’ in New Zealand. They’re also people Ireland can ill-afford to lose.
The common thread in all the stories was that the Irish Property Market; It’s great to have an itch to travel, but you’re never going to leave unless somebody gives you a push. High rents and impossible property prices gave these guys (at least some) of that push.
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.
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:
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.
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.
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.
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 .
(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.)
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.
If you’re reading this , you’ve missed the Dublin Java Users Group (previously known as the Dublin Java Meetup). Jakub will have his blog of the event up soon, including his mad take over the world plans.
Update:
Jakub’s blog post is here. The comment about PHP is wrong . It should read ‘Paul confessed that he is a big fan of PHP due to the number of ready-to-go-solutions out there, then took a lot of flak from the Java developers present’
In an ideal world, potential customers would read this blog then decide that they want to do business with me.
In the real world many of my customers haven’t heard of a blog, and are quite happy that way thank you very much.
Given that a lot of ’selling’ to these customers is on a personal level, the fallback is to use the traditional common or garden CV. Which gives rise to the following problems :
Too Long or Too Short? : How do you get 13 years experience into a document without it looking like a version of ‘war and peace’?
The curse of the technical buzzword : You need to include the technical buzzwords (Oracle, Java, Agile etc) to show you can do the job (a lot of people just do a 1st scan for words like this). But, put too many in, and you just end up looking silly.
People or Technical skills: Apparently you can have great technical skills , or great people skills , but not both. How do you stop yourself getting pigeonholed? What about non-traditional experience (e.g. blogging, writting, speaking, training?)
Customer confidentiality: A lot of the stuff we do is internal to clients. But potential clients need to know what you’ve done to judge your work. Where’s the balance?
Yes, I’m slightly more available than normal in the coming months. Yes, I’ll consider proposals slightly outside ‘normal’ contracts, if the projects and upside are interesting. And yes , I may just take some time off that I’ve been promising myself (but I’ve said that one before). Email me at PaulB@firstpartners.net. Note to recruitment agencies: I’m very happy consulting through FirstPartners. No, I don’t want a permanent job. No, Cork is nowhere near Dublin , but I will consider Belfast. No, I don’t believe that you’re in for anything other than the money - that’s ok , you probably have a family to feed; but let’s not waste time pretending otherwise.
Apologies to the Dublin Java Meetup. I was due to go tonight (event details). They even agreed to talk about Business Rules and Workflow in Java - a subject dear to my heart. And now I can’t go for family reasons (not as dramatic as it sounds, but enough to cancel).
It’s been a while since we posted a pretty picture on the blog. Not an Andrea Corr or Paris Hilton kind of pretty picture, but one to liven up the general flow of text on this site.
Just as well then that IBM has announced ManyEyes , an online Service to take boring old numbers and turn them into the kind of graphics that you see below. It’s pretty simple to use : upload your data in a table (Excel like) format, then select how you want to view it. They even provided a wizard to allow you to link the results on your own site.
For example: This is the Value of 1 US Dollar against the Other Major Currencies (Euro , Yen, Sterling , Yuan).
Interesting, in this Ajax-y world, that it’s implemented as a Java Applet. Maybe Bruce was right?
We have two main reasons why we’re interested in Ruby:
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.
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)
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.
A lot of this features have been available as separate downloads for a while , but it’s good to see them becoming part of the Java mainstream. Of particular interest are:
Java now has a lightweight web server bundled with it - most sites will continue to use a variation of Apache Tomcat, but this will be useful for administration purpose.
The profiler (JHAT) for performance tuning is now considered mainstream.
Web services have become (much) easier to generate with the use of web services.
Yagiz also gives a good example of using Java Web Services with .Net
I’ll blog about it in more detail later, but I’ve just posted the first chapter of the Enterprise Web 2.0 book online. It is being written as a dissertation for the Msc. in Advanced Software Engineering in UCD , Dublin. The working title is ‘Financial knowledge capture using Rules , Workflow, Search and Enterprise Web 2.0‘.
To kill 4 birds with one stone, It also serves as a manual to the updated Red-Piranha project.[link to old website (search only). New website in progress] .
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.
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?
Every company now has a web site. Struts is the most widely used Java framework for building these websites. Struts 2 is a radical overhaul, making it easier to use, yet more powerful at the same time.
This course is an overview to programming for the Web using Struts 2 and Java (free course outline here), including an introduction to the language for people already programming in other languages like Visual Basic. It covers what is different about developing web applications, the problems the Struts 2 framework solves, and how to develop applications within it using the Eclipse IDE. Optional components include JUnit, Ant, Log4J and building Web-Database applications.
If you’re a Struts 1 Developer looking for more than the free outline then I do plan to blog about upgrading your skills over the coming weeks. If that isn’t quick enough, you can always hire me for a 1-2-1 mentoring session