Archive for the ‘ Uncategorized ’ Category

RPC with Rest Services

As per my understanding, rest services help communication among strangers, with strong chances of no or very little additional communication need.
Its based on http protocol which was originslly designed to make the communication possible between browser and web servers.
Browsers request to web servers for some resources. Interactions between them are simplified to crud like actions.
All is well, as long as you are aligned with these original intentions. But, when you want to do a rpc with rest, then you are not aligned any more. You make adjustments. And then, why these should not be tagged as technical debts?

From .NET to JVM – a cultural shock

World was limited when I was with .NET,  with Windows. It was controlled by Microsoft. Waited for newer versions, and whenever it came out, I was like a ecstatic child, overwhelmed by Microsoft’s Santa Claus like role.
So when I moved to Java, my first cultural shock was absence of any Godlike authority. Nobody will say do this and this is the [only?] way.
My first problem was where to start? I wanted to do a web application. Now, which framework to choose? What is the difference between Java EE and Spring? Its like a whole new world.. Eclipse or Netbeans or Idea? Maven or Ant or Gradle? Why am I pushed to take a decisions about everything? If you say, one can always choose a framework where he will get everything he wants for his tiny to mid sized solution, but then, choosing that suitable thing is itself another big decision to make.
In Java world, they have something called community process. Very much democratic, participatory and lengthy. There are different groups of people. Some like standards, some don’t wait for community, just create something easy and powerful. Lots of opinions.
Biggest bunch I see are the people who mix and match. And so considering the various options at every point one has, it is highly likely to find oneself in the middle of a very weird mix. And you poor user end up with some unsolvable dead-ends. After a while you might find out it was a silly version mismatch. As a good JVM user, you should be a good problem solver and a very good Google user.
This Java world is very enterprisy. When I see projects like Drools, Camel, Akka, JPos, Axon Framework… wow! That shows the wideness and variety and also overall maturity of the ecosystem.
After a certain period, I too, thought about the best mix. For me, it will be written in Scala, on Play Framework. There will be Akka actors to solve concurrency and fault tolerance. Drools to externalize complex and ever-changing business rules. And for storage it will be a mix. Probably Mongodb and Oracle/MySql. The project I am thinking about will solve problems of a  financial domain.