Postagens

"Beginning WSO2 ESB" - A beginner to expert guide for learning WSO2 ESB

Imagem
I'm glad to announce that my first book " Beginning WSO2 ESB " has published with  Apress publications .  In this post, I would like to share some of the key highlights of the book.  Why " Beginning WSO2 ESB"?  The book 'Beginning WSO2 ESB’ provides a comprehensive coverage of the fundamentals of  WSO2 ESB  and its capabilities, through real-world enterprise integration use cases. Hence this book is well suited for both the readers who are getting started with WSO2 ESB as well as who are already familiar with WSO2 ESB.  Also, WSO2 ESB has drastically evolved over the last several years and now it's in the 5th generation. There's been a lot of new features added while some of the existing features got deprecated. Therefore, there is an increasing demand to have a central place to understand the new features along with the best practices of using existing features. This book is fully up-to-date with the latest WSO2 ESB 5.0 version. Hence you will ...

Microservices in Modern Enterprise Architecture

Imagem
As microservices architecture is getting so much of a traction, most of the stake holders of enterprise IT are wondering how does it affects the other architectural paradigms such as Enterprise Integration and API Management. The objective of this post is to provide an insight into how a modern enterprise architecture would look like once we introduce  Microservices architecture into it. (However if you are still new to Microservices architecture you may refer my previous blog post 'Microservices in Practice' .) I would like to start this discussion of how Microservices fits into the the overall IT landscape by elaborating some views from Gartner on Microservices. The microservies architecture, essentially removes quite a lot of complexity when it comes to design, development, deployment and inter-service/system communication of the (micro)services. However, the complexity which is removed from Microservices layer, has to be fulfilled by some other component/layer. For example,...

Microservices in Practice

Imagem
Nowadays, Microservices is one of the most popular buzz-word in the field of software architecture.  There are quite a lot of learning materials on the fundamentals and the benefits of microservices, but there are very few resources on how you can use microservices in the real world enterprise scenarios.   In this post, I'm planning to cover the key architectural concepts of the Microservices Architecture(MSA) and how you can use those architectural principles in practice. Monolithic Architecture  Enterprise software applications are designed to facilitate numerous business requirements. Hence a given software application offers hundreds to functionalities and all such functionalities are piled into a single monolithic application. For examples, ERPs, CRMs and other various software systems are built as a monolith with several hundreds of functionalities. The deployment, troubleshooting, scaling and upgrading of such monstrous software applications is a nightmare. Service...

Building a connected Retail IT architecture - "Connected Retail Reference Architecture"

Imagem
This is a recent white paper that I have written on building a Connected Retail IT Architecture using a middleware platform. Here we discuss about the typical structure of a Retail IT system and the common problems that we face when building an agile Retail IT. This provides a reference architecture for any Retail IT system and then I try to realize it with the WSO2 Middleware platform. To become a successful business in the ever-changing retail market, the retail business must have a connected retail IT architecture. This retail IT system should be able to connect with existing legacy systems, services, and data. At the same time, it would need to cater to demanding customer needs, flexibility, and agility in exploring new markets, expanding IT capabilities inside and outside the organization (SaaS), and enhance overall performance of the IT system. This white paper will discuss the importance of creating a connected retail system today and explain how a complete middleware platform c...

The Past, Present and Future of Enterprise Integration

The Evolution of Enterprise Integration -

Recently I have written a white paper on the evolution of Enterprise Integration where I discussed about the history of Enterprise Integration, SOA, ESB, API-Management and the future of integration technologies such as iPaaS(Integration Platform as a Service). The need to seamlessly connect cloud and mobile apps, multiple data streams, social media, and on-premises systems is challenging IT groups to keep pace with a rapid evolution in enterprise integration. A new white paper from WSO2 addresses this demand by presenting how to implement a modern integration platform that empowers the enterprise to build an internally and externally connected business. The white paper, “The Evolution of Integration: A Comprehensive Platform for a Connected Business,” was written by WSO2 Software Architect Kasun Indrasiri. It begins by discussing the several architectural approaches to integration. The paper then explores how the bus architecture and the advent of the service-oriented architecture (SO...

Understanding Reactor Pattern with Java NIO

Imagem
Why non-blocking IO A typical server application, such as a web server, needs to process thousands of request concurrently. Therefore, the modern web server needs to meet the following requirements. Handling of thousands of connections simultaneously (significant number of connections may be in idle state as well) Handling high latency connections Request/response handling needs to be decoupled Minimize latency, maximize throughput and avoiding unnecessary CPU cycles Hence, to cater to such requirements, there can be several possibilities in the server application architecture. Having a pool of sockets for each client, and periodically polling them: This is the most straightforward approach; however, it is more or less impractical without non-blocking sockets. This is extremely inefficient and never scales with the increasing number of connections. Thread per socket: This is the conventional approach and was initially used in some applications and this is the only practical solution wi...