Can we describe a component-based architecture as a distributed system for an example EJB is a component based architecture as well as it has qualities to become a distributed system? So how can these two concepts combine together, or to d开发者_开发问答ifferentiate.
Thanks.
"Component-based" means "separation of concerns", whether those are:
physical (with tiers, where each "compoents" represent a physical unit of separation/deployment, like a 3-tiers architecture with a web server (1 tier) delivering web pages (another tier) which draws on data from a database the 3rd tiers. See FinnNk's answer for the question 3 Tier Architecture vs 2 Tier Architecture.
logical (with layers with components representing responsibilities).
The term component is "generic" enough to be applied to any architecture where you can identify several concerned which can be isolated.
Hence, a distributed system can be viewed as a collection of physical components (the "nodes") or logical components (as for EJB: a server-side "component", here a "model" that encapsulates the "business logic" of an application)
In both cases you divide a system into parts.
The difference in a distributed system is that the it can be called over the wire.
You should have a look at the 4 pillars of service orientated architecture:
http://www.stsc.hill.af.mil/crossTalk/2007/09/0709LewisSmith.html
精彩评论