Tpicos
da
aula
Servios
como
componentes
reusveis
Engenharia
de
servios
Desenvolvimento
de
soHware
como
servios
Web
services
Um
web
service
uma
instncia
de
uma
noo
geral
de
um
servio:
an
act
or
performance
oered
by
one
party
to
another.
Although
the
process
may
be
8ed
to
a
physical
product,
the
performance
is
essen3ally
intangible
and
does
not
normally
result
in
ownership
of
any
of
the
factors
of
produc8on.
A
essncia
de
um
servio
portanto,
que
a
prestao
do
servio
independente
da
aplicao
usando
o
servio.
Provedores
de
servio
podem
desenvolver
servios
especializados
e
oferec-los
a
um
conjunto
de
consumidores
de
servio
(usurios)
de
diferentes
organizaes
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 5
Bene@cios
do
SOA
Os
servios
podem
ser
providos
localmente
ou
terceirizados
para
provedores
externos.
Os
servios
so
independentes
de
linguagem.
Inves-mentos
em
sistemas
legados
podem
ser
preservados.
A
computao
interorganizacional
facilitada
por
meio
da
troca
simplicada
de
informaes.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
6
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 7
Principais
padres
SOAP
um
padro
de
troca
de
mensagens
que
apia
a
comunicao
entre
servios.
UDDI
Dene
os
componentes
de
uma
especicao
de
servios
que
pode
ser
usada
para
descobrir
a
existncia
de
um
servio.
WS-BPEL
um
padro
para
linguagens
de
workow
usado
para
denir
a
composio
de
servios.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
8
Cenrio
de
servios
Um
sistema
de
informao
no
carro
fornece
aos
motoristas
informaes
sobre
clima,
condies
de
trnsito,
informaes
locais,
etc.
Esse
sistema
est
ligado
ao
rdio
do
carro,
ento
a
informao
entregue
como
um
sinal
em
um
canal
de
rdio
especca.
O
carro
equipado
com
receptor
GPS
para
descobrir
a
sua
posio
e,
com
base
nessa
posio,
o
sistema
acessa
uma
srie
de
servios
de
informao.
Informaes
podem
ser
entregues
no
idioma
especicado
pelo
motorista.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
10
Mobile Info Service Translator Language info Collates information command gps coord
Info stream
11
Desenvolvimento
de
soHware
com
servios
o
desenvolvimento
de
soHware
convel,
onde
servios
so
componentes
fundamentais
Desenvolvimento
de
soHware
com
reuso.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
13
Uma
cr-ca
dis-no
entre
um
servio
e
um
componente,
conforme
denido
no
CBSE,
que
os
servios
so
independentes
Os
servios
no
tem
uma
interface
requires.
Os
servios
contam
com
comunicao
baseada
em
mensagens
com
mensagens
expressas
em
XML.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
14
Interao sncrona
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 15
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 16
17
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 18
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 19
Engenharia
de
servios
o
processo
de
desenvolvimento
de
servios
para
reuso
em
aplicaes
orientadas
a
servios.
O
servio
deve
ser
projetado
como
uma
abstrao
reusvel,
que
pode
ser
usada
em
sistemas
diferentes.
Envolve:
Iden-cao
do
servio
candidato
Projeto
do
servio
Implementao
do
servio
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
20
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 21
22
Classicao de servios
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 23
IdenOcao
de
servios
O
servio
associado
com
uma
nica
en-dade
lgica
usada
em
diferentes
processos
de
negcio?
A
tarefa
aquela
que
cumprida
por
pessoas
diferentes
na
organizao?
O
servio
independente?
O
servio
tem
de
manter
o
status?
Uma
base
de
dados
necessria?
O
servio
poderia
ser
usado
por
clientes
de
fora
da
organizao?
Diferentes
usurios
de
servios
devem
ter
diferentes
requisitos
no
funcionais?
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
24
Servios
de
catlogo
Criado
por
um
fornecedor
para
mostrar
qual
bem
pode
ser
solicitado
por
outras
empresas
Requisitos
de
servios
Uma
verso
especca
de
catlogo
deve
ser
criada
para
cada
cliente.
O
catlogo
poder
ser
baixado.
A
especicao
e
os
preos
de
at
6
itens
podem
ser
comparados.
Recursos
de
browsing
e
pesquisa
sero
fornecidos.
Uma
funo
que
permita
que
a
data
de
entrega
seja
prevista
para
itens
pedidos
ser
fornecida.
Pedidos
virtuais
sero
apoiados
que
reservam
produtos
por
48
horas
para
permi-r
que
um
pedido
real
seja
colocada
sero
fornecidos.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
25
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 27
28
Projeto
de
mensagem
Projetar
a
estrutura
e
a
organizao
das
mensagens
de
entrada
e
de
sada.
Notaes,
tais
como
a
UML,
so
representaes
mais
abstratas
que
XML.
Descrio
WSDL
A
especicao
lgica
traduzida
para
uma
descrio
WSDL.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
29
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 30
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 31
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 35
36
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 37
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 38
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 39
Ian Sommerville, Engenharia de SoHware, 8. edio. Captulo 31 [if977] Engenharia de SoHware - SI - CIn - UFPE 41
Teste
de
servios
O
teste
dedica-se
a
encontrar
defeitos
e
a
demonstrar
que
um
sistema
atende
aos
requisitos
funcionais
e
no-funcionais.
O
teste
de
servio
di}cil,
visto
que
os
servios
(externos)
so
caixas-pretas.
Tcnicas
de
teste
baseadas
em
cdigo
de
programa
fonte
no
podem
ser
usadas.
42
Pontos-chave
Engenharia
de
soHware
orientada
a
servios
baseada
na
noo
de
que
programas
podem
ser
construdos
pela
composio
de
servios
independentes
que
englobam
funcionalidade
reusvel.
Interfaces
de
servios
so
denidas
em
WSDL.
Uma
especicao
WSDL
inclui
a
denio
de
-pos
de
interface
e
operaes,
o
protocolo
de
ligao
usado
pelo
servio
e
a
localizao
do
servio.
Os
servios
podem
ser
classicdos
como
servios
de
u-lidades,
servios
de
negcios
ou
servios
de
coordenao.
O
processo
de
engenharia
de
servio
envolve
a
iden-cao
de
servios
candidatos
para
implementao,
denio
de
interface
de
servio
e
implementao,
teste
e
implantao
do
servio.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
44
Pontos-chave
Interfaces
de
servio
podem
ser
denidas
para
sistemas
de
soHware
legados
que
podem,
ento,
ser
reusados
em
outras
aplicaes.
O
desenvolvimento
de
soHware
usando
servios
envolve
a
criao
de
programas
pela
composio
e
congurao
de
servios
para
criar
novos
servios
compostos.
Modelos
de
processo
de
negcio
denem
as
a-vidades
e
troca
de
informaes
em
processos
de
negcio.
As
a-vidades
em
processo
de
negcio
podem
ser
implementadas
por
servios
e,
desse
modo,
o
modelo
de
processo
de
negcio
representa
uma
composio
de
servios.
Tcnicas
de
teste
de
soHware
baseadas
em
anlise
de
cdigo
fonte
no
podem
ser
usadas
em
sistemas
orientadas
a
servios
que
contam
com
servios
fornecidos
externamente.
[if977]
Engenharia
de
SoHware
-
SI
-
CIn
-
UFPE
45
Leituras
recomendadas
SOMMERVILLE,
I.
Engenharia
de
SoHware.
8.
Ed.
So
Paulo:
Pearson
Educa-on,
2007
Captulo
31
46