The guys over at the official Drools blog beat me to the announcement, as I was waiting for it to published on Amazon, but now that it has, I’m happy to announce that after 12 months of pushing and shoving, I’ve finally got my first book , on Business rules and Workflow, out the door.
Capture, automate, and reuse your business processes in a clear English language that your computer can understand.
An easy-to-understand JBoss Drools business rules tutorial for non-programmers
Automate your business processes such as order processing, supply management, staff activity, and more
Prototype, test, and implement workflows by themselves using business rules that are simple statements written in an English-like language
Discover advanced features of Drools to write clear business rules that execute quickly
For confident users of Excel or other business software, this book is everything you need to learn JBoss Drools business rules and successfully automate your business.
Language English Paperback 305 pages [191mm x 235mm] Release date April 2009 ISBN 1847196063 ISBN 13 978-1-847196-06-4 Author(s)Paul Browne Topics and TechnologiesOpen Source, Java
A comprehensive, practical guide for business analysts and non-programmers to harnessing JBoss Drools Business Rules in your organization
In business, a lot of actions are trigged by rules: “Order more ice cream when the stock is below 100 units and temperature is above 25° C”, “Approve credit card application when the credit background check is OK, past relationship with the customer is profitable, and identity is confirmed”, and so on. Traditional computer programming languages make it difficult to translate this “natural language” into a software program. But JBoss Rules (also known as Drools) enables anybody with basic IT skills and an understanding of the business to turn statements such as these into running computer code.
This book will teach you to specify business rules using JBoss Drools, and then put them into action in your business. You will be able to create rules that trigger actions and decisions, based on data that comes from a variety of sources and departments right across your business. Regardless of the size of your business, you can make your processes more effective and manageable by adopting JBoss Rules.
Banks use business rules to process your mortgage (home loan) application, and to manage the process through each step (initial indication of amount available, actual application, approval of the total according to strict rules regarding the amount of income, house value, previous repayment record, swapping title deeds, and so on).
Countries such as Australia apply business rules to visa applications (when you want to go and live there)—you get points for your age, whether you have a degree or masters, your occupation, any family members in the country, and a variety of other factors.
Supermarkets apply business rules to what stock they should have on their shelves and where—this depends upon analyzing factors such as how much shelf space there is, what location the supermarket is in, what people have bought the week before, the weather forecast for next week (for example, ice cream in hot weather), and what discounts the manufacturers are giving.
This book shows how you can use similar rules and processes in your business or organization. It begins with a detailed, clear explanation of business rules and how JBoss Rules supports them.
You will then see how to install and get to grips with the essential software required to use JBoss Rules. Once you have mastered the basic tools, you will learn how to build practical and effective of the business rule systems.
The book provides clear explanations of business rule jargon. You will learn how to work with Decision Tables, Domain-Specifi c Languages (DSL)s, the Guvnor and JBoss Integrated Development Environment (IDE), workflow and much more.
Understand the basics of business rules and JBoss rules with minimal effort
Install the required software easily and learn to use the Guvnor, which is a user-friendly web editor that’s also powerful enough to test our rules as we write them
Learn to write sophisticated rules and import the fact model into the Guvnor and then build a guided rule around it, which makes your web pages a lot clearer
Gain complete knowledge of what we can do with the Guvnor rule editor, and then use the JBoss IDE as an even more powerful way of writing rules, and automate processes for discounts, orders, sales, and more
Know the structure of the rule file through the example of a shipping schedule, which will help you with your own shipping schedule
Test your rules not only in the Guvnor, but also using FIT for rule testing against requirements documents; run unit tests using JUnit for error-free rules and interruption-free services
Specifically, non-developers can work with Excel spreadsheets as a fact model to develop business processes without learning any other new technology
Work with DSLs (Domain-Specific Languages) and rule flow to make writing rules easy; which makes staff training quicker and your working life easier
Deploy your business rules to the real world, which completes your project successfully, and combine this into a web project using the framework of your choice to provide better services
Benefit from concepts such as truth maintenance, conflict resolution, pattern matching rules agenda, and the Rete algorithm to provide advanced and faster business systems so that staff efficiency is maximized
Chapter 1, Drooling over JBoss Rules. This chapter gives you a good platform to understand business rules and JBoss rules. We look at the problems that you might have (and why you’re probably reading this book). We look at what business rule engines are, and how they evaluate business rules that appear very simple and how they become powerful when multiple rules are combined.
Chapter 2, Getting the software, deals with installation. This chapter explains setting up Java, setting up Business Rule Management System (BRMS)/Guvnor running on the JBoss App Server, setting up Eclipse, and installing the Drools Plug-in. It also details the installation of the Drools examples for this book and the Maven to build them.
Chapter 3, Meet the Guvnor, deals with writing our rules using the ‘Guvnor’. Guvnor is the user-friendly web editor that’s also powerful enough to test our rules as we write them. We take up an example to make things easier. Then we look at the various Guvnor screens, and see that it can not only write rules (using both guided and advanced editors), but that it can also organize rules and other assets in packages, and also allow us to test and deploy those packages. Finally, we write our very first business rule—the traditional ‘Hello World’ message announcing to everyone that we are now business rule authors.
Chapter 4, Guided Rules with the Guvnor. This chapter shows how to use the Guvnor rule editor to write some more sophisticated rules. It also shows how to get information in and out of our rules, and demonstrates how to create the fact model needed to do this. We import our new fact model into the Guvnor and then build a guided rule around it. Finally we test our rule as a way of making sure that it runs correctly.
Chapter 5, From Guvnor to JBoss IDE. This chapter pushes the boundries of what we can do with the Guvnor rule editor, and then brings in the JBoss IDE as an even more powerful way of writing rules. We start by using variables in our rules example. Then we discuss rule attributes (such as salience) to stop our rules from making changes that cause them to fi re again and again. After testing this successfully, we look at text-based rules, in both the Guvnor and the JBoss IDE, for running ‘Hello World’ in the new environment.
Chapter 6, More Rules in the jBoss IDE. This chapter looks again at the structure of a rule fi le. At the end of this chapter, we look at some more advanced rules that we can write and run in the IDE.
Chapter 7, Testing your Rules. This chapter explains how testing is not a standalone activity, but part of an ongoing cycle. In this chapter we see how to test our rules, not only in the Guvnor, but also using FIT for rule testing against requirements documents. This chapter also explains Unit Testing using JUnit.
Chapter 8, Data in Excel, Rules in Excel. This chapter explains how to use Excel Spreadsheets (cells and ranges) as our fact model to hold information, instead of the write-your-own-JavaBean approach we took earlier. Then we use Excel spreadsheets to hold Decision tables, to make repetitive rules easier to write.
Chapter 9, Domain-Specific Languages [DSL] and rule flow. This chapter aims to make our rules both easier to use, and more powerful. We start with DSLs—Domain-Specifi c Languages. This chapter follows on from the ‘easy to write rules’ theme from the previous chapter and also discusses both ruleflow and workflow. It would be great to draw a workfl ow diagram to see/control what (groups of) rules should fi re and when. Rule flow gives us this sort of control.
Chapter 10, Deploying rules in real life. This chapter shows you how to deploy your business rules into the real world. We look at the pieces that make up an entire web application, and where rules fit into it. We see the various options to deploy rules as part of our application, and the team involved in doing so. Once they are deployed, we look at the code that would load and run the rules—both home-grown and using the standard RuleAgent. Finally we see how to combine this into a web project using the framework of your choice.
Chapter 11, Peeking under the covers. This chapter looks at what happens under the cover by opening up the internals of the Drools rule engine to understand concepts such as truth maintenance, confl ict resolution, pattern matching, and the rules agenda. In this chapter, we explore the Rete algorithm and discuss why it makes rules run faster than most comparable business logic. Finally we see the working memory audit log and the rules debug capabilities of the Drools IDE.
Chapter 12, Other Drools features. This chapter deals with the other advanced Drools features that have not yet been covered. This includes Smooks to bulk load data, Complex Event Processing, and Drools solver to provide solutions where traditional techniques would take too long.
Approach
This book takes a practical approach, with step-by-step instructions. It doesn’t hesitate to talk about the technologies, but takes time to explain them (to an Excel power-user level). There is a good use of graphics and code where necessary.
Who this book is written for
If you are a business analyst – somebody involved with enterprise IT but at a high level, understanding problems and planning solutions, rather than coding in-depth implementations – then this book is for you.
If you are a business user who needs to write rules, or a technical person who needs to support rules, this book is for you.
If you are looking for an introduction to rule engine technology, this book will satisfy your needs.
If you are a business user and want to write rules using Guvnor/JBoss IDE, this book will be suitable for you.
This book will also suit your need if you are a business user and want to understand what Drools can do and how it works, but would rather leave the implementation to a developer.
Author(s)
Paul Browne
Paul Browne’s first job was selling computers in France and things went steadily downhill from there. He spent millons on behalf of a UK telephone company’s procurement department and implemented direct marketing for a well-known Texan computer maker before joining the IT department of a company that builds bright red tractors and other seriously cool machines.
Paul then embraced his techie side (he was writing games in machine code from the age of 11) and started a consultancy that used IT to solve business problems for companies in the financial and public sectors in Ireland, UK , Belgium, and New Zealand. Eight years later, he now works with an Irish government agency that helps similar software companies to grow past their initial teething pains.
More formally, Paul has a bachelor’s degree in Business and French from the University of Ulster, a master’s degree in Advanced Software from UCD Dublin, a post-grad qualification in Procurement from the Chartered Institute of Procurement and Supply (UK), and will someday complete his ACCA financial exams.
On the recent twelve pubs of Christmas event I had a discussion with the distinguished ex-president of the chamber of commerce (you know who you are – Graham!). Given this event involves 12 pubs , in one night,the following has been translated back into English. The main thread of the conversation is that only us rats can save the sinking ship. Calling every person in Ireland a ‘rat’ perhaps isn’t good PR on my part, but it’s a good analogy for the current state of the Irish economy.
Now, I’ve been known to follow previous Government advice and ‘shop around’ for the best value (including at the Quays in Newry). However, if everybody follows this ‘me first’ approach we’ll be quickly in a race to be first to leave the sinking ship. But what if, instead of cutting and running, we stayed to plug the leaks in the Irish economy and kept it afloat?
The trouble in staying to plug the leaks is that this requires consensus that everybody helps out– and consensus is in short supply at the moment.All groups in Irish society are fighting to shift the inevitable pain of the recession on to somebody else.The lack of consensus is worsened by the fact that those who did well in the boom, and those seen to be responsible for the bust, are not necessarily those that are feeling the most pain right now. Without consensus, you’ll be left alone with your bailer as the water closes over your head.
Consensus is not necessarily the same as partnership – it’s a broad understanding within Irish society of the way forward, accepting the pain that the steps to recovery will take. The cause for gloom is that in the 1980’s it took 7 years (until 1987) to get a similar understanding , and even then the pain wasn’t evenly felt. Some cause for optimism is that because Ireland is a small country, once consensus is reached, it can very effective (Exhibit B is the Celtic tiger years that followed before it morphed into a bubble around 2002-3).
So , what’s it going to be – stay and float, or all sink on our own?
‘Credit Crunch’ might be the favourite buzzword of the moment, but ‘Security’ and ‘Software as a Service’ are not very far behind. Ok, they’re a long way behind ‘will I lose my house’ or ‘will I have a job tomorrow’, but you get the idea. So I’m proud to associated by this article by Max and Chicco, even in a very minor way (as a reviewer).
Software as a Service (SAAS) has a great pitch - let us host your software for you, cheaper and less hassle than managing it yourself.
Most SAAS companies host multiple clients on one server = New security concerns.
LDAP (Similar to Windows Directory) is a standard already in wide use for Authentication (making sure people who they say they are).
Spring Security (aka Acegi) is a well used Authorisation toolkit - i.e. make sure those people only do things they are allowed to do.
The article shows you how to bring SAAS , LDAP and Spring Security together to get secure, scalable , hosted applications using the very best in widely understood technologies.
Of course, I’m not going to spill the beans on how exactly they do it; for that you’re going to have to hotfoot it over to the IBM Developerworks website.
Apologies for not gettting this posted by the closing date. But the ‘closing’ date on these things tend to be flexible, so if you’re interested if worth checking out the NEPP site. Mulley has already blogged about similar programmes at hothouse (docklands), sepp (south east) and m50 (Tallaght IT) if you’re located outside of the North-East.
Our claim to fame is that FirstPartners.net went through this program in 2003. And failed. But failed quickly - we realised within months that the mad business idea (selling open source technology to accountants) wasn’t going anywhere. We were able to bring the lessons learned back into the main consulting business. Far better than a lingering , drawn out half-life.
Enterprise Platform Programme
Enterprise Support for Innovative Knowledge based, High Tech and Information Technology Startups
Introduction The Novation Enterprise Platform Programme (NEPP) is a programme of support for graduate entrepreneurs with an innovative business idea in the Knowledge Based, High Tech or IT sectors.
The main objective of the programme is to develop the commercial and job creation potential of the participant businesses. The programme delivers comprehensive training in business and management to equip participants to successfully start up and manage a new business. The
programme assists participants in the achievement of personal and business development goals in relation to the project. It also assists participants in the completion of market or technical feasibility studies and/or the preparation of a business plan.
Past Participants
Since its conception in 2001, over 70 entrepreneurs have participated on the Programme. A survey conducted recently confirmed that over 54 businesses have been established by NEPP participants resulting in total employment of 311 people and sales of €27million per annum.
Participants have also raised over €39 million in VC funds.
The programme will be managed by the Regional Development Centre, on the campus of Dundalk Institute of Technology. Participants may choose to be based in the professional, entrepreneurial environment of the Regional Development Centre, and will have access to the laboratories, equipment and resources of Dundalk Institute of Technology.
Eligible participants receive a consultancy / travel allowance of approximately €1150. Eligible participants may also apply for funding through Enterprise Ireland’s Commercialisation of Research and Development (CORD) grants, whereby they can receive up to 50% of their previous year’s verifiable income (the grant in total will be capped at a maximum of €38,000).
The Novation EPP is a comprehensive package of business development
support including:
Project management and on-going monitoring of progress
Travel / consultancy allowance
Structured business and enterprise training to develop the knowledge and skills necessary to start-up your own business.
Networking with entrepreneurs, industry practitioners, researchers and trainers.
Access to office space and specialist facilities, equipment and resources.
Mentoring system which provides one-to-one advice and guidance
Business Coaching which aims to optimise participants’ business performance
The programme will commence in Sept. 2008 and there will be regular formal reviews of participants’ progress.
Prize Fund. The 2008/09 programme introduces a prize fund for participants. Eligible businesses will be judged on a variety of criteria including best improvement, degree of innovation, presentation before a panel and performance at end of year tradeshow.
I recently got into a conversation about corporate blogging. The sort of conversation that starts with ‘what is a blog?’ and ends with ‘it’ll never work here’. And, as always, the killer argument for corporate blogging popped into my head 5 minutes too late.
A tractor in a field yesterday
Many years ago, I used to work for Case, the company that builds big red tractors. It was great work, especially as people understood what you did - none of this ‘I work in computers’ malarchy. Only problem was that we were working in Navan Ireland, with most of our colleagues based in Racine, just north of Chicago.
Not too much of a problem for the first 15 or so people - people who worked out of Chicago for the first 4 or 5 months. We were able to build up personal relationships with a colleagues. We could ask later ‘how are the kids?’ or ‘are you still playing football?’. Small things, but make the real work discussions a lot easier.
The problem came with employees 15-100 - the ones that didn’t spend any amount of time in the US. Technically great people, but didn’t ‘click’ in the same way with Chicago. As a result, small misunderstandings became big misunderstandings, and projects got delayed.
And that’s where corporate blogging comes in. It allows people in far flung offices to connect. Doesn’t matter what you blog about - personal life, or some small project that’s happening in your local office. Chances are somebody else in the company will pick up on it and vital connections will be made.
And if you’re in the market for a big red tractor, click on the photo above. 125 BHP, Diesel Engine, a bargain at 16,500 Euro.
I’ve been very lucky in the 9 years that I’ve been working for myself. Lucky in the opportunities to travel and the people that I’ve met. Lucky in I’m doing something I love - playing with and building the latest technologies. Lucky on the financial side of things that it’s given me a wide range of choices.
So, it’s surprised the people I’ve told that I’m now going to be doing something completely different.
Why?
No it’s not the economy. I can see the effects of the slowdown but I’m one of the most ‘low maintenance’ people I know (anybody who lives in Drogheda and drives a ‘98 Toyota isn’t exactly into bling!) I’d be ok. And the uptick (in 18months - 2 years time) is the most profitable bit of the economic cycle.
No , it’s not through lack of clients. One of the most painful parts of the decision have been the 3 prospective projects that I’ve had to turn down. The sort of ideal projects that I’d working to land for the previous 2 years.
No, it’s not through lack of choices. Two other ‘life changing’ choices I had to turn down were to scale inside a well known consultancy, or specialise in one tool and go international (you know who you are guys, thanks for making the final decision so hard
So why then?
The basic reason is that I’m enjoying this now (as in big smile on Monday mornings), but can see that I might not be enjoying it in 3 years time. And chances like this one don’t come along every day. That, and I’m fascinated by the new area and people that these guys are working with.
And what you’re doing is?
This is a big change for me, so a bit nervous about it and will blog about the new job (and it is very much a job, rather than being self-employed) in due course. It will either be the very best, or very worst thing that I’ve done.
Luckily it’s still dealing with People and Technology so no need to change the blog title … and I’m still a techie at heart (in that I’ll play with the stuff even if I’m not paid to) so expect more in that area!
Don’t you hate it when you spend months (or years) working on a pet project / book / mad take over the world idea, then somebody comes out with something even better?
So what’s it about? We’ve all heard about the Wisdom of Crowds idea. But what if you need to actually implement it on your website? This book shows you how to (using both concepts and practical code, as well as the theory behind all of it that I was missing). It includes
Intelligent, learning search, using Lucene.
Extracting data from blogs using web-crawling.
Executing Real time feedback on facebook-like sites.
Scalable data-mining techniques to manage the torrent of information
Making personalised recommendations based on all of the information.
Disclaimer:Manning provided me with a free review copy of the book - but no strings attached. And , maybe if I’m nice enough to the Author (Satnam), I can persuade him to talk about making millions using JBoss Drools and Complex Event processing in the book.
You know the Irish Economy is hurting when Sainsbury’s Supermarket in Newry (in Northern Ireland) has to close it’s doors at 7.30pm on a Saturday due to too many shoppers from the south trying to get in.
For those of you that don’t understand the above line: It’s unusual for an island as small as Ireland to be blessed / cursed with an international border running through the middle. Bad for politics , good for shoppers as it’s much cheaper to travel from the southern part (in the Euro zone) to the northern bit (where they use Sterling) to save up to half on your weekly grocery bill.
Travel to Sainsbury’s supermarket in Newry on the last Saturday before Christmas and you’ll see something just short of a riot as southern punters fight over the last bottle of (cheap) beer. But they’ve never closed the door due to too many people before - which is what happened last Saturday evening. Even more unusual in that June / July are normally very quiet months for shopping in the North.
Now discuss (in less than 100 words): Did this happen because …
Irish people are fed up with rip off prices in Dublin and are finally voting with their feet?
There’s a lot of hidden pain out there - people with no money but desperate to ‘keep up appearances’?
Web 2.0 is great - it allows users to get involved on your website.
Allthetopbananas.com shows not how to do it. Just be lazy and not bother to tell your website that Cork is not near Drogheda (for our non-Irish-based readers, they’re at opposite ends of the country, about a 4-5hr commute!).
Why should I bother to report to you that ‘Cork is not Drogheda’ if you haven’t done your basic research and looked at the map? Save your ‘wisdom of crowds’ stuff for items that you can’t find anywhere else.
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 …
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.
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.
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.
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.
My fellow Java Developers. Two years ago I wrote an article on ‘Web 2.0 and Enterprise Java - move over Struts‘ looking at what was likely to replace Struts 1 (then and now a de facto web standard). How did our predictions fare?
Remember that article (and this one) isn’t looking for technical best, but which is going to be a best investment of your time to learn (in a mercenary commercial sense). And if you’re deciding which to use in a project , which framework is going to be easiest to support in 5 or 10 years time?
Broadly speaking, the frameworks we talk about break into two types: those that treat the web as a set of pages, and those that treat the web as a set of components (think Visual Basic, Delphi or Oracle Forms act-a-likes).
So , what has changed in the last 2 years:
The rise of Spring. Not only has it gone mainstream, but the Spring MVC, Spring Webflow and Spring-JavaServerFaces are very powerful and widely used web frameworks. A sign of how things have changed is that for Sruts 1 the Spring guys wrote the integration for the (then) bigger Struts framework. For Struts 2 , the integration was provided by the Struts community. With the forthcoming Spring 3 release the framework is increasing momentum; More annotations and less XML in Spring MVC; Rest Web Services out of the box, support for Dynamic languages like Groovy and Spring Webflow becoming a more ‘just use it where you need it’ solution.
Adobe Flex and OpenLaszlo - Flash graphical interfaces on the Web, built using Java. I don’t think these will be *the* mainstream choice but I do think the will be more than a just a niche. And for design led companies, nothing else (not even Microsoft Silverlight) can come close in terms of a user ‘wow’ factor.
JavaFX and Applets done right (Jim Weaver has a good article on this). More of a competitor to Adobe Flash as both are rich content in the browser using an easily obtainable plugin. JavaFX will appeal to developers because of it’s Java like syntax. I hope I’m wrong, but for rich web content, would you put your money on Sun (an Engineering led company) or Adobe (an almost apple-like design led one)?
Frustration with JSF (Java Server Faces). For the last 3 years I’ve thought that ‘*this* is the year of JSF. I’m still waiting not because of lack of demand (as web apps become more complicated and use more Ajax they become more like the JSF component based model). It’s now uphill for JSF as I (and a lot of other Developers) have given up. I’m still waiting for the ‘EJB 3′ moment when JSF becomes more simple and more usable. Remember , we ‘re not talking about technically best, but which is going to be in widespread use.
Google Web Toolkit (GWT). Looking at it one way , GWT is JSF done right - a component based web framework , but one that is fast and has a lot of community support. Even then it took me a long while to warm to GWT - I’ve bad memories of web-components that hide their internals (remember Microsoft Interdev 10 years ago?) . What got me over the hump was thinking of GWT as a compiler not to Assembly or bytecode , but to Javascript and HTML.
How has Struts 2 got on in the meantime? I’m not sure. Remember , Struts 2 is very different from Struts 1. Conceptually it’s very similar to Spring MVC (Simple Java Beans based with configuration); Slightly easier to learn and maybe slightly less powerful than Spring (although both are more than capable for most Enterprise web applications.
The ‘I’m not sure’ bit comes from two (non technical) factors:
Struts 2 hasn’t achieved the massive Enterprise developer mind share that Struts 1 did. It’s a better framework, but it’s got more competition.
If you’re using Spring in the middle tier, why not have one less framework and use Spring MVC (instead of Struts 2) in the presentation layer as well?
Back to the previous predictions , how did we get on?
Scenario 1: Adding Ajax to existing Struts Applications. Use AjaxAnywhere - closest to the approach taken in the article Sprinkle Some Ajax Magic into your Struts Web Application. Despite writing this article , I see the frameworks evolving rapidly to the point where you would only take such an approach for adding Ajax to ‘Legacy’ applications.
How did we do? I’d maybe widen the choice of Ajax Libraries (to include DWR , Dojo, Prototype and others) but the basic idea of evolving rather than replacing your Struts 1 app still holds true.
Scenario 2: Need Ajax Now for a new Java Application. Use Appfuse as it gives Struts, Ajax (with DWR) and the possiblity of JSF integration now, all ‘out of the box’.
How did we do? I still recommend AppFuse, as it combines (name-your-web-framework) with Spring Hibernate(and other ORM) and Maven. However I’d now tend towards choosing Spring MVC (unless you’ve a reason to use Spring 2), given that you’re probably already using Spring in the mid tier.
Scenario 3: Medium Term. Use an implementation of JSF (either MyFaces or whatever Appfuse promotes - probably Struts Shale). Struts Shale (JSF) has so far released only ‘overnight’ builds. Apache MyFaces (JSF) tool support and Ajax capabilities are likely to improve over time. Both Struts-Shale and MyFaces are likely to play well with AppFuse , making it a safe bet for investing your time checking it out.
How did we do? Struts2 and Spring both still give you migration route to JSF. But do you want it?
So out of the creative ajax-induced chaos of 2 years ago, I see 4 or 5 clear choices in Enterprise web frameworks: Struts 2 (as a follow on from Struts 1). Spring MVC, due to the huge mindshare Spring has on the mid-tier. Google Web Toolkit , both as a natural home of frustrated JSF developers , and because who’s going to argue with the people who gave us maps and mail? Flex, because Flash apps done well just look so good. And JavaFX, because Applets-haven’t-gone-away-you-know.
In my view, we would have been delighted to have any of these framworks 5 years ago. And each (for different reasons) is likely still to be popular in 5 years time. Your missions now is to pick the one that suits your project needs.
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!
At what other awards could you mingle with the Oscar nominees before the event? See them preparing the acceptance speeches, display their pre-show nerves and ask them for tips on the secret of their success? At the Irish Blog Awards - Business Blogger Meetup next Saturday March 1st , of course.
Details : The blog awards kick off at 7.30pm. So lets do it one hour earlier at 6.30pm. Same venue , Alexander Hotel, has a nice big foyer area. There’s no food at the awards themselves , but the hotel does a waiter service in the lobby if you’re just up ‘from the country’. Just look out for me (I’ve been told I look like my photo on the top right. Which is not a good thing) , or any of the nominees (although I suspect Rowan and Michele aren’t as cartoonish in real life).
You don’t have to be a nominee to come along. Just come along and talk about what has worked for you as a Business Blogger.
Update: I would put good money on Kieran from Ice Cream Ireland turning up in full ice-cream-man gear. Click here to encourage him. It does solve the problem of ‘you-dont-really-look-like-your-photo’.