Vou demonstrar neste post um exemplo de aplicação ASP.NET MVC que permite o envio de emails a partir de servidores SMTP previamente cadastrados no sistema.
O interessante desta aplicação é que vamos tirar a responsabilidade do envio de email da aplicação web e transferi-la para serviços WCF, que utilizam o mesmo modelo de domínio da aplicação. Misturando DDD e SOA, o sistema adota alguns padrões conhecidos como o Repository, Unity of Work, Abstract Factory, REST...
A topologia da arquitetura é demonstrada abaixo :
- Presentation Layers: Camadas responsáveis pela interface com o usuário.
- Application Control Layer: Camada responsável por fazer a ponte entre as camadas de apresentação e a camada de serviços, delegando o trabalho solicitado pelo usuário aos serviços necessários.
- Services Layer: Realiza o trabalho de fato. Dividida em duas camadas que possuem a mesma finalidade, porém são implementadas de maneira diferentes. (SOAP x REST)
- Data Access Layer: Responsável pela persistência de dados.
- Domain Model Layer: Responsável pela definição dos objetos e regras de negócio do domínio. Possui as entidades mapeadas abaixo:
Resumo do código para envio de email:
1 - Presentation Layer (Web):
2 - Application Control Layer:
3 - Services Layer:
4 - Domain Model Layer (Entidade Mensagem):
http://comprasonline.intcom.com.br/LogIn/
Para o login use email = teste@intcom.com.br e senha = teste
Para download dos arquivos da solução, use o link:
http://comprasonline.intcom.com.br/EmailServicesSample.rar
(Necessários: Visual Studio 2010, ASP NET MVC 3 e Sql Server Compact Edition - O URL estranho é devido a falta de tempo para registrar subdomínios)






No comments:
Post a Comment