Does my CV look big in this?

In an ideal world, potential customers would read this blog then decide that they want to do business with me.

In the real world many of my customers haven’t heard of a blog, and are quite happy that way thank you very much.

Given that a lot of ‘selling’ to these customers is on a personal level, the fallback is to use the traditional common or garden CV. Which gives rise to the following problems :

  • Too Long or Too Short? : How do you get 13 years experience into a document without it looking like a version of ‘war and peace’?
  • The curse of the technical buzzword : You need to include the technical buzzwords (Oracle, Java, Agile etc) to show you can do the job (a lot of people just do a 1st scan for words like this). But, put too many in, and you just end up looking silly.
  • People or Technical skills: Apparently you can have great technical skills , or great people skills , but not both. How do you stop yourself getting pigeonholed? What about non-traditional experience (e.g. blogging, writting, speaking, training?)
  • Customer confidentiality: A lot of the stuff we do is internal to clients. But potential  clients need to know what you’ve done to judge your work. Where’s the balance?

You can judge how successful I’ve been here: Paul Browne’s CV online [pdf].

Yes, I’m slightly more available than normal in the coming months. Yes, I’ll consider proposals slightly outside ‘normal’ contracts, if the projects and upside are interesting. And yes , I may just take some time off that I’ve been promising myself (but I’ve said that one before). Email me at PaulB@firstpartners.net.
Note to recruitment agencies: I’m very happy consulting through FirstPartners. No, I don’t want a permanent job. No, Cork is nowhere near Dublin , but I will consider Belfast. No, I don’t believe that you’re in for anything other than the money – that’s ok , you probably have a family to feed; but let’s not waste time pretending otherwise.

Enterprise Java Presentation , Stephens Hotel , Dublin

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?

Information Storage for Dummies (and how to make it secure)

Doing a lot of database work for a client right now so now it’s a good time to recap on where you can store your information. This might be basic stuff , but it’s essential basic stuff.

  • Spreadsheets, of which Microsoft Excel is the most popular. How the PC and Microsoft began their 25 year reign. Ironically their availability online (care of Google Docs and Google Spreadsheets) threatens to end the PC era and usher in the Web 2.0 one.Spreadsheets are never secure. If I can get a copy of them (and letting me read one means that I have a copy) then I can read everything. Everything. Most Excel passwords can be cracked within seconds.
  • Take a couple of spreadsheets, glue them together and put links between the sheets. Now you’ve more of less got an entry level database, such as Microsoft Access. It’s aimed at people who need more power than Excel, but are not developers.

    The trouble is that Access is not secure (see problem above) and that it doesn’t scale very well (for more than a couple of people using it at once). Both Access and Excel come with versions of Microsoft Office.

Access Splash Screen

  • So you have your information, and now you want to stick it on the web. MySql is the database of choice. Free, lightweight and with excellent tool support (e.g. phpMyAdmin), MySql is what powers this website. If you know what you’re doing (e.g. Google or Amazon) it will scale very very well.
  • For most people , the next step up is to a serious Enterprise database. Oracle, MS Sql-Server and it’s cousin Sybase are the main contenders in this area. DB2 from IBM is a distant fourth place while Sybase is strong in financial institutions. While MySql is catching up in features, most companies chose one of the main three because of their track record, a long list of people and vendors that support them, and because of ‘lock-in’. Once you choose a database it’s very hard to change.

So there you have it. Don’t let me see you trying to run a company on Excel or Access again. Or at least, don’t complain to me when it falls over!

Applets coming back from the Dead?

If you remember Applets, then you are so 1990’s man. Right back before the dot-com boom , everybody was putting these Java programs in their web pages to do things simple things like display a financial chart (guilty as charged , my ‘lud). Oracle still uses them in some versions of it’s applications as a half-way house between it’s older desktop applications and a completely web only solution.

Trampoline Logo
Fast forward to 2006 and these ‘heavy’ applets have been replaced by light web pages using Ajax and Flash, which don’t require a user download to run. Pretty much anything a Java Applet can do can be done in Ajax (if you have enough time and patience). Ajax developers have been pretty inventive in using Flash to solve problems (e.g. allowing web pages to store information on your local PC), so it may only be a matter of time before this gets picked up.
It’s ironic then, that the very technology that is meant to replace it , ends up giving Applets a new lease of life. It won’t suit everybody or every problem. An ‘ideal’ problem for this to solve is where the user interaction, business logic or security requirements are at the ‘higher’ end of the scale. While you could solve it using Ajax (basically javascript on steroids), using Java Applets and having a nice IDE to develop and solve your problems in may pay off in the long run.

Jan of Trampoline Systems explains in more detail.

Open Java changes everything

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.

SQL programs are the cockroaches of the IT world.

Back in the dark days when World War III threatened us with imminent nuclear oblivion, we were told that cockroaches and other insects were the highest form of life that would survive. I’ve recently come to the conclusion that SQL programs, like cockroaches, will surive anything that the IT world can throw at them.

Oracle Ireland Logo

SQL is a way of getting useful information from databases ,like ‘get me all Bank Customers with an account balances greater than 10,000 Euro’. It’s been around since the stone age and it is strongly suspected that the ancient Egyptians were familar with it’s earlier forms. Given that at least part of most systems talk to a database, it is probably the most widely used programming language in the world. It’s the most widely used because it’s the most useful : do one thing and do one thing well.

However, you get into trouble when you use SQL in ways nature never intended. Once you step beyond the ‘get me this’ or ‘update that’ you’re in trouble. Like a 12m high cockroach from a 1950’s Horror Movie, your code is out of control. Even Oracle are migrating to a Java stack to implement business logic outside of the core database engine.

By way of apology to any Oracle or SQL-Server progammers offended by this post, I’ll share the news that I’m my way to getting Oracle certified. It’s Oracle Exam SQL-007 [pdf] and if you understand that , you’ll know that while it’s not bad for a Java person, guys like Donal Daly , Mark Rittman and Scott Spendolini aren’t under threat from me just yet.

Enterprise Java Presentation at DCU

On Wednesday, I’m presenting on the topic of Enterprise Java at DCU (Dublin City University) , in conjunction with Trigraph.

Trigraph Logo


I’ll blog later about bits and pieces of the slides (for commercial reasons I can’t publish the full set here), but the overview is below.

Description: Success or failure in your business depends on dealing with information faster and better than your competitors. This briefing shows you how Enterprise Java tools can do this and how to apply them to your organisation. Crucially, the briefing shows you when not to use Enterprise Java and details the alternative approaches.The briefing will give delegates an overview of the Java Web development environment, how to architect and distribute multi-tier applications and how to link these components with existing sources of information using Enterprise Application Integration (EAI). Most business have substantial investments in existing and legacy IT systems and the briefing will show how to integrate these with techniques such as JMS Messaging/ MQ Series, SOAP / XML or using the Java Connector Architecture (JCA).

As well as examining the main Java Application Server vendors (including Sun , IBM , Oracle , BEA and JBoss) the briefing will detail the technology stack that they offer. This stack includes Web presentation frameworks and SOA – Service Orientated Architecture at the Front end. In the middle (Business) layer this covers the capture of Business knowledge using Business Rule Engines and workflow (BPEL). At the back (Service) layer, this includes database integration using JDBC, and the Enterprise Service Bus (ESB).

What Problem are we trying to solve?Where Java Fits in Enterprise Computing.
Enterprise Application Integration (EAI).
A Componentised & Connected Enterprise.
Enterprise Java Architecture Overview.
Enterprise Java Platform Roles.
Benefits to the Enterprise.
Alternatives (.Net , PHP , Oracle , Lightweight Java Frameworks , scripting)
Scripting Languages and Enterprise Java (Ruby, Python, Groovy)
Vendors (IBM, Oracle, Sun , Bea , JBoss and SAP)
Vendor Specific Solutions (e.g. Oracle Fusion / ADF , IBM MQ )
Market Trends – Resource availability (can we get the people to do this?)

Foundation Technologies & Techniques.

Enterprise Web 2.0 and Service Orientated Aritecture (SOA).
Integrating with other Systems ( Legacy Systems, Oracle etc)
Enterprise Java Beans 3
Middleware (MOM, Rule Engines, Workflow)
Java on the (Enterprise) Desktop
Web Services / Enterprise Service Bus
Best practices (Code standards, Build standards, Version Control / Iterative Development / Junit)
UI Layer: HTML, Servlets, JSP, XML/XSLT.
XML’s Role in the Enterprise.
Application Tier: EJB, JNDI, JDBC, JDO.
Integration Technologies.
Java Connector Architecture- JCA
RMI, CORBA/IIOP, SOAP.
Security – Application and Server Level
Java Access & Authorization Service (JAAS).
Object-Orientation & UML.
Design Patterns.
Frameworks (Struts , JSF, ADF, DWR, Spring, Hibernate)
.Net interoperability

Enterprise Java Application Architectures.

Overview of Enterprise Application Servers.
Commercial Application Servers.
Distributed Application Models with Enterprise Java.
Enterprise Java Application Server Basics.
How to Choose a Enterprise Java Application Server.
Enterprise Java Application Architecture.
Building a Enterprise Java Application.
Deploying the Application.

Enterprise Java & Your Business.

Planning for Migration.
First Steps.
The Implementation Plan.
Organisational Challenges.
What’s next for Enterprise Java?

Close.

Two posts about Oracle in One Day?

Two posts about Oracle in One Day? Must be going mad.

Sql Developer Logo

I’m using Oracle Sql Developer (formerly Raptor). It’s a nice little tool to view information on an Oracle Database (and much better than Sql Plus, which was a throwback to the 1970’s). Maybe it doesn’t have all the power of Toad or Sql Navigator, but that doesn’t matter , it’s free , can run anywhere (it’s Java based) and does most of what you need.

The reason for the post? Opened it up today, and found that it has an auto-update feature (a la Eclipse). It now has support for Oracle Reports , Oracle Data mining as well as a nifty Sql formatter. It will be interesting how Quest software responds to this!

The main reason for using Sql Developer as a Java person is that allows you to test your connections; simple copy and paste your JDBC Url from your Java application, and hit the ‘test’ button. No longer do you have to pull your hair out as to why your lovely ajax web application no longer works , only to find somebody has changed the DB username and password!

Oracle and Spring – who would have thought?

OTN Logo

Oracle are a database company that you may have heard of. Spring is a Java framework that you probably have not heard of, but it incredibly useful for Java developers to give them a head start in their development work (as well as getting rid of a lot of the donkey work later on). It’s no surprise the Spring works with Oracle Application Server, given that is what the Spring team aim to do.

What is a surprise is that Oracle are making a big noise about the Spring framework. Remember these guys preferred to buy the Orion Application Server and rename it OAS (without changing anything anything else, including the names used in the back end).

Mustn’t grumble, if it allows Oracle – Java developers to experience the joys of Inversion of Control , AspectJ , Integration with the Major web frameworks (including Struts, JSF) and Hibernate out of the box (although I suspect that Oracle will still push TopLink for mapping to the Database).