Articles tagged 'tech'

Dynamic flows in Mule using Spring Application Context

The ability to control how Mule creates and manages spring application context is a very useful feature. On a recent client engagement, I had to perform an identical integration operation but from a variable number of sources (different for each environment).

continue reading

Why Assembler is the future of Integration

To succeed in our modern world of API-led connectivity, we need to go back to basics… all the way back…

continue reading

Microservices with Apache Camel, Spring Boot and Docker

This is 2016. If you are still spending macro-efforts developing microservices, there is something seriously wrong. These days, there are plenty of tools and frameworks at the disposal of the discerning developer to rapidly build microservices.

continue reading

Jumpstarting Camel Blueprint Testing

Blueprint is a dependency injection framework specification for OSGi, standardized by the OSGi Alliance group. Apache Aries is one of the several implementations of this spec.

continue reading

Ansible Crash Course

As we dawdle till every facet of our lives are containerised, we still find ourselves in need of ways to automate provisioning of actual servers and operating systems. My current favourite way to do this is through Ansible.

continue reading

Upgrade your Groovy Scripts in Mule with DSLDs

The groovy script transformer component is a very powerful piece of Mule. I use it for almost every message transformation that I need to make. Its XML and JSON libraries reduce message format conversion down to little more than building a map, while closures give you some powerful processing tools for handling complex data structures.

continue reading

Advanced File Handling in Mule

With all the drag-and-drop goodness of AnyPoint Studio these days, it’s easy to forget that under the hood Mule ESB remains a very powerful, configurable and extendible framework. This power comes in handy when you’re faced with demanding file processing requirements in advance of Mule’s out-of-the-box functionality.

continue reading

Dock Tales: Docker Authoring, with Special Guest Mule ESB

If you followed my previous rambling, you might feel like we are due for some hands-on Dockering. So let’s get technical!

continue reading

Dock Tales, Or: How I Learned to Stop Worrying and Love the Container

Docker has just turned two and it has been a heck of a two years. Looking back, describing its rise as meteoric now seems like such a misnomer as there is no sign of slowing down.

continue reading

LDAP Security in Mule

On a recent client engagement we adopted SOAP over HTTP as our preferred communication channel for Web Service consumers. Since the transport protocol was HTTP, our next requirement was to setup HTTP Basic Authentication and role-based authorization. We tend to prefer simpler transport-level authentication over WS-Security which is overkill for most situations.

continue reading

Developing Bulk APIs with Mule, RAML and APIKit

Recently we’ve been writing quite a few ‘bulk’ APIs - where consumers don’t want a single resource, or a screenful of search results but instead need (close to) the entire record set. In this blog we discuss several features of the Mule ESB platform that make is easy to design and implement bulk APIs over a variety of back-end technologies.

continue reading

Introduction to Elasticsearch, Logstash and Kibana (ELK) Stack

This is an introduction to the Elasticsearch, Logstash and Kibana (ELK) stack and how we have used it to capture, store and visualise application logs.

continue reading

Value Cross Referencing in Integration

In almost every integration project in existence, you’ll find that at some point you need to map one set of representative values to another. It doesn’t take long to think of a few common examples. Lets take two hypothetical systems named Xup and Yonder. How do they each represent countries in addresses?

continue reading

A Groovy way to implement a JMS Request Response client using Camel

While working for one particular client we were under the particular constraint of not having access to the JMS management console (in this instance the ActiveMQ Console). So when it came time to test out integration workflows we needed a quick and easy way to call the SOAP over JMS services. The Sixtree folks are well versed in their Groovy scripting and came up with this awesome Groovy script:

continue reading

Continuous Delivery with Go

Here at Sixtree Continuous Delivery has become a central part of the way we work. Naturally, we were very excited by the news that ThoughtWorks – who introduced Continuous Delivery (CD) to the world – have recently open-sourced their CD server software ‘Go’.

continue reading

Reliable Messaging with Mule ESB and Amazon SQS

I recently used Mule ESB with Amazon's Simple Queue Service (SQS) as the supporting messaging infrastructure. Whilst I was able to achieve a reliable outcome that satisfied all requirements, there are a number of aspects of SQS that make it different to the typical JMS-based messaging system. In this post I’ll cover these key points of difference and walk through an example of a robust and reliable Mule flow that can be applied to a range of common integration scenarios.

continue reading

Working with TIBCO AMX ServiceGrid and BusinessWorks - Part 1

TIBCO's ActiveMatrix (AMX) BusinessWorks and AMX Service Grid are two integration tools with different approaches to connecting systems together. Even so, you may find that you’ll be using the two of them together in some situations. There are several ways you can save time and effort when using these two tools together - enough for several blog posts - so I’ll keep this first article focused on the key element in your BusinessWorks Service Engine (BWSE) components: Partner Links.

continue reading

Formatting Dates and Times using XSLT 2.0 and XPath

A handy addition in XSLT 2.0 is a nice set of date and time format XPath functions. XSLT 1.0 was decidedly lacking in these functions, so you may have used a third-party library such as EXSLT for this purpose. EXSLT offers arithmetic functions on dates and times (still absent in XSLT 2.0) but the XSLT 2.0 offering is perfect for formatting dates and times as strings. It also means that you don't have to worry about importing the third-party library.

continue reading

Data Mapping with Groovy - Part 2

Part 1 of this series layed the foundation for some Groovy concepts and what makes the language suitable for data mapping tasks. With that in mind, lets dive into some of the advanced mapping features and some real world samples.

continue reading

Data Mapping with Groovy - Part 1

ESB services involve working with a variety of different data formats and structures e.g. XML, JSON, CSV, spread sheets, key-value structures. Transformations between XML and other data structures are quite common when it comes to developing an ESB layer. Mule ESB provides a wide range of choices when it comes to scripting and data transformation.  There’s enough choice to satisfy the proclivities of any developer.

continue reading

Adventures in JVM tuning for ActiveMQ

Recently we helped a client deploy an on-premises ESB platform based on Mule ESB and Apache ActiveMQ. The platform uses JMS queues between ESB services and adapters to provide load balancing and fault tolerance across active/active Mule servers.

continue reading

Sixtree open-sources Mule Connector for Xero

Cloud adoption and Software-as-a-Service is one of the most significant changes in the IT world today. Businesses are moving to the cloud to take advantage of lower costs, sustainable charging models, workload elasticity and new delivery models among other benefits. New SaaS businesses are springing up all over the cloud delivering services via APIs - standalone functionality meant for the consumption, integration and combination into business workflows. One of the most successful SaaS providers is Xero which provides online accountancy software and services to small and medium businesses. Sixtree is a Xero customer and we utilise their API in our day-to-day business.

continue reading