In a previous life, I’ve been lucky to work with two very good JBoss Products – JBoss jBPM (Workflow) and JBoss Drools (Rules). Just in case you missed it; slides from the IJTC conference (jBPM), Rules presentation to the jBPM conference and of course not to forget the Rules Book. The lines between jBPM and Drools have blurred slightly, but the competing open source teams just enhance the quality of both products, and which one is best very much depends on the problem that you have at hand.
jBpm Java Business Process Management book cover
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.
Update: Shortcut to slides (pdf, with notes following) here.
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.
So here goes
- Slides in Powerpoint emailed to myself (check)
- Slides in PDF available online (check).
- Slides in Open Office on laptop ready for presentation (check)
More details on the jBPM wiki if you’re interested in attending the event. Anybody give odds on the laptop bluescreen again (like what happened at the Irish Java Technologies Conference)? It’s not what happens, it’s how you deal with it.
I’m not going to explain what workflow is as I’ve probably blogged enough about it already. But the JBoss Workflow (jBPM) guys are coming to Dublin on June 6th. If you’re into workflow (and if you’re doing any sort of software for large business you should be) then this is a do not miss event and we’re privileged to have it in Ireland.
The JBoss workflow guys are dream guests. They just asked for a couple of venue suggestions and they finally went for the Guinness Hopstore where Barcamp ran last year. Next thing we got was an email saying that the JBoss Workflow event was go. So for the benefit of people flying into Dublin, here’s the information we gave on where to stay and things to do if you’re making a weekend of it.
(More information on the event on Tom Baeyens Blog)
How to get there
Dublin is pretty well served by direct flights from Europe and the US. Aer Lingus and Ryanair are the two biggest airlines flying into Dublin – but there are plenty more (list at FlightMapping.com).
Things to do
- Tour of Guinness brewery and visit the Gravity bar (one of the highest in Dublin)
- Dublin Pub Tour and general social scene (it’s a coincidence that the first 2 items are drink related!)
- Tour of Scenic Wicklow Mountains and Glendalough
- Liffey River tour by boat
- Dublin Bus tour – including it’s Georgian buildings and coastline
- Newgrange – 2000 years older than the pyramids, in the stunning Boyne valley
- Windsurfing , Kayaking or Rock climbing in Viking Carlingford Fjord.
- Trinity College Dublin, 400 years old university , right in the city centre including the 1000 year old ‘Book of Kells’
- For the more curious , Belfast is 2hrs away by express train in Northern Ireland.
- Get lost in Phoneix Park, the worlds largest city centre park.
Places to Stay
I don’t tend to say in Dublin hotels too much (!) but the following I know are reasonably good value (and quiet / clean)
- 3 of the Jury’s Inn (Christchurch is just down the road from the event location, but the IFSC and Parnell Street are also good)
- Academy hotel is ok, if slightly more expensive , if you’re stuck.
- If you want an airport location (about 20 mins / 20 Euro Taxi from the city centre) the Premier Inn chain are pretty good.
- Hotel Isaacs is budget but decent , central and near the main bus / train stations.
- Morgan hotel is where the presenters were put up for the Dublin Java conference. Central but Slightly more pricey.
For people from the community, there’s also plenty of ‘budget’ backpacker type accommodation.
Just looking for the Drools BRMS – Business Rules Management System Guide? – click here (pdf)
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.
Because it uses the Google Web Toolkit (GWT) , even though it is a web application (i.e. zero install on client machines) it behaves and performs as fast as a desktop one. And unlike some other (Commercial) Rules Engines, it’s free to Download and use (under the Apache licence) from the JBoss site.
And now there is a guide available online. Shortly to be integrated into the existing JBoss Drools documentation a preview of the JBoss Drools BRMS guide (pdf) is now available.
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‘.
‘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.
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.
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.
You may remember we did the Enterprise Java presentation at DCU back in October for the wireless skillnet in Ireland. We’re doing a follow up presentation, this time in Central Dublin, on the 22nd January. The audience is mainly business people with some sort of interest or connection with technology.
Irish Dev has more details.
The topics covered include:
- What Problem are we trying to solve?
- Enterprise Java Architecture Overview.
- Benefits to the Enterprise.
- Alternatives (.Net , PHP , Oracle , Lightweight Java Frameworks , scripting)
- Vendors (IBM, Oracle, Sun , Bea , JBoss and SAP)
- Market Trends – Resource availability (can we get the people to do this?)
- Enterprise Web 2.0 and Service Orientated Aritecture (SOA).
- Integrating with other Systems ( Legacy Systems, Oracle etc)
- Enterprise Java Beans 3 (EJB3)
- Middleware (MOM, Rule Engines, Workflow)
- Security – Application and Server Level including Java Access & Authorization Service (JAAS).
- Frameworks (Struts , JSF, ADF, DWR, Spring, Hibernate)
- .Net interoperability
- What’s next for Enterprise Java?
Now that the dust is beginning to settle on Sun’s Decision to open source Java , what does it actually mean for you? That’s you as in a Business user, you as in a Java Developer , and you as a member of the wider IT Community?
- In the short run (i.e. next 6 months), once the buzz dies down , not much. Remember that it took several years after the Netscape code was open source for Firefox to emerge and change the dynamic of the browser market.
- In the medium term (between 6 and 24 months) expect some interesting packagings of Java to emerge, similar to the way the various Linux Distros work today. Consider these ‘green shoots’ or prototypes with interesting ideas. A ‘small footprint’ version of Java targeted at Applet developers seems to be one popular opinion of what might emerge. However, unless you are ‘bleeding edge’ or in a niche area the chances are you won’t notice them at this stage.
It is in the longer term (2 years plus) that open source java really makes it’s mark. Some predictions that you can quote back to me later:
– In the same way as JBoss and Geronimo have commoditised the app server market programming languages and runtimes will become a commodity. Expect the .Net platform to be opened (not just standardized) in some limited form.
– Java will become more like .Net with multiple languages running in the standard JVM. We have JRuby and Groovy. It wouldn’t be too hard to add C# to this list. Visual Basic in the JVM (the Sun Semplice Project) is already on it’s way.
– Oracle , IBM , SAP and others already committed to the Java market will become focussed on Java as an even bigger part of the core strategy. Just like the app server market, each will seek to differentiate themselves, perhaps by Service (IBM), by a core database (Oracle) or by leading a niche (SAP). Expect tension between the desire to differentiate (and fragment) and the GPL which seeks to ‘bind them all’.
– Apache Harmony , a clean room implementation of Java will continue to gain momentum. It will get picked up by a major vendor in a similar manner to Apple using BSD code.
– Microsoft .Net will end up in a ‘death march’ with Java trying to gain a lead in a feature set. Open source is very good a mimicing existing products (as it makes an easy spec for dispersed developers to write on – just look at Open Office), so (unless software patents get thrown into the mix), it’s hard to see .Net getting a fundamental and lasting edge over the Java Ecosystem.
Update: I’m not saying that .Net is going to go away (nor should it), just that both it and Java are going to be around for a long time to come. Joe and John also have more commentary.
On a recent client project, we ended writing more than 300 business rules to reflect some of the financial decision making that they applied to an application (excuse me if I’m being suitably vauge with this). Many of these rules would be shared across applications. The rules engine used was the Java based JBoss rules engine (formerly known as Drools).
Obviously , these rules need to be stored somewhere. Most large organisations are comfortable with the idea of using a Database such as Oracle or Sql-Server to carry out this task. This article , for version 2 of Drools but also applicable to the latest release, shows you how to use a database to store your business rules.