People and Technology

June 5, 2008

JBoss Business Rules and jBPM Workflow presentation - Dublin

Filed under: JBoss, Java, Workflow, jbpm, presentation, whitepaper — Paul Browne @ 10:23 pm

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.

jbpm logo

So here goes

  1. Slides in Powerpoint emailed to myself (check)
  2. Slides in PDF available online (check).
  3. Slides in Open Office on laptop ready for presentation (check)

Drools Logo
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.

May 14, 2008

JBoss workflow invading Dublin (Free Community Conference)

Filed under: BPM, IT, JBoss, Knowledge Management, Workflow, enterprise, enterprise web 2.0, jbpm, jee — Paul Browne @ 1:41 pm

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)

Workflow

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.

February 19, 2008

Business Users Creating Rules - BRMS Guide Preview (JBoss Drools)

Filed under: JBoss, Knowledge Management, Rule Engine, drools, java enterprise, rules — Paul Browne @ 7:24 am

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 Screenshot

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.

More Information

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.

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.

January 10, 2007

Enterprise Java Presentation , Stephens Hotel , Dublin

Filed under: .Net, ADF, EJB, Ejb3, IBM, JBoss, JSF, Oracle, SAP, SOA, Spring, Sun, architecture, bean, dwr, enterprise, enterprise java, hibernate, struts, web2 — Paul Browne @ 1:13 pm

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?

November 24, 2006

Open Java changes everything

Filed under: .Net, Geronimo, IBM, JBoss, Java, Microsoft, Oracle, SAP, Visual Basic, apache, apple, harmony, jruby, ruby — Paul Browne @ 1:49 pm

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.

October 22, 2006

Using a database to store business rules

Filed under: Business, Finance, JBoss, Java, enterprise, rules, sqlserver — Paul Browne @ 7:39 pm

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.

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.

June 9, 2006

What comes after Java and .Net? Agents.

Filed under: Architect, JBoss, Knowledge Management, Process, Rule Engine, Web, Web 2.0, Web2Ireland, Workflow — Paul Browne @ 8:18 am
Most systems until now have been centralised : A bit like the old Soviet Union, everything is centrally planned. The trouble is real-life isn’t like that - it’s a market economy with no central control. There’s a story about a Russian Diplomat posted to New York in the 60’s. On a visit to a bakery he asked - who decides how many loaves are baked in the city? The answer is no-one - each baker individually decides how many to bake based on how many he sold the day before. Somehow (almost) everybody gets fed.Current OO systems are like the Russian’s view: everything is centrally controlled. Agents are more like New-York (or Dublin) city today - a place full of people (agents) acting in their own self interest. Somehow everything works ok. Economists have a theory that backs this up ; in general a set of people acting in their own self interest gives the best solution at a global level. Or, if you prefer it’s a bit like Ants. Individual Ants are stupid, but together they are clever enough to mark a trail to food and carry it back to the Anthill. It’s called Emergent Behaviour - simple programs combining to give the answers to complex problems.

How does Web 2.0 give a push to Agents? Before, Systems were standalone , and everything planned in advance. With Web 2.0 everything is connected and too complex to manage by one person. We need to look at what works successfully in real life. Just as Market economies overcame the ‘Command and control’ of communism, so Agents will overcome the Command and control of Objects. It may not be perfect, but it will be (slightly) better.

Will agents replace Java and .Net ? A sign that ‘the future is already here’ is that when you read the list ‘what makes an agent’ , you may go ‘but we’re doing that now’. Java and .Net have been around for so long now that it’s easy to forget the Object Orientated Programming (OOP) was once a radical new departure. It’s also easy to forget that languages such as C++, Visual Basic 6 and Powerbuilder were once ‘king of the hill’ and commanded respect from your colleagues when you mentioned your latest project was using them.

So what are agents? Compared to Objects :

  • Agents act in their own self interest , they may decline a request if they think it makes them better off.Objects always respond to a request.
  • Agents have their own thread of control , 1 for each agent. Objects may have their own thread, but most objects don’t. - Agents are pro-active, and seek to improve their lot , according to pre-defined goals.
  • Agents are ‘Coarse Grained’ that is, a system will probably have a few agents will a lot of normal , dependent , objects. It’s similar to the way Enterprise Java Beans are used : not everything is an EJB , and there a still lots of Plain Old java Objects.
  • Objects are designed from the start to work together. Agents can be written by different people , perhaps with widely different goals in mind.

Just like C++ was a procedural language with object orientated ‘bits’ attached, Agents are currently implmented in languages like Java , with agent-y bits attached. Probably the most useful set of bits is Cougaar. Cougaar is an open source project with a live community at Cougaarforge and an Eclipse based IDE. Cougaar gives you the basic infrastructure for creating and managing agents.

Of course , there’s nothing to stop you building your own agents. According to the above definition, most systems that have workflow tieing together entities making decisions according to their own business rules are not far off being agents. Especially when they have a scheduler (i.e. their own ‘thread of control’).

What do you think? Leave a comment below.

April 20, 2006

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

February 21, 2006

JBoss Workflow JBpm and JBoss Rules (Drools)

Filed under: JBoss, Process, Rule Engine, Technology, Uncategorized, Workflow, Xml — Paul Browne @ 7:04 am

Notes from this Post on the Serverside

 I recently wrote an O’Reilly article on one of the related JBoss projects the Drools / JBoss rules engine.

Just to get the difference between jBPM and Drools / JBoss Rules straight in my head:

- Workflow tends to be ‘wide’ where Rule Engines tend to be  ‘deep’.

- Workflow is wide as the flow is spread over different people / actors and over time.

- Rule Engines are ‘deep’ as they apply simple rules to solve complex problems, but in general the rules are applied ‘all at once’.

Some of the confusion (in my head at least) comes from the fact:

- It is possible to implement workflow using a rules engine, much as it is possible to write your own workflow using Java. Of course , you don’t get the graphical designer that JBpm has.

- Both JBoss Rules (Drools) and JBoss Workflow (jBPM) see to
‘externalize’ part of the solution outside of Java. By stepping outside
of Java to use an XML / Graphical based approach, it makes the solution
easier to configure and understand.

January 13, 2006

Eclipse Callisto - 10 for the price of 1

Filed under: Development, JBoss, Java, Java Enterprise Edition, Open Source, Technology, Xml — Paul Browne @ 3:35 am

I have a colleague who is as much an advocate of the IntelliJ IDE for Java, as I am for Eclipse. So far, in the ‘My Java Tool is better than yours’ game, I can claim the low cost (free), the number of plugins (huge) and number of developers using it (no figures, but I suspect Eclipse is now the development platform of choice). His trump card for Intellij is that ‘you download it and it just works’ - no messing around with installing plugins for stuff like JSP and Enterprise Java editing.

While plugins are always going to be slightly messy (you don’t get the gain of extensibility without some pain in the form of configuration), the Eclipse Callisto release , due in July, is another step in the right direction. It is a simultaneous release of 10 major Eclipse projects, including BIRT (reporting tools), Data Tools, Eclipse Web Tools, the Visual Editor , Test and Performance Tools and the Graphical Modelling Framework.

It may not be a ‘download from one place and it just works’, but by removing any integration issues, it will make your life easier.

December 24, 2005

Technical Knowledge Base - Just Launched

Our Technical Knowledge base has just been launched.

We found that over the last 5 years , 80% of the solutions we were building were the same. How many ways are there to take information from the web, apply some business rules or logic to it, and then save it into a database?

Currently the knowledge repository contains information on Enterprise Java , XML , Eclipse, Oracle, Architecture, Project Management as well as a lot of useful links for Dublin, Ireland and Technical specific areas.

The public area to the site can be found here. All information is generic, non-client specific, and can probably already be found on the web, although it is much easier to read it here!

December 13, 2005

Let your PC do the Investing

Filed under: Business, Finance, JBoss, Rule Engine, Technology — Paul Browne @ 2:32 pm

Wired Magazine are running an interesting
article on day traders
that are using automated PC applications to carry out
their stock trades.

As a co-incidence, an article I wrote for O’Reilly shows just How to build
an automated Stock and FX trading system
.

If you’re looking for a system to make you millions playing the stock and
foreign exchange markets while you sleep, my contact details are above!

April 16, 2005

Spring, JBoss Rules Engine and Red-Piranha

Filed under: JBoss, JUnit, Java Enterprise Edition, Lucene, RedPiranha, Rule Engine, Security, Technology, rp — Paul Browne @ 2:27 pm

The folks at Drools and have been talking about integratng the frameworks ‘for the next release’. They’re not their yet , but there is some sample code available at .

In the meantime , there is a useful article on drools at java.net. (Drools Article Link)

March 17, 2005

So you want to make it on your own?

Filed under: Consulting, Database, Dublin, JBoss, Oracle — Paul Browne @ 2:29 pm

It seems like yesterday that I went independent , and now I turn around to find that it will be five years next month. Time flies eh? Even though I’m proud of lasting this long (especially in the Dublin market) and am probably enjoying it more than ever , there’s always a lot to learn - both on the technology and business side of things.

Perhaps one of the best articles I’ve see about the process of going independent is at angrycoder.com
He’s dot-net focussed , but a lot of what he says still holds true for Java/J2EE people. He’s especially good at describing the marketing side of things , where is where a believe a lot of IT people still fall down.