OSGi vs printemps vs Struts vs EJB vs Hibernate - une question totalement newbie

Je ne suis pas familier avec ces "cadre" de "composants", mais quelqu'un peut-il me donner un 101 introduction à propos de ce que la relation qu'ils ont les uns envers les autres? En gros, je veux savoir environ:

  1. quoi et quelles sont les contreparties pour chaque autre
  2. ce qui et ce que sont complémentaires de la technologie (par exemple, un cadre peut être utilisé avec B comme une composante)
  3. ce que grands noms, ai-je manqué liste ci-dessus dont je ne devrait pas avoir?

Quelqu'un peut-il me donner un haut niveau d'intro? Après avoir lu les deux premières réponses, quelqu'un peut-il donner plus d'explications sur le Printemps vs OSGi, sont-ils en marché séparé (Enterprise vs Mobile)?

Merci beaucoup

source d'informationauteur sean