When im­ple­ment­ing a ser­vice-ori­ent­ed ar­chi­tec­ture (SOA), there is al­ways the choice be­tween com­po­nents (in­clud­ed mod­ules of reusable func­tion­al­i­ty) ver­sus ser­vices (de­ployed once, reused by calls over the net­work).

How do you know which one to choose? There is a lot of things to con­sid­er, but these will give you a head-start:

  • if there is a need for dif­fer­ent con­fig­u­ra­tion pa­ra­me­ters per con­sumer, fa­vor a com­po­nent
  • if per­for­mance of re­mote net­work calls is prob­lem­at­ic, fa­vor a com­po­nent
  • if de­ploy-once is cru­cial, fa­vor a ser­vice
  • if you have no con­trol over the de­ploy­ment pa­ra­me­ters, fa­vor a ser­vice (e.g., if the provider is a third par­ty)
  • to dy­nam­i­cal­ly switch be­tween both, choose ser­vice com­po­nent ar­chi­tec­ture (SCA)

Also, keep in mind that com­po­nents re­quire set­ting up the re­quired in­fra­struc­ture (data­base schema, queues, etc) for each de­ploy­ment.

Prob­a­bly most read­ers of this blog post will know about com­po­nents, be­cause you prob­a­bly use Trans­ac­tion­sEssen­tials as a com­po­nent slightly smiling face

RSS

Com­ments

Corporate Information

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

Contact Us

Copyright 2026 Atomikos BVBA | Our Privacy Policy
By using this site you agree to our cookies. More info. That's Fine