Sunday, October 13, 2024    
English 
Spanish 
Skip Navigation Links
Página Principal
Minha Conta
Forum
Avalie!
Compre!
Skip Navigation Links
Sobre
Contato
Mapa do Site


Arquitetura Importa

Sem a arquitetura própria, um aplicativo desiste de sua manutenção, flexibilidade e escalabilidade e se torna muito rígido para sobreviver. Até os desenvolvedores originais do aplicativo tem dificuldade em diagnosticar problemas ou manutenção de código. A ausência de uma estrutura própria promove códigos monolíticos e força o sistema a ser desenhado baseado em forumlários. Quando a lógica de negócios atual e o acesso a dados atual são limitados ao formulário, práticas de orientação a objetos não podem ser forçadas e o código é duplicado. Se regras de negócios forem trocadas ou o acesso a dados for alterado, cada repetição de código tem que ser modificados e retestados.

Uma aplicação tem que conter fronteiras para separar acesso a dados, lógica de negócios e interface ao usuário em camadas separadas. Uma vez separada, cada camada pode ser facilmente centralizada e reusada ao invés de repetida. O uso do StrataFrame habilita qualquer desenvolvedor a facilmente e eficientemente criar uma aplicação que é dividida em camadas de acesso a dados, lógica de dados e interface de usuários.

Camadas vs Níveis (Layers vs. Tiers)

Uma camada é definida como um módulo separado do aplicativo por um processo e/ou fronteira de rede enquanto uma camada é definida como uma separação lógica em um camada única. O modelo de uma camada, como o Microsoft Access, tem todas as camadas rodando em um único processo no em um único computador. O modelo de duas camadas, como Cliente/Servidor, tem duas camadas separadas rodando em dois computadores separados. Um aplicativo com mais de duas camadas pode involver muitos processos em múltiplos computadores. Adicionando camadas a uma aplicação incrementa a complexibilidade, diminui a manutenção e causa problemas de performance devido a latência ocorrida quando cruzamos a fronteira da rede/processo. Alguns aplicativos, de qualquer forma, requerem camadas adicionais, além destas de cliente e servidor, devido a alta escalabilidade (>500 clientes) e requerimentos de segurança.

Desconsiderando o número de camadas usadas, uma arquitetura propriamente de camadas é algo necessário para qualquer aplicativo. Uma arquitetura que divide uma aplicação em camadas múltiplas promovem simplcidade, escalabilidade, manutenciabilidade e reuso de código. StrataFrame é um framework de Aplicações de 3-camadas, e o usando, as vantagens de uma arquitetura em camadas podem ser alcançadas com pouca a quase nenhum desenho pelo desenvolvedor. Figura 1 representação da arquitetura do aplicativo que pode ser alcançado usando o StrataFrame.

Outras Arquiteturas de Aplicativos

  • Fat-Client -- Uma aplicação Fat-Client é aquela em qual todo acesso a dados é lógica de negócios é incluída nos formulários da aplicação. Sem centralização, as regras de negócios e acesso a dados se tornan rígidos e não podem ser modificados rapidamente ou facilmente pelo desenvolvedor. Desde que elas são inseridas nos formulários, mundaças irão geralmente quebrar a aplicação. Veja figura 2 para um exemplo de aplicação Fat-Client.

  • Fat-Server -- A arquitetura Fat-Server foi criada como uma possível solução para os problemas herdados da arquitetura Fat-Client. Em uma aplicação Fat-Server, a lógica de negócios foi removida da interface do usuário e colocada dentro do servidor do banco de dados. Usando procedures T-SQL armazenadas e triggers, toda a lógica da aplicação é manipulada pelo camada do servidor ao invés da camada do usuário, centralizando a lógica de negócios e a tornado mais legivel e fácil manutenção (Veja figura 3).

    Enquanto a arquitetura Fat-Server resolve alguns problemas da arquitetura Fat-Client, ela também introduz novos problemas. O servidor de banco de dados se torna um gargalo para o aplicativo desde que o servidor está computando toda a lógica de negócios assim como hospedando o processo do banco de dados. Adicionalmente, T-SQL não é uma linguagem de forte-tipagem, linguagem de programação de alto nível e impõe muitas limitações ao desenvolvedor.

  • Lado-Cliente / Lado-Servidor -- Arquitetura Lado-Cliente / Lado-Servidor (CSSS) é uma combinação de ambas arquiteturas Fat-Client e Fat-Server (Veja figura 4). Geralmente, uma aplicação CSSS é o resultado de muitos anos extendendo e mantendo a aplicação. A aplicação não foi desenvolvida com a arquitetura correta inicialmente e mantendo o código requer que as regras de negócios possam ser colocadas em ambas as camadas do servidor e do cliente. A arquitetura CSSS não resolve quaisquer das limitações do Fat-Client ou Fat-Server, mas apenas combina as limitações em um pacote.

Aplicativos StrataFrame em Camadas

A camada do cliente do aplicativo StrataFrame é dividida em 3 camadas distintas:
  • Camada de Acesso a Dados
  • Camada de Negócios
  • Camada de Apresentação
A aplicação é facilmente mantida e extendida sendo as camadas livres das camadas vizinhas e mudanças changes em uma camada não afetarão as outras. Se a regra de negócios for mudada, o desenvolvedor deve somente modificar o código em um local no lugar ao invés de visitar cada formulário na aplicação para mudanças. (See figura 5)

No aplicativo Strataframe, uma série de objetos de negócios armazena a regra de negócios da aplicação. Instancias destes objetos de negócios são criadas para trabalharem com os formulários da aplicação. Um único objeto de negócios pode trabalhar com ilimitados formulários, e um único formulário pode trabalhar com ilimitados objetos de negócios. (Veja figura 6)

O trabalho foi feito pra você

Um framework de aplicativos é, por definição, uma biblioteca de classes que pode ser reusada por qualquer numero de aplicações, economizando tempo dos desenvolvedores, uma vez que não é requerido que eles reescrevam grandes blocos de código para cada aplicação.

StrataFrame é um Framework de Aplicativos de 3 camadas para ser usado com qualquer SQL, Oracle ou banco de dados OLE. Todos acessos a dados, validação de dados não personalizada, e conexões com a interface do usuário é manipulada pelas classes do framework.

Além de alcançar a correta arquitetura de uam apliação n-camadas e suas vantagens associadas, usando StrataFrame da ao desenvolvedor os seguintes benefícios:
  • GRANDE redução do tempo de desenvolvimento
    • A biblioteca de classes do StrataFrame manipula todo o acesso a dados e conexão de dados para o desenvolvedor. A única coisa que o desenvolvedor deve codificar é o layout da interface do usuário, e a lógica de negócios personalizada.
    • StrataFrame is firmemente integrado ao Visual Studio para prover métodos para performance de tarefas rápidas como campos requeridos, alterando propriedades de objetos de negócios, e manipulando e mantendo mapeamentos de objetos de negócios.
  • Performance da aplicação
    • O acesso a dados no StrataFrame é streamlined e eficiente devido as melhorias no ADO.NET 2.0 e acesso a dados enfileirado (processamento assíncrono).
  • Curva de aprendizado nominal
    • StrataFrame é escrito inteiramente em .NET e não necessita que o programador aprenda nenhum linguagem de script híbrida. Todo código pode ser escrito usando linguagens .NET ex: VB.NET, C#, etc.
  • Localização Total
    • StrataFrame provê funcionalidade total para desenvolvedores localizarem labels, títulos de formulários, etc. através de textos armazenados no banco de dados SQL ou em um arquivo XML.
    • Mensagens na interface do usuário e mensagens de erro também podem ser localizadas usando a mesma funcionalidade.
  • Extensibilidade
    • Enquanto o StrataFrame faz muitas tarefas comuns tpara o desenvolvedor, a maioria, se não todas, as tarefas podem ser modificadas pelo desenvolvedor para extender o escopo do StrataFrame.
    • Um complemento completo de hooks é provisinado, permitindo a desenvolvedores a interagir com sequencias de eventos e fluxo de dados.
  • Fácil de usar
    • Desenvolvedores não tem que “criar subterfúgios” no StrataFrame e são mais capacitados que impedidos. Diferentemente de outros frameworks, StrataFrame não passa do seu limite e tenta fazer "tudo" para os desenvolvedores.

Comparação: Aplicativos StrataFrame vs. Típico Aplicativo .NET

Em uma aplicação .NET típica, um DbDataAdapter é “colocado” em um formulário usando o form designer do Visual Studio. O DbDataAdapter tem que ser manualmente configurado antes do desenvolvedor poder codificar uma declaração DbCommand ou SELECT para reaver um DataSet do banco de dados. O DataSet deve ser manualmente conectado a interface do usuário e qualquer validação de dados e regra de negócios deve ser codificada com o formulário. Para criar um formulário adicional, os mesmos passos são repetidos. Desenvolvendo formulários neste método segue-se um arquitetura monolítca e as limitações associadas com uma aplicação sem camadas. (Veja figura 7)

Em uma aplicação StrataFrame, para criar um formulário, um ou mais objeto de negócios são “colocados” no formulário usando o form designer do Visual Studio. O desenvolvedor pode conectar os controles dos formulários aos objetos de negócios e o formulário está completo. Os objetos de negócios não precisam estar configurados e o acesso a dados é permitido através dos objetos de negócios se unindo a Camada de Dados. Toda a validação de dados e regras de negócios é armazenada nos objetos de negócios (mapeado a uma tabela de banco de dados). O formulário demonstra um aplicação de camadas que reusa objetos de negócios ao invés de forçar cada objeto a ser reprogramado ou modificado. (See figura 8)

Tipos de Aplicativos StrataFrame

  • Aplicações WinForms em Camadas
  • Aplicações WebForms em Camadas
  • Aplicações n-Tiered usando camadas de Dados, Camadas de Negócios do StrataFrame para prover acesso a dados e regras de negócios para web services ou SOAP middle tier.
Uma biblioteca de classes de regras de negócios criada no StrataFrame pode ser usada para um ou mais tipos de aplicação (ex: os mesmos objetos de negócios podem ser usados para todos os tipos de aplicações)

Resumo

  • Versão Curta -- Desenvolva código de qualidade mais rápido do que antes enquanto reduz custo de desenvolvimento!
  • Versão Longa –- Muitos livros e artigos foram escritos sobre a teoria de frameworks em camadas mas poucos desenvolvedores atualmente produzem um modelo funcional. Se você está interessado em criar aplicações com o melhor framework que a ciência da computação pode atualmente oferecer: StrataFrame é a sua resposta. É fácil de usar e não ficará no seu caminho. Adicionalmente, código fonte é disponibilizado se você quiser dar uma olhada ou adicionar um evento, método ou hook.

    A decisão não é decidir comprar o StrataFrame – mas decidir se você tirará vantagem deste realmente inovador, excitante e bem desenvolvido produto.

    Lembre-se da definição de insanidade de Einstein que é quando você continua a repetir, repetir e repetir a mesma prática, esperando ter resultados diferentes.



Mapa do Site - Página Principal - Minha Conta - Forum - Sobre - Contato - Avalie - Compre

Microsoft, Visual Studio e o logotipo Visual Studio são marcas registradas de Microsoft Corporation nos Estados Unidos e/ou outros países.