Certificação TOGAF em 5 passos

Olá pessoal!TOGAF 9 Foundation

Recentemente passei na primeira prova de certificação do TOGAF versão 9.1: TOGAF 9.1 Foundation. Neste post vou descrever os passos que segui para fazer a prova com bastante confiança – afinal, uma reprovação implicaria em um prejuízo considerável (cerca de US$ 210,00 pagos pela prova feita através da Prometric).

É fato que cada um tem sua própria forma de aprendizado e que algumas coisas que funcionaram para mim podem não funcionar para todos. A sugestão é que você adapte estas dicas para a forma que melhor lhe atenda. Dependendo do seu nível de conhecimento atual sobre o assunto, você poderá considerar passos adicionais aos que estou listando abaixo, ou então a eliminação de alguns deles. Vamos lá!

Continue lendo

Porque projetos de TI demandam tanto esforço, energia, custam caro e ainda por cima atrasam?

Você já deve ter se deparado com esta questão em algum momento da sua carreira, ou quem sabe nunca deixou de se deparar com ela. É claro que são diversas as possíveis causas para ineficiência em TI e este post não tem a pretensão de abordar todas elas. Ao invés, vamos abordar uma das principais causas, tratada anteriormente por autores como Martin Fowler e Uncle Bob: Technical Debit ou Dívida Técnica (tradução mais fiel, em minha opinião). Além de materiais escritos pelos tais autores, encontrei também excelentes posts a respeito no site da InfoQ, no blog do Adriano Tavares e, claro, na Wikipedia.

DefiniçãoDevo, não nego. Pagarei quando puder.

A dívida técnica é como um financiamento, ou uma aquisição de dívida qualquer em que há o pagamento pelo empréstimo do dinheiro (juros). Na maioria dos casos, a aquisição de uma dívida acontece quando o indivíduo ou organização opta por ter um benefício imediato, ao invés de poupar dinheiro para comprar sem precisar recorrer a um financiamento. Isso pode ser feito por necessidade, ou simplesmente por ser mais cômodo. Normalmente tal indivíduo ou organização tem ciência de que ao fazer isso pagará um valor maior pelo que está adquirindo e também sabe que poderá liquidar sua dívida no futuro, caso se planeje para isso.

Continue lendo

Arquitetura de Referência Microsoft: Domain Driven Design, Dependency Injection, Cloud e muito mais (Parte 3 – Final)

Olá pessoal!

Esta é o último post de uma série em que vimos até então um apanhado geral sobre o e-book gratuito .NET Technology Guide for Business Applications, escrito por Cesar de La Torre e David Carmona. No post anterior terminamos de abordar toda a camada Application services. Neste, passaremos pelas camadas Infrastructure services e Deployment environment, ilustradas no diagrama a seguir. Vamos lá!.NET Technology Guide for Business Applications

Continue lendo

Arquitetura de Referência Microsoft: Domain Driven Design, Dependency Injection, Cloud e muito mais (Parte 2)

Olá pessoal!

Neste post daremos continuidade ao post anterior, onde começamos a traçar um apanhado geral sobre o e-book gratuito .NET Technology Guide for Business Applications, escrito por Cesar de La Torre e David Carmona.

 .NET Technology Guide for Business Applications

No post anterior fomos até o quadro Collaboration and Portals da camada Application Services, representada no diagrama ao lado. Neste daremos continuidade a partir de Custom application platform, indo até Business products and platforms, finalizando assim completamente a camada Application Services.

Continue lendo

Arquitetura de Referência Microsoft: Domain Driven Design, Dependency Injection, Cloud e muito mais

imageOlá pessoal!

Neste post e nos seguintes veremos um apanhado geral sobre o e-book gratuito .NET Technology Guide for Business Applications , escrito por Cesar de La Torre e David Carmona. Como seu próprio nome já anuncia, nele é apresentado um guia de tecnologias .Net para a criação de aplicações de negócios. O seu conteúdo discorre basicamente sobre o diagrama abaixo, onde a pilha mais atual de tecnologias para desenvolvimento e infraestrutura Microsoft é apresentada.

Continue lendo

Event Driven Architecture (Parte 2)

Olá pessoal!

No post anterior vimos alguns conceitos de Event-Driven Architecture e como seria sua arquitetura de referência. Neste veremos as possíveis realizações de tal arquitetura de referência e também iremos conferir alguns princípios que devem ser levados em consideração ao se fazer o design deste tipo de arquitetura.

Vamos começar então pelas possíveis utilizações de uma Event-Driven Architecture. No livro Event Processing: Designing IT Systems for Agile Companies são relacionadas três principais cenários: Disseminação de Informação, Conhecimento de Situação e Integração de Aplicações. Cada possível utilização demanda uma forma distinta de implementação da arquitetura de referência vista. Vejamos cada uma delas a seguir.

Continue lendo

Event Driven Architecture (Parte 1)

Olá pessoal!

Neste post veremos um conteúdo bastante interessante. Se você busca um estilo arquitetural que proporcione benefícios para sua organização como execução de processos de negócio em menor tempo, agilidade em resposta às mudanças e disponibilidade de informação para tomada de decisão, então você deveria dar uma olhada em “Event Driven Architecture”.

Neste artigo entenderemos o conceito de eventos e eventos de negócios, veremos porque uma arquitetura orientada a eventos é importante e como tal arquitetura se realiza de forma lógica. Já na parte 2 desta série, veremos como a arquitetura lógica vista aqui se realiza fisicamente (quais são os produtos envolvidos) e alguns princípios que devem ser considerados ao se estabelecer tal arquitetura.

Continue lendo

Enterprise Integration Patterns

Olá pessoal!

Muito dificilmente você ainda não ouviu falar do livro Enterprise Integration Patterns, de Gregor Hohpe e Bobby Woolf, com prefácio e contribuição de Martin Fowler. Trata-se de excelente livro sobre integrações, mais especificamente sobre padrões de integrações corporativas, como o próprio título enuncia. O livro aborda padrões de integração amplamente vistos no mercado e explica porque a Mensageria (Messaging) é, dentre eles, o que melhor endereça diversos aspectos que devem ser levados em consideração ao estabelecer integrações confiáveis. Os autores ainda consideram que apesar desta ser uma abordagem amplamente indicada, ela é igualmente pouco conhecido ou aprofundado pelo mercado, e é justamente essa a motivação para que a maior parte do livro discorra sobre os diversos padrões relacionados à mensageria, como por exemplo: Guaranteed Delivery, Message Broker, Message Bus, Publish Subscribe Channel, Request-Reply e diversos outros.

Continue lendo

As principais funções de um ESB (Enterprise Service Bus)

Olá pessoal!

Frequentemente sou questionado com relação a quando a utilização de um ESB (Enterprise Service Bus ou Barramento de Serviços Corporativo) é interessante em um dado cenário de integração ou não. Espero que este post ajude a esclarecer a esta dúvida, bem como a elucidar as principais funcionalidades que se pode tirar proveito quando se emprega uma ferramenta robusta como esta. Vamos lá!

Arquitetura Espaguete

Em geral, um Enterprise Service Bus está relacionado a estratégias de arquiteturas orientadas a serviço (SOA), com o objetivo de proporcionar a disponibilização de serviços em um local único e centralizado, alavancando reuso, diminuindo acoplamento entre consumidores e provedores de serviços, o que por sua vez reduz significativamente a dependência entre ambos, de forma que manutenções – que, diga-se de passagem, são inevitáveis – possam ser feitas de forma mais tranquila. Todos estes fatores apoiam na redução de custos, seja pela manutenção facilitada (ou com baixo impacto), seja pelo reuso proporcionado.

Continue lendo

Como tratar falhas em web services – Idempotent Retry Pattern (parte 2 de 2)

Olá pessoal,

Livro Service Design Patterns - Ian RobinsonNo post anterior vimos as possíveis situações em que uma chamada a um web service pode falhar. Vimos também que uma possível solução seria utilizar estruturas de enfileiramento de mensagens (MSMQ, WebSphere MQ, por exemplo), e que porém, tais soluções não são indicadas para cenários em que a necessidade de entrega ou recebimento de mensagens ultrapasse o escopo da rede interna da organização.

Outro ponto a se considerar, é que tais abordagens caracterizam o que é conhecido com integração near real-time, onde o dado consumido ou provido chega ao seu destino não em tempo real, mais próximo disso. Existem situações em que requisitos estabelecerão que o dado deverá ser obtido ou entregue ao seu destino em tempo real, o que gera uma demanda por abordagens denominadas real-time. Web service é uma abordagem que permite a implementação de integrações real-time, porém, como visto anteriormente, como endereçar as possíveis falhas que podem ocorrer quando da sua utilização?

Continue lendo