quarta-feira, 4 de fevereiro de 2009

Enterprise Architecture V - Framework Zachman para EA



Pessoal, vamos começar a abordar as metodologias de EA no contexto do nosso estudo de caso iniciando com o Framework Zachman.

A primeira idéia que precisamos entender do Framework Zachman é que não se trata de um framework, pelo menos no meu entendimento.

Segundo a American Heritage, a definição de framework é a seguinte :

“Estrutura para suporte ou confinamento de algo, Suporte de armação usado como base para algo em construção; plataforma de trabalho externa; andaime; estrutura fundamental como aquela para um trabalho escrito; conjunto de premissas, conceitos, valores e práticas que constituem um modo de observar a realidade”

Por outro lado, temos a definição de taxonomia :

“Classificação de organismos em um sistema ordenado que indica relacionamentos naturais; ciência, leis ou princípios de classificação; sistemáticas; divisão em grupos ou categorias ordenadas. “

Entendo que o “Framework” Zachman na verdade é uma taxonomia para organização de objetos arquiteturais que considera a quem se destina o artefato e qual problema específico está sendo abordado.

John Zachman descreveu retrospectivamente seu trabalho da seguinte forma:

“O Framework, conforme aplicado às empresas é simplesmente uma estrutura lógica para classificação e organização das representações descritivas de uma empresa, significativa à administração da empresa, assim como ao desenvolvimento dos sistemas corporativos.”

Muitas pessoas que propõe o Framework Zachman o consideram interdisciplinar e sua influencia estende-se muito alem da área de abrangência da TI.

Um livro conhecido de Zachman cita o seguinte :

“No devido tempo você descobrira que o framework existe em tudo que se faz, não apenas nos projetos de TI. Ao entender perfeitamente o framework, você se torna mais eficiente em tudo o que faz, tudo. Esta não é uma afirmação leviana.”

O próprio Zachman afirmou em entrevista :

“O esquema de framework faz parte do nosso mundo há milhares de anos e, estou certo, continuará assim por mais alguns milhares de anos. O que muda é a nossa compreensão do framework e de como usá-lo para as áreas da engenharia e fabricação da empresa.”

Zachman explicou sua taxonomia de TI fazendo analogia ao setor de Construção. Artefatos arquiteturais no setor de Construção são implicitamente sistematizados por meio de uma organização bidimensional. Uma dimensão representa vários participantes do jogo. Em um edifício alguns desses participantes são o proprietário, o construtor e o conselho de zoneamento.

O Arquiteto de edificações elabora artefatos para cada um dos participantes. Cada participante necessita de informações completas, sendo que o que constitui “completo” varia de acordo com cada participante. O proprietário muitas vezes não necessita de informações que são pertinentes somente ao construtor, e vice versa.

Zachman citou em seu artigo original :

“....Cada uma das representações arquiteturais difere das outras em essência, não somente no nível do detalhe”.

A segunda dimensão do artefato arquitetural é o enfoque descritivo do artefato: o que, como, onde, quem e o porque do projeto. Esta dimensão é independente da primeira. Construtor e proprietário precisam conhecer o quê, porem a resposta para a pergunta, O que? Depende de quem pergunta.

Zachman propôs a existência de seis enfoques descritivos : dados, função, rede, pessoas, tempo e motivação, e seis perspectivas de participantes : planejador, proprietário, programador, construtor, subcontratado e empresa, em seu primeiro artigo e na elaboração subseqüente de 1992.

Na perspectiva do proprietário do negócio, os dados são as entidades de negócio. Podem incluir informações sobre as próprias entidades, como clientes, produtos, bem como informações sobre o relacionamento dessas entidades, como grupos, etc. Quando falar com um proprietário de negócio sobre dados, esta é a linguagem adotada.

Na perspectiva da pessoa que programa o Banco de Dados, dados não significam entidades de negócio, mas sim linhas e colunas organizadas em tabelas que se relacionam entre si por uniões e projeções matemáticas. Se estiver falando com o programador do banco de dados sobre os dados, não mencione grupos ou entidades, mas tabelas relacionais na terceira forma normal.

Uma dessas perspectivas não é melhor do que a outra, nem mais elevada ou de maior prioridade. As duas são criticas para uma compreensão holística da arquitetura do Sistema.

Zachman disse:

“Estamos tendo dificuldades de comunicação interpessoal sobre a arquitetura dos sistemas de informação porque existe um conjunto de representações arquiteturais, em lugar de uma única arquitetura. Uma não esta certa e a outra errada. As arquiteturas são diferentes. São aditivas e complementares. Existem razoes para preferir despender os recursos para o desenvolvimento de cada representação arquitetural. E existem riscos associados ao não desenvolvimento de nenhuma das representações arquiteturais.”

Discutiremos aqui como o Framework Zachman pode ajudar a construir o GSys-EA.





Como pode ser notado na figura acima, existem 36 células convergentes em uma rede zachman : uma para cada ponto de encontro entre a perspectiva de um participante e um enfoque descritivo. Navegando no sentido horizontal encontramos descrições diferentes no sistema mas sempre na perspectiva do participante, navegando no sentido vertical, temos o mesmo enfoque, porem alternamos entre participantes.

Temos 3 sugestões da rede Zachman que podem ajudar a Gyn Supermarket a desenvolver a GSys-EA.

A primeira sugestão da taxonomia Zachman é que todos os artefatos arquiteturais devem residir em apenas uma célula. Não deve existir nenhuma ambigüidade sobre onde reside um determinado artefato. Caso não esteja claro em qual célula um determinado artefato reside, provavelmente o próprio artefato estará com problema.

Na medida em que a Gyn Supermarket acumula artefatos para o desenvolvimento da GSys-EA, pode-se utilizar a rede Zachman com o intuito de esclarecer o enfoque de cada artefato. Por exemplo : Artefatos relacionados a serviços residem na terceira linha (Perspectiva do Programador). Em geral não despertaram interesse no proprietário do negócio.

A segunda sugestão da taxonomia Zachman é que uma arquitetura só pode ser considerada completa quando cada célula dessa arquitetura estiver completa. Cada célula estará completa quando contiver artefatos suficientes para definir plenamente o sistema para um participante específico, pelo prisma de um específico enfoque descritivo.

Com todas as células preenchidas, com os artefatos adequados, existirá volume suficiente de detalhes para descrever plenamente o sistema pela perspectiva de cada participante (Conhecido também como stakeholder) observando o sistema de todos os ângulos possíveis. Dessa forma, a Gyn Supermarket poderá utilizar a rede Zachman para assegurar que discussões adequadas ocorram entre todos os participantes destacados na GSys-EA.

A terceira sugestão da rede Zachman é que as células das colunas deveriam se relacionar entre si. Considerando a coluna de Dados da rede Zachman, pela perspectiva do proprietário do negócio os dados são informações sobre o negócio, já pela perspectiva do administrador do Banco de Dados, dados são linhas e colunas do banco de dados.

Apesar da diferencia de visão dos dados entre o proprietário e o administrador do banco de dados, deveria existir algum relacionamento entre essas perspectivas. Alguém deveria ter condições de acompanhar as necessidades de Juliana para os negócios e mostrar que o projeto do banco de dados, na verdade, usa essas exigências como o caminho a seguir. Se Juliana tinha exigências que não podiam ser acompanhadas até o projeto do banco de dados, temos que fazer a pergunta se as necessidades de negócios serão atendidas por essa arquitetura. De outra forma, havendo elementos do projeto de banco de dados que não possam ser rastreados retroativamente até as exigências do negócio, deveríamos nos perguntar se não incluímos itens de projeto desnecessários no nível do banco de dados.

Desta forma, temos 5 maneiras através das quais a rede Zachman ajuda no desenvolvimento da GSys-EA, seguidos :

1) Garantia de que a perspectiva de cada participante seja considerada em cada ponto do enfoque descritivo.

2) Aprimoramento dos próprios artefatos do GSys-EA, enfatizando cada um dos respectivos pontos de enfoque para um determinado interesse, de um determinado publico alvo.

3) Garantia de que todas as exigências de Juliana para o negócio sejam acompanhadas até algum tipo de implementação técnica.

4) Convencer Juliana que a equipe técnica de José não pretende construir diversas funcionalidades inúteis.

5) Convencer José que o pessoal comercial está incluindo o pessoal de TI no seu planejamento.

A rede Zachman por si só não representa uma solução completa para a Gyn Supermarket. Existem muitas questões, criticas para o sucesso do GSys-EA, que a rede Zachman não aborda. Como exemplo : A rede Zachman não nos oferece um processo incremental, passo a passo, para criar uma nova arquitetura, também não nos ajuda muito a decidir se a arquitetura futura sendo criada será a melhor arquitetura possível. Nesse ponto, a rede Zachman sequer oferece uma abordagem para mostrar a necessidade de uma arquitetura futura.

Como podemos notar, esse é um assunto interessante e que merece atenção por parte dos profissionais voltados a TI.

Espero que o texto tenha sido de valia para você!!!

Para quem quizer mais informações sobre o framework, segue o link do site oficial :
http://www.zifa.com/

Até o próximo Post, abraços!


"Escolha o trabalho de que gostas e não terás de trabalhar um único dia em tua vida." [Confucio]



2 comentários:

Unknown disse...

Show de bola o blog em mestre dos magos !!! Rss...
Agora falta uns posts pra quem ta iniciando em programação hein...

Abraço e sucesso !!

Rafael

Unknown disse...

Bom d+ o blog, ver se continua agora.
Valeu