osgi

My past  more than 10 years IT journey revolve round same discusion again and again out of which following is the one.

"hey dude , do you know java design pattern? how many do you know? holy crap only 10 i know all the 24 :)"

full credit to GoF book.....

Many people (including me) never really understood and made an effort to understand why those patterns were given and the problem it solves

While learning and implementing OSGI, I really made an effort to understand why those patterns are and actually what they are doing in java world.

Here you go............

Most of the concepts are directly or indirectly related to basic two thing


  1. make everything loosely coupled
  2. highly cohesive


Interface is the basic and always came to rescue for above problem #1. We tried to make reality come true by making everything modular. Thought process making everything Modular helps us in lot many ways where management of code base could be one of them.

Design patterns does the same thing by making modular. but why through design patterns? This question  needs us to revisit the way java language is designed. Design patterns makes everything good at 'Logical level"

BUT

system design = logical + physical design

physical design in nutshell is the deployable unit on any environment e.g. jar file. and yes that's what we do. we create jar which consist of everything logically partitioned but grouped in single unit.

Now that an issue... since still we haven't got fully modular system.

OSGI stands for open service gateway initiative comes to rescue for above issue. It makes things modular at physical level in form of bundles.

Lot of friends may wonder and started thinking about SOA.. correct?

Yes , OSGI is similar at JVM world and not in"net" world which is web services.


I hope many of concepts are cleared...... keep exploring......

Comments

Popular posts from this blog

Cloud Architecture Notes

Qlik Sense Important Links