So, I’ve been asked by Packt (the guys how published my book) to review the new jBPM Developer guide book. So, not only do I get to help a fellow author (Good Karma), I get the catchup on features of jBPM I may not have used yet in my professional capacity, and I get a free book. What is there not to like?
Disclaimer – getting free copy, but am otherwise free to write good / bad / or completely off the wall ideas about it. Watch this space.
Workflow (e.g. JBoss jBPM) is great – it allows you to take spaghetti code and draw it as a workflow diagram (flowchart) so that it can be reviewed by the business (the nice people who pay our wages). You then attach standard (Java) actions to these steps.
Only problem is when you come to a decision node (the one circled in red below): How do you decide to go left or right (in the workflow)? Normally this is coded in Java – good for us, but hidden from those nice business people (which means that this is more room for errors-in-translation).
Business Rules allow you to keep those decision making rules in Plain English: When something is true , then do this. That’s it. The rule engine does most of the hard work.
Integrating Workflow and Rules is easy. Use JBoss Seam (link) or do it by hand (link). And it works on non-JBoss web / app servers such as Websphere, Oracle Application Server, Tomcat and Weblogic.
Repeat x6 : Use workflow and rules. Use workflow and rules …
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!
The aim of JBoss Drools (or any other Business Rules Engine) is to get knowledge out of business user’s heads and into a format where it can be copied , edited and peer reviewed , then run 24/7. Ideally, business users should be able to write these rules directly (a) to save time and (b) to reduce errors caused by a 3rd party having to to ‘translate’ these rules into code..
Drools BRMS (Business Rules Management System) is such a tool. Easily deployed into almost any Java Web or App server, it allows users to write and validate business rules that you can then pull into your Enterprise Java Application.
I’m dipping in and out of the presentations at the Irish Java Technologies Conference (IJTC Dublin), so I’m not going to get to see the top 10 speakers. I will update this as it goes along, but my notes on the conference so far are ….
Joel, as ever, was a very good speaker. His message for software developers; soft rounded corners matter. Think iPhone instead of Samsung brick.
David Syer of Interface 21 was talking about what’s next for Spring (2.5 and 3.0). A lot of good stuff coming up; support for the latest Java Enterprise specs, Webflow , OSGi (deploy bundles , not applications), configuration using annotation instead of XML
Shaun Smith of Oracle. Covering building JPA Applications (Java and Databases) using Eclipse and Java. Now, I’m not a great fan of Toplink (I prefer Hibernate) , but the open source work including the work on the Eclipse IDE , and it’s support of the JPA (Java Persistence Architecture) standard, and it’s ability to transform Java Ojbects into loads of things (e.g. XML instead of Database Tables) is making me want to take a 2nd look.
Caught talking in the Lobby : Shaun of Oracle Toplink and Emmanuel Bernard of Hibernate. I was vaugely disappointed these two didn’t come to blows (being from rival projects). There were actually nice to each other and exchanged business cards. Fascinating conversation though …
James Strachan , Iona and Apache, speaking about messaging patterns. He takes the bean soup that is messaging and integrating your applications and makes it seem really simple. He’s also talking about Apache Camel, ActiveMQ and ServiceMix
Lead developer from JBoss, coming to Dublin to talk about Hibernate on 15th October. What else could you be doing that evening? Full details on Developers.ie.
What is Hibernate? Java programs are like Lego blocks – very 3D with bumps on them to connect together. Database tables to store data are like flat sheets of paper. Hibernate is a bridge between these two very different worlds. In technical terms, it’s called Object-Relational-Mapping (ORM).
Why is it important? Hibernate is the defacto standard in the Java World, and has had huge influence on the most recent version of the EJB spec. There’s a .Net version and even competitors (such as Toplink from Oracle) are moving to the Hibernate way of doing things.
(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.)
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.