Now the service is not only a conversion process, but also a resource that
is exchanged. What is exchanged is neither the barber, nor my hair, but
the hair dress service. That is what I pay for.
How is the hair dress service (as resource) created and destroyed again?
Can we say that it is created by a conversion process (at provider side)
and consumed by a conversion process (at customer side)?
Then perhaps the "result" link should be read the other way round: the
conversion event creates the service - like the conversion process type
realizing the service type.
At the same time, however, there are the subservices. From the main
service perspective, calling a subservice results in a conversion event
(e.g. subservice hair wash). But I now start doubting whether this is
still consistent. Or is the problem in that that take both an external and
an internal view on the service?
To be continued..
Hans
1. conversion process type use service type. Right, this is derivable.
2. REA exchange and REA conversion. Our assumption is that a service is a
resource, and hence exchanged as any resource/value object. Hence we
better model how a resource is exchanged in REA, and then see whether
there is something specific for services. My claim is it is not (see
more below). The second assumption is that a service changes the state of
some resource (the resource being the subject of the service, the state
being the goal). This has to do with REA conversion processes. See 3.
3. As we said, a service type is realized by a conversion process. What
does that mean? Claim: It means that there is a conversion process that
contains conversion events, and one conversion event *creates* the service.
This gives one answer to the question what "results" means. I think we
mixed up two things here. Anyway, I would say now first that the
arrow should be reversed and the label is "create", in the REA conversion
event meaning of the word.
4. The point is that a third assumption of our model is the duality
between service and process. A service is realized by a process, a
process uses (sub)services, that are realized by processes etc. If we say
that a service type is realized by a process type, then it is consistent
to say that the service is created by some event, and not vice versa.
5. In a complete service "value exchange" there is an exchange of a
service (two exchange events) and two conversion events. This is
differnt from a normal goods exchange, where the goods already exist
before and continue to exist afterwards. In the exchange of the
service, first a service instance is created, then this is taken from
the provider, then it is received by the customer, then it is consumed
by the customer. The sequence here is the logical sequence, since what
is special is that these events co-occur (if they would not co-occur,
then the service exists for some time in a between state - but then it
would be a material good).
6. So some conversion event creates the service (and in this way, a
processs realizes a service type). At the other side, the service is
consumed again (life is short..). This conversion event is accompanied by
a "creative" event - which is of course the value added to the "subject",
the realization of the "goal".
Similarly, at the back-end the conversion event that creates the service
is accompanied by a destructive event - which is the use of the enabling
resource(s).
7. As recalled in 4, a process uses subservices. A subservice is a
resource. The use of a subservice is not different from the use of any
other enabling resource.
8. The creative event in 6 may be seen as the other sense of the "result"
arrow.
At the consumer side, the service is consumed (destroyed in REA sense),
but this is accompanied by a creative event. It could be said that this
creative event "results from" the service. But this is a derived
relationship.
9. It is good to test the model with an instantiated example.
Barber offers hair dressing service
1. conversion event: time of barber is used
2. conversion event: a hair dress service is created
3. exchange event: hair dress service is deliverd
4. exchange event: hair dress service is received
5. conversion event: hair dress service is used/destroyed
6. conversion event: hair of Birger is cut
10. Now if the barber uses subservices step 1 above is expanded into
a conversion event: hair washing service is used/destroyed (after having
been exchanged, after having been created by assistant, after time of
assistant is used plus some shampo)
11. Now the relationship with real process, or work process. The idea
behind this relationship is that we wanted to make a bridge with process
modeling in general, and bpel processes in SOA in particular. So the point
of including it is: to describe orchestration. Assuming that REA does not
contain this concrete level (but a lot has been written in REA, so are we
sure?). The bridge is: a process implements a REA process, and the process
performs calls of services (those services that are created by conversion
events part contained in the REA process). It performs them in a certain
ordering, but this is not explicitly modeled.
12. In my view, if choreography is modeled somewhere, it should be related
to the REA exchange process. A choreography does not produce something,
like a process, but describes an interaction between two actors. The REA
exchange process is abstract: it only describes the economic effect. It
does not say how the interaction is established. In some REA ontology,
there is a notion of business event and business transaction,governed by
economic agreements/contracts. This I modeled in sheet 3b. My feeling is
that this is choreography; the business events being the message
exchanges.
13. My view on choreography is hence a bit different. Anyway, I would say
that an atomic service in SOA is by definition a black box, so then it
does not make sense to talk about actions realizing the atomic service.
However, is this necessary or SOA specific? Perhaps the word atomic is
misleading?
Hans
Dr. Hans Weigand
Infolab, Tilburg University
email: H.We...@uvt.nl phone: +31 13 4662806 fax +31 13 4663069
I understand your hesitation. Purely from a conversion point of view,
there would be two conversion events: one adding value to the subject, and
one consuming resources.
However, if the service exchange is an economic transaction, we view the
service as a resource exchanged. Then it makes sense to introduce a
service/creation and service/consume event in between. To split up a
conversion process into more fine-grained steps is not new. What is
unusual is the abstract character of the in-between product.
Still, the chain as a whole still consumes resources from the provider and
adds value to the subject at the customer side.
An important constraint on the model is that the creation and consumption
of the service co-occur. This is another way of saying that services
cannot be put in stock.
Hans
Dr. Hans Weigand
Infolab, Tilburg University
email: H.We...@uvt.nl phone: +31 13 4662806 fax +31 13 4663069
- the work of Erl is relevant (but I don't have the book yet). One thing
that we could use directly, I think, is the distinction between task
level, entity level and utility level. Although the notion of entity
service is debatable, not whether it is a useful concept, but whether this
should be called a service. Perhaps it can, if is clear that we are
talking about a data service : employee data service, customer data
service,etc. A service that uses certain IT resources and provides storage
and retrieval of data. Anyway, I think the distinction is useful at the
micro-level design of a software service. It is not applicable for
business service identification.
- the SOA magazine article, and the very idea of a SOAD method. Nice
overview, useful for intro. What strikes me most, upon reflection, is that
people (including our BUSITAL) still go for a "centralized" design
approach, whereas SOA is inherently decentralized. By centralized I mean that there
is a certain actor or task force group that is designing services -
perhaps using a combination of various techniques and methods.
Decentralized means that different stakeholders are identified (or
involved when needed) and the service design is the outcome of a
negotiation process. For example, the IT department is responsible for
software services. Each stakeholder tries to optimize from his local
perspective. This does not exclude the use of certain methods or
techniques, but it drops the assumption that seems to underly current work
that at the end of the day there is an optimal design. Optimal should be
indexed by stakeholder. Ideally, for each technique/method that we
propose we should make clear which stakeholder can use it, or in which
negotation it can play a role.
- about Birgers's comments. Certain choices that you present seem to me
not real choices, but let me throw in my contribution.
* I agree with what you say about the composition of conversion events
and the hierarchical structure. Only one point: when a conversion event is
executed by another actor, there is also an exchange involved.
* composition of exchange events, what you call grouping. This is not so
clear to me, but it is interesting. I don't see why it necessarily has a
flat structure (cf discussion on whether value interfaces should allow for
decomposition). More important is the question what this "grouping" stands
for. You talk about a work process. I guess you make here a link to
choreography?
* design time/run time. I think it is useful to distinguish a work process
that implements a process type and realizes a process - on design level.
What this work process also takes into account are the business rules. At
run-time, we have instances of this work process.
A work process describing a complex exchange (choreography) also may have
to comply to certain business rules/policies.
* I think it is good to have a generic service ontology, but at the same
time, more specific things should be said about software services, and
about how sofware services interface with non-software services. E.g the
levels of Erl (see above), specific for software services. Recognition of
the fact the the user of a software service is not always (often not) the
customer [example: an online check-in service at KLM is used by the
passenger, but the passenger is not the one who pays the KLM IT department
for it] This is because a software service is usually a delegated task.
* who is altering the resource? (3) I think both the REA process and the
work process, at different levels of abstraction.
* I don't get your point on right-changing resources
* I don't get the point of your remarks on conversion and
exchange process (6), although obviously I think the distinction is
useful. What is confusing to me is the sentence "a work process
implementing an exchange process realizes a grouped exchange service" -
particularly because we have not identified a thing like "exchange
service" yet. Who are provider and customer of such a service?
Although I don't get all the points, I think the discussion is very
useful, and we are progressing.
Hans
thanks for sharing your thoughts. When I do not get all of it, it is
because we need some more alignment and explicating of assumptions. So let
me once again try to explicate my assumptions.
On the relationship between process and work process. You say the
difference is between what it is and what it does. To me, the difference
is more between what it does and how it does it. Or better: between a
certain composition of activities (work process) and the economic
abstraction of this composition (process), i.e. the consumption and
production of resources. As REA events are defined in terms of changes in
resources, I have difficulty in following you when you say that the
process is about events and the work process about resources and how they
change. REA (and e3value, in some way) abstract to the economic aspect,
and it abstracts from process details - the ordering of the events, and
how the events are performed (which specific activities create the
events).
I agree with your ledger example: the administrator only records the
economic events, being the essence of the process from an economic point
of view: resources are added or substracted.
On the relationship between process and service. In some sense, you can
say that a service is an abstraction from a process. In the sense that you
abstract from internal events and focus on the value change in the service
subject (customer resource, you being transported) and the use of an
enabling resource (you being transported by train rather than by bus e.g).
To call this an abstraction makes sense when you start from the process
(service provisioning view). From a customer point of view, the service is
not an abstraction of course. To him, the the service is what he gets and
the process is whatever the provider does (not of customer's concern) to
realize that. What he gets is not a product but some value
transformation. Getting a product means having ownership rights and
custody. Getting a value transformation/service means the transformation
actually having happened (perhaps after some iterations). If you pay in
advance, you create an obligation for the provider to realize the
transformation later.
>For example, what is produced in the famous hairdressing example is
>the right to have the hair cut.
I am not so sure. Products and services are not completely symmetric. For
a product one has to specify the rights, because just saying "book" is not
sufficient. But "hairdress" cannot be misunderstood: you got it or you did
not. For the product, the ownership right is crucial, because that
guarantees that no one can take the product away. For the service, once it
has been delivered, it cannot be retracted or taken at all.
When you pay in advance, the provider has an obligation, you have a right.
Ok, but what is produced in the service is not a right, I would say.
Maybe we can skype in the afternoon to discuss some issues?
I will start working out the XYZ example, hope to be able to share
something later.
*business level
business services are identifiable services in the business that are
characterized by a certain economic autonomy. This means that in principle
it can be delivered in a cost-effective way by some actor, and that
managerial responsibility has been assigned to it.
A distinction can be made between core services and enhancing services.
Core services are part of the primary process, and produce value for
customers in some conversion process.
Enhancing services support other services
- as access service (information, contracting, ordering, fulfilment). The
function of an access service in relation to a core service is similar to
the function of a facade object in OO (Gamma patterns) and increases
loose coupling. Access services can be at the front (customer interface)
or at the back (procurement).
- as monitoring/management service
- as .. (other types?)
*information level
information services are software services that are characterized by a
certain autonomy. The direct value provided by the information service is
the recording, retrieval or exchange of information. (The indirect value
is that it supports coordination).
A distinction can be made between task-oriented information services and
entity-oriented information services (cf. Thomas Erl). Entity-oriented
information services maintain and provide information about entities
(busines objects) and typically have a CRUD-style web service interface.
Task-oriented services correspond to what Papazoglou calls business
*processes", whereas entity-oriented services are called business services
in this work. Task-oriented services are, by definition, composed of other
(composed or atomic) services (composition being constrained by business
logic). Entity-oriented services are usually atomic (on the informational
level - they do use infrastructural
services).
Alternative (better?) naming: composite vs discrete service
Information services can use other information services and use
infrastructural services as resources
Information services can be supported by management and monitoring
services whose aim is to maintain and improve the quality level of
the managed service over time.
*infrastructure level
infrastructural services are IT services that are characterized by a
certain economic autonomy (which makes them suitable candidates for
outsourcing) and usually support more than one information
service.
The value provided by the IT service is the storage of data or the
execution of programs.
The infrastructure level may include generic software services (e.g.
DBMS).
Infrastructural services use hardware as resource
Synonym: utility service (Erl), technology-oriented
Infrastructural services can directly support a business service in the
case of an IT-business (e.g. grid service business).
Also at this level we can have monitoring and managing services.
Informational services can support business (production) services in
the case of information industry. E.g a wheather forecasting.
In all industry branches, information services can support access
services, such as the order process.
Question:
- do we also need something like an exchange or communciation service
responsible for the communication via some channel or bus? For example,
between the customer and the company: internet or phone. Or do we see this
as part of the access service?
Hans
hereby a new version of the paper. It is not that easy to work out the
design method - on the one hand because we do have limited information, on
the other hand because the value models are quickly growing large.
Thanks for your many questions. I have to address some of them in more
detail. But in general the answer to most questions is "yes", so we are on
the same line.
About the knowledge/identity level: the knowledge level, in Verna Lee's
analysis, has to to with capability, so it is not just any information.
For example, SAP benefited from IBX's knowledge on procurement, in their
alliance, as they did not have that knowledge before. The examples in her
papers are about knowledge gained not on instance level, but by the
collaboration as such, or by analyzing the transaction stream.
The intangible level: I propose to focus on "identity", to give
it some coherence. So not every second-order value belongs to this
level - mostly not, I would say (e.g. convenience of buying). I would like
to limit it to effects on the social identity of the actor.
For example, SAP provided IBX with a trustworthy image.
Or consider the value of a brand in consumer goods. The brand is a
resource, the value object is "provide an image", and it has an effect
on the popularity or status of the consumer.
Your example of a book. The book itself is a good (transaction level).
Incorporating knowledge, it is a bit special; it also provides
knowledge at the knowledge level (knowledge and book not being the
same thing). The identity value may be in that you associate with the book
and the writer, which may help you to on the social level.
I think these levels are very interesting to explore further, but perhaps
it should go to a separate paper.
Ontologically, we can distinguish the following cases (exhaustive?):
- "subservice" A is subservice of B iff
Service A is consumed in process X that realizes service B
note: this is not the same as: service A produces a resource R that is
consumed in process X that realizes service B. In this case, there is only
an indirect relationship between service A and B
-"complement" (symmetric) A and B complement iff
Service B affects resource R and service A affects resouce R and A and B
are included in the same exchange process
where affect is synonymous to the "subject" relationship, defined as
follows:
A affects R iff A has a goal event E and E converts R
-"complementary service (asymmetric). Assuming that in an exchange
process, some services are considered "core", then B is a complementary
service if B complements A, A is core, and B is not core.
note: in this case, there is a certain existence-dependence between A and
B, in the sense that if A is removed from the exchange process, so is B.
This follows from the definition of "core" (to be stated yet).
However, the existence-dependence is not ontological. An ontological
existence-dependence exists when A not only affects R but either produces
R or exchanges R.
Example 1: hair washing as related to hairdressing is
existence-dependent in the first, but not in the ontological sense.
Example 2: a gift wrapping service is existence--dependent in the
ontological sense (be careful: the gift paper itself does exist
independently, but the wrapping not)
-"enhance" service A enhances service B iff
service A has a goal event E and E converts B
Note the ontological difference with complementary service. In this case,
service B itself is the goal of A. What does this mean? It is only
meaningful when we assume that services have features/quality attributes,
because then it can be "converted". This assumption is not odd, as
services are resources. The crucial question is what attributes of
services we distinguish. Here we may refer back to our previous work on
service qualities: security, availability, performance, ..
Note: if A enhances B, A is existence-dependent on B.
-"access service" A is an access service to service/resource B (for agent
C) iff there is an exchange process exchanging service/resource B to
agent C and service A is used in this exchange process
note: access services can apply equally well to services as other
resources (cars, books).
note: there may be a recursion (B being an access service), in principle
note: there is an existence-dependence
note: we assume here the existence of exchange processes. Is it possible
to define access service also without this notion?
Now the 1 million dollar question: what about a negotiation or
information (advertising) service?
It is an access service, as it is part of the exchange process
It is an enhancing service if we assume that availability is a quality
attribute.
Does it mean that access services are kind of enhancing service?
Perhaps the notion of access service is derivative. Why is a certain
access service included in the exchange process? Because it has an
enhancing function.
Note that we can also say that management services are enhancing services,
so it is not the case that every enhancing service is an access service.
There is also an alternative definition of access service; to avoid
confusion, I use the term interface service:
A is an interface service to service B if
the invocation of service A causes the invocation of B - or:
the goal of service A is that service B is realized or:
the exchange of service A causes the exchange of service B
to be continued..
thanks. I agree with core service being identifiable as value object,
although in a value bundle some may be more core than others.
You deviate from my proposal with the notion of coordination service, but
perhaps not that much. The definition of coordination is fine with me. But
the question remains, from a service ontology point of view, what the
subject of the coordination service is. It is a service, but what does it
convert?
If the answer is that it does not convert anything, the questions becomes
whether it is a service.
If the answer is that it transfers a resource economically (like a
transport service transfers some goods physically), then that resource is
the "subject" of the service. The resource being either a good or a
service. But then it is not too different from an enhancing service. The
difference being that it does apply to services AND goods; and that it
focuses on the economic transfer, rather than some other (quality) aspect.
But does this apply to information and negotiation service as well? Or
should we say that the information service transfers information about the
resource, and the negotiation service transfers commitments about the
resource?
Or related to that: is the "exchange of resources" a REA event type, or a
process (that uses services like information service), or a service (with
a process behind it) that aims at exchanging a resource economically.
Although I have some questions I like the idea of defining the
coordination services more in terms of what they actually do rather than
the abstract notion of adding value to a service. I started this morning
to update the methodology section in the paper, but if we follow this
line, I have to adapt it again. Which is not a problem.
I will update the paper (section 2, section 4) tomorrow morning. It is a
hectic time, next week I am at a conference (but with internet
connection) for three days. The Friday is reserved for the paper anyway. I
hope we can manage. If any of you wants to be first author, that is fine
with me. Anyway, I will do my best.
Greetings
Hans
Can you work on section 3? If I can do something on this section, then let
me know.
Hans