 |

|
| |
A nova versão do sistema
de comércio eletrônico Netstore adotou a tecnologia .NET (lê-se DotNet) por ser
esta uma das tecnologias que vem se destacando cada vez mais no mercado
mundial. Visivelmente, detecta-se quando um site utiliza a tecnologia .NET
quando no seu endereço (URL) há algum arquivo com a extensão ".aspx".
Ao contrário de sites que utilizam a antiga versão da linguagem ASP (endereços
de páginas que terminam com a extensão ".asp" são conhecidos como ASP
convencional e é uma tecnologia já obsoleta, sem suporte ou atualizações desde
2001 por seu fabricante Microsoft), a nova linguagem .NET oferece um conjunto
de novas funcionalidades, segurança, multi-tarefa e performance muitíssimo
superiores.
Foi adotada também na sua arquitetura o modelo "N-Tier", no qual a execução do
aplicativo é distribuída de uma forma eficiente entre diversas camadas de
aplicações, abrangendo tanto os browsers/navegadores dos clientes, quanto os
servidores ativos de Web e banco de dados. Este novo modelo conceitual e
operacional, permite a incorporação de vantagens tais como:
|
-
Total aderência a padrões de mercado.
-
Minimização na utilização de recursos de comunicação.
-
Alta escalabilidade e segurança.
-
Administração centralizada.
-
Rápida incorporação de novas tecnologias.
-
Disponibilização de novas versões de forma transparente para os usuários.
|
| Veja abaixo, a estrutura
e detalhes de cada camada da aplicação: |
|
| |
-
Componentes de Interfaces de Usuários (UI Components): muitas soluções
necessitam disponibilizar alguma maneira para que usuários de uma aplicação
interajam com partes dela. Por exemplo, em uma aplicação de vendas, o Web Site
permite que os clientes visualizem produtos e enviem pedidos, e uma aplicação
desktop permite que os vendedores da empresa entrem com pedidos de venda para
clientes que optaram por fazer o pedido por telefone. As Interfaces de Usuários
são as páginas do Web Site propriamente dito, tanto do lado do consumidor como
dos operadores e administradores e tem as funções de carregar, formatar,
receber e validar os dados informados informados por estes.
-
Componentes de Processos de Usuários (UI Process Components): em muitos casos,
uma interação do operador com o sistema segue um processo previsível. Por
exemplo, em uma aplicação de vendas, pode ser implementado um procedimento para
visualizar os dados detalhados de um produto que um usuário selecionou a partir
de uma lista de categorias. Semelhante a isto, quando um usuário efetua uma
compra, a interação segue um processo previsível de coletar informações do
usuário onde, em primeiro lugar, o usuário fornece detalhes dos produtos a
serem comprados, depois informa o endereço para a entrega e, por último,
seleciona a forma de pagamento do pedido. Para ajudar a sincronizar e
orquestrar estas interações do usuário, é bastante útil e prático controlar
este processo utilizando componentes separados. Desta maneira, o fluxo do
processo e a lógica do gerenciamento não ficará com códigos muito complexos na
Interface de Usuários e, ao mesmo tempo, este "motor" de interação básica com o
usuário pode ser reutilizado por múltiplas interfaces de usuários. Ou seja,
utilizando esta metodologia conhecida por "reutilização de código", há um
grande ganho de produtividade para os desenvolvedores do sistema.
-
Fluxo de Processos de Negócios (Business Workflows): depois que os dados
necessários foram coletados por um componente de processo de usuários, os dados
podem ser utilizados para executar um processo de negócio. Por exemplo, depois
que o produto, os detalhes para entrega e pagamento são submetidos à aplicação
de vendas, o processo de receber o pagamento e organizar a entrega podem
começar. Muitos processos de negócio envolvem múltiplos passos que devem ser
executados na ordem correta e orquestrado. Por exemplo, o sistema de vendas
necessitará calcular o valor total do pedido, validar os dados cartão de
crédito, processar o pagamento do cartão de crédito e preparar a entrega da
mercadoria. Este processo pode levar um tempo indeterminado para ser completado
o que, consequentemente, fará com que seja necessário gerenciar/administrar
todas as tarefas e dados necessários para esta execução. Os Business Workflows
definem e coordenam os processos que levam muito tempo para serem concluídos e
processos de negócios com múltiplas fases.
-
Componentes de Negócios (Business Components): sem levar em consideração se um
processo de negócio consiste em num único passo ou um workflow orquestrado, a
aplicação provavelmente exigirá componentes que implementam regras de negócio e
executem tarefas de negócio. Por exemplo, numa aplicação de vendas, você
necessitará implementar uma funcionalidade para calcular o valor dos produtos
de um pedido e calcular o valor correto da taxa de entrega, descontos e etc. Os
componentes de negócios implementam a lógica de negócios da aplicação.
-
Agentes de Serviços / Service Agents: quando um componente de negócio necessita
utilizar funcionalidades providas por um serviço externo à aplicação, é
necessário desenvolver um código para gerenciar a semântica de comunicação com
este serviço em particular. Por exemplo, os componentes de negócios da
aplicação de vendas descrito anteriormente, podem utilizar um agente de serviço
para gerenciar a comunicação com o serviço de autorização de cartão de crédito
e um segundo agente de serviço para manipular os dados vindos do serviço de uma
empresa de entregas para efeitos de cálculo de frete e prazo de entrega. Os
agentes de serviço isolam as características individuais das chamadas a
diversos serviços externos por sua aplicação e podem também fornecer serviços
adicionais, tal como mapeamento básico entre o formato dos dados exposto pelo
serviço e o formato que sua aplicação exige.
-
Interfaces de Serviços / Service Interfaces: para disponibilizar a lógica de
negócio da aplicação como um serviço, deve-se criar interfaces de serviço que
disponibilizem a comunicação necessária exigida por diferentes consumidores de
serviços. Por exemplo, um serviço de autorização de cartão de crédito deve
expor uma interface de serviço que descreve todas as funcionalidades oferecidas
por ele e a correta semântica de comunicação necessária para a sua utilização.
-
Componentes para Lógica de Acesso a Dados / Data Access Logic Components. A
maioria das aplicações e serviços necessitam acessar um ou mais bancos de dados
durante um processo de negócio. Por exemplo, uma aplicação de vendas necessita
ler informações de um produto que está armazenado em um banco de dados para
mostrar os detalhes deste produto a um usuário/comprador e também, necessita
inserir os detalhes de um pedido no banco de dados quando um usuário/comprador
efetuar uma compra. Faz sentido, neste caso, separar a lógica necessária de
acesso às informações de um banco de dados em uma camada separada para acesso e
manipulação a dados. Fazendo isto, as funcionalidades para acesso e manipulação
a dados fica centralizada o que torna mais fácil a sua configuração e
manutenção.
-
Componentes de Entidade de Negócios / Business Entity Components: a maioria das
aplicações requerem que dados sejam transferidos entre componentes. Por
exemplo, em uma aplicação de vendas, uma lista de produtos deve ser passada dos
componentes de lógica de acesso de dados (Data Access Logic Components) aos
componentes de interface de usuário (User Interface components) de modo que a
lista de produtos possa ser exibida aos usuários. Estes dados são utilizados
para representar informações reais para as entidades de negócios (Business
Entities), tal como produtos ou pedidos. As entidades de negócios (Business
Entities) que são usadas internamente na aplicação, são geralmente estruturas
de dados retornadas a partir de um banco de dados podendo conter formatos
diversificados. Neste caso, foi adotado no Netstore a utilização de linguagem
orientada a objeto para facilitar a comunicação e disponibilização de dados
entre qualquer tipo de aplicação.
-
Componentes para segurança, gerenciamento operacional e comunicação: são
responsáveis em gerenciar as exceções/erros do sistema, autorizar usuários a
executar determinadas tarefas e comunicar com outros serviços e aplicações.
|
|
|
|
|
 |