Sunderam Goplalan

Ranch Hand
+ Follow
since Oct 10, 2011
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
(keep public parts private until JForum day)
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt
Moderation Tools

Recent posts by Sunderam Goplalan

a cuddly kitten
born in to World wide web
cherished functional javascript

a supple cat
inhaling an iota of scala functions
exhaled an old object

an astute cat
swiftly browsing Functional fields
eats Erlang lizard
an Agile Cat
sensing whiff of Functional breeze
drinks clojure milk
cats' sparkling eyes
peering via Functional lens
in to green fields of Erlang

cat playing in the
soil of Functional Programming
where thrives Erlang
Ah, Ok. You are right in the context of a full fledged micro services for an Enterprise. That would be definitely something different from laying out a traditional web app. I was referring to the use case of splitting up just one monolith -- say a gaint EAR application -- in to a bunch of reusable small micro services as a pilot project. But I think even while doing so, one needs to think at the "enterprise" level you alluded to.

On a different note, when I did the TOGAF certification recently, I was reading about "Common use applications". These are, per TOGAF standard,

Development of applications used across the enterprise is preferred over the development of similar or duplicative applications which are only provided to a particular organization

Are micro services the same as Common use applications described above? If so, would it be correct to say that "MicroServices" are one way of realizing the TOGAF goal of "common use applications"?
2 years ago
Hi Sam,

I think that from the development perspective, there isn't a big deal of difference between a monolith and microservices. Basically, once you have properly packaged your monolith in terms of business
domains etc like invoicing, finance, HR...., then it's just a question of creating a bunch of jar files in the proper format. Of course common modules may go in to web-inf/lib so all micro services can use that code.

However, what about monitoring after it goes to production? do you believe the IT industry currently has a good set of tools to say,

1) deploy 1/2 microservices in isolation,
2) administer a subset of services independent of others like performing property updates.
3) restart one/two microservices and ensure that the App is fine.
4) Restarting dependent services in proper order.


As a comparison, for a monolith running in jboss 7, all the above could be done via JMX-Console. Ideally something like this would suit for micro services.

G Sunderam
2 years ago
Hi Sam,

I recently watched a talk on micro services by Redhat. The speaker was telling that it would be sort of inappropriate to start the design of new apps with micro services. The idea is that building micro services requires in depth analysis of the business goals, business context etc. This analysis usually sheds light on "services" required at a granular scale, which aids in developing micro services. Usually such a comprehensive requirements is seldom available when the project kicks off. So, one may be better of building traditional WAR/EAR to begin with and then breakdown the EAR/WAR to microservices at a later stage when more insight is acquired during the course of the project.

What are your thoughts on the above? Would you rather go with micro services approach from day one for new projects?
2 years ago
Thanks David and Rehan for your responses.
2 years ago
Hello David,

I believe mobile security is also part of android development. If so, does this book address also the security aspects in Android development? Also does the Android platform provide
out of the box security, something akin to javax.crypto packages?

Sunderam G
2 years ago
Hi David,

Welcome to ranch!

I'm basically coming from a java/j2ee background and been in the web development arena for 12 years. What are the fundamental differences between
programming for web versus programming for android? I suppose java is used in the android development world? Is that correct? Memory footprint, hardware considerations etc.

Sunderam G
2 years ago
Could you give a little background about your webservice method? Which framework or library you use to deploy the service? Which Java EE version you are using?

You could hook up the Spring AOP for intercepting the web service method call.
2 years ago
I took the TOGAF Certified test today in Phoenix and passed with 80%. Thanks to all ranchers who shared the Online test links.

I went through TOGAF Certification Official Study guide and online materials from the TOGAF website. Took the 12 Question test in the end of the Official Study Guide on Sunday.

Note: In the exam, there was a REFERENCE button provided so that I could view the pdf version of the TOGAF Copy. BUT that button didn't work! When I hit that button the System opened up a dialog
that should have supposedly brought the material. Instead, the test got exited and took me to the first START Screen! When I hit START button, the test resumed from where it left off. This was happening
a few times and then I gave up referring the PDF - I could, however, answer all the questions with all I had accumulated over the past few months. Did anyone else encounter this behavior?
3 years ago

It would be really strange if you would have a class Cat that extends class Dog. If you do that, you're saying that a Cat is a special kind of Dog. My cat will certainly disagree with that... So, the second half of your example is a little strange

I think I needed to clarify the above, what precisely I meant. I'm not saying that Cat extends Dog! I meant, Given the below, as an example

About the <? super Animal> use case, I meant that, say, a "collection

is already pre-filled with DOG instances". Suppose that another method "addMoreAnimals" that gets this collection as a parameter has the "potential" to add any subtype of Animal, by mistake, to the pre filled DOG collection. If one wants to maintain the sanity of the above collection and YET ALLOW that another "addMoreAnimals" method to ONLY
add Dogs in a guaranteed way, then that method's signature needs to be

The reason is that if you just had "addMoreAnimals(List<Animal>...), then this signature will allow the method to add ALSO Cat instances. Does that make sense?