Neste artigo será apresentado como fazemos análise orientada a serviço, visando atender as necessidades de um sistema de “e-commerce”. Será apresentada uma lista de funcionalidades do site “exemplo”, para melhor entender o processo vamos determinar três recursos a serem discutidos, desenhar um processo, identificar seus serviços candidatos e desenhar o fluxo com seu atributo (área).
Este artigo tem como objetivo fazer o estudo e análise orientada a serviço de um case simulando o negócio de uma loja virtual, buscando compreender um processo baseado na arquitetura orientada a serviços (SOA).
Funcionalidades
A loja virtual tem as seguintes funcionalidades a serem atendidas pelo sistema:
- Informações dos Produtos
- Destaques de Produtos em Promoção
- Cadastro de Clientes
- Cadastro de Fidelidade
- Extrato de Compras por Cliente
- Cadastro de Produtos
- Consulta de Produtos
- Efetuar Pedidos
- Compra de Produto
- Carrinho de Compras
- Cancelamento de Pedido
- Cancelamento de Produto
- Pagamentos de Pedido
- Acompanhamento do Pedido
- Lista de Casamento
- Lista de Desejos
Itens escolhidos
Selecionamos essas três funcionalidades para fazer a análise orientada a serviço:
- Consulta de Produtos
- Comprar Produtos
- Carrinho de Compras
Detalhe das funcionalidades
Primeiro ponto é fazer uma descrição sucinta de cada funcionalidade para entender quais recursos a mesma deve oferecer.
Consulta de Produtos
Através deste recurso, o cliente poderá consultar um produto filtrado por categoria. Este filtro estará codificado na pagina web e será customizado por tipo de categoria. As informações disponíveis do produto devera conter suas características que serão definidas por categoria, feedback de cliente e preço.
Carrinho de Compras
Através deste recurso, o cliente poderá criar uma lista de produtos selecionados para compra. Esta lista deve disponibilizar informações resumidas do produto e calcular quantidade e valor da compra referente aos produtos selecionados.
Compra de Produtos
Através deste recurso, o cliente poderá comprar os produtos de sua lista de compra (carrinho). Para finalizar a compra dos produtos o cliente deve informar a forma entrega o sistema calcula o preço final, o cliente escolha a forma de pagamento e a compra é finalizada. O Cliente recebe um e-mail com a situação do pedido e um link para acessar a funcionalidade de acompanhamento do pedido.
Consulta Produtos - processo
A imagem abaixo representa como deve ser feito a análise do processo para identificar os serviços candidatos:
Após identificar os serviços candidatos devemos definir os serviços que serão desenvolvidos:
Após definir os serviços devemos ilustrar as área que interagem com o mesmo e definir a entrada e saída de informação desse serviço.A mesma ideia será aplicada nas próximas funcionalidades.
Carrinho de compras - Processo
Identificação de serviços candidatos:
Definir serviços:
Compra de produtos – processo
Identificar serviços candidatos:
Definir serviços:
Mapas de Serviços
Após fazer a análise de processo dos serviços devemos preparar o mapa para localização dos serviços:
Áreas responsáveis
Pronto com o mapa registrado só falta atribuir ao serviços seus donos, ou seja, áreas responsáveis pela necessidade do serviço:
Conclusão
Com esse artigo podemos concluir que o desenvolvimento de um software baseado em serviços pode trazer maior organização na área de TI. Dentre as vantagens podemos destacar a regra de cada recurso ter seu próprio dono e o reaproveitamento das funcionalidades definindo um melhor gerenciamento dos recursos e segurança da informação.
Espero ter ajudado a clarear melhor o que é uma análise orientada a serviço para atender uma arquitetura SOA.