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...
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...
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.
What is the ELK Stack?
The ‘ELK’ stack contains the following three components:
- Elasticsearch: A powerful open source search and analytics engine that makes data...
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?
Country
... |
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 Deloitte Platform...
Here at Deloitte Platform Engineering 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’.
To realise value from a solution you...
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...
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...
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.
Introducing GroovyMap
There are 3 data transformation scenarios which we commonly...
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...