Version 34



    ***** Tue 11th Dec - No JBUG ******


    Venue and Times


                    The JBUG meetings are held in the Inex building. Start time is 6PM.  There will be someone to let you in between 5:45 PM  and 6:10 PM. If you need access out of those times can you let me know beforehand or you may not be able to gain access.

                    Main talks usually finish around  8PM  when Refreshments are provided.


    Details on how to find the venue can be found here.

    Upcoming JBUG Meetings



    TBD - Dr Mark Little  - The future of middleware


    The presentation starts by examining the role played by middleware in supporting dependable enterprise applications. Key concepts of reliable distributed computing developed during the eighties and nineties (e.g., transactions, replication) influenced the standards based middleware such as Java EE. However, the way enterprises are using networked computing for businesses is undergoing rapid changes as new ways of constructing distributed execution environments from varieties of resources, ranging from computational, storage, network to application level services, provided by globally distributed service providers are emerging. There will be strong emphasis on customisation of the dependability support within the middleware to address the individual needs of end-users. In light of these developments, the presentation goes on to examine what core concepts, components and techniques that will be required in the middleware of the future.

    Past JBUG meetings


    Tue Nov 13th  John Casey - Maven best practices



    Apache Maven is a build tool that has gained wide popularity in the Java world. But learning to use Maven well can be difficult. The Maven build lifecycle, the details of managing dependencies in Maven, and approaches to applying DRY principles to Maven builds can pose daunting challenges to new users. And that's leaving aside the largest challenge: bending your mind around the conceptual differences between a scripted build system like Apache Ant, which allows you to do nearly anything and call it a build, and the more structured Maven build environment.


    However, it is possible to navigate these waters and achieve cleaner builds using Maven. Over the years, a series of best practices have emerged that can help users organize their builds and avoid the pitfalls that make using Maven a painful task. Some of these best practices apply to the software ecosystem and the practices used by upstream projects; others apply to how the user expects Maven to operate. Still others apply to the larger development process itself.


    In this talk, John Casey will explore some of the biggest challenges to new users trying to use Maven effectively, and present some approaches that can make your Maven builds easy to use and maintain.



    John Casey has spent his career maintaining large software builds. He has been contributing to Apache Maven since 2002, and has been on the Project Management Committee since before Maven 2.0. Today, John works in the Release Configuration Management team at Red Hat, where he continues to work on improving the process of building software.


    John is married with a 10-month-old boy, and lives in Lawrence, Kansas. He enjoys hardware/software hacking and roasting coffee in his free time.



    Tue Oct  9th - Stéphane Epardaud - Introduction to Ceylon

    Ceylon is a new programming language designed to execute on the JVM. We're fans of Java and its ecosystem. However, we think that the language and class libraries, designed more than 15 years ago, are no longer the best foundation for a range of today's business computing problems.


    Ceylon's design goals include:


    - easy to learn and understand for Java and C# developers,

    - eliminate some of Java's verbosity, but keep its readability,

    - improve upon Java's typesafety,

    - provide a declarative syntax for expressing hierarchical information (user interface, external data, system configuration)

    - support and encourage a more functional style of programming with immutable objects and higher-order functions,

    - great support for meta-programming,

    - built-in modularity.


    Come and join us for this introduction to Ceylon where we will show you its main features as well as the ongoing progress of the compiler, IDE, tools and the community behind it.


    Stéphane Epardaud works for Red Hat on the Ceylon project and lives deep in the Nice mountains


    He is a passionate hacker in Java, C, Perl or Scheme. A web standards and database enthusiast, he implemented among other things a WYSIWYG XML editor, a multi-threading library in C, a mobile-agent language in Scheme (compiler and virtual machines), and some Web 2.0 RESTful services and rich web interfaces with JavaScript and HTML 5.


    Eager to share, he is a frequent speaker at various conferences such as the Scheme Workshop 2004, Nice Technical University in 2008, Polytech'Nice en 2009, Mars JUG, Paris JUG and Riviera Java User Group he founded with Nicolas Leroux. A long-time open-source user and advocate, he is committer on RESTEasy, author of jax-doclets, stamps.js and various Play! Framework modules, and developer on various Ceylon projects for Red Hat.





    Tuesday September 11th - The modern analytics ecosystem - Jonathan Halliday and Sophie Watson


    Once upon a time dinosaurs ruled the earth, mosaic ruled the web browser market and everybody used analog for their web site analytics.


    By the early 21st century things had evolved a bit. Google analytics had come to dominate the web analytics niche, by virtue of being easy to use, good enough and (mostly) free. Sadly this lead to the near extinction of many rivals, open source and commercial alike.


    New environmental pressures continue to drive evolution in the analytics market. The rise of mobile clients, an expectation of lower latency results, demand for increased control over reports and the impact of cloud based services all influence the continued development of new analytics solutions.


    We'll examine what it takes for a modern analytics solution to survive and thrive in the current technology environment. By learning from successful rivals and adopting new techniques, we'll design an analytics package fit to complete in the current rapidly changing market.



    Tue Aug  14th - Mike Musgrove and Gytis Trikleris - JAX-RS, REST and a RESTful Transaction Bridge


    An Introduction to REST - Mike Musgrove


    Mike will give an introduction to REST and the JAX-RS specification, using examples from the REST-AT project.


    RESTful transaction bridge - Gytis Trikleris

    The REST architectural style is a popular choice for web services and widely regarded as simpler than many alternatives. The REST approach is not a silver bullet to reducing complexity though. It does nothing to remove the need for security, transactions and other 'enterprise' considerations. Indeed implementation of these is made in some ways more difficult by the lack of applicable standards in REST when compared to the more SOAP focused WS- protocols e.g. WS-AT and WS-BA.  A prototype implementation of a RESTful transaction coordination protocol already exists. However, the API is low-level and integrating with existing transactional business logic e.g. EJB3, presents a significant challenge to users. In this talk I discuss my project to  provide middleware support for transactional REST based web services which integrate with existing transactional JEE business logic components such as EJBs.


    Tue July 10th -  Martyn Taylor - Ruby on rails on the JBoss Application Server


              Slides are available from here


    With the introduction of TorqueBox; built on top of JBoss AS. It's now possible to deploy Ruby applications and frameworks on the JBoss Application Server. One of the most prevalent and growing Ruby web frameworks is Rails. Rails allows for extremely fast development of web applications; ideal for prototyping or for hitting the market asap.


    This talk will walk through creating a Ruby on Rails application and show how to use TorqueBox as your ruby application server.  It will then go on to show users how to incorporate messaging into a Rails app through the use of TorqueBox Messaging and HornetQ.


    If you would like to follow along with the practical (which is reccomended) then please bring a laptop with Rails and torquebox pre installed.  You can do this by following steps 1 and 2 of the practical guide found here.



    Tue June 12th -  Paul Robinson   -  Building flexible transactional applications using the Narayana TXFramework


             Slides available here: here


    The TXFramework is a new and novel framework for writing portable ACID and NoACID transactional applications. It allows the developer to write applications that are agnostic of the actual transaction technology used. It also allows code to transparently flow between multiple technologies such as JTA, REST and Web service transactions.


    The TXFramework allows the developer to focus on the business logic and specify transactional requirements through a suite of related annotations. JEE already has this with EJB and JTA, but this is not the case for Web services and REST transactions. The TXFramework intelligently bridges between any supported transaction technologies, with minimal effort required from the developer.


    Currently the business logic for WS and REST transactions is tied very tightly to the transaction technology and thus transport. Switching transport requires a switch in transaction technology and subsequently a significant code re-write. The TXFramework allows the developer to specify, at a high level, what type of transaction they require (ACID or a particular NoACID model). The actual transaction technology is dynamically enabled by the middleware at run-time based on the annotated business logic provided by the developer.


    Fundamentally, the TXFramework removes the need for the programmer to handle much of the boilerplate transaction and bridging logic by pushing this into the middleware where it belongs. As such, it allows a developer to create code that is more readable and therefore maintainable, easier to test and also allows a business to be more responsive in altering its deployment options for applications deployed both on site and in the cloud.



    Tue May 8th -     Rebecca Simmonds - noSQL and real time analytics


    Slides available here


    Social networking has created large amounts of data known as “Big Data”. Analysis of this data is problematic when it comes to scale and performance. With SQL databases it is becoming increasingly difficult to deal with the sheer quantity of data that the web is producing. To help solve this, new architectures are now becoming increasingly popular. These are called noSQL databases, and provide different structures for storing data. These relatively new systems are often confusing for people accustomed to SQL and deciding on the correct system is often difficult. This talk will highlight some of the most common databases and discuss what they are used for. Furthermore, the talk will include an introduction into streaming and real time analysis of data.



    Tue  April 10th -  Jonathan Halliday will talk about  Big Time Series Data


                      SLIDES available at

    From sampling system performance metrics to counting user actions, the recording of time series data provides a rich source of input for business analytics. The ability to capture, preserve and query such data at scale is becoming a key competitive advantage and thus a pressing IT need. Traditional solutions may fail to provide for the speed and quantity of data capture demanded in today's environment and often force valuable information to be ignored or discarded prematurely. Fortunately help is at hand in the form a variety of solutions built on new models of distributed storage and processing. Indeed so many new alternatives are emerging that the choice is a problem in itself. This presentation provides an overview of the challenges, describes the alternative solutions that are emerging to meet them and provides guidance on how to select a suitable solution for your environment.


    Tue March 13th - Kevin Conner  the JBOSS SOA Chief Architect, will talk about  Switchyard


                    SLIDES available here


    At the heart of many Service Oriented Architectures (SOA) sits the Enterprise Service Bus (ESB), a tool responsible for handling the hosting of, and communication between, a set of loosely coupled services.  In this presentation Kevin Conner will introduce the upcoming JBoss SwitchYard project, a new lightweight approach to ESB development within JBoss.  He will cover the features which are currently provided by SwitchYard, demonstrating some of the functionality through example applications.


    No experience of SwitchYard, or ESBs in general, is required. However an understanding of SOA principles would be beneficial. If you have an interest in coupling your legacy apps with an app server this talk will be particularly useful.




    Wed Feb 15th -  Sanne Grinovero and Tom Jenkinson will present a Workshop on the GIT source code control system. NB moved to Wed to avoid Valentines day


    Git is a free, open source, distributed version control system created by Linus Torvolds. It is designed to handle projects of all sizes with speed and efficiency.

    Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities and thus is  not dependent on network access or a central server. This session will include a practical introduction so please bring your laptop.

    More details are available from here



    Jan 10th  - No JBUG