Microsoft Team Foundation Server
O Team Foundation Server (comumente abreviado para TFS) é um produto da Microsoft que fornece gerenciamento de código fonte (com Team Foundation Version Control ou Git), relatórios, gerenciamento de requisitos, gerenciamento de projetos (para desenvolvimento de software ágil e equipes de cachoeiras) Gerenciamento de laboratório, testes e capacidades de gerenciamento de releases. Ele abrange todo o ciclo de vida do aplicativo e permite recursos do DevOps. O TFS pode ser usado como um back-end para vários ambientes de desenvolvimento integrado (IDEs), mas é adaptado para o Microsoft Visual Studio e o Eclipse em todas as plataformas.
Arquitetura
Arquitetura do servidor
Team Foundation Server é construído em arquitetura multi-camada, escalável. A estrutura principal consiste em uma camada de aplicativo responsável por processar a lógica e manter o portal de aplicativo da Web (conhecido como Team Web Access ou TWA). O TFS é criado usando os serviços da Web do Windows Communication Foundation. Estes podem ser consumidos por qualquer cliente, embora o modelo de objeto do cliente é recomendado. A camada de dados ea camada de aplicativo podem existir na mesma máquina.
Para suportar escalabilidade, a camada de aplicativo pode ser balanceada de carga e a camada de dados pode ser agrupada. Se estiver usando o Microsoft SQL Server 2012, os Clusters de Failover do AlwaysOn SQL Server e os Grupos de Disponibilidade são suportados, o que permite a replicação geográfica de dados. [4] O recipiente principal é a coleção do projeto. Uma coleção de projetos é um banco de dados que contém um grupo de Projetos de Equipe. A Coleção de Projetos é outro mecanismo de escalabilidade, em que cada coleção pode ser colocada em diferentes Servidores SQL ou instâncias do SQL Server. O banco de dados de configuração 'Oe' por instância TFS armazena os metadados da coleção de projetos. Os dados dos bancos de dados de coleta do projeto são agregados ao banco de dados do warehouse, que desnormaliza os dados em preparação para o carregamento em um cubo do Analysis Services. O warehouse eo cubo permitem relatórios complexos de tendências e análise de dados.
O TFS pode se integrar a um farm do SharePoint existente. O SQL Server Reporting Services é suportado para relatórios mais avançados contra o data warehouse ou o cubo de dados do Analysis Services. Estas instalações podem estar no mesmo sistema ou em sistemas diferentes. Construir servidores, servidores de gerenciamento de laboratório, servidores de gerenciamento de liberação e servidores proxy (para reduzir parte da carga na camada de aplicativo), máquinas de teste e máquinas de teste de carga também podem ser adicionados à infraestrutura. Para oferecer suporte a equipes que exigem o planejamento de projetos empresariais, o TFS também se integra ao Microsoft Project Server, que permite o gerenciamento de portfólio, gerenciamento de recursos e acompanhamento de projetos em nível empresarial.
Extensibilidade
A Microsoft fornece duas APIs redistribuídas autônomas para se conectar ao TFS. Um é um SDK Java, o outro é um SDK do .NET Framework. Essas APIs permitem a conectividade do cliente com o TFS. Como
o TFS é escrito em uma arquitetura orientada a serviços, ele pode se
comunicar com praticamente qualquer ferramenta que possa chamar um
serviço da Web. Outro
mecanismo extensível é a assinatura de alertas do sistema: por exemplo,
alertas de que um item de trabalho foi alterado ou uma compilação
concluída. Existem
aproximadamente 20 alertas pré-configurados e as equipes podem
configurar quantos alertas adicionais forem necessários. Quando usados em um cenário extensível, esses alertas podem ser
enviados para um serviço da Web, desencadeando ações para alterar ou
atualizar itens de trabalho.
O data warehouse também pode ser estendido através da criação de adaptadores de data warehouse personalizados. Com
a introdução do TFS 2012, os suplementos personalizados também podem
ser criados para o Team Web Access, chamado Web Access Extensions.
Clientes
O
TFS suporta o Visual Studio 2010 e posterior, o Microsoft Test Manager
(MTM) 2012 e 2013. O Eclipse, versões mais antigas do Visual Studio e
outros ambientes podem ser conectados ao TFS usando o Microsoft Source
Code Control Integration Provider (Provedor MSSCCI - Chave "). Essas ferramentas fornecem acesso total aos recursos do TFS.Microsoft
Excel e Microsoft Project também são suportados para ajudar a gerenciar
itens de trabalho que permite atualizar em massa, entrada em massa e
exportação em massa de itens de trabalho. O
Microsoft Project pode ser usado para agendar o trabalho quando estiver
em conformidade com uma metodologia de desenvolvimento de software de
cachoeira. Tanto o Excel como o Project suportam atualizações bi-direcionais dos dados. Isto permite, por exemplo, que os gerentes de projeto coloquem um
cronograma no projeto, tenham esse trabalho importado para o TFS, onde
os desenvolvedores atualizam o trabalho e, em seguida, o cronograma pode
ser atualizado sem que o gerente de projeto tenha que realizar trabalho
extra.
Controle de versão
O Team Foundation Server suporta dois tipos diferentes de controle de
origem - seu mecanismo de controle de origem original chamado Team
Foundation Version Control (TFVC) e com o lançamento do TFS 2013, ele
suporta o Git como um repositório de controle de origem.
Team Foundation Source Control
O
TFVC é um sistema de controle de versão centralizado que permite que as
equipes armazenem qualquer tipo de artefato em seu repositório. O
TFVC suporta dois tipos diferentes de espaços de trabalho ao trabalhar
com ferramentas de cliente - Espaços de Trabalho do Servidor e Espaços
de Trabalho Locais. As
áreas de trabalho do servidor permitem que os desenvolvedores bloqueiem
os arquivos para check-out e forneçam notificações a outros
desenvolvedores de que os arquivos estão sendo editados. Uma queixa frequente para esse modelo é que os arquivos na máquina de desenvolvimento são marcados como somente leitura. Também exige que os desenvolvedores "fiquem offline" quando o servidor não puder ser contatado. Espaços de trabalho locais foram projetados para evitar esses problemas. Em
um cenário de espaço de trabalho local, os arquivos não são somente
leitura e não precisam ser verificados antes de trabalhar neles. Enquanto os arquivos estiverem na máquina local do desenvolvedor, não importa se o servidor está conectado ou não. Conflitos são tratados no momento do check-in.
Git
Com o lançamento do TFS 2013, a Microsoft adicionou suporte nativo para o Git. Esta não é uma implementação específica da Microsoft, mas uma implementação padrão baseada na biblioteca libgit2. Esta é a mesma biblioteca que alimenta o popular GitHub e o código é livremente disponível a partir do GitHub. Como
a Microsoft tomou a abordagem de usar uma biblioteca padrão, qualquer
cliente Git agora pode ser usado nativamente com TFS (em outras
palavras, os desenvolvedores podem usar suas ferramentas favoritas e
nunca instalar os clientes TFS padrão). Isso permite que ferramentas em qualquer plataforma e qualquer IDE que suportem o Git para se conectar ao TFS. Por exemplo, tanto o Xcode quanto o Android Studio suportam plug-ins do Git. Além disso, se os desenvolvedores não quiserem usar o plug-in do Team
Explorer Everywhere da Microsoft para o Eclipse, eles podem optar por
usar o eGit [15] para se conectar ao TFS.
O uso do Git não exclui o benefício de usar o item de trabalho ou o sistema de compilação do TFS. Ao
verificar o código com o Git, referenciar a ID do item de trabalho no
comentário de check-in associará o check-in ao item de trabalho
determinado. Da mesma forma, Team Build também irá construir projetos Git.
Uma
das principais razões para usar o TFS como um repositório Git é que ele
é suportado pelo SQL Server e tem a mesma proteção que o Team
Foundation Version Control. Isso dá aos desenvolvedores algumas escolhas ao escolher o tipo de projeto e estilo de trabalho que funciona melhor para eles.
Referências
https://en.wikipedia.org/wiki/Team_Foundation_Server
https://msdn.microsoft.com/en-us/library/ms181238(v=vs.90).aspx
0 comentários: