Desenvolvimento - Visual Basic .NET

Application Blocks – Visão geral

Até pouco tempo atrás, falava-se pouco sobre Application Blocks, mas ultimamente, eles estão se tornado bastante conhecidos e mais comentados entre os grupos de usuário, pelo menos sob o ponto de vista de arquitetura.

por José Augusto de Sousa Barroso



Até pouco tempo atrás, falava-se pouco sobre Application Blocks, mas ultimamente, eles estão se tornado bastante conhecidos e mais comentados entre os grupos de usuário, pelo menos sob o ponto de vista de arquitetura.

Os blocks são uma combinação de exemplos, componentes reutilizáveis, e muitas vezes, possuem um guia e outras documentações. O Código de exemplo e a documentação dos blocks, explicam o conjunto de conceitos do .NET, mas de uma maneira diferente de um exemplo padrão, e além do mais, disponibiliza componentes já prontos para serem utilizados em aplicações.

Os códigos estão disponíveis para ambas as linguagens, VB.NET e C# para a maioria deles.

Vários destes Application Blocks estão associados aos Workspaces do GotDotNet, permitindo que você participe, e claro, se beneficie de várias maneiras com o desenvolvimento destes componentes.

Os blocks estão disponíveis no site da microsoft, até o momento em: http://www.microsoft.com/resources/practices/default.mspx

Estarei fazendo uma breve descrição sobre cada um deles a seguir.

Application Block - User Interface Process Ver 2

Este block disponibiliza uma framework ainda simples mas extensível para desenvolvimento de processos da UI (Interface de usuário). Foi projetado para abstrair o fluxo de controle e gerenciamento de estado da camada de apresentação (UI) dentro da camada de interface de processos de usuário. Ajuda você a escrever código genérico para o controle do fluxo e gerenciamento de estado para diferentes tipos de aplicações (Ex.: Web e Windows) e ajuda a gerenciar tarefas de usuários em senários mais complexos.

Application Block - Smart Client Offline

Este block serve como modelo para desenvolvedores que querem expandir suas aplicações smart client, permitir que o usuário utilize as aplicações no modo offline tão bem quanto online.

  • Detectar o comportamento de uma rede;
  • Colocar os dados em Cach para o funcionamento em modo offline;
  • Sincronizar o estado da aplicação cliente e/ou dados com o servidor quando a aplicação fica online outra vez.

Application Block - Updater

Este block serve para empresas de médio a grande porte, é comum querer deixar todas as instâncias de uma aplicação desktop prontas para receber a mais recente versão de executáveis, bibliotecas e outros arquivos. Este block disponibiliza uma framework extensível para que as empresas possam criar aplicações atualizáveis.

Application Block - Logging Ver 2

Este block disponibiliza extensões para arquitetura EIF que ajuda a endereçar cenários comuns para autenticação. Inclui:

  • Formatação de informações de eventos;
  • Níveis de Log configuráreis;
  • Aprimorar informações nos eventos publicados;
  • Login assíncrono;
  • Autenticação confiável;
  • Login centralizado;
  • Request tracing para web services;
  • Metering para web services;
  • EIF publisher para o Block Exception Management

Application Block - Exception Management

Este block disponibiliza uma framework ainda simples mas extensível para manipular Exceptions. Com uma única linha de código você pode facilmente por em log a informação de exceções no Event log ou até mesmo criar seus próprios componentes que armazenam logs com os detalhes de exceções para outros data sources ou operadores de notificação, sem afetar seu código de aplicação. Este block pode facilmente ser usado como um buiding block em sua própria aplicação .NET

Application Block - Data Access Ver 2

Este block basicamente encapsula as melhores práticas de performance e gerenciamento de recursos para acesso ao SQL Server. Pode ser facilmente usado como um building block em suas próprias aplicações .NET. Reduz expressivamente as linhas de código.

Application Block - Configuration Management

Este block é uma framework ainda simples mas extensível que disponibiliza de forma eficiente um mecanismo de ler e escrever aplicações de configuração de dados. Suporte padrão é disponibilizado para armazenamento de configuração de dados no SQL Server, registro do Windows, e arquivos XML. Contudo, a extensível arquitetura deste block permite que você, de modo seguro, armazene qualquer tipo de aplicação de configuração de dados em qualquer data store com o mínimo de tempo em desenvolvimento.

Applilcation Block - Caching

Este block é basicamente uma extensão da Framework .NET que facilmente permite o armazenamento em cach, dos dados dos service providers e outros sistemas. Este block disponibiliza um ambiente RAD (Rapid Application Development) para ajudar a construir aplicações escalonáveis usando o VS .NET. Está disponível como uma biblioteca .NET

Application Block - Authorization and Profile

Este block disponibiliza uma infraestrutura para autorização baseada em regras e acesso à informação de perfil. O block permite que você:

  • Autorize um usuário em uma aplicação ou sistema;
  • Use múltiplos provedores de armazenamento de autorização;
  • Mapeie múltiplas identidades para um único usuário;
  • Ligue regras de negócio para ações de validação;
  • Acesse informação de perfil que pode ser armazenado em múltiplos profile stores.

Application Block - Persistent Asynchronous Invocation

Este block gerencia comunicações assíncronas entre um cliente Web e um ou mais service providers (FSP) externos. Um FSP pode ser um .Net web service, um Java web service, ou algum outro tipo de serviço. (autorização de cartão de crédito por exemplo).

Application Block - Aggregation

Este block é uma extensão da .NET Framework, permite que você facilmente gerencie e junte informações de vários service providers e outros sistemas, e apresente estas informações para os usuários. Este block disponibiliza ambiente RAD (rapid application development) para ajudá-lo a construir aplicações escalonáveis de forma rápida usando o VS .NET.

Está disponível como uma .NET class library. (Biblioteca)

José Augusto de Sousa Barroso (auguston@lycos.co.uk)
Fundador e Leader do Dot Net Architect User Group - DNAUG
http://www.dnaug.com

Fonte:
- MSDN/Microsoft Patterns & Practice
- GotDotNet
- DNAUG - Dot Net Architect User Group

José Augusto de Sousa Barroso

José Augusto de Sousa Barroso - Fundador do DNAUG e INETA - DNAUG Leader
Atualmente é colaborador da Politec Informática, trabalha como arquiteto e desenvolvedor de aplicações em C#. Participou de grandes projetos, citando como exemplo, sistemas para o Banco do Brasil, Caixa Econômica Federal, Agência Nacional de Energia Elétrica, Banco Central do Brasil entre outros.
Vem participando de projetos em .NET desde o início de 2003. Hoje está envolvido na criação e implementação da arquitetura em camadas para os sistemas do Governo do Distrito Federal, este em .NET
Tem publicado vários artigos sobre arquitetura, padrões, segurança, .NET Framework e C#.

Certificações:
. Microsoft Certified Professional - MCP . Microsoft Certified Application Developer - MCAD

Áreas de interesse:
· Arquitetura e Padrões de Projeto
· Segurança de aplicações
. Framework .NET / C#