Back-End

23 out, 2014

E-commerce: desafios e frameworks

Publicidade

Framework é uma palavra utilizada tanto por profissionais de negócios quanto pelos de tecnologia. Ela descreve os recursos capazes de servir de base confiável para o desenvolvimento de uma determinada atividade, reduzindo o esforço estrutural, aquele relacionado a estabelecer condições para que uma atividade seja realizada com sucesso, como o framework que utilizei para escrever este artigo. O computador, o software Pages, o tema e o formato do texto – esses componentes formam o framework que me permite focar em desenvolver o texto sem me preocupar com como registrar o texto ou onde está meu “errorex”, por exemplo.

Em e-commerce, coexistem frameworks de práticas de negócio e de desenvolvimento de software. Há, também, uma terceira classe de frameworks que dão suporte para as duas áreas, capazes de proporcionar uma maior proximidade e velocidade em um processo de realização conjunta. É nessa classe de frameworks que o Magento se destaca.

O Magento proporciona, desde o momento de sua instalação, os recursos de desenvolvimento capazes de dar suporte para as decisões de negócio em ambientes de mudança e agilidade, indo de lojas de um só produto a catálogos de milhões de SKUs.

Uma das características técnicas do Magento de que mais gosto é sua implementação “event-driven”. Por meio da implementação de observers, permite que ações sejam anexadas a eventos que ocorrem inclusive na interface web.

Um exemplo do core do Magento é este método, que atualiza o estoque de um produto quando ele é adicionado ao Order.

public function createOrderItem($observer)
   {
    	$item = $observer->getEvent()->getItem();
	$children = $item->getChildrenItems();
    	if (!$item->getId() && empty($children)) {
        	Mage::getSingleton('cataloginventory/stock')->registerItemSale($item);
    	}
    	return $this;
  }

Com a utilização de observers, fica fácil estender o Magento e, por exemplo, monitorar as palavras mais buscadas no seu site para conseguir descobrir novas oportunidades de negócio, comunicar o Centro de Distribuição (CD) sobre um novo pedido no momento em que ele é pago e, assim, reduzir o tempo de atendimento, ou ainda criar mecanismos que demandem automaticamente os fornecedores quando o estoque atingir o limite mínimo.

São mais de 400 gatilhos de eventos oficialmente distribuídos pelo framework e que permitem esse tipo de desenvolvimento, mas caso você precisar de um novo, a plataforma permite que você o crie de uma maneira rápida e segura, seguindo três passos: configuração do XML, criação da classe que implementa o recurso e a adição da trigger no código, como no exemplo:

Mage::dispatchEvent([label_do_evento], [array de dados]);

Um outro recurso disponível no Magento é o Business Rule Engine – BRE, que aparece com o nome de Rule Conditions. BREs tornam maleáveis os pontos do software onde elas são utilizadas, constituindo uma ferramenta comum em ambientes com ritmo de mudança muito acelerado, exatamente como é o e-commerce, com sua necessidade de resposta rápida para mudanças no mercado.

A composição de campanhas de marketing através de BREs permite compor cenários complexos com muita velocidade, colocá-los em teste e realizar aprimoramentos a partir do conhecimento surgido da experimentação, sem a necessidade inicial de desenvolvimento.

No exemplo abaixo, está configurada uma ação de upselling. Quando o modelo de um produto é 2610, o Magento irá sugerir o produto modelo w810i.

artigo4

 

artigo5

É possível compor uma campanha que oferece 10% de desconto para um grupo de clientes na compra de determinados produtos, para um método de pagamento específico, desde a instalação do Magento. Se houver novos parâmetros que você deseja utilizar para compor o conjunto de regras da BRE, isso pode ser feito com segurança por um programador Magento.

Além dos recursos que já citei, o Magento oferece suporte para localização do site, utilização de mais temas para o front-end e centenas de extensões, muitas delas gratuitas e mantidas pela comunidade.

Atualmente são três as versões de Magento disponíveis no mercado: Community, Enterprise e a GO (SaaS), rodando o code base na versão 1.9. Paralelo a isso, está em desenvolvimento a versão 2.0, que atualiza práticas de programação e promete aumentar ainda mais a produtividade dos desenvolvedores envolvidos com e-commerce.

***

Artigo publicado na Revista iMasters. Você pode assinar a Revista e receber as edições impressas em casa, saiba mais.