segunda-feira, 26 de outubro de 2009

SOA Manifesto

Durante o 2nd SOA Symposium Conference, realizado no último final de semana, foi publicado o SOA Manifesto, um conjunto de princípios e intenções que deveriam fundamentar qualquer iniciativa de SOA.

Aqui vai uma tradução do manifesto, que pode ser encontrado na sua versão original em http://soa-manifesto.org/.

Orientação a serviços é um paradgma que modela o que fazemos. Arquitetura Orientada a Serviços (SOA) é o tipo de arquitetura resultante da aplicação da orientação a serviços. Aplicamos orientação a serviços para auxiliar organizações a entregarem valor de negócio de maneira consistente e sustentável, de forma cada vez mais ágil, com custos efetivos e em linha com as voláteis necessidades de negócio.

Priorizamos:

Valor de negócio em relação à estratégia técnica
Objetivos estratégicos em relação à benefícios específicos de/para o projeto
Interoperabilidade inerente
em relação à integração customizada
Serviços compartilhados
em relação à implementações específicas
Flexibilidade
em relação à otimização
Refinamento evolutivo
em relação à perfeição inicial

Apesar dos itens da direta terem seu valor, valorizamos mais os itens da esquerda.


O manifesto conta ainda com uma lista de princípios que podem servir como guia na adoção de SOA: http://soa-manifesto.org/principles.html.



domingo, 18 de outubro de 2009

IT BSC e a Arquitetura de TI

O Balanced Scorecard (BSC), criado por Robert Kaplan e David Norton na década de 90, é um framework para medição do desempenho corporativo. Criado a partir de uma pesquisa realizada em 12 empresas de grande experiência em medidas de desempenho coorporativo, o BSC permite que a alta gerência tenha uma visão ampla de diferentes aspectos do negócio possibilitando acompanhamento da sua dinâmica. A proposta é que sejam identificados objetivos e medidas em 4 perspectivas que visam responder algumas perguntas genéricas:

  • Financeira: Como os acionistas vêem a empresa?
  • Cliente: Como os clientes vêem a empresa?
  • Processos Internos: Em que a empresa tem que ser excelente?
  • Aprendizado e Crescimento: Onde e como a empresa pode inovar e gerar mais valor?

Para informações mais detalhadas do BSC sugiro o artigo da Harvard Business Review intitulado "The Balanced Scorecard - Measures that Drive Performance".

Quase uma década mais tarde, Kaplan e Norton identificaram a importância do relacionamento das medidas nas 4 perspectivas e das suas relações de causa e efeito como critério de sucesso para atingimento dos objetivos propostos pelo BSC. Foi então que eles criaram o chamado "Strategy Map" representado pela figura abaixo, que foi extraída do artigo original escrito por eles.



Tendo sido amplamente adotado na esfera de negócio, o BSC e o Mapa Estratégico passaram também a ser aplicados em TI, sendo que nos últimos anos começaram a surgir casos de sua aplicação.

Aplicadas em TI e batizadas de IT BSC (Information Technology Balanced Scorecard), as 4 perspectivas do BSC foram adaptadas e ficaram assim:

  • Contribuição para o negócio: Como as gerências das áreas de negócio (clientes) vêem a área de TI?
  • Orientação ao Cliente: Como os usuários vêem o departamento de TI?
  • Excelência Operacional: O quanto eficiente e eficaz são os processos de TI?
  • Orientação ao Futuro: O quanto TI está preparada para atender as necessidade futuras do negócio?

Dentre as lições aprendidas dos casos de aplicação do IT BSC está a importância do seu relacionamento com o BSC corporativo. 

É justamente esse relacionamento que na prática pode representar o tão falado "alinhamento de TI ao negócio". A final de contas, quando falamos desse "alinhamento", estamos nos referindo ao alinhamento dos objetivos das duas áreas.

Resumindo, o BSC é a ferramenta que além de promover esse alinhamento pode ser utilizada para definir, comunicar e acompanhar a execução das estratégias corporativa e de TI estando intimamente ligado ao dia-a-dia de trabalho de cada colaborador.

Mas o que isso tem a ver com Arquitetura de TI? 

Vamos olhar mais de perto um exemplo de IT BSC detalhando suas perspectivas:



Considerando que os principais processos da área de arquitetura de TI são:
  • Construção da arquitetura atual (As-is);
  • Construção da arquitetura futura (To-be);
  • Análise de defasagem (Gap analysis); e
  • Criação do mapa diretor (Roadmap), 
Temos que a evolução da arquitetura de TI pode ser medida pelo progresso de implementação do roadmap em direção à arquitetura futura. 
O roadmap, também chamado de plano de evolução, determina padrões técnicos e arquiteturais a serem seguidos. Tais padrões servem de base para a medição da aderência ao plano que é um dos objetivos da perspectiva Orientação ao Futuro em um IT BSC. Vale ressaltar ainda a importância de serem definidos marcos para auxiliar o acompanhamento e a medição do desempenho.

terça-feira, 6 de outubro de 2009

Erros comuns na adoção de SOA

Essa semana assisti um vídeo no Youtube sobre erros comuns na adoção de SOA. Trata-se de um apresentação do David Linthicun com o nome "5 coisas a serem evitadas ao adotar SOA". Além de dar dicas sobre caminhos a não serem seguidos, David Linthicun mostra, em alto nível, uma metodologia de adoção de SOA.

Os 5 erros apresentados são:

1) Usar as pessoas erradas ao compor o escritório de arquitetura ou o chamado SOA CoE (Center of Excelence);
2) Selecionar a tecnologia muito cedo. (Comece pelos requisitos!);
3) Não considerar o design de serviço;
4) Não ter o foco nas necessidades do negócio;
5) Não pensar a longo prazo e de maneira estratégica (Pense grande, inicie pequeno e evolua rápido).

Como não era de se esperar, vemos logo no primeiro erro a importância que deve ser dada às pessoas. A final de contas é difícil conseguir bons profissionais com um perfil generalista de atuação em todas as áreas da Arquitetura de TI (Processos/Negócio, Informação, Sistemas, Integração e Tecnológica) ou nem sempre a empresa tem condições de bancar um profissional com experiência na área. Essa mesma importância dada às pessoas é ressaltada no artigo do Gartner denominado "Horror Story Shows How Poor Governance Leads to Failure in SOA Initiatives", que diz:

"Terceirizar arquitetos ou não tê-los de maneira adequada, significa que a empresa não possuirá as competências necessárias para um projeto SOA."

Esse mesmo artigo do Gartner diz ainda:

"Crie um ICC (Integration Competence Center) ou um SOA CoE (SOA Center of Excelence) que inclua membros das áreas de negócio e desenvolva-o. Você precisará de um para se certificar que o projeto de adoção de SOA está no caminho certo."

Sobre o erro 2, selecionar a tecnologia muito cedo, o artigo do Gartner também está alinhado. O artigo diz que as pessoas tendem a associar SOA com tecnologia e que se um projeto SOA falha é devido a escolha da tecnologia errada. Entretanto várias projetos falham pela falta de importância dada à governança.

Em linhas gerais a metodologia sugerida pelo David Linthicun é composta dos seguintes passos:

1) Entenda os objetivos de negócio e defina critérios de sucesso;
2) Defina o domínio do problema;
3) Entenda todas as aplicações envolvidas;
4) Descubra e entenda todos os serviços no domínio do problema;
5) Descubra e entenda todos os processos no domínio do problema;
6) Identifique a necessidade de criar novos serviços;
7) Identifique a necessidade de criar novos processos;
8) Selecione as tecnologias e ferramentas a serem usadas.

O vídeo da apresentação pode ser encontrado em http://www.youtube.com/watch?v=0CbjUNzBV6I&feature=channel

Os slides estão aqui...

quinta-feira, 4 de junho de 2009

Curso Plataforma SOA Open Source

Quer fazer um curso gratuíto sobre plataforma SOA? A WSO2 está oferecendo um curso com oito módulos sobre suas ferramentas Open Source.

WSO2 é um conjunto de produtos SOA que além de open source são gratuítos. Há algum tempo venho estudando principalmente o Barramento de Serviços (ESB) denominado WSO2 ESB e em breve teremos alguns posts sobre ele aqui.

A plataforma WSO2 é composta dos seguintes produtos:
  • Enterprise Service Bus: Uma implementação de um Barramento de Serviços (middleware);
  • Registry: Uma ferramenta de governança com a função de armazenar, catalogar, indexar e gerenciar metadados de serviços;
  • Identity Solution: Uma ferramenta de gerenciamento de identidade com funcionalidades de single sign-on e que pode ser integrada com o CardSpace e OpenID;
  • Data Services: Uma ferramenta que permite expor como WebServices os dados existentes em banco de dados, arquivos texto (Ex: CSV), Servidores LDAP etc. Isso é feito implementando ainda alguns padrões WS-* ou através de REST;
  • Business Process Server: É um motor (engine) BPM que executa processos através do padrão WS-BPEL (Antigo BPEL4WS). Essa ferramenta não inclui um diagramador de processos, ela é apenas um orquestrador de WebServices;
  • Web Services Application Server: Um servidor web composto de uma série projetos do Apache onde são hospedados webservices implementados com o Axis2.
  • Web Sevices Framework: Um framewor para desenvolvimento de Web Services e seus clientes para as linguagens C, PHP, Perl, Python, Ruby, Spring, C++ e Jython;
  • Mashup Server: Uma ferramenta que permite compor e personalizar Web Services, Feeds, páginas web etc.
Nada mal, hein?!! Mas voltando ao papo do curso gratuíto, trata-se de uma ótima oprtunidade para entender melhor os conceitos por trás de SOA e conhecer essas ferramentas. Para isso, basta se cadastrar clicando na imagem abaixo.

Os cursos acontecem sempre às sextas-feira das 13:00 às 16:30 a partir de 18 de junho de 2009.

quarta-feira, 3 de junho de 2009

Artigos Publicados - Mestrado NCE

Esse post não tem muito a ver com Arquitetura de TI mas tem um motivo nobre.
Abaixo estão os links para os artigos escritos por mim que foram publicados em conferências internacionais:

Para acessar o segundo link será necessário fazer um cadastro no IEEE Xplorer. Se ainda assim você não conseguir visualizar o artigo, me envie um email que eu mando para você.

segunda-feira, 1 de junho de 2009

Arquitetura de TI

Vamos começar explicando as razões da existência desse blog recorrendo o método 5W2H.

What?
  • Posts sobre temas relacionados à Arquitetura de TI.
Who?
  • O pontapé inicial é por minha conta, tendo a contribuição de todos que se interessam e praticam o assunto.
When?
  • Pelo menos 1 post meu por semana. Essa é a meta!
Why?
  • Para trocar experiências, compartilhar e gerar conhecimento sobre Arquitetura de TI.
  • Para sair da teoria e desmistificar assuntos relacionados a integração de sistemas tais como ESB (Enterprise Service Bus), SOA (Service Oriented Architecture), REST, WS-*, BPM (Business Process Management) etc.
Where?
  • Exemplos práticos preferencialmente através do uso de ferramentas OpenSource e em ambiente Linux fazendo uso de padrões abertos.
How?
  • Evitando assuntos que envolvam discussões filosóficas mas sendo fiel aos fundamentos.
  • Desvendando na prática o dia-a-dia de quem trabalha com Arquitetura de TI, suas ferramentas, práticas, metodologias, gorvernança, métricas etc.
How much?
  • Da teoría à prática, entrando no detalhe, no estilo "A vida como ela é".