[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [soa-rm] SOA System
As Object-Orientation is about constructing applications from building
blocks called "objects", Service-Orientation is about constructing
applications from building blocks called "Services". Question: Is it
necessary that there be more than one service in order that SOA be SOA? Answer: One SOA
service by itself does not do much. A set of SOA services is called an “SOA
System”. When we say “SOA”, we generally assume the existence
of an SOA system which is the subject of discourse. Question: Is it necessary
to call services only in sequence? Answer: Yes and No.
In fact, the question stated like this does not make sense. There are two
cases. The first case is when the initial caller is a simple service consumer
(that is a client which is not an SOA service). The second case is where the
caller is an SOA service. For the first case, the client makes calls in a
sequence only. However, that does not mean that the messages will be delivered
in that sequence. All the messages go through the SOA Fabric and they may
arrive in different order or at the same time. For the second case where the
caller is an SOA service, there is a possibility of calling in parallel
(instead of in sequence). In fact, an SOA service may even initiate a complex
process which consists of a mixture of parallel and sequential calls (For
example, initiating a BPM process whose activities are the SOA services within
an SOA system). [Duane]: My gut feeling
is that having multiple services is probably a given for any specific
implementation of SOA, however it is not a requirements for something to be
service oriented. If I architect one application and build it with a
single service, service description, policy set, (+ whateverElseGetsInTheReferenceModel),
is that service oriented architecture? I think yes. There are two phases: the development phase and then the deployment
phase. During the development phase, each service can be developed by a team
somewhere on the planet: “Service A” being developed by a team in
China, “Service B” being developed by a team in Canada, “Service
C” being developed by a team in Japan, etc… When the
development phase is done, the various services are deployed to form an SOA
system. SOA only becomes SOA when the deployment phase starts. A single service
by itself is not SOA. Two important things to notice about this process: 1. 2. Incremental
Deployment: This is the second big difference between Object-Orientation and
Service-Orientation. In object orientation, an application must be deployed as
a whole (as one single unit). In service orientation, an application is always deployed
incrementally. Various services are added at various times without breaking the
functionality of the whole system. Regards, Hamid. -----Original Message----- Ken Laskey wrote: > The essence of a SOA is multiple services coming together to
satisfy a > set of needs. This is the core point we have not reached consensus on yet. This
is a well worded as can be so I would like to use this assertion as a basis for the discussion. Thoughts: I would agree that "The essence of a SOA infrastructure is
multiple services coming together to satisfy a set of needs. I do have reservations about the concept of multiplicity of services being used
as a key metric to define SOA. Questions: 1. Is it necessary that there be more than one service in order that
SOA be SOA? 2. If yes to #1, is it necessary to call services only in sequence? My gut feeling is that having multiple services is probably a given for
any specific implementation of SOA, however it is not a requirements
for something to be service oriented. If I architect one application
and build it with a single service, service description, policy set, (+ whateverElseGetsInTheReferenceModel), is that service oriented architecture? I think yes. I would fully support a reference architecture depicting multiple services being used either sequentially or in parallel, however
think that is a sub project best left for a dedicated sub committee. Duane > |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]