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:

  1. Microsoft Commerce Server: O que é?
  2. Microsoft Commerce Server: Como saber que é uma boa decisão?

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:

Dd452198_High_level_CS2009_Architecture(en-us,MSDN_10)

onde nosso foco neste momento são os Commerce Server 2009 Core Systems.

Dd452198_High_level_CS2009_Architecture(en-us,MSDN_10)

 

CS Core Systems: Arquitetura

A figura abaixo resume a arquitetura do que chamados de Core Systems do Commerce Server:

Dd452026_DetailedArchitecture(en-us,MSDN_10)   Dd452026_DetailedArchitecture(en-us,MSDN_10)

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:

  1. Orders: responsável por tudo que é relativo a pedidos, concretizados corretamente ou não.
  2. Marketing: módulo específico para criação de campanhas, como descontos, leve 2 pague 1, etc.
  3. Catalog: responsável por todas as informações dos produtos e suas variantes.
  4. Inventory: responsável pelo estoque.
  5. 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á!

No Comments