How to make £70 million
Fortis Fortuna Adiuvat
Everything started in 2013 when a new initiative to refresh the web platform of the company, was in sight. At the time everybody was using the buzz words: middle layer. In an enterprise environment where everything had to be done yesterday; data has to be consistently transferred between software components within the darkest corners of the system; the salvage came from the middle layer… and still to make £70 million.
How to make £70 million is not an easy thing, but not impossible.
Project case was simple: new website was already built on the latest Swedish response to unification of commerce and content in one platform: EPIS
However, the front end had to be connected to the backend in a highly available, fault-tolerant and scalable manner. This is all about in an e-commerce architecture and most of the industry players are aspiring to. Always it is a need to scale applications and distribute data. The concept of SOA architecture never died if you are thinking that had disappeared from the enterprise environment.
Enterprise Service Bus [ESB] is not anymore a blurry concept still had become enriched by the concept that underlines it. Distributing data between multiple environments, implementing frameworks for data distribution, data enrichment, multithreaded processes or access through RESTful endpoints are just tip of the iceberg when we talk about ESB. Technically we are talking about software architecture model used for designing and implementing communication between software applications as service-oriented architecture. This type of architecture is found within enterprises where data is decoupled between departments and needs to be shared.
Probably the most used work [the buzz word] is integration layer. Everybody is using it and therefore we’ll use it in the next chapters also.
MULE ESB CE
Most of the companies these days have embraced OSA [Open Software Adoption] which means that the technical team would start a small project by adopting and using the component. This is what happened in WEX Photo Video. We had to move away from point-to-point integrations and unique software data repository [the same data repository used by multiple software applications].
Of course are a lot of reasons and considerations when an ESB is picked and at the time, we had a few in mind:
- Open-Source – No payment or licence impediments.
- Lightweight – Source of the component, resource considerations.
- Documentation [online communities or online documentation]. Where to find the things you need to move forward with the technicality of the problems you try to solve.
- Learning curve – How quick you can learn the concepts? What are the languages uses to customize and extend out of the box components?
Every aspect is important and should be properly considered when you pick your ESB.
And the rest it is history …
After 3 months we had implemented MULE CE flows which transfer back and forward, from the back end to front end, data for customer updates to promotions and products details. We had leveraged a full set of services avoiding paying the license for enterprise edition (which at the time was an estimate of £70k) and not broken the turnover of the company: £70 million and growing.
The learning curve was hard and at the end of the 10 months, the knowledge within the team had grown exponentially and we had solved problems with the MULE ESB CE like:
- Reading files consistently
- Processing web service (SOAP – WSDL)
- Database connection (MS-SQL)
- HTML Mailing Templates and Notifications
- Processing strategies
- Exception handling
Starting to bring all together under a simple but effective documentation I had ended up with a book where we solved some of the problems which are present in every IT system of an online retailer.
You can find now for free download some of the code made for simple cases. Still, I did not want to make from this small website “just another resource site” or “another missed problems but around the concept thing“. That is why I had prepared some real case scenarios which you can successfully use to implement and create your own flows.
Comments are closed