Microsoft Commerce Server 2009: Commerce Foundation

Para entendermos completamente o que é o novo Commerce Foundation, precisamos relembrar alguns conceitos.

Dd452026_DetailedArchitecture(en-us,MSDN_10) Como podemos observar na figura, a estrutura base do Commerce envolve o que chamamos de Commerce Server Core Systems, que pode ser subdivido em 5 sistemas:

  1. Orders System
  2. Marketing System
  3. Catalog System
  4. Inventory System
  5. Profiles System

Conforme explicado no post anterior, cada sistema representa uma parte importante no processo do comércio eletrônico, e em conjunto fornecem toda a estrutura necessário que criemos, através do Commerce Server, uma aplicação completa.

A versão 2009 apresentou um novo conceito chamado Commerce Foundation, que podemos definir basicamente como:

  • Novo modelo de programação unificado
  • Exemplos de desenvolvimento
  • Documentação

No cenário técnico, o Commerce Foundation é uma coleção de novas operações que podem ser realizadas nos Core Systems, como segue:

Catalog System

  • Recuperação de informações do site, catálogo, categorias, produtos, variantes e estoque;
  • Full-text search;
  • Integração com Sharepoint;

Marketing System

  • Recuperação de conteúdo direcionado;
  • Recuperação dos descontos aplicados ao carrinho ou ao pedido;
  • Recuperação de descontos simples aplicados a produtos ou categorias;
  • Registros de eventos de campanhas;
  • Integração com Virtual Earth;

Orders System

Existem algumas diferenças entre a versão 2009 e versão 2007 do Orders System. Neste novo modelo, algumas alterações foram efetuadas em relação ao basket e principalmente nas formas de pagamento. Veremos os detalhes nos próximos posts da série.

Profiles System

Através deste sistema é possível administrar as informações dos usuários, através de Site Terms e Profiles, assuntos próximos da série de posts sobre Commerce.

Novo modelo de entidades

A versão 2009 do Commerce apresentou um novo modelo de entidades para representar a visão conceitual do produto através de todos os Core Systems. A base para todo este novo modelo de entidade é a classe CommerceEntity.

Todas as operações realizadas no Commerce podem ser resumidas como operações de request-response. Resumidamente, podemos enviar dados para a requisição e receber respostas de execução.

var query = new CommerceQuery<CommerceEntity>("UserProfile");
query.SearchCriteria.Model.Properties["Email"] = "useremail@yourcompany.com";
CommerceResponse response = OperationService.ProcessRequest(base.GetCurrentRequestContext(), query.ToRequest());

Dd451270_2a3ad16c-1647-4e31-9326-a73836cd14d0(en-us,MSDN_10)

A figura acima representa a entidade base CommerceEntity, apresentando a coleção Properties. Esta coleção representa um conjunto nome/valor para as propriedades da entidade.

OperationService

O serviço de operações exemplificao acima tem o papel de receber uma requisição do Commerce e retornar uma CommerceResponse.

Dd464322_e6ba4fc5-1741-492f-a72d-d9a6d494d738(en-us,MSDN_10)

CommerceRequest e CommerceResponse

O objetivo do CommerceRequest é simplesmente identificar uma ou mais operações a serem realizadas, sendo que o CommerceResponse é a resposta para estas operações:

Dd464322_912e62ae-2c4a-4cd7-9583-2bd7c8f2f193(en-us,MSDN_10) Dd464322_9228885b-afc8-4169-ab3e-f7ee4aa3f27b(en-us,MSDN_10)

Pontos Positivos desta Abordagem

O que vem para agradar e muito é o novo modelo totalmente extensível, fornecendo entidades fortemente tipadas definidas de acordo com cada projeto, através da interface ICommerceEntity:

 Dd451701_6f2a7784-724b-4086-9297-b7f3c197c6e0(en-us,MSDN_10)

--

Veremos nos próximos posts a aplicação prática destes conceitos. Aguardem!

No Comments