 |
Especial sobre .Net
Por: Caio Azevedo  | Publicado em: 14-02-2008 | Comentários: 0 | Acessos: 130 | Avaliação: (75) (?)
Estamos a beira de uma revolução, a plataforma .Net é um fato, boa parte dos desenvolvedores seguirá esse caminho. Enquanto isso na “vida real” nos deparamos todo dia com a boa e velha formula: ASP, VB 6.0/COM+, JavaScript, SQL Server. E é nesse ambiente que tenho dedicado meu tempo nos últimos seis meses, e o que pretendo nesse espaço é compartilhar o que aprendemos nesse período. Nossa equipe desenvolveu um esquema onde é possível, através de bibliotecas de funções e padronizações, reutilizarmos os códigos em outras aplicações.
Iniciaremos nossos artigos com uma explanação conceitual do modelo de implementação utilizado, assim:
Seguindo o processo natural da evolução dos softwares, temos hoje as chamadas aplicações em 3 camadas. Voltando ao inicio da era da computação, as aplicações restringiam-se a unidades monolíticas (mainframes) que continham as aplicações e os dados centralizando todo o processamento. Com o advento da microinformática (terminais inteligentes) e a evolução das redes, o processamento passou a ser dividido, no que ficou conhecido como arquitetura Cliente/Servidor, sendo que a lógica da aplicação ora ficava na interface com o cliente, ora no gerenciador de banco de dados (quando eles eram usados), ou até mesmo dividia-se entre eles.
Atualmente, abriu-se espaço para a lógica do negócio, em uma camada intermediária (ver ilustração acima), isolando a interface com o cliente (camada de apresentação), do banco de dados, e é nesse cenário que temos nossa aplicação.
Por incrível que pareça, iniciaremos nossa explanação pela camada intermediária por considera-la o núcleo de qualquer aplicação dentro desse modelo, e principalmente por perceber o quão deficiente encontra-se os profissionais dessa área no mercado.
No modelo de implementação em três camadas, a camada de regras de negócios, como é conhecida e implementada aqui via componentes COM+ em Visual Basic, tem papel fundamental em qualquer sistema que segue essa proposta. Algumas características interessantes devem ser ressaltadas:
1. O Gerenciamento de transações é controlado pelo COM+.
2. As regras de negócio podem e devem estar centralizadas aqui.
3. Esses componentes podem ser reaproveitávies para qualquer aplicação que necessitem das mesmas regras.
4. Falar em aplicativos Web, o uso de Componentes é imprescindível para amenizar o processamento até então centrado no servidor, no cliente ou mesmo dividido entre eles.
Criamos um esquema onde alguns componentes básicos são fundamentais, dado suas características de modularidade e capacidade de reutilização.
Utilizamos o ADO com forma de acesso ao banco de dados, não nos ataremos a detalhes sobre o ADO, mas durante a implementação faremos alguns comentários.
Nossa proposta é de um esquema baseado em quatro componentes. Onde cada um tem funcionalidades distintas o que ajuda na manutenção, além de simplificar a portabilidade, a seguir explanaremos cada um deles, e nos próximos artigos, comentaremos suas respectivas implementações:
Seguranca.dll
Sua funcionalidade é de prover a segurança da aplicação, através da obtenção da string de conexão com o banco de dados.
Utilizamos um arquivo de configuração, chamado banco.ini onde as informações de segurança estão armazenadas, no entanto para um sistema implementado com essa tecnologia, utilizamos um esquema mais seguro com as informações de conexão armazenadas em tabelas, onde a preocupação com a segurança é mais intensa.
Pode-se questionar a funcionalidade desse componente ser incorporada ao componente de conexão, no entanto visando maior portabilidade e facilidade de manutenção quanto a implementação de segurança, fez-se necessário esse esquema.
conn.dll
Considerando que nossa implementação executa as instruções de INSERT, DELETE E UPDATE, a partir de um objecto conection do ADO, esse componente tem como função unicamente inicializar essa conexão e disponibiliza-la aos demais componentes, para tal ele faz referencia ao objeto seguraca.dll.
Move.dll
O coração dessa camada no modelo proposto. Dentre outras funcionalidades, é a geração (dinâmica) e execução das instruções de INSERT, DELETE, UPDATE E SELECT, controle de erro de interação com a base de dados, prover funcionalidade de navegação dos registros com a facilidade de relacionar os nomes físicos dos atributos com nomes lógicos mais intuitivos. Tem como pré-requisito a existência de uma conexão ativa criada pelo conn.dll.
CompBasico.dll
Provém a interface com o cliente (aplicativo ASP, VB, Delphi, etc) e um elemento do banco de dados (tabela ou view). Apresenta um relacionamento um para um com os elementos do banco de dados (tabela ou view), é através dele também que gerenciamos as transações, e encapsulamos as regras de negócio.
Até a próxima!
Avalie este artigo:
Current: 0 / 5 stars - 0 vote(s).
Fonte Artigos - Artigonal.com
Perfil o autor: Caio Azevedo é arquiteto de softwares, especialista em soluções corporativas nos ambientes intranet/internet. Graduado em Ciência da Computação, Mestrando da Escola Politécnica da USP. Certificações Microsoft [MCP, MCAD e MCSD .NET]. Gestor da célula Microsoft da Magna Sistemas Consultoria (www.magnasistemas.com.br).
|
Submeter artigos se tornou um dos meios os mais populares de gerar links de qualidade e tráfego para o seu site. CADASTRE-SE JÁ, É DE GRAÇA! |
|
Artigos Relacionados
ADO .NET - Recomendações para estratégia de acesso a dados Por: José Carlos Macoratti | 17/02/2008 | Programação Se você está iniciando o aprendizado ou migrando para a plataforma .NET, pode estar confuso quando o assunto é acesso a dados. Motivos não faltam, afinal você tem a sua disposição diversas opções na plataforma .NET para realizar acesso a dados com classes e métodos distintos: DataSets, DataReaders, XML, TableAdapters, DataAdapter, Command, etc.
O novo modelo de compilação e os novos controles Por: José Carlos Macoratti | 17/02/2008 | Programação Com o advento da ASP.NET 2.0, houve uma grande mudança em relação as versões anteriores 1.x. O processo de criação de uma aplicação Web Form na versão 2.0 não depende mais da definição de um diretório virtual. Não existe também na nova versão um projeto ASP.NET web.
A Gestão de Requisitos Por: José Carlos Macoratti | 17/02/2008 | Programação Conhecer e dominar uma linguagem de programação é bom, mas não é tudo. Para criar sistemas robustos e com qualidade, é preciso mais do que uma boa linguagem e um bom programador.
Fundamentos teóricos sobre C# Por: Caio Azevedo | 14/02/2008 | Programação Partiremos dos fundamentos teóricos da tecnologia, e através de exemplos tentaremos prover soluções para as situações do nosso dia a dia. Seria interessante contar com a interatividade de vocês leitores com críticas e sugestões sobre os assuntos abordados.
Usando Namespaces profissionalmente Por: Caio Azevedo | 14/02/2008 | Programação O que a princípio aparenta ser mais um dos novos conceitos do .net, veremos que o mesmo tem muito a ser explorado, e assim faremos, tentando extrair todo o potencial dessa funcionalidade do Framework, além de aproveitarmos a oportunidade para analisar a diretiva using[Imports, seu correspondente no VB.NET].
Sua Empresa Já Está Na Internet? Por: Ruben Zevallos Jr. | 03/03/2008 | Web Design Se você está, parabéns, pois o mercado do Maranhão e, principalmente, de São Luís tem mais de 200 mil usuários de Internet. Parte destes usuários usa conexão de banda larga, contabilizando mais de 50 mil conexões. Todos estão procurando produtos e serviços na Internet.
Um Pouco De Siw Por: Ruben Zevallos Jr. | 08/03/2008 | Programação Muitas pessoas já me perguntaram o que é SIW. SIW é a sigla de Sistemas com Interface Web. O SIW é o desenvolvimento de Sistemas normais utilizando a Interface Web, que tem diversas vantagens perante a interface gráfica normal
O Porque E Como Do Siw Por: Ruben Zevallos Jr. | 08/03/2008 | Programação Já vi muitos projetos para Internet irem para o buraco, porque o ele teria muito dado dinâmico, relatórios etc, mas foi totalmente guiado por profissionais de design e não de sistemas.
Últimos Programação artigos
Phpmyadmin - Administrando Tabelas Por: Amilcar Junior | 12/10/2008 Usado no gerenciamento de dados no MySQL administração de banco de dados e tabelas.
Vamos nessa matéria abordar o script phpMyAdmin , usado no gerenciamento de dados no MySQL. Para fazer o download da última versão, vá nesse link. Você precisa ter instalado em sua máquina o Servidor Apache, o PHP e o MySQL para usar o phpMyAdmin. Após seu download e tudo funcionando corretamente ...
Mysql - Contruindo Tabelas Por: Amilcar Junior | 12/10/2008 O uso direto do MySQL dentro do PhpMyAdmin construido tabelas.
Recordset - Dreamweaver Cs3 Por: Amilcar Junior | 12/10/2008 Uso de Recordset para ligar um banco de dados a uma página dinâmica no Adobe dreamweaver.
Segurança - Trocando A Porta Do Sql Server 2000 Por: Tulio Rosa | 24/05/2008 Existem várias configurações que podemos fazer para garantir a segurança do banco de dados, entre elas temos a opção de alterar a porta default utilizada nas conexões, fazendo isso somente as solicitações direcionadas a nova porta terão respostas, as demais receberão erros como se o banco não existisse.
Data Por Extenso Por: Yunis Carvalho | 15/04/2008 Vamos descrever como colocar a data por extenso em um site e o detalhe é que a data será atualizada automaticamente, de acordo com a data do sistema do servidor que está hospedado o site.
O Porque E Como Do Siw Por: Ruben Zevallos Jr. | 08/03/2008 Já vi muitos projetos para Internet irem para o buraco, porque o ele teria muito dado dinâmico, relatórios etc, mas foi totalmente guiado por profissionais de design e não de sistemas.
Um Pouco De Siw Por: Ruben Zevallos Jr. | 08/03/2008 Muitas pessoas já me perguntaram o que é SIW. SIW é a sigla de Sistemas com Interface Web. O SIW é o desenvolvimento de Sistemas normais utilizando a Interface Web, que tem diversas vantagens perante a interface gráfica normal
Como instalar e configurar o Php5 e o Apache Por: Alexandre Silveira | 21/02/2008 Este artigo trata sobre a instalação e configuração do php5 e o apache.
Mais artigos de Caio Azevedo
Fundamentos teóricos sobre C# Por: Caio Azevedo | 14/02/2008 | Programação Partiremos dos fundamentos teóricos da tecnologia, e através de exemplos tentaremos prover soluções para as situações do nosso dia a dia. Seria interessante contar com a interatividade de vocês leitores com críticas e sugestões sobre os assuntos abordados.
MSIL - Microsoft Intermediate Language Por: Caio Azevedo | 14/02/2008 | Programação Minha proposta nesse espaço inicialmente seria de analisarmos a linguagem C#, sua sintaxe, implementações dos conceitos de orientação a objetos, etc. Para tal ,acredito que a implementação de programas console [aqueles que rodam no DOS], seja a melhor alternativa nesse primeiro momento.
Usando Namespaces profissionalmente Por: Caio Azevedo | 14/02/2008 | Programação O que a princípio aparenta ser mais um dos novos conceitos do .net, veremos que o mesmo tem muito a ser explorado, e assim faremos, tentando extrair todo o potencial dessa funcionalidade do Framework, além de aproveitarmos a oportunidade para analisar a diretiva using[Imports, seu correspondente no VB.NET].
Desmistificando as Classes Por: Caio Azevedo | 14/02/2008 | Programação A Linguagem C# é totalmente baseada no modelo de programação orientada à objetos, sendo assim, profundos conhecimentos em alguns de seus elementos principais são de fundamental importância para que possamos extrair o máximo do modelo/linguagem, sobretudo aqueles desenvolvedores acostumados com outros modelos tais quais, programação estruturada e orientada à eventos.
Problemas com modelos de aplicações web Por: Caio Azevedo | 14/02/2008 | Programação Em minhas recentes atividades como arquiteto de soluções .net, deparei em alguns clientes com uma situação no mínimo inusitada...
Exemplo de otimização de armazenamento de dados Por: Caio Azevedo | 14/02/2008 | Informática Esse artigo tem como objetivo propor a solução de um problema no qual deparamos com razoável freqüência, e se você ainda não o teve pela frente, provavelmente ainda o terá especialmente se você desenvolve aplicações comerciais.
|
 |