Skip to content

My Architectural Headings

September 27, 2009

When I build a system, I try to:

1. Avoid ORM
they cause more trouble than what they solve. for simple cases I recommend pure JDBC and for complex cases i enjoy iBATIS (and recently IBM pureQuery)

2. Use Messaging
messaging is not just using a message broker, it is a mental model for designing messages first and then services (Contract First Design).

3. Insist on functional paradigm
insist in immutability, finalizing, constructor dependency injection and recursion.

4. Use In Memory Database and In Memory Data Grids
Rare systems require IMDG/IMDB solutions. We call such a systems XTP (extreme-transaction processing) systems. In such cases we ought to put data in memory rather on disk. I have used GigaSpaces, and Coherence in the past and now work closely with Infinispan. TimesTen is a another solution that an XTP architecture should have an eye on.

5. Reduce contention
EDA As much as possible.

6. Insist on Testing and Coverage

7. Live in -10/-5 years from Now
I don’t use tools unless they are proved or unless I have no other choice!

8. Java is not the Only one!
I am a Java architect but I recommend and learn other systems built with Python, C, Erlang and Scala as well.

From → Uncategorized

One Comment
  1. Jorge Ulloa permalink

    Hi Amin.

    Excellent blog!!.

    Jorge from Colombia

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

<span>%d</span> bloggers like this: