Início Apresentações Não fique preso a apenas uma arquitetura
Não fique preso a apenas uma arquitetura
Resumo
Tópicos como SOA e DDD indicam que você divida seu domínio. Contudo, na prática, quase todo software tem um domínio monolítico e uma arquitetura única que é aplicada em todo software. Diferentes partes do sistema podem ter necessidades diferentes. Veja como o seu domínio na verdade são vários domínios, que podem ser quebrados em diferentes arquiteturas e como isso beneficia o desenvolvimento.
Minibiografia
Arquiteto e desenvolvedor de software na Inventti Soluções. Bacharel em Ciências da Computação pela UFSC e especialista em engenharia de software pela IST. Trabalha profissionalmente com software desde 2001; nesses anos já trabalhou com PHP, Java, Ruby e nos últimos 4 anos com a plataforma .Net. Agilista desde 2004, buscando sempre a mudança e a melhoria no desenvolvimento de software.
Sobre o Evento
A nova edição do TDC Florianópolis contou com 21 trilhas em três dias de evento. Criado pela Globalcode, com apoio extenso das comunidades de desenvolvimento, o The Developers Conference Floripa 2013 reuniu palestras sobre linguagens, arquiteturas, plataformas, métodos ágeis, empreendedorismo e vários outros tópicos.
Caos formado
by Pepe Leon,
Excelente abordagem e clareza.
by Marco Baccaro,
Elogio
by Ismael Soares,
Curiosidades
by Leonardo Cardoso,
Re: Curiosidades
by Rafael Mueller,
Tem um dica de curso para começar?
by LUCIANO ALVES MENDONÇA,
Re: Tem um dica de curso para começar?
by Rafael Mueller,
Caos formado
by Pepe Leon,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Não poderiamos usar uma técnica chamada de Refactoring para que o caos não seja amplificado na arquitetura?
Excelente abordagem e clareza.
by Marco Baccaro,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Parabéns, Rafael. Tem 4 anos que trabalho com essa prática de arquitetura, focando em modularidade, divisão de responsabilidades, domínios contextualizados e não arquitetura default mainstream, afim de atender SOA e DDD. Apresentação didático e realista.
Elogio
by Ismael Soares,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Muito boa esta palestra. Parabéns Rafael!
Curiosidades
by Leonardo Cardoso,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Rafael,
Boa apresentação!
Na minha experiência, um ponto de atenção da arquitetura orientada a eventos, é importância do broaker de eventos, uma vez que este cai(ou é mal utilizado/configurado), dependendo da implantação nada mais funciona.
Que tipo de estrutura você utiliza para manter esse serviço central em relação a falhas?
Digamos que o sistema necessite da sincronia em determinados pontos para funcionar (ex. estoque e venda precisam estar sincronizados em tempo real).
Como você resolveu a questão de sincronia? Utiliza WS para chamadas síncronas e eventos para assíncronas?
Att.
Leonardo
Tem um dica de curso para começar?
by LUCIANO ALVES MENDONÇA,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Ótima palestra Rafael, você comentou no final que tudo começou com um curso que vocês fez, poderia indicar qual foi esse curso ou indicar um similar?
Re: Tem um dica de curso para começar?
by Rafael Mueller,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Luciano,
O curso foi o "Advanced Distributed Systems Design using SOA & DDD" udidahan.com/training/
Re: Curiosidades
by Rafael Mueller,
Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!
Leonardo,
Respondendo com muito atraso... mas vamos lá.
No caso, podes utilizar uma solução sem broker (que utilizo atualmente), como por exemplo com msmq + nservicebus.
Hoje já estou indo para uma solução com RabbitMQ como broker.
Quanto a sincronia Estoque + Vendas, eu acho que ela realmente não existe. Hoje no mundo não virtual, não existe uma garantia que sempre é vendido o que existe em estoque. Tanto que acontece de você comprar um note no site da Dell e depois receber um e-mail informando que não está mais no estoque, e eles te dão um notebook um pouco melhor.
No meu caso, nós usamos a mesma estratégia, pode acontecer de ter 2 vendas no mesmo instânte de um produto com estoque 1, uma dessas vendas não será concretizada. Contudo até a chance de isso ocorrer, é bem baixa. Se for necessário 100% que só ocorra venda com estoque, eu faria da venda um processo mais 'lento', onde ela faria uma reserva do estoque por X unidade de tempo, dando tempo para confirmar a venda.
De forma geral, eu resolveria a sincronia publicando um evento no estoque, quando não houver mais estoque de algum produto.