Microsoft Commerce Server 2009: Visão do Desenvolvedor
Para você que está chegando diretamente neste post, esta é uma série dedicada ao Commerce Server e detalhes da versão 2009 do produto. Outros posts já foram publicados:
Nesta publicação vou falar um pouco sobre a estrutura que o desenvolvedor encontrará no Commerce Server 2009.
O que preciso saber antes de desenvolver para o Commerce?
Antes de iniciar a prazerosa tarefa de desenvolver para o Commerce, temos que conhecer as frentes disponíveis.
Dentro do produto podemos agir através da criação da aplicação e de sua base, pipelines, integração com sistemas de pagamento, ou personalizando e extendendo a parte de pedidos. Se quisermos deixar ainda mais completa esta tarefa, podemos incluir a integração com Biztalk, que falaremos futuramente.
Inicialmente vamos entender a visão da aplicação direta e de seus fundamentos, para então partir para outras frentes de desenvolvimento.
Estrutura Básica do Commerce
Pensando de uma forma extremamente simples, o nosso objetivo aqui é conseguir criar uma aplicação que disponibilize um catálogo de produtos e realize a venda para os consumidores. Analisando desta maneira, podemos identificar três módulos que estão presentes no Commerce: Catalog System, Orders System e Profile System. Como o próprio nome diz, são módulos responsáveis pelo catálogo de produtos, os pedidos realizados ou não, e todos os clientes (cadastrados ou anônimos) que interagem com a aplicação.
Além disso, o Commerce conta com um módulo específico de Marketing, criando oportunidades para promoções ou conteúdos direcionados.
Em uma visão mais abstrata, podemos definir toda a estrutura do Commerce da seguinte maneira:
onde nosso foco neste momento são os Commerce Server 2009 Core Systems.
CS Core Systems: Arquitetura
A figura abaixo resume a arquitetura do que chamados de Core Systems do Commerce Server:
Nosso foco aqui é para a visão do desenvolvedor, portanto vamos entender a parte em destaque acima.
Primeiro conceito que podemos concluir é que o Commerce é baseado em 5 e não 4 sistemas como dito anteriormente, a seguir:
- Orders: responsável por tudo que é relativo a pedidos, concretizados corretamente ou não.
- Marketing: módulo específico para criação de campanhas, como descontos, leve 2 pague 1, etc.
- Catalog: responsável por todas as informações dos produtos e suas variantes.
- Inventory: responsável pelo estoque.
- Profiles: responsável pelas informações dos usuários.
O Inventory System é responsável por todo o estoque, seu estado atual e histórico, e em conjunto com o Catalog System completa todas as nossas necessidades para o e-commerce.
Com estes 5 sistemas definidos, podemos utilizar o Commerce Server .NET API para, através da nossa aplicação ASP.NET, tornar nossa aplicação “utilizável”.
Observem que é possível utilizar o Biztalk Server para integrações com LoB, como ERP e CRM, com adaptadores nativos para o Commerce. Mas isto é um assunto dedicado ao final da série de posts :)
Uma primeira observação importante aqui é que ao desenvolver para o Commerce devemos esquecer daquele velho companheiro chamado Banco de Dados (pelo menos inicialmente). Na nossa aplicação o Commerce é o responsável pelo acesso aos dados. O nosso trabalho como desenvolvedor é manipular apenas os objetos, deixando os detalhes da persistência para o Commerce Server Manager.
--
No próximo post vamos analisar como é desenvolver para o Commerce na prática ;)
Até lá!