automatically calculated as follows:
3
AffectedSys(si) = {sys System |
tsv TechnicalServiceVersion with
hasInstallation (tsv, si) for which applies:
con Contract with
hasTechnServiceVersConsumer(con, tsv) and
hasContract (sys, con) }
All other IT systems indirectly (i.e., transitively)
affected by the change can then be identified as
follows: For each system sys AffectedSys(si), the
offered service installations AffectedServiceInstall
are determined based on relationship
providesServiceInstall. In turn, for each service
installation si' AffectedServiceInstall,
AffectedSys(si') is calculated on the next level based
on the above criteria. This procedure is continued
until all affected IT systems are determined.
Note that when solely considering the
relationships between IT systems (i.e. System) and
service installations (i.e. ServiceInstall), we might
identify dependencies that actually do not exist; i.e.,
from the fact that the program code of an IT system
calls a particular service, we must not conclude that
all offered services are actually available. In the
above example (cf. Fig. 3), system Sys1b and,
therefore, the offered services Serv2 und Serv3 are
connected with service installation SI1 that shall be
shut down. In this context, we need to distinguish
two cases:
Case 1: Assume that the implementation of TSV2
and Serv2, respectively, is based on TSV1 and
hence on SI1. If the adaptation of Sys1b
results in
a changed interface service Serv2 it offers, this
affects contract Con2 as well as the IT system
playing the role as its consumer.
Case 2: Assume that the implementation of TSV3
and Serv3, respectively, does not use any foreign
services, or at least not the service installation
SI1 (to be shut down). Then, technical service
version TSV3 may remain unchanged and no
modifications of contracts Con3a and Con3b are
needed. Since the consuming IT systems are not
affected by the described service shutdown, the
change needs not be propagated on this path.
Usually, the information stored in contemporary
SOA repositories is not detailed enough to be able to
____________________________________
3
Without loss of generality, we assume that for a technical
service version there exists only one service installation. Using
the SOA repository data (i.e., relationship hasInstallation), it
can be easily analyzed whether a service installation is actually
available or a switch to an alternative service installation is
possible; i.e. the ripple-effect ends at this point.
distinguish Cases 1 and 2. Hence, corresponding
analyses might reveal more problems than actually
exist. Opposed to this, the presented meta-model (cf.
Fig. 1) allows distinguishing the two cases: Using
relationship usesTechnicalServiceVersion, for
example, it becomes possible to (exactly) detect the
steps (TechnicalActivity) of a business process that
invoke the technical service version to be changed or
removed. With relation
belongsToTechnicalProcessVersion the
corresponding TechnicalProcessVersion (i.e., the
executable business process) can be identified. If the
latter is offered as a service, relationship
offeredAsTechnicalServiceVersion refers to the
corresponding TechnicalServiceVersion. Finally, if
an IT system has a contract referring to the latter, it
will actually be affected by the change; i.e. Case 1
applies and the analysis delivers the correct result.
Compared to a SOA repository that solely contains
information about the services consumed and
offered by an IT system, higher quality in planning
as well as decision support becomes possible.
Note that the information required by the SOA
repository can be automatically gathered during the
modeling of the business processes and services as
well as the specification and implementation of the
technical workflows and services (Buchwald et. al.,
2012; Buchwald, 2012). Hence, only little additional
effort becomes necessary for capturing repository
data. For function-oriented SOA applications
requiring no explicit process support, in particular,
the described approach may be transferred to the
modeling of services (e.g., based on UML), service
implementations, and service consumers.
4.2 Impact of Future Changes
In general, the impact of a future change may
depend on the exact time it will be applied. Hence,
the time perspective needs to be considered in what-
if-analyses. In particular, when simulating the
impact of a change for multiple future points in time,
different scenarios can be analyzed. In the following,
we illustrate such time-aware what-if-analyses.
Assume that the sole service installation SI0 of
the technical service version TSV0 shall be shut
down (e.g., to reduce maintenance and operating
costs). Assume further that the operator of SI0 plans
for a shutdown date in about 6 months from now.
Hence, it shall be analyzed whether this date is
advantageous from the perspective of the operator.
As a first step, a graphical overview of all related
contracts as well as their validity periods is created
(cf. Fig. 4). Such a chart can be generated
automatically based on the data stored in the SOA
ICEIS2015-17thInternationalConferenceonEnterpriseInformationSystems
244