Big Bee Consultants Ltd

Scala & Java Enterprise Software

Welcome to Big Bee Consultants

Experience and good problem solving count for a lot in Enterprise Software. That's why Big Bee Consultants has been successfully meeting the needs of clients for many years now. This website will let you sample the range of new thinking and other issues that have been covered here in recent times, organised mostly in the form of a blog. If you'd like to comment on any of the recent articles, please use the comment form you'll find there.

Bee Config - simple, compelling replacement for Properties in Scala

The new Bee Config API provides an alternative to using java.util.Properties in Scala programs. The API provides a very simple Scala API for loading configuration files. Simplicity is the key! Often, java.util.Properties is still used in Scala applications, but it is often unsatisfactory. This API is broadly similar in intent, but pimped to work well in Scala. Features Config files are like properties files, except they are always Unicode.

Is Scala Good For the Enterprise Yet?

Can decision-makers realistically steer their development projects from Java to Scala yet, or is it too early?  Clearly, such a transition is not without risk.  Have the benefits now stacked up to outweigh the risks? An excellent blog post by Jim McBeath discusses the pros and cons in an objective way.  This is well worth reading. Paulo Vilella of Accenture added his views: “For small to medium projects, I believe Scala is right now a great alternative to Java for higher productivity and agility, without compromising on performance and compatibility.

Easy Pojos in Scala

A significant part of the lines of code in any enterprise Java application are devoted to plain old java objects (pojos) that carry data. Although they are simple, they represent a non-trivial effort in development and testing. And they make an application resistant to change because often a small change requires alteration of code in several places. Pojos written in Scala are so simple that the value of mixing Scala into Java development becomes worth the extra startup effort.

SLF4J - Not Just Simple Logging in Java

A Java logging framework should be effective but low fuss. There are many to choose from - some would say too many perhaps.  What is needed is something that is simple, productive, reliable and with good performance. SLF4J is a façade for logging in Java that achieves best-of-breed capability and plays nicely with pre-existing frameworks. Log4J - the Forerunner Probably the most successful earlier logging framework was Log4J, a well-respected Apache project.

Concrete5 CMS Experiences

Here at Big Bee Consultants we do Java. Mostly. We also have a considerable body of experience in website development, including the CSS styling, XHTML & SVG integration and PHP content management systems. Having needed to investigate PHP content management systems and used several on production sites, here are a few tips we've learnt.  A lot else has been written on this subject so we'll keep this brief. Concrete5 is a relatively new PHP content management system (CMS) with the MIT licence.

Move over Java, Scala has arrived!

Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application. Scala - The New Kid on the Block Actually not so very new, Scala was initially developed during 2001 - 2003.

A Post-Commit Hook to Integrate Subversion with Hudson

Hudson is a continuous-integration build server which is easy to install and works well. An earlier article compared Hudson with Cruise Control. This article goes on to discuss how Hudson operates with source code stored in a Subversion repository. Hudson provides out-of-the box integration with CVS and Subversion, and hosts various other source code repositories too (more info). This works on a ‘polling’ basis: you configure your build job to check the relevant svn URL every X minutes.

Google's Go

Google’s Go Language has been making news since the publicity launch in November ‘09.  Go combines the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++. Go is not like Java and it doesn’t aim to be like Java. Rather, think of it as C++ for the 21st century. No … correct that - it’s a bit more than C++ but yet rather a lot less than C++.

Software for Continuous Integration - Cruise Control & Hudson Compared

  Cruise Control is a well-established continuous integration (CI) server and is doing a good job. So why would we even consider using something else – and all the upheaval of changing? The author was fortunate to operate the two systems side-by-side for a while for a busy development team. This review presents a comparison with Hudson and will attempt to provide some answers. The table below does not promise to provide a complete list of all features; in particular, there are many other plugins not listed here.

Serving XHTML as application/xhtml+xml

It’s nearly a decade since W3C produced the first XHTML standard. In all that time, very few sites adopting it have gone as far as to serve the preferred MIME type (application/xhtml+xml). This is because it has been difficult to do well, and text/html sort-of works, so most website administrators don’t bother. Here are some tips to make things easier. First of all, this article isn't about whether XHTML is a Good Thing - personally, I take it for granted that it is, but I merely note in passing that a minority of people disagree.