Posts

Showing posts from 2017

CQRS - Command Query Request Segregation

Overs the years i have the idea of decoupling the query and actions on a resource and came up with examples where ever I could. Bit i was not able to articulate the same in terms of a pattern. I recently found there is a similar pattern and obviously a popular pattern in today microseconds world. This pattern is called CQRS(Command Query Request Segregation). Yes, I know, who would have come up with such a mouthful, but the underlying concept is pretty simple. This pattern specifies that all queries and command (actions that mutate state) should be segregated. This means an API to access a resource should segregated the query and command interfaces. This would help the API consumer and producer in managing and consumer the api easily without worrying about unintended side effects. Thuis pattern is particularly useful in a microseconds architecture. Also another pattern which gels well with CQRS is Event Sourcing. Event Sourcing is the processing of mutating state via events rath...

JMeter with Maven

Image
Recently I had a requirement to run JMeter scripts in Jenkins/bamboo. There is not much information on the web to do the same and I had to spend a significant about off effort to get it working. Hopefully, the attached pom should help anyone trying to setup a Jenkins/bamboo build. This script assumes that you are trying to use your custom build of JMeter along with plugins. Even though you might not need everything in the pom the dependencies and the attributes that you can set will give you an idea to enhance the pom as required. Will update the page with more explanation once I get some time. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>performance-tests</artifac...

Understanding SNOMED-CT data model: Basics

Image
Ever wonder why specifications from a standard body are complex? Have a look at Java Specifications or try understanding a new declarative language, they are mired in complex functionality and assumptions. A couple of years ago, I came across SNOMED-CT and found that not all specifications are made equal. Being an IT professional, I expected such kind of work from an IT major, but surprisingly it came from the medical community. SNOMED-CT is a specification for identifying, defining and describing medical terms. This should have been one of the complex specification in the know IT world but is one of the simplest. The authors of this specification understood the underlying structure of the data should closely represent the domain model, which is the medical terminology context. The following is the basis for the specification(I will use terminology and specification interchangeably in this blog): All components in the terminology are represented by Concepts. Any re...

Why the role of IT in Financial Institutes is more important than ever

Image
Most of today financial institutes see IT expenditure as an expense which eats into their profit margins. But, in todays world where you can order virtually anything on the Internet.  Interestingly , you can buy the Moon . But, try buying an insurance or apply for a loan and you would spend anywhere between 1 hour to days to get the policy or loan approved. Why does this happen? Why organisations tend to see IT as an expense rather than as an Investment? From a finances perspective, IT expense does not convert to revenue. Something similar to using fuel in a Taxi. For a taxi driver the taxi is an investment and the fuel consumed is an expense. Even though his taxi does not run without fuel, it is always seen as an expense. This would mean, sometimes it might seem to be a good idea to use subpar fuel to improve profitability. Businesses cannot survive without IT it is the life blood of modern organisations.But from a finances perspective it looks like an never ending ...

Master Data Management in Financial sector

Image
One of the problems with large banks is that they are monsters created by mergers and acquisitions. The initial plan would be to merge the software stacks in a phased manner. Identify systems that provide common functionality. Identify costs associated with maintaining and upgrading the systems and software. Select a strategic platform. Start your project to migrate all applications onto the strategic platform. Start Phase 1 Get lost in business process translation. Most of the time it is too hard to merge two software stacks and come up with a single unified strategic platform. Higher Management would see this as a futile exercise and will take a decision to maintain the two systems and merge them in the future to save costs in the short term. Now, from a customer perspective you are a single bank, but the from the bank perspective you are a different customer in each of their systems. To simplify things, let us assume a bank which is standalone and does not have t...