2 BACKGROUND
Generally speaking, patterns are reusable solutions
for recurrent design problems (Li et al., 2009). The
reuse of solutions that have already been devised and
that worked in the past is a good practice in the
development of systems, regardless of the paradigm
this implies. Although Gamma et al. (Gamma
et al., 2000) address the object-oriented paradigm,
they point out that the best designers know they
should not solve a problem based on basic principles
or from scratch.
2.1 Service Patterns
The concept of service patterns used in this study is
similar to that defined by Fki, Tazi and Dupuy (Fki
et al., 2010) an abstract service representing a generic
and reusable description. Besides this definition,
service patterns must contemplate the description of
atomic services and compound services, as well as the
interactions between services. Thus, service patterns
will be able to meet a government task or business
process.
Drawing a comparison between services and
service patterns, we can say that: i) while the goal of a
service is to be part of a highly reusable inventory, the
service pattern aims to be part of a highly traceable
service repository, ii) While a service is represented
by artifacts: specification of services, source code,
Web Services Description Language (WSDL) and
deployment code, the service pattern is represented
only by the Service Pattern Description document,
and iii) the reuse of a service is directly related to the
amount of service invocations, while the reuse of a
service pattern is related to the amount of times this
pattern has been used as the basis for specifying new
services. The service pattern is not implementable,
but it is used as a reference for the service definition.
A service pattern is intended to be more abstract
than a service. A service interface describes how the
service should be consumed, while a service pattern
is used as a basis to define a new service.
Service orientation has its origins in past
distributed computing design platforms and the
influence of established design concepts, approaches
and previously published design pattern catalogs.
As illustrated in Figure 1, the Service-Oriented
Architecture (SOA) design patterns are influenced
by design patterns of different areas: object
orientation, enterprise application integration (EAI),
enterprise application architecture and software
architecture. These patterns were certainly influenced
by Christopher Alexander’s original pattern language.
SOA design patterns are influenced by the design
patterns of other areas. Similarly, see the influence
of established concepts of SOA design patterns on
service patterns and consequently on the specified
services from the service patterns may be observed,
which is the purpose of this work.
The goal of using service patterns is to assist the
specification of new services from existing services
in government, aiming at the reuse of already
devised solutions. The goal of service-oriented
computing is to have service inventories that can meet
business processes. Therefore, based on the modelled
business process the service patterns catalog should
be consulted in order to locate service patterns that
may be suitable for the business process.
3 RELATED WORK
Specifically regarding the use of service patterns, the
works selected from a literature review on the subject
are presented in Table 1. The work analysis supports
the understanding regarding the proposed approaches
and also the mapping of the following information:
• Specific Application Domain – If the patterns
presented in the papers are meant to solve a
specific business problem or a problem of service
design that can be applied in various business
areas;
• Pattern Description – If the paper presents a
description scheme of service pattern. Nazih and
Alaa (Nazih and Alaa, 2011) present patterns, but
they do not provide a detailed description. It
displays a list of generic service patterns and a
diagram to represent the service abstraction layer
and sequence diagram to represent the interaction
between the actors of the systems.
In general, all of these patterns seek to support the
reuse of solutions, both solutions to a service design
problem, as well as to a specific business problem.
Among the works presented in Table 1, those that are
closer to the focus of this research are: Nazih and
Alaa (Nazih and Alaa, 2011) and Li et al. (Li et al.,
2009).
The following items are available in the e-PING
(BRASIL, 2012) portal: a template for specifying
services, called Documentation Interoperability
Services, and a catalog of services provided by
the government. The purpose of the catalog is to
provide services that have already been created and
made available by the government, aiming to the
consumption of these services.
ReuseofServiceConceptsBasedonServicePatterns
291