Biblioteca de Comércio Electrónico para a Plataforma WebComfort

Transcrição

Biblioteca de Comércio Electrónico para a Plataforma WebComfort
UNIVERSIDADE TÉCNICA DE LISBOA
INSTITUTO SUPERIOR TÉCNICO
eCT - Biblioteca de Comércio Electrónico
para a Plataforma WebComfort
Frederico de Carvalho Baptista
(Licenciado)
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática e de Computadores
Março de 2008
Resumo
No contexto das áreas de comércio electrónico e sistemas de gestão de conteúdo (CMS),
analisam-se várias extensões de comércio electrónico para CMS, com o objectivo de identificar as suas caracterı́sticas mais importantes, as boas práticas e também as suas fraquezas
ou limitações.
Neste âmbito, é proposto o sistema eCT – ”Biblioteca de Comércio Electrónico para
a Plataforma WebComfort”, cujas principais qualidades são: adaptabilidade a diferentes
contextos, nomeadamente diferentes tipos de lojas, paı́ses, culturas ou sistemas de impostos; extensibilidade, através da facilidade de desenvolvimento e adição de novas funcionalidades; e facilidade de instalação e configuração, de forma a satisfazer os diferentes
requisitos de negócio.
Para concretizar o eCT foram definidas as seguintes áreas principais: catálogo, promoções,
inventário, gestão operacional da loja, e configuração da loja. O sistema suporta ainda
os seguintes mecanismos de extensão: Facetas de produtos; Envio; Pagamento; Cálculo
de impostos; Logging; Relatórios; e Gestão de unidades monetárias. Destes destaca-se o
mecanismo de facetas de produtos, que permite que um produto seja composto por um
conjunto de facetas, de forma dinâmica. Por outro lado, o eCT suporta diferentes modelos
de negócio, nomeadamente os modelos ”Loja”, ”Centro Comercial” e ”Hipermercado”.
Para além da concepção e implementação do eCT, esta dissertação apresenta e discute
ainda cenários de aplicação do sistema, de modo a ilustrar as suas qualidades.
Palavras-chave
Comércio electrónico, sistemas de gestão de conteúdo (CMS), extensões de comércio
electrónico para CMS, WebComfort, loja online, centro comercial online
iii
Abstract
In the context of the areas of e-Commerce and Content Management Systems (CMS),
several e-Commerce extensions for CMS are analyzed, with the goal of identifying their
most relevant features, best practices and also their weaknesses or limitations.
In this scope, this work proposes the eCT system - ”eCommerce Toolkit for the WebComfort platform”, whose main features are: adaptability to different contexts, such as
different types of stores, countries, cultures or tax systems; extensibility, due to the ease
of development and addition of new functionalities; and ease of installation and configuration, to fulfill the different business requirements.
To implement the eCT, the following main areas were defined: catalog, promotions,
inventory, store operation management, and store configuration. The system supports the
following extensions mechanisms: Product facets; Shipping; Payment; Tax Calculation;
Logging; Reporting; and Currency Management. From these we highlight the product
facets, that allow that a product to be dynamically composed by a set of facets. Furthermore, the eCT supports different business models, namely the ”Store”, ”Shopping Mall”
and ”Supermarket” models.
Besides the conception and implementation of the eCT, this work presents and discusses some application scenarios of this system, to illustrate its qualities.
Keywords
e-Commerce, content management systems (CMS), e-commerce extensions for CMS, WebComfort, virtual store or internet shop or e-store, virtual shopping malls
v
Agradecimentos
Gostaria de agradecer especialmente ao Professor Alberto Silva, que me orientou neste
trabalho, pela confiança, apoio e disponibilidade dispensados.
Aos meus colegas João Saraiva, David Ferreira, Alexandre Barão e Patrı́cia Silva pela
amizade e boa disposição. Ao João Leonardo pelo apoio no WebComfort.
Aos meus amigos, sem nenhuma ordem em particular, Carlos Santos, Ricardo Cristino,
Nuno Cordeiro, José da Gama, João Gonçalves, João Rebelo, Duarte Sampaio, João
Pombinho, Ricardo Clérigo, Telmo Nabais, Rui Eugénio e Rui Silva.
À minha namorada, Ana Martins, agradeço o apoio e paciência pelo menor tempo
disponı́vel para estar com ela.
E, claro, não poderia deixar de agradecer aos meus pais e irmã, pelo apoio incondicional
em todas as fases da minha vida.
vii
Conteúdo
Resumo
iii
Abstract
v
Agradecimentos
vii
Conteúdo
ix
Lista de Figuras
xiii
Lista de Tabelas
xv
1 Introdução
1
1.1
Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
O eCommerce Toolkit para o WebComfort . . . . . . . . . . . . . . . . . .
3
1.4
Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.5
Organização do documento . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.6
Convenções Usadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2 Estado da Arte
2.1
2.2
2.3
7
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.1.1
CMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.1.2
Extensões de comércio electrónico para CMS . . . . . . . . . . . . .
8
Modelo de Referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.1
Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.2
Resumo do Modelo de Referência . . . . . . . . . . . . . . . . . . . 10
Análise das extensões de comércio electrónico . . . . . . . . . . . . . . . . 12
2.3.1
VirtueMart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2
CATALooK.netStore . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.3
Discussão e comparação das extensões . . . . . . . . . . . . . . . . 15
ix
x
CONTEÚDO
2.3.4
Conclusões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3 O eCT - Concepção
3.1
3.2
3.3
21
Conceitos Principais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1
Catálogo de produtos . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.1.2
Suporte a diferentes modelos de comércio electrónico . . . . . . . . 25
3.1.3
Adaptação a diferentes contextos de pagamento, envio e cálculo de
impostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.4
Promoções e Marketing . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.5
Logging e Estatı́sticas/Relatórios . . . . . . . . . . . . . . . . . . . 28
3.1.6
Multi-cultura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.7
Segurança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.8
Aspecto visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Visão funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.1
Actores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2.2
Casos de Utilização Geral e do Cliente . . . . . . . . . . . . . . . . 30
3.2.3
Administração do eCT . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.4
Configuração e gestão da Loja . . . . . . . . . . . . . . . . . . . . . 36
Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4 O eCT - Arquitectura e Desenvolvimento
43
4.1
Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2
Implementação dos Conceitos Principais . . . . . . . . . . . . . . . . . . . 45
4.3
4.4
4.2.1
Catálogo de produtos . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2.2
Suporte a diferentes modelos de comércio electrónico . . . . . . . . 46
4.2.3
Adaptação a diferentes contextos de pagamento, envio e cálculo de
impostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.4
Promoções e Marketing . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.5
Logging e Estatı́sticas/Relatórios . . . . . . . . . . . . . . . . . . . 51
4.2.6
Multi-cultura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.7
Segurança . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.8
Aspecto visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Arquitectura de Componentes - Módulos do Sistema . . . . . . . . . . . . . 54
4.3.1
Módulo ”Produtos” e respectivos Módulos de navegação . . . . . . 56
4.3.2
Componente de gestão de informação pessoal . . . . . . . . . . . . . 58
4.3.3
Módulo ”Carrinho de Compras” e ”Finalização da Encomenda” . . 59
4.3.4
Módulo de Administração . . . . . . . . . . . . . . . . . . . . . . . 61
Planeamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
CONTEÚDO
4.5
xi
Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5 Cenários de Aplicação
5.1 Cenário A - Loja de Livros e DVD’s . . .
5.2 Cenário B - Portal eArte . . . . . . . . .
5.3 Cenário C - Portal de Venda de Bilhetes
5.4 Conclusão . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Conclusões e trabalho futuro
6.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Trabalho futuro . . . . . . . . . . . . . . . . . . . . .
6.2.1 Aplicação do eCT em situações reais . . . . .
6.2.2 Implementação dos aspectos não contemplados
Referências
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . .
. . . .
. . . .
até ao
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . .
. . . . . .
. . . . . .
momento
.
.
.
.
.
.
.
.
.
.
.
.
71
71
72
74
74
.
.
.
.
77
77
78
79
79
81
Lista de Figuras
1.1
Modelos de negócio suportados pelo toolkit . . . . . . . . . . . . . . . . . .
4
2.1
Meta-modelo de um CMS (extraı́do de [Carmo 07]). . . . . . . . . . . . . .
8
2.2
Dependências entre as áreas de comércio electrónico identificadas
2.3
Screenshot da página principal do VirtueMart . . . . . . . . . . . . . . . . 13
2.4
Screenshot da página principal do CATALooK.netStore . . . . . . . . . . . 14
3.1
Exemplo de combinação de facetas de produto para obtenção de templates
de produtos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2
Modelo ”Loja” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3
Modelo ”Centro Comercial” . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4
Modelo ”Hipermercado” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5
Hierarquia de actores suportada pelo eCT . . . . . . . . . . . . . . . . . . 30
3.6
Visão de alto nı́vel do modelo de casos de utilização . . . . . . . . . . . . . 31
3.7
Diagrama de casos de utilização de Utilização Geral . . . . . . . . . . . . . 32
3.8
Diagrama de casos de utilização do Cliente . . . . . . . . . . . . . . . . . . 33
3.9
Diagrama de casos de utilização de Configuração do eCT . . . . . . . . . . 35
. . . . . 10
3.10 Diagrama de casos de utilização de Gestão de Catálogo, Inventário e Promoções 37
3.11 Diagrama de casos de utilização de Configuração da Loja . . . . . . . . . . 39
3.12 Diagrama de casos de utilização da Gestão operacional da loja . . . . . . . 40
4.1
Visão de alto nı́vel da arquitectura do eCT . . . . . . . . . . . . . . . . . . 44
4.2
Aplicação do padrão de desenho Decorator à definição de produtos . . . . . 46
4.3
Modelo de dados de algumas das facetas de produto . . . . . . . . . . . . . 46
4.4
Apresentação dos conceitos principais do WebComfort e do eCT . . . . . . 47
4.5
Modelo de Providers do ASP.NET (extraı́do de [Connoly 07])
4.6
Modelo de dados de Providers de Pagamento . . . . . . . . . . . . . . . . . 49
4.7
Modelo de dados de Providers de Envio . . . . . . . . . . . . . . . . . . . . 50
4.8
Modelo de dados de Providers de Cálculo de impostos . . . . . . . . . . . . 51
4.9
Modelo de dados de Promoções e Marketing . . . . . . . . . . . . . . . . . 52
xiii
. . . . . . . 48
xiv
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
LISTA DE FIGURAS
Modelo de dados para a gestão de unidades monetárias . . . . . . . . . . .
Visão geral dos Módulos disponı́veis aos clientes do eCT . . . . . . . . . .
Visão geral do Módulo de Administração . . . . . . . . . . . . . . . . . . .
Visões do Módulo ”Produtos” . . . . . . . . . . . . . . . . . . . . . . . . .
Visões do Módulo ”Produtos” . . . . . . . . . . . . . . . . . . . . . . . . .
Visões do Módulo ”Carrinho de Compras” e ”Finalização da encomenda” .
Visões da subsecção ”Gestão de catálogo” do Módulo de Administração . .
Visões da subsecção ”Gestão operacional da loja” do Módulo de Administração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visões da subsecção ”Estatı́sticas” do Módulo de Administração . . . . . .
Visões da subsecção ”Configuração da loja” do Módulo de Administração .
Vistas da subsecção ”Configuração do eCT” do Módulo de Administração .
Vistas da subsecção ”Promoções e Marketing” do Módulo de Administração
53
54
55
57
58
60
62
63
64
65
66
67
5.1 Cenários de aplicação do eCT . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2 Aspecto da página principal do eArte . . . . . . . . . . . . . . . . . . . . . 73
Lista de Tabelas
2.1
2.2
2.3
2.4
2.5
Tabela
Tabela
Tabela
Tabela
Tabela
comparativa
comparativa
comparativa
comparativa
comparativa
dos
das
das
das
das
requisitos técnicos de suporte . . . . . . . . .
funcionalidades de gestão de catálogo . . . .
funcionalidades de promoções e marketing . .
funcionalidades de configuração da loja . . .
funcionalidades de gestão operacional da loja
.
.
.
.
.
.
.
.
.
.
Tabela que resume os casos de utilização e respectivos módulos desenvolvidos na 1ª iteração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Tabela que resume os casos de utilização e respectivos módulos desenvolvidos na 2ª iteração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Tabela que resume os casos de utilização e respectivos módulos desenvolvidos na 3ª iteração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Tabela que resume as iterações de desenvolvimento deste toolkit . . . . .
.
.
.
.
.
16
16
17
18
19
4.1
xv
. 68
. 69
. 70
. 70
Capı́tulo 1
Introdução
O comércio electrónico pode ser definido como ”a automatização de transacções comerciais utilizando tecnologias de informação e comunicação”[Westland 99]. Este tem vindo
a sofrer um grande desenvolvimento, principalmente desde o aparecimento da Internet,
sendo que actualmente a forma de comércio electrónico mais generalizada consiste na distribuição, compra, venda, marketing, e fornecimento de produtos ou serviços através da
Internet.
O comércio electrónico na Internet apresenta várias vantagens, quando comparado
com o comércio tradicional ou com as abordagens anteriores de comércio electrónico, como
maior dinamismo, maior facilidade de acesso ao meio, um número superior de utilizadores
e potencial anonimato [Silva 99]. Além destas vantagens, tem-se a possibilidade de atingir
um mercado global com um menor investimento financeiro, e de apresentar catálogos de
produtos de grandes dimensões, sem os limites fı́sicos das lojas, o que permite por exemplo
a venda de produtos pouco conhecidos, não existentes nas lojas tradicionais. Existe inclusive um fenómeno, designado ”Long Tail”[Anderson 04], em que muitos produtos com
pouca procura ou vendas podem colectivamente vender mais que poucos produtos muito
populares, desde que o canal de distribuição seja suficiente. Outro aspecto importante
é a possibilidade de se reduzir ou suprimir a cadeia de fornecimento e venda, ou seja,
eliminar da cadeia os vendedores ou outros intermediários, reduzindo os custos para os
clientes finais. Além disso, como as oportunidades de negócio são iguais, existirá uma
maior competitividade o que levará a uma maior qualidade e baixo custo dos produtos.
Adicionalmente, as empresas terão que colocar maior ênfase no cliente/consumidor final,
por exemplo através de serviços de personalização de produtos onde os clientes podem
construir produtos a partir de um conjunto de componentes disponı́veis (como já é oferecido pela Dell ou a Nike), deixando os clientes de assumir um papel passivo.
1
2
Capı́tulo 1. Introdução
Estes factores, em conjunto com a elevada taxa de adopção da Internet [Taniar 07],
têm contribuı́do para o rápido desenvolvimento do comércio electrónico, sendo previsı́vel
que este continue a crescer.
Por outro lado, tem emergido um conjunto de sistemas com um conjunto de caracterı́sticas comuns e que visa facilitar a publicação e gestão de conteúdos, designados por
sistemas de gestão de conteúdo (Content Management Systems ou CMS), e que são
uma componente fundamental da gestão de conteúdo empresarial (Enterprise Content
Management) [Kampffmeyer 06]. Estes sistemas surgem como plataformas de suporte e
são hoje em dia predominantemente usados na gestão dinâmica de web sites e dos respectivos conteúdos, permitindo colaboração dos vários intervenientes autorizados no processo
de organização e criação de conteúdos digitais.
Os CMS, além de facilitarem a publicação de conteúdo, também possuem mecanismos
de extensão que permitem suportar a gestão de novos tipos de conteúdos, novas linguagens,
temas visuais, etc. Desta forma, estes sistemas suportam mais facilmente a mudança das
organizações e os seus requisitos complexos de informação.
1.1
Contexto
Este trabalho de investigação surge no contexto do WebComfort [Carmo 06, Silva 07,
Carmo 07], um CMS promovido pela SIQuant [SIQuant], que permite a gestão dinâmica
de portais web e dos respectivos conteúdos através de um web browser. O WebComfort
apresenta um conjunto extenso de funcionalidades, nomeadamente: (1) suporte de diferentes conteúdos, estruturados e não estruturados; (2) facilidade de produção e gestão de
conteúdos; (3) gestão flexı́vel e integrada de utilizadores e de permissões; (4) extensibilidade e modularidade; (5) gestão integrada de conteúdos em multilı́ngua; (6) separação
entre conteúdo e sua apresentação; (7) gestão flexı́vel de temas visuais; e (8) gestão de
workflows de conteúdos.
O WebComfort pode ser facilmente estendido, disponibilizando os seguintes mecanismos de extensão: (1) módulos, estruturados em torno de bibliotecas funcionais, designadas
por toolkits; (2) temas visuais; (3) definição de pacotes de linguagens; e (4) definição de
workflows.
No contexto deste trabalho, o mecanismo de extensão mais relevante é a extensão
através de módulos. Um módulo providencia mecanismos de gestão e visualização de um
determinado tipo de conteúdo, como, por exemplo, texto simples, lista de anúncios ou imagens. Um conjunto integrado de módulos com funcionalidades especı́ficas pode constituir
um toolkit, existindo já os seguintes toolkits [Silva 07]: (1) ”Admin Toolkit”, componen-
1.2. Motivação
3
tes para configuração e gestão das aplicações WebComfort e dos seus conceitos-base; (2)
”Standard Toolkit”, componentes que satisfazem requisitos funcionais comuns à maioria
das aplicações Web; (3) ”Miscelanea Toolkit”, componentes que podem ser encararados
como um complemento ao Standard Toolkit; (4) ”SiteAnalysis Toolkit”, componentes que
providenciam informação de análise da utilização da aplicação web; (5) ”Multimedia Toolkit”, componentes para apresentação de conteúdos multimédia; (6) ”GIS Toolkit”, componentes para gestão e visualização de informação geográfica, mapas e temas geográficos;
e (7) ”GenericWebForms Toolkit”, componentes para a criação dinâmica e interactiva de
formulários web.
1.2
Motivação
Como resultado da análise efectuada a um conjunto de extensões de comércio electrónico
[Baptista 06] (Commerce Starter Kit, osCommerce, VirtueMart [VirtueMart] [Eberhardt 05]
e CATALooK.netStore [CATALooK.netStore]), concluiu-se que, dada a extensão da
área de comércio electrónico, o seu grande número de funcionalidades, e a vasta gama
de possı́veis necessidades das organizações, é difı́cil conceber soluções adequadas a todo o
espectro de organizações, desde as que apresentam necessidades mais básicas às que apresentam necessidades mais complexas. Uma das principais razões para esta dificuldade é o
facto que estas extensões se destinam a um mercado global, com todas as diferenças (e.g.
cultura, lı́ngua ou moeda) que isso implica.
É assim fundamental para o sucesso destas extensões que estas estejam preparadas
para se adaptarem ao maior número de cenários possı́veis. Nesse âmbito, e de forma
focada, identificaram-se as seguintes questões que orientam este trabalho de investigação:
1. Como permitir a adaptação a diferentes contextos, como diversos tipos de lojas,
diferentes paı́ses, culturas e sistemas de impostos?
2. Como garantir extensibilidade, nomeadamente pela facilidade de desenvolvimento e
adição de novas funcionalidades pela comunidade de developers de forma independente?
3. Como garantir uma fácil instalação e configuração, de forma a satisfazer os diferentes
requisitos de negócio dos seus utilizadores?
1.3
O eCommerce Toolkit para o WebComfort
De forma a responder às questões enunciadas anteriormente, apresenta-se nesta dissertação a extensão do WebComfort para integrar funcionalidades de comércio electrónico,
4
Capı́tulo 1. Introdução
nomeadamente através da concepção e desenvolvimento de um toolkit designado por eCommerce Toolkit (ou, abreviadamente, eCT).
Este toolkit centra-se no comércio Business-to-Consumer (B2C), em que as empresas vendem os seus produtos ou serviços on-line a clientes, não explorando o comércio
Consumer-to-Consumer (C2C), o comércio directo entre consumidores ou o Businessto-Business (B2B), comércio entre empresas. No comércio B2C, a principal área a
explorar é a venda directa, em que as empresas fornecem os serviços ou produtos directamente aos clientes.
Para suportar o modelo B2C de venda directa, este toolkit deverá permitir a configuração de lojas on-line sobre a plataforma WebComfort de uma forma flexı́vel e estruturada. Para suportar diferentes requisitos de negócio, consideraram-se três modelos de
operação (ver Fig. 1.1), nomeadamente:
• modelo ”Loja”, em que o portal WebComfort suporta uma única loja;
• modelo ”Centro Comercial”, em que o portal funciona como centro comercial,
suportando um conjunto de lojas independentes, cada uma com o seu catálogo
próprio e a sua gestão de encomendas e pagamentos própria;
• modelo ”Hipermercado”, que é semelhante ao anterior no sentido em que cada
loja apresenta o seu próprio catálogo de produtos, mas difere pelo facto da gestão
de encomendas e pagamentos ser global a todas as lojas.
Figura 1.1: Modelos de negócio suportados pelo toolkit
1.4. Resultados
5
Estas lojas disponibilizam aos seus clientes, de forma genérica, a possibilidade de
consulta do catálogo de produtos disponı́vel, adição dos produtos ao carrinho de compras
para futura encomenda e finalização da respectiva encomenda. Ao nı́vel da administração
da loja, os lojistas poderão administrar e gerir um conjunto de aspectos relativos a esta,
como o catálogo, inventário, promoções e encomendas. A configuração do toolkit é feita
por um administrador e envolve aspectos mais globais como configuração das opções (e.g.
lı́nguas e locais, moedas, métodos de envio das encomendas, métodos de pagamento, e
métodos de cálculo de impostos) disponı́veis para todas as lojas.
1.4
Resultados
No âmbito deste trabalho de investigação foram produzidos os seguintes artigos:
Biblioteca de Comércio Electrónico para o WebComfort, [Baptista 06] – Este
artigo apresenta uma primeira abordagem à problemática e aos desafios da construção do
eCommerce Toolkit para o WebComfort. Foi apresentado no 6º Congresso IberoAmericano de Telemática (CITA-2006), em Monterrey, México.
Estado da Arte de Plataformas de Comércio Electrónico em Sistemas de
Gestão de Conteúdo, [Baptista 07] – Neste artigo analisam-se e discutem-se diferentes
abordagens tecnológicas de suporte ao comércio electrónico na Internet, mais especificamente através de sistemas de gestão de comércio electrónico (e-commerce management
systems) e plataformas de comércio electrónico que estendem CMS. Analisa-se o estado
da arte dos CMS com suporte a comércio electrónico, a partir de um modelo de referência,
que é usado para melhor analisar e comparar os sistemas Commerce Starter Kit, osCommerce, VirtueMart e CATALooK.netStore.
1.5
Organização do documento
Esta dissertação está organizada em seis capı́tulos, cujos conteúdos são apresentados de
seguida.
Capı́tulo 1 – Introdução. Este capı́tulo apresenta a noção de comércio electrónico e
os CMS, em particular o CMS WebComfort. Introduz-se o contexto e desafio do trabalho
de investigação e os requisitos gerais para o eCT, o toolkit de comércio electrónico para o
WebComfort.
6
Capı́tulo 1. Introdução
Capı́tulo 2 – Estado da Arte. Este capı́tulo apresenta o estado da arte das extensões de comércio electrónico para CMS, introduzindo um modelo de referência, com
base no qual são comparadas as caracterı́sticas técnicas e funcionais destas soluções.
Capı́tulo 3 – O eCT: Concepção. Neste capı́tulo descrevem-se os aspectos conceptuais do eCT, destacando-se os seus principais conceitos e áreas de variabilidade, e a
visão funcional do sistema através da apresentação dos respectivos casos de utilização.
Capı́tulo 4 – O eCT: Arquitectura e Desenvolvimento. Este capı́tulo apresenta
uma descrição detalhada do eCT em termos dos seus aspectos de arquitectura e desenho,
e as principais decisões tomadas durante o seu desenvolvimento.
Capı́tulo 5 – Cenários de Aplicação. Neste capı́tulo apresentam-se cenários de
aplicação do eCT, nomeadamente a uma ”loja de livros e DVD’s” e do ”portal eArte”,
como uma forma de validar o toolkit desenvolvido.
Capı́tulo 6 – Conclusões e trabalho futuro. Neste capı́tulo apresentam-se as
conclusões gerais de todo o trabalho desenvolvido na concepção e implementação do eCT,
bem como todo o trabalho futuro a desenvolver para melhorar e estender o toolkit. Analisase e avalia-se, ainda, o eCT face às outras soluções.
Referências. São listadas as referências bibliográficas relevantes para este trabalho
de investigação e para a implementação do toolkit.
1.6
Convenções Usadas
Nesta tese seguiram-s e as seguinte convenções: (1) o estilo negrito é usado para realçar
conceitos importantes que são apresentados pela primeira vez; e (2) qualquer fragmento
de texto contido entre aspas (”) e seguido de uma referência foi extraı́do do documento
referenciado.
Quando uma figura é extraı́da de outro documento, a legenda da imagem indica explicitamente este facto e faz referência ao documento respectivo. Todas as figuras originais
criadas para esta tese (ou seja, não extraı́das ou adaptadas de fontes externas) não apresentam referência.
Capı́tulo 2
Estado da Arte
Este capı́tulo apresenta o estado da arte das extensões de comércio electrónico para sistemas de gestão de conteúdo (Content Management Systems ou CMS). A definição do
que são extensões de comércio electrónico é o ponto de partida para esta análise que se
encontra dividida em 3 secções. Na secção 2.1 apresentam-se as extensões de comércio
electrónico para CMS e as suas principais caracterı́sticas. Na secção 2.2 é apresentado
um modelo de referência para análise destas extensões, que é aplicado na secção 2.3 para
uma análise mais detalhada de algumas das extensões existentes.
2.1
2.1.1
Introdução
CMS
Os CMS são sistemas de software usados para a publicação de conteúdo em aplicações web
(e.g. sites empresariais, portais), que respondem à necessidade de facilitar a organização,
controlo e publicação de um grande volume de documentos ou outro conteúdo.
De uma forma muito simplificada e como apresentado na Figura 2.1, um CMS é uma
aplicação web que permite a gestão de um conjunto de portais, constituı́dos por um
conjunto de páginas dinâmicas [Carmo 07]. Cada uma destas páginas subdivide-se em
contentores espaciais, que albergam os módulos de informação. Um módulo de informação
é um componente responsável por apresentar e gerir um determinado tipo de informação.
Existem ainda estilos visuais, que definem como a informação é apresentada, e que
podem ser aplicados ao nı́vel do portal, página ou módulo.
O CMS providencia uma interface web que permite a edição dos seus constituintes,
sendo possı́vel percorrer a sua estrutura de portais, páginas, contentores e módulos para
os editar.
7
8
Capı́tulo 2. Estado da Arte
Figura 2.1: Meta-modelo de um CMS (extraı́do de [Carmo 07]).
Para além destas capacidades de gestão de páginas web e de gestão dos conteúdos
propriamente ditos, os CMS fornecem um sistema de permissões baseado em papéis.
Assim, a cada papel está associado um conjunto de permissões para as várias entidades
(páginas e módulos) do portal.
Em resumo, um CMS oferece um conjunto de funcionalidades-base, como: gestão de
páginas, de conteúdos, de permissões, e de utilizadores.
2.1.2
Extensões de comércio electrónico para CMS
As organizações que queiram ter um ponto de venda de produtos na Internet podem
recorrer a diferentes abordagens das quais se destacam soluções orientadas exclusivamente para o comércio electrónico e extensões de comércio electrónico para CMS. As
soluções orientadas para o comércio electrónico focam-se na gestão deste tipo particular
de conteúdo, não apresentando muitas das funcionalidades de um CMS. Por outro lado,
as extensões de comércio electrónico visam enriquecer os CMS, que já apresentam um
conjunto de funcionalidades-base muito interessante, com funcionalidades de comércio
electrónico. Esta área tem sido alvo de grandes esforços de desenvolvimento, sendo que
uma das grandes lacunas identificadas em muitos dos CMS tem sido a inexistência de
soluções estruturadas de comércio electrónico.
O foco deste trabalho vão ser estas extensões, que permitem construir lojas online
para venda de produtos ou serviços. Nestas lojas, os clientes podem navegar e pesquisar
no catálogo de produtos, consultar informação mais detalhada de produtos ou serviços
(especificações e preços) e, obviamente, proceder à sua aquisição. Por outro lado, estas extensões têm de fornecer os mecanismos necessários à administração destas lojas,
nomeadamente gestão dos produtos, encomendas, etc.
2.2. Modelo de Referência
2.2
9
Modelo de Referência
A comparação entre CMS é uma tarefa complicada, sendo o método mais comum a comparação de caracterı́sticas funcionais ou técnicas, como discutido em [Carmo 07].
Quanto à comparação entre extensões ou sistemas para suporte a comércio electrónico,
actualmemte não existem métodos definidos para o fazer.
Para se poder analisar e discutir estes sistemas, vão ser definidos os seus requisitos
tı́picos e identificados um conjunto de funcionalidade-tipo. Desta análise resulta um
modelo de referência para estas extensões de comércio electrónico.
2.2.1
Requisitos
De uma forma básica, as principais áreas de uma loja são: (1) Catálogo; (2) Inventário;
(3) Promoções e Marketing (4) Configuração da extensão/loja e (5) Gestão operacional
da loja.
Catálogo
A gestão da informação dos produtos, de forma estruturada e consistente, é feita sob a
forma de catálogos, que expõem os vários aspectos dos produtos e serviços aos interessados
(e.g. fotografias, descrições técnicas, preços). Actualmente, os catálogos online podem,
inclusive, apresentar vı́deos ou animações para demonstrar as capacidades dos respectivos
produtos.
Inventário
Para além da gestão do catálogo de produtos, é importante a gestão de inventário, que
corresponde à informação de itens/materiais armazenados. O objectivo desta gestão é
conseguir satisfazer a procura de produtos pelos clientes, escondendo eventuais deficiências
ou atrasos na processo de produção ou de transporte e entrega dos produtos.
Promoções e Marketing
À semelhança das lojas fı́sicas, existe a necessidade de publicitar a loja e os seus produtos
aos potenciais clientes. O objectivo é que os potenciais clientes conheçam a loja e os seus
produtos, e que adquiram a maior quantidade possı́vel de produtos.
Configuração da extensão/loja
Esta área envolve a definição e/ou parametrização de um conjunto de informação, nomeadamente: (1) ao nı́vel da extensão, informação global partilhada pelas várias lojas; (2)
10
Capı́tulo 2. Estado da Arte
ao nı́vel da loja, informação de suporte à loja, nomeadamente ao nı́vel da definição de
unidades monetárias aceites, impostos, métodos de pagamento aceites, métodos de envio
suportados, informação geral da loja e papéis de utilizador existentes.
Gestão operacional da loja
A gestão operacional da loja envolve as funcionalidades que suportam o funcionamento
quotidiano da loja online. Estas funcionalidades consistem no suporte à gestão das encomendas, gestão de clientes, e consulta de relatórios ou logs da loja.
As áreas identificadas não são totalmente independentes; em particular o inventário,
promoções e marketing e gestão operacional da loja vão depender do catálogo, como se
pode observar na Figura 2.2 .
Figura 2.2: Dependências entre as áreas de comércio electrónico identificadas
2.2.2
Resumo do Modelo de Referência
Visto o modelo de referência ser extenso, recomenda-se a consulta de [Baptista 07] que
contém a sua versão integral; Nesta secção é apenas apresentado um seu resumo, agrupandose os seus itens por área funcional.
Requisitos Técnicos de Suporte
• Application Server: servidor aplicacional de suporte ao CMS
• Base de Dados: sistema gestor de base de dados de suporte
2.2. Modelo de Referência
11
• Licença: tipo de licença, (e.g. GPL, comercial)
• Sistema Operativo: sistemas operativos de suporte ao CMS
• Linguagem de Programação: linguagem de programação na qual o CMS e as extensões são desenvolvidos
• Web Server: o servidor web de suporte ao CMS
Catálogo
• Suporte a Multi-Loja (i.e., que a extensão suporte mais do que uma loja, com
administração própria)
• Variedade no tipo de produtos suportados (produtos configuráveis, produtos para
aluguer durante um determinado perı́odo de tempo, bilhetes, ficheiros, donativos,
subscrições e distribuição recorrente)
• Pesquisa (Normal ou Avançada) no catálogo de produtos
• Suporte a Multi-linguagem do catálogo de produtos
• Feedback dos produtos pelos clientes (comentários e classificação)
• Suporte a Gestão separada do catálogo (i.e., que diferentes partes do catálogo sejam
geridas por pessoas diferentes)
• Importação e exportação do catálogo
• Utilização de templates das páginas dos produtos (para alterar facilmente o aspecto
destas)
Gestão de inventário
• Gestão de informação de inventário (como Stock Keeping Units, quantidade de produtos em stock, localização em stock, etc)
Promoções e Marketing
• Criação de promoções
• Gestão de newsletters
• Criação de pacotes de produtos
12
Capı́tulo 2. Estado da Arte
• Gestão das ligações entre produtos (cross-selling, up-selling, etc..)
• Criação de cupões de desconto
• Suporte a programas de affiliate marketing
Configuração da extensão/loja
• Gestão de unidades monetárias
• Cálculo de impostos (estático, suporte a web services externos e possibilidade de
adição de novas implementações)
• Pagamento (métodos suportados, suporte a gateways de pagamento, possibilidade
de adição de novas implementações, segurança)
• Envio de produtos (métodos suportados, suporte a web services externos de envio,
possibilidade de adição de novas implementações)
• Gestão dos templates dos e-mails de notificação
• Gestão de utilizadores e de papéis de utilizador
Gestão operacional da loja
• Gestão de encomendas (particularidades, suporte a resolução dos casos de excepção)
• Produção de relatórios (volume de vendas por intervalo de tempo, etc.)
• Logging
2.3
Análise das extensões de comércio electrónico
De seguida, descrevem-se resumidamente as principais caracterı́sticas das extensões de
comércio electrónico analisadas.
2.3.1
VirtueMart
O VirtueMart é uma solução de comércio electrónico para ser utilizada com o CMS Joomla! [Joomla, Graf 06, Kennard 07], embora também funcione com o Mambo [Mambo,
Hauser 05]. Esta solução baseia-se em tecnologias open-source, designadamente a combinação de tecnologias conhecida como LAMP (Linux, Apache, MySQL e PHP).
2.3. Análise das extensões de comércio electrónico
13
O Joomla caracteriza-se pela extensibilidade e facilidade de adaptação a novos requisitos. Pode ser estendido de várias formas, nomeadamente através de componentes,
módulos, plug-ins, templates e linguagens.
Destas formas de extensão destacam-se os componentes, destinados a apresentar/gerir conteúdo complexo, e que são carregados nas sua própria página. Estes podem, por
exemplo, permitir a apresentação de fóruns, interfaces de tradução ou lojas online. Já os
módulos destinam-se a permitir a apresentação de conteúdo simples, e podem ser carregados em qualquer página, existindo um grande número de módulos disponı́vel. Exemplos
de módulos são listas de links ou anúncios.
Adicionalmente, os plug-ins permitem a associação de código a eventos especı́ficos do
Joomla, para alterar/adicionar a sua funcionalidade. Um exemplo destes é o sistema de
autenticação do Joomla. O administrador pode optar pela autenticação própria do Joomla
ou então outro tipo de autenticação (Gmail ou LDAP). Caso seja necessário outro tipo
de autenticação basta criar o plug-in apropriado sem ser necessária qualquer alteração do
código da plataforma. O Joomla disponibiliza um conjunto de outras funcionalidades às
quais se podem adicionar plug-ins, das quais se destacam a procura e edição de conteúdos.
O Joomla é um dos mais populares CMS existentes e contém um grande número de
extensões disponı́veis. Uma destas extensões é o VirtueMart, uma extensão de comércio
electrónico.
Figura 2.3: Screenshot da página principal do VirtueMart
A análise das funcionalidades do VirtueMart revelou que esta é uma solução muito
completa de comércio electrónico. Destas funcionalidades destacam-se a criação de grupos
de utilizadores (que permite que os administradores possam, por exemplo, oferecer preços
14
Capı́tulo 2. Estado da Arte
diferentes para cada grupo existente) e a possibilidade de uma loja ter vários vendedores,
cada um responsável por gerir um determinado sub-conjunto dos produtos do catálogo.
Relativamente aos métodos de envio e pagamento de produtos e cálculo de impostos,
esta extensão fornece um bom conjunto de métodos e permite ainda a adição de novos
métodos.
A decisão de não incluir muitas outras funcionalidades de raiz e estas estarem disponı́veis sob a forma de extensões facultativas acaba por dar um maior poder de decisão
ao administrador do CMS, permitindo-lhe a escolha apenas das funcionalidades relevantes. Este facto contribui também para um menor grau de complexidade da administração
dos portais, o que implica uma menor curva de aprendizagem.
2.3.2
CATALooK.netStore
O CATALooK.netStore [CATALooK.netStore] é um componente de comércio electrónico
para o CMS open source DotNetNuke [DotNetNuke] [Walker 06], suportado pela plataforma ASP.NET.
Figura 2.4: Screenshot da página principal do CATALooK.netStore
2.3. Análise das extensões de comércio electrónico
15
O DotNetNuke tem um núcleo que pode ser estendido, através de módulos e/ou providers. O modelo de Providers [Rob Howard 04b, Rob Howard 04a] permite a criação de
uma API, separada das suas implementações (responsáveis por satisfazer os pedidos aos
métodos da API). Algumas das áreas do DotNetNuke que utilizam este modelo são os
fornecedores de acesso a dados, agendamento, logging, editor HTML, pesquisa e URL’s
amigáveis. Este modelo de Providers trouxe uma grande vantagem ao DotNetNuke pois
permitiu que as suas funcionalidades-base possam ser substituı́das sem alterar o código
original da plataforma.
O CATALooK.netStore é uma extensão proprietária para o DotNetNuke, que possui
um conjunto bastante extenso de funcionalidades. Destas, destacam-se o suporte a um
conjunto variado de produtos, funcionamento em modo multi-portal e multi-vendedor,
e ainda o suporte a um número elevado de providers de envio, cálculo de impostos e
pagamento, e à adição de novos providers.
O CATALooK.netStore tem o maior conjunto de funcionalidades das plataformas analisadas, mas em virtude de ser uma solução proprietária e disponibilizar todas estas funcionalidades no seu produto e não sob a forma de extensões, a complexidade da sua
implementação revela-se maior do que seria desejável. Caso o objectivo seja desenvolver
uma loja simples e com funcionalidade pouco extensas esta não será a melhor solução.
2.3.3
Discussão e comparação das extensões
Nesta secção apresenta-se a discussão e conclusão do estudo realizado, cuja descrição
completa encontra-se em [Baptista 07]. As tabelas 2.1 a 2.5 sintetizam os principais
aspectos da análise aplicados nos sistemas VirtueMart e CATALooK.netStore. Os itens
de análise foram discutidos anteriormente.
Requisitos Técnicos de Suporte
Na escolha dos CMS a analisar tentou-se escolher um conjunto representativo destas
soluções. Assim, o VirtueMart representa o conjunto de CMS open source suportados
pelo conjunto de software designado LAMP ou uma das suas variantes. Já o DotNetNuke
e o CATALooK.netStore baseiam-se em ferramentas Microsoft, nomeadamente o IIS, a
plataforma ASP.NET e o SGBD SQL Server.
16
Capı́tulo 2. Estado da Arte
Tabela 2.1: Tabela comparativa dos requisitos técnicos de suporte
Gestão de catálogo
Em relação à gestão de catálogo, o CATALooK.netStore é a soluções mais completa, disponibilizando todas as funcionalidades identificadas. O VirtueMart fornece um subconjunto
destas funcionalidades, embora existam extensões para algumas delas.
Promoções e marketing
No que diz respeito às funcionalidades de promoções e marketing, o CATALooK.netStore é
a mais completa das ferramentas analisadas, suportando todas as funcionalidades identificadas. O VirtueMart não suporta todas as funcionalidades de raiz, mas existem extensões
que cobrem algumas dessas lacunas.
Configuração da extensão/loja
Das áreas analisadas a configuração da extensão/loja é uma das mais importantes e
também uma das de mais difı́cil comparação.
Em geral, estas soluções têm um conjunto de métodos de pagamento, envio e cálculo
de impostos bastante completo, e permitem a adição de novos métodos.
Analisando os restantes aspectos, a gestão de papéis de utilizadores é bastante completa nas plataformas de comércio electrónico para CMS (VirtueMart e CATALooK.netStore).
2.3. Análise das extensões de comércio electrónico
17
Tabela 2.2: Tabela comparativa das funcionalidades de gestão de catálogo
Tabela 2.3: Tabela comparativa das funcionalidades de promoções e marketing
Gestão operacional da loja
Em relação à operação da loja, o CATALooK.netStore não efectua logging das operações
efectuadas.
18
Capı́tulo 2. Estado da Arte
Tabela 2.4: Tabela comparativa das funcionalidades de configuração da loja
2.3. Análise das extensões de comércio electrónico
Tabela 2.5: Tabela comparativa das funcionalidades de gestão operacional da loja
19
20
2.3.4
Capı́tulo 2. Estado da Arte
Conclusões
Após a análise efectuada, sintetizam-se de seguida as principais conclusões.
As extensões de comércio electrónico para CMS, cujo objectivo é suportar o funcionamento de lojas online, devem apresentar um conjunto extenso de funcionalidades e
adaptar-se aos mais diversos contextos de funcionamento. Por conseguinte, devem fornecer mecanismos de extensão e configuração adequados. Uma das abordagens para esse
efeito é a possibilidade de se adicionar funcionalidades através de plug-ins ou extensões,
muito comum nas soluções open source. Esta opção apresenta a vantagem de permitir a
construção de uma solução mais adequada à realidade do negócio (e menos complexa) já
que este conjunto de soluções tipicamente apenas fornece o conjunto de funcionalidades
considerado estritamente necessário, e o administrador poderá optar pelas extensões que
pretender.
Capı́tulo 3
O eCT - Concepção
Este capı́tulo apresenta e discute os aspectos conceptuais do eCT. Na secção 3.1 são apresentados os principais conceitos do eCT, e na secção 3.2 a visão funcional do eCT, através
da apresentação dos seus casos de utilização. Por fim, estabelecem-se as considerações
gerais e discutem-se as forças e fraquezas desta abordagem.
3.1
Conceitos Principais
Da análise das extensões de comércio electrónico para CMS discutida no capı́tulo 2, verificamos que o desenvolvimento destas extensões não é simples, fundamentalmente porque
devem suportar o funcionamento de lojas online com diferentes caracterı́sticas num mercado global.
Outra questão importante é a necessidade das extensões suportarem de raiz um conjunto de funcionalidades-base interessante mas que pode ser estendido para suportar o
funcionamento especı́fico de uma loja, com as suas especificidades, como tipos de produtos
ou métodos de pagamento suportados.
Este trabalho centra-se fundamentalmente na seguinte questão de investigação – Como
desenhar e implementar o eCT de forma a satisfazer as seguintes qualidades:
1. Adaptabilidade a diferentes contextos, como diversos tipos de lojas, diferentes paı́ses,
culturas ou sistemas de impostos;
2. Extensibilidade, nomeadamente através da facilidade de desenvolvimento e adição
de novas funcionalidades pela comunidade de developers de forma independente;
3. Facilidade de instalação e configuração, de forma a satisfazer os diferentes requisitos
de negócio.
21
22
Capı́tulo 3. O eCT - Concepção
Estas questões estão na base de muitas das opções tomadas na concepção deste toolkit
e visam que o eCT tenha a capacidade de se adaptar a diferentes contextos para satisfazer
as necessidades especı́ficas das diferentes organizações e dos seus públicos-alvo.
Para esse efeito, deve fornecer um conjunto de funcionalidades-base que suporte contextos diversos, mas também permitir a adição de novas funcionalidades de uma forma
simples. Nesse sentido, o eCT deve fornecer meios para que os interessados possam desenvolver essas novas funcionalidades e facilmente integrá-las com as já existentes.
Adicionalmente, a instalação e criação de um novo portal de comércio electrónico baseado no eCT deve ser simples, passando apenas pela configuração dos aspectos necessários,
nomeadamente; (1) escolha do modelo de negócio da extensão; (2) adaptação dos conceitos de comércio electrónico (como produtos) ao contexto especı́fico da loja; (3) escolha dos
métodos de pagamento, envio de produtos e cálculo de impostos adequados; (4) adaptação
do aspecto visual da loja e do conteúdo geral desta; e (5) adição do conteúdo especı́fico
de comércio electrónico.
Passando estes aspectos em revista, o eCT fornece uma base funcional adaptável a
diferentes contextos, ao qual se podem facilmente adicionar novas funcionalidades, e cuja
instalação e configuração é simples.
Passa-se a explicar as principais seguintes áreas/aspectos do eCT:
• Catálogo de produtos;
• Suporte a diferentes modelos de comércio electrónico;
• Adaptação a diferentes contextos de pagamento, envio e cálculo de impostos;
• Promoções e Marketing;
• Logging e Relatórios;
• Multi-cultura;
• Segurança;
• Usabilidade;
3.1.1
Catálogo de produtos
Um dos requisitos identificados pela análise do estado da arte é o suporte a produtos de
diversos tipos, quer sejam computadores, livros, obras de arte, ficheiros digitais, etc., com
conjuntos diversos de atributos.
3.1. Conceitos Principais
23
Para permitir qualquer tipo de produtos, optou-se por definir um produto muito simples, com um conjunto elementar de atributos, mas que pudesse ser estendido através de
”facetas”, que adicionam um conjunto de funcionalidades correspondente. Numa loja,
pode-se definir um conjunto de templates de produto, que representam um produto com
um conjunto de facetas aplicado. Na criação de um produto, pode-se optar por utilizar
um desses templates pré-definido, ou escolher um conjunto diferente de facetas a aplicar
ao produto a criar.
Por exemplo, e conforme sugerido na Figura 3.1, num portal de venda de obras de
arte, podemos, para permitir a venda de pinturas, utilizar um template de produto para
obra de arte, com as facetas ”Obra de Arte” (que define o produto como sendo uma
obra de arte e tendo alguns atributos tı́picos de obras de arte, tais como autor, materiais,
e dimensões) e ”Imagens Extra” (que permite a associação ao produto de um conjunto
determinado de imagens alternativas), e qualquer lojista poderá criar os seus produtos
com essa semântica de obra de arte.
Figura 3.1: Exemplo de combinação de facetas de produto para obtenção de templates de
produtos
Algumas das possı́veis facetas de produtos são apresentadas de seguida:
• Categorias - Permite que os produtos estejam associados a categorias, organizadas
hierarquicamente. É comum que as lojas ofereçam mecanismos de navegação por
categorias, nomeadamente através menus hierárquicos de categorias;
• Marcas - Permite que que seja associada aos produtos uma marca (e.g. ”Nike”),
que pode ser outra forma de navegação no catálogo de produtos;
• Estado do produto - Permite que aos produtos seja associado um estado (e.g.
”Novo”, ”Em Destaque”, ”Fora de Stock”), que pode ter influência no destaque
dado ao produto na loja;
24
Capı́tulo 3. O eCT - Concepção
• Informação Fiscal - Permite definir qual a taxa de imposto sobre o produto, o que
poderá ser relevante para o cálculo do valor de impostos das encomendas;
• Dimensões e Peso - Permite definir informação sobre as dimensões e peso dos produtos, que poderá ser relevante para o cálculo do custo de envio das encomendas;
• Imagens Extra - Permite associar aos produtos um conjunto de imagens adicionais;
• Classificações e Comentários - Permite que os utilizadores registados possam classificar e fazer comentários aos produtos, o que é interessante para criar uma comunidade
de utilizadores interessados nos produtos;
• Relações entre produtos - Para fins de marketing é interessante poder estabelecer um
conjunto de relações entre produtos. Assim é possı́vel associar a um produto vários
outros produtos e escolher qual o tipo de relação (por exemplo produtos semelhantes,
acessórios para esse produto, ou ainda produtos comprados por quem comprou
esse produto). Este relações irão ser apresentadas posteriormente aos clientes que
consultem a página de detalhes do produto.
• Informação de inventário - Permite armazenar informação de inventário relativa ao
produtos como o SKU (stock keeping unit), unidades em stock, local de armazenamento e informação sobre estimativa de tempo de entrega.
• Atributos - Permite que os produtos tenham um conjunto de atributos variável
(e.g. ”cor”), e que associados a esses atributos estejam associadas os possı́veis
valores/opções (e.g. várias cores), que o utilizador poderá escolher, que podem
influenciar o preço do produto.
• Especificações do produto - Permite o armazenamento de informação textual associada ao produto como especificações técnicas;
• Historial de preços - Permite armazenar informação sobre a evolução do preço de
um determinado produto;
• Produtos digitais - Permite identificar o produto como ”digital”, correspondente
a ficheiros digitais (música, software, filmes, etc.) que podem ser distribuı́dos em
tempo real, sendo o download do ficheiro efectuado após o respectivo pagamento,
e/ou após a inserção da informação requerida;
• Historial de alterações - Permite saber quem criou/alterou o produto e quando;
• Fornecedores - Permite especificar fornecedores para um determinado produto;
3.1. Conceitos Principais
25
• Obra de Arte - Permite especificar opções comuns a obras de arte, tais como autor,
materiais e dimensões;
• Livro - Permite especificar opções comuns a livros, tais como autor, sinopse, ISBN,
colecção, editora, ano de edição ou tipo de encadernação.
Esta abordagem apresenta a vantagem de satisfazer os requisitos de extensibilidade e
adaptabilidade, já que é possı́vel desenvolver novas facetas para suportar tipos especı́ficos
de produtos ainda não contemplados. Por outro lado, facilita também a administração
dos produtos, já que apenas o conjunto de facetas do produto considerado essencial é
apresentado.
Serviços
Adicionalmente, é suportado o fornecimento de serviços, que diferem da venda de produtos
no sentido em que do fornecimento de um serviço não resulta a posse de um bem fı́sico.
O fornecimento de um serviço é um processo que cria valor ao alterar algo nos clientes,
como por exemplo nos seus bens. Exemplos de prestação de serviços são por exemplo
serviços de ensino, entretenimento, consultoria, etc.
No caso do eCT, os serviços a contemplar serão serviços de venda de bilhetes e de
arrendamento de produtos (reserva de hotéis, carros, etc.). No caso de arrendamento
de produtos, existe um perı́odo em que o produto está disponı́vel e um número de itens
disponı́veis para reserva. O cliente pode optar por um perı́odo possı́vel, e optar pelo
número de itens disponı́vel. No caso de reserva de bilhetes, o cliente apenas pode optar
por um dia.
3.1.2
Suporte a diferentes modelos de comércio electrónico
Um aspecto crucial para a adopção do eCT é o suporte aos múltiplos modelos de negócio
identificados durante esta investigação para este toolkit possa ser aplicado em diferentes
domı́nios e contextos de negócio. São apresentados, de seguida, os modelos de negócio
contemplados por este toolkit.
Modelo ”Loja”
No modelo de negócio ”Loja” (e.g., Fnac), é suportada uma única loja, com o seu conjunto
de opções de configuração e gestão em tudo semelhantes às disponı́veis numa loja fı́sica.
Este modelo é o mais simples e comum, sendo as configurações do eCT directamente
aplicáveis à loja em causa. O catálogo de produtos desta loja e as respectiva promoções
são administradas pelo actor ”Gestor de Catálogo”, estando a parte relativa à operação
26
Capı́tulo 3. O eCT - Concepção
regular da loja, nomeadamente gestão de encomendas e inventário, a cargo do actor
”Gestor operacional”.
Figura 3.2: Modelo ”Loja”
Modelo ”Centro Comercial”
No modelo de negócio ”Centro Comercial” (e.g., C. C. Colombo), é suportado um conjunto
de lojas, cada uma com o seu catálogo de produtos, encomendas, e configurações de
loja (métodos de pagamento, envio, cobrança de impostos, etc). Este funcionamento é
semelhante ao de um centro comercial, onde existe um conjunto de lojas independentes.
Neste modelo, o eCT fornece algumas opções de infraestrutura às lojas, como o registo
de clientes, mas cada loja é independente e possui actores locais de administração da
loja (”Gestor de Catálogo” e ”Gestor operacional”). Ao nı́vel da configuração da loja,
o ”Administrador da Loja” pode escolher algumas opções locais à loja (nomeadamente
métodos de pagamento, envio e cálculo de impostos) e configurá-las de entre um conjunto
de opções globais do eCT previamente configuradas pelo ”Administrador do eCT”.
Modelo ”Hipermercado”
No modelo ”Hipermercado”, exemplificado por um Hipermercado, onde existem diferentes
secções (e.g. Padaria, Peixaria, Talho), é também suportado um conjunto de secções/lojas,
cada uma com o seu catálogo de produtos, mas com a diferença do carrinho de compras
ser global às várias lojas, sendo o processo de pagamento e encomenda global a todas estas
lojas, ou seja, um cliente pode juntar no carrinho de compras produtos das várias lojas e
depois dirigir-se a uma única caixa para proceder à finalização da compra. Desta forma,
a responsabilidade de gerir as encomendas está a cargo do actor ”Gestor Operacional” do
eCT, estando ao encargo do ”Gestor de Catálogo” da loja a gestão do catálogo da loja. O
”Administrador da Loja” terá neste caso, um subconjunto das opções de gestão normais,
3.1. Conceitos Principais
27
Figura 3.3: Modelo ”Centro Comercial”
já que não pode gerir os métodos de pagamento, envio e cálculo de impostos pois estas
opções (opções essas geridas pelo ”Administrador do eCT”.
Figura 3.4: Modelo ”Hipermercado”
3.1.3
Adaptação a diferentes contextos de pagamento, envio e
cálculo de impostos
A adaptação a diferentes contextos envolve principalmente as áreas de pagamento, envio e
cálculo de impostos. Estas áreas são essenciais pois o conjunto de opções disponibilizado
é fundamental para o sucesso destes sistemas. Por conseguinte, o eCT deve possuir
mecanismos que permitam a gestão do conjunto de métodos disponibilizado, e a adição
de novos métodos.
28
3.1.4
Capı́tulo 3. O eCT - Concepção
Promoções e Marketing
O eCT deve providenciar um conjunto de funcionalidades de promoções e marketing nomeadamente: promoções, newsletters, pacotes de produtos, relações entre produtos e cupões
de desconto.
3.1.5
Logging e Estatı́sticas/Relatórios
Para que o eCT providencie meios de registo dos eventos relevantes no sistema, foram
desenvolvidos os mecanismos de logging de erros e de eventos. O logging de eventos
consiste em manter um conjunto de informação de cada operação efectuada (e.g. consulta
de um produto ou categoria por um visitante), enquanto o mecanismo de logging de
erros consiste na detecção de possı́veis situações de erro e consequente notificação dos
encarregados e/ou registo dos detalhes destas.
Por outro lado, a componente de estatı́sticas/relatórios deste toolkit consiste na apresentação relevante da loja, quer sejam estatı́sticas simples da loja (como número de produtos ou encomendas da última semana) ou relatórios que coligem a informação das
operações efectuadas e a apresentam para análise pelos responsáveis da loja. Por exemplo, podem ser definidos relatórios de ”Produtos mais vendidos”, ”Vendas por regiões
geográficas”, etc. Podem ser definidos novos relatórios, que focam novas áreas de interesse e facilmente ser adicionados ao eCT.
3.1.6
Multi-cultura
Devido ao fenómeno emergente da globalização, o eCT deve suportar a operação em diversas culturas (localização), tanto ao nı́vel da linguagem da interface como do conteúdo
a apresentar aos utilizadores. O próprio catálogo de produtos deve suportar multilinguagem.
Além disso, é importante suportar múltiplas unidades monetárias bem como a conversão entre estas.
3.1.7
Segurança
A segurança é uma das maiores preocupações dos utilizadores de comércio electrónico por
isso o eCT deve providenciar mecanismos que ofereçam segurança aos seus utilizadores,
nomeadamente ao nı́vel da sua informação sensı́vel.
3.2. Visão funcional
3.1.8
29
Aspecto visual
Para permitir a adaptação do aspecto visual das lojas, contribuindo para uma melhor
experiência dos clientes, o eCT deve suportar um conjunto de temas visuais e a funcionalidades de edição destes.
3.2
Visão funcional
Na secção anterior foi apresentada a visão geral e os principais conceitos e requisitos
do eCT. Apresentam-se, de seguida, as funcionalidades propostas para o sistema pela
identificação dos seus actores e a descrição dos principais casos de utilização, agrupados
por um conjunto de funcionalidades.
3.2.1
Actores
A Figura 3.5 ilustra a hierarquia de actores do eCT. O Utilizador Anónimo representa
genericamente qualquer utilizador que não se encontra registado no sistema. O Utilizador Registado representa o utilizador existente no sistema. Para permitir um maior
nı́vel de controlo relativamente à da utilização, gestão e administração do eCT e das suas
lojas, é definido um conjunto de actores, cada um com responsabilidades especı́ficas, designadamente: (1) o Administrador do CMS, responsável pela administração normal
do gestor de conteúdos (gestão de páginas, utilizadores, permissões, e de conteúdos); (2)
o Administrador do eCT, responsável pela configuração do toolkit e de um conjunto
de métodos disponı́veis para a(s) loja(s) (envio, pagamento, etc); (3) o Administrador
da Loja, responsável pela configuração da respectiva loja e da selecção e configuração
dos métodos disponibilizados pelo eCT (envio, pagamento, etc) aplicáveis à loja; (4) o
Gestor de Catálogo, responsável pela gestão de catálogo e promoções de cada loja; (5)
o Gestor Operacional, responsável pela gestão operacional de encomendas e inventário
de cada loja; (6) e o Cliente, o utilizador registado no sistema que pode consultar e alterar alguma informação pessoal (e.g., encomendas, listas pessoais, classificações e crı́ticas
feitas).
A Figura 3.6 transmite a visão de alto nı́vel, separando os casos de utilização nas áreas
principais:
• Utilização geral e do cliente: os casos de utilização disponı́veis para todos os
utilizadores, como navegação na loja e no catálogo de produtos, ou registo e autenticação; e os casos de utilização exclusivos do cliente, como finalizar encomendas e
consultar informação pessoal;
30
Capı́tulo 3. O eCT - Concepção
Figura 3.5: Hierarquia de actores suportada pelo eCT
• Configuração do eCT: diz respeito à definição de um conjunto de aspectos globais
do eCT, que definem o seu funcionamento e funcionalidades disponibilizadas às lojas;
• Configuração e gestão da loja: os casos de utilização de configuração e gestão
da loja designadamente: (1) configuração da loja, relativa à definição de aspectos da
loja que definem o seu funcionamento; (2) gestão do catálogo de produtos, inventário
e promoções; e (3) gestão operacional, relativa à gestão do normal funcionamento
da loja, o que envolve, por exemplo, a gestão de encomendas.
Estes casos de utilização são apresentados de seguida.
3.2.2
Casos de Utilização Geral e do Cliente
Utilização Geral
Os casos de utilização relativos à navegação no catálogo de produtos e carrinho de compras, disponı́veis para qualquer utilizador, são os seguintes:
Navegar no catálogo de produtos: Permite consultar os produtos do catálogo,
nomeadamente:
3.2. Visão funcional
31
Figura 3.6: Visão de alto nı́vel do modelo de casos de utilização
• Navegar por categorias: navegação efectuada com base na hierarquia de categorias
de produtos existente;
• Navegar por marcas: navegação efectuada com base nas marcas de produtos existente;
• Pesquisar (Simples): pesquisa efectuada com base em palavras-chave;
• Pesquisar (Avançada): pesquisa efectuada num conjunto de parâmetros e opções
mais vasto.
Consultar os detalhes de um produto: Permite consultar a informação detalhada
de um produto especı́fico, tendo em consideração as facetas definidas.
Enviar informação do produto a um amigo: Permite enviar informação de um
determinado produto por e-mail a um amigo.
Adicionar produtos ao carrinho: Permite adicionar produtos ao carrinho de compras.
Consultar/gerir o conteúdo do carrinho: Permite consultar os produtos existentes no carrinho de compras e editar as quantidades de produtos e produtos contidos
neste.
Adicionalmente, o Utilizador Anónimo pode realizar os seguintes casos:
32
Capı́tulo 3. O eCT - Concepção
Registar-se: Permite o registo no sistema, ficando o login associado ao respectivo
e-mail. O utilizador fornece ainda algumas informações pessoais.
Autenticar-se: Permite a autenticação no WebComfort, através do e-mail e password,
passando o utilizador a estar autenticado no sistema e a ter as permissões que estiverem
associadas ao seus papéis de utilizador.
Já, o actor Utilizador Registado pode realizar o seguinte caso:
Mudar Informação Pessoal: Permite mudar a informação associada ao seu registo
no sistema.
Figura 3.7: Diagrama de casos de utilização de Utilização Geral
3.2. Visão funcional
33
Cliente
Os casos de utilização disponı́veis para os Clientes são os seguintes:
Finalizar encomenda: Permite efectuar a encomenda dos produtos armazenados
no carrinho de compras. Envolve a inserção de informação sobre endereços de envio
e cobrança, a escolha dos métodos de pagamento e envio e a inserção da informação
respectiva. Envolve ainda, a revisão de toda a informação e a confirmação da compra.
Ver encomendas: Permite consultar as encomendas efectuadas.
Consultar e editar encomenda: Permite consultar gerir as encomendas, e cancelar
encomendas a decorrer, se possı́vel.
Atribuir classificações e comentários a produtos: Permite classificar produtos
da loja e escrever comentários/crı́ticas sobre esses produtos.
Adicionar produtos a Listas: Permite adicionar produtos a Listas, que tipicamente
podem ser: (1) wish-lists, listas de produtos desejados; (2) price agent lists, em que o
utilizador indica que pretende ser notificado caso o preço de um produto se torne inferior
a determinado preço; e (3) back on stock lists, que permitem a notificação do utilizador
caso determinado produto esgotado volte a estar em stock.
Figura 3.8: Diagrama de casos de utilização do Cliente
34
3.2.3
Capı́tulo 3. O eCT - Concepção
Administração do eCT
O actor Administrador do eCT tem como objectivo configurar o toolkit, nomeadamente
o conjunto de métodos que este disponibiliza para as suas lojas. O seu conjunto de casos
de utilização é:
Configurar Paı́ses e Zonas: Permite configurar os paı́ses e zonas suportados pelo
sistema.
Configurar unidades monetárias: Permite configurar as unidades monetárias suportadas pelos sistema e algumas opções relativas a estas.
Configurar métodos de cálculo de impostos: Permite configurar os métodos
disponı́veis para o cálculo de impostos dos produtos.
Configurar métodos de pagamento: Permite configurar os métodos disponı́veis
para o pagamento dos produtos.
Configurar métodos de envio: Permite configurar os métodos disponı́veis para o
envio dos produtos.
Gerir modelo de operação e propriedades globais do eCT: Permite especificar
se a loja funciona no modelo ”Loja”, ”Centro Comercial”, ou ”Hipermercado”, e gerir as
opções de configuração relativas a cada um destes modelos.
Gerir templates dos e-mails de notificação: Permite gerir os e-mails a ser enviados em passos chave do envio de produtos.
Gerir papéis: Permite gerir os papéis existentes no contexto do eCT de comércio
electrónico.
Gerir entidades existentes: Permite gerir as entidades existentes no contexto do
eCT (Utilizadores e Lojas).
Gerir relatórios disponı́veis: Permite gerir os relatórios disponı́veis aos gestores
operacionais das lojas.
3.2. Visão funcional
Figura 3.9: Diagrama de casos de utilização de Configuração do eCT
35
36
3.2.4
Capı́tulo 3. O eCT - Concepção
Configuração e gestão da Loja
Gestão de Catálogo, Inventário e Promoções
O actor Gestor de Catálogo pode realizar os seguintes casos de utilização em relação à
componente de Gestão de Catálogo:
Gerir marcas: Permite gerir as marcas existentes.
Gerir categorias: Permite gerir as categorias existentes.
Gerir templates de produtos: Permite gerir os templates de produtos disponı́veis,
o que envolve a selecção de um conjunto de facetas que definem o produto.
Gerir produtos: Permite gerir os produtos existentes e todas as suas facetas (e.g.,
facetas de inventário ou de relações entre produtos).
Importar/Exportar produtos em bloco: Permite importar e exportar uma grande
quantidade de informação sobre produtos a partir de/para um ficheiro com um formato
reconhecido.
Rever classificações e comentários dos produtos: Permite aprovar ou rejeitar
os comentários e classificações feitas pelos utilizadores registados.
Já em relação à parte de promoções os casos de utilização são os seguintes:
Gerir promoções: Permite gerir as promoções temporárias associadas a um conjunto
de produtos ou categoria de produtos.
Gerir newsletters: Permite criar e editar newsletters, que serão enviadas para um
conjunto dos utilizadores do portal.
Gerir pacotes de produtos: Permite criar pacotes de produtos, possivelmente com
um desconto associado.
Gerir cupões de desconto: Permite gerir os cupões de desconto existentes, que
permitem que o seu portador obtenha um desconto.
3.2. Visão funcional
37
Figura 3.10: Diagrama de casos de utilização de Gestão de Catálogo, Inventário e
Promoções
38
Capı́tulo 3. O eCT - Concepção
Configuração da Loja
O actor Administrador da Loja pode realizar os seguintes casos de utilização:
Escolher Paı́ses e Zonas: Permite escolher os paı́ses e zonas suportados por essa
loja.
Escolher unidades monetárias: Permite escolher e configurar as unidades monetárias existentes na loja.
Escolher métodos de cálculo de impostos: Permite escolher as opções disponı́veis
para o cálculo de impostos dos produtos.
Escolher métodos de pagamento: Permite escolher e configurar as opções disponı́veis para o pagamento dos produtos.
Escolher métodos de envio: Permite escolher e configurar as opções disponı́veis
para o envio dos produtos.
Gerir propriedades da loja: Permite configurar um conjunto de propriedades da
loja.
Gerir templates dos e-mails de notificação: Permite alterar os templates dos
e-mails a ser enviados em passos-chave do envio de produtos, caso o definido ao nı́vel
global do toolkit nao seja adequado.
Gerir papéis: Permite gerir os papéis existentes no contexto desta loja.
Gerir entidades existentes: Permite gerir as entidades existentes no contexto da
loja (Utilizadores, Fornecedores, e Loja).
Gerir facetas disponı́veis: Permite gerir as facetas disponı́veis para as lojas do eCT.
3.2. Visão funcional
Figura 3.11: Diagrama de casos de utilização de Configuração da Loja
39
40
Capı́tulo 3. O eCT - Concepção
Gestão operacional
O actor Gestor Operacional pode realizar os seguintes casos de utilização:
Gerir Encomendas: Permite gerir as encomendas, i.e. consultar as encomendas
existentes, e/ou validar e enviar as encomendas pendentes. Inclui ainda o tratamento dos
casos de excepção de encomendas, permitindo o cancelamento e reembolso das encomendas.
Gerir utilizadores: Permite gerir os utilizadores.
Consultar relatórios: Permite consultar os relatório disponı́veis.
Consultar logs: Permite consultar os registo das operações dos utilizadores (logs).
Figura 3.12: Diagrama de casos de utilização da Gestão operacional da loja
3.3
Conclusão
A abordagem proposta oferece um conjunto de funcionalidades bastante vasto, e um
conjunto de opções de extensão que permite a adaptação a diferentes contextos.
3.3. Conclusão
41
As funcionalidades propostas são divididas em: Catálogo, Inventário, Promoções e
Marketing, Configuração da extensão/loja, e Gestão operacional da loja.
Por outro lado, são contemplados mecanismos de extensão para: envio de produtos,
pagamento, cálculo de impostos, definição de opções de produto, logging, reporting, e
mecanismos de multi-cultura (suportados de base pelo WebComfort ou pelo próprio eCT,
como suporte a várias unidades monetárias).
Desta forma, esta proposta do eCT pretende ser uma base funcional adaptável a
diferentes contextos, ao qual se possam adicionar facilmente novas funcionalidades e cuja
instalação e configuração seja simples.
Capı́tulo 4
O eCT - Arquitectura e
Desenvolvimento
Na sequência da apresentação dos conceitos e funcionalidades do eCT efectuada no capı́tulo
3, descreve-se agora o eCT ao nı́vel dos seus aspectos de arquitectura e de desenho. Na
secção 4.1 é apresentado o WebComfort e a visão de alto nı́vel da arquitectura do eCT.
Na secção 4.2 apresentam-se as opções tomadas para implementação dos principais conceitos do eCT. Na secção 4.3 descreve-se a arquitectura dos módulos do eCT, seguida
na secção 4.4 pela descrição dos componentes desenvolvidos nas diferentes iterações. Por
fim, na secção 4.5 faz-se uma sı́ntese e discussão das principais opções tomadas durante o
desenvolvimento.
4.1
Introdução
O eCT (eCommerce Toolkit) assenta na plataforma WebComfort, que apresenta um
conjunto extenso de funcionalidades, nomeadamente [Silva 07]: (1) suporte de diferentes conteúdos, estruturados e não estruturados; (2) facilidade de produção e gestão de
conteúdos; gestão flexı́vel e integrado de utilizadores e de permissões; (3) extensibilidade
e modularidade; (4) gestão integrada de conteúdos em multilı́ngua; (5) separação entre
conteúdo e sua apresentação; (6) gestão flexı́vel de temas visuais; e (7) gestão de workflows
de conteúdos.
O WebComfort pode ser facilmente estendido, disponibilizando os seguintes mecanismos de extensão [Silva 07]: (1) módulos, estruturados em torno de bibliotecas funcionais,
designados por toolkits; (2) temas visuais; (3) definição de pacotes de linguagens; e (4)
definição de workflows.
O eCT agrega um conjunto integrado de módulos WebComfort que implementam
funcionalidades de comércio electrónico. A arquitectura do eCT segue o modelo 3-tier,
43
44
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
com as camadas de apresentação, negócio e de dados, como ilustrado na Figura 4.1, sendo
um módulo WebComfort transversal a estas camadas.
Na camada de apresentação de um módulo estão os controlos de utilizador (Web User
Controls, ”.ascx”) e os correspondentes formulários (Web Forms, ”.aspx”), que apresentam
informação ao utilizador e interpretam as suas acções.
No segundo nı́vel, a camada da lógica de módulo contém a lógica inerente ao funcionamente do módulo. A este nı́vel faz pode-se utilizar a API do WebComfort, que disponibiliza um conjunto de funcionalidades de infraestrutura disponı́veis para os módulos do
WebComfort, como autenticação ou gestão das linguagens. De forma semelhante, existe
uma API do eCT, que fornece um conjunto de funcionalidades de infraestrutura desta
extensão nomeadamente ao nı́vel de: gestão do catálogo, gestão de promoções, gestão
de inventário, gestão operacional da loja, configuração da loja e configuração do eCT. É
a este nı́vel que são disponı́veis o conjunto de possı́veis extensões, nomeadamente: (1)
Facetas de produtos; (2) Envio; (3) Pagamento; (4) Cálculo de impostos; (5) Logging; (6)
Relatórios; e (7) Gestão de unidades monetárias.
No terceiro nı́vel, o módulo pode apresentar uma camada de acesso a dados, que isola
os aspectos da persistência especı́ficos deste módulo. Neste nı́vel foi usada uma ferramenta
de geração automática de código, o My Generation [MyGeneration], que permitiu acelerar
o seu desenvolvimento.
Ao nı́vel do armazenamento de dados, existe uma base de dados especı́fica do eCT
(eCT Database), responsável por armazenar toda a informação correspondente, e outra
base de dados com o registo de operações efectuadas (Statistics Database).
Figura 4.1: Visão de alto nı́vel da arquitectura do eCT
4.2. Implementação dos Conceitos Principais
4.2
45
Implementação dos Conceitos Principais
Apresentam-se de seguida as opções tomadas para a implementação dos conceitos principais do eCT, previamente identificados na secção 3.1.
4.2.1
Catálogo de produtos
Analisados os requisitos definidos para o catálogo de produtos, que deve suportar a noção
de um produto genérico, o qual pode ser especializado/estendido através da aplicação de
facetas consoante os diferentes contextos de aplicação, concebeu-se o mecanismo baseado
em facetas que implementa esse comportamento.
Este mecanismo é suportado pela utilização do Padrão de Desenho Decorator [Gamma 94,
Laseter 07, Shalloway 01], que permite que comportamento seja adicionado dinamica e
transparentemente ao objecto original. Desta forma, em vez de se tentar suportar de raiz
todos os requisitos previsı́veis numa classe complexa, pode-se optar por definir uma classe
relativamente simples e adicionar-se funcionalidades incrementalmente com objectos do
tipo Decorator, sendo o resultado final a soma das partes. Consequentemente, este padrão
permite que se possa definir um grande número de extensões (neste caso facetas) ao objecto original (produto) ao invés de criar um objecto mais complexo, em que possivelmente
muitas das caracterı́sticas não seriam utilizadas na maior parte das situações.
Neste caso especı́fico, o Produto (Component) pode ser decorado por um conjunto de
Facetas de Produto (Concrete Decorators), que concretizam facetas especı́ficas do Produto
(ver Figura 4.2), como a faceta de Informação Fiscal (TaxRateFacet 1 ).
Poderá ser definido um conjunto bastante extenso de facetas do produto, sendo algumas das principais apresentadas na Figura 4.3.
Serviços
O mecanismo de facetas serve também de suporte para a funcionalidade de fornecimento
de serviços, que diferem da venda de produtos no sentido em que do fornecimento de um
serviço não resulta a posse de um bem fı́sico. Neste caso, existirá um conjunto diferente
de facetas, especı́ficas dos serviços, que permitem a instanciação das propriedades do
serviço, e que controlam aspectos como a apresentação/edição daquele tipo de serviço,
qual o preço do serviço em função das opções seleccionadas ou como o serviço é fornecido
ao cliente.
1
Não confundir Facet, de Faceta, com o padrão de desenho Facade
46
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.2: Aplicação do padrão de desenho Decorator à definição de produtos
Figura 4.3: Modelo de dados de algumas das facetas de produto
4.2.2
Suporte a diferentes modelos de comércio electrónico
No que diz respeito ao suporte aos diferentes modelos de negócio já descritos, tem de existir
um mapeamento entre as unidades conceptuais do WebComfort e do eCT, nomeadamente
4.2. Implementação dos Conceitos Principais
47
entre os conceitos principais do WebComfort (portal, página dinâmica e os respectivos
papéis) e os conceitos principais do eCT (eCT, loja e os respectivos papéis) (ver figura
4.4).
Figura 4.4: Apresentação dos conceitos principais do WebComfort e do eCT
No caso do modelo ”Loja”, em que é suportada uma única loja, com o seu conjunto
de opções de configuração e gestão, este mapeamento implica que o portal WebComfort
contém uma única loja, que abrange todas as páginas dinâmicas deste, que apresentam
a informação dos produtos e outra informação de interesse. Ao nı́vel dos papéis de administração da loja, estes papéis são papéis de sistema, ou seja, papéis globais ao portal
WebComfort.
Já no caso dos modelos ”Centro Comercial” e ”Hipermercado”, em que é suportado
um conjunto de lojas, cada uma com as suas especificidades, este mapeamento significa
que o portal WebComfort contém um conjunto de lojas, sendo que cada loja corresponde
a um sub-conjunto da hierarquia de páginas dinâmicas WebComfort. Ao nı́vel dos papéis
de administração da loja, estes papéis são papéis locais à secção, ou seja, papéis válidos
apenas no âmbito das secções a que dizem respeito.
4.2.3
Adaptação a diferentes contextos de pagamento, envio e
cálculo de impostos
A adaptação a diferentes contextos nas áreas de pagamento, envio e cálculo de impostos é feita recorrendo ao Modelo de Providers, [Rob Howard 04b, Rob Howard 04a,
Connoly 07]. Este modelo, introduzido com o ASP.NET 2.0, permitiu que serviços chave
do ASP.NET (sessão, membership, etc), em vez de manipularem directamente as fontes
de dados, usem providers que se encarregam dos detalhes de escrita/leitura para as diferentes alternativas possı́veis (ver figura 4.5). Desta forma, um provider é um interface de
programação uniforme entre um serviço e a fonte de dados.
48
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.5: Modelo de Providers do ASP.NET (extraı́do de [Connoly 07])
A utilização de providers traduz-se num conjunto de vantagens, como por exemplo:
• separação entre o código que acede ao serviço e o código que implementa o serviço,
o que isola o programador das mudanças na implementação de um dado serviço;
• disponibilização de serviços fáceis de compreender e extensı́veis, já que se pode
criar/comprar facilmente novos providers;
• fácil configuração, já que a mudança de providers é feita alterando um ficheiro de
configuração (web.config), sem qualquer alteraçao do código-fonte;
,
No caso do eCT e do suporte a diferentes contextos de pagamento, envio e cálculo de
impostos, o modelo de Providers revelou-se adequado pois o objectivo era criar serviços que
permitissem um conjunto de operações genéricas relativas ao pagamento, envio, cálculo
de impostos mas que, simultaneamente, permitissem o fácil desenvolvimento de novas
implementações para estes serviços bem como a fácil configuração destas.
Passam-se a apresentar as diferentes soluções encontradas para cada uma destas alternativas.
Pagamento
Através do modelo de providers apresentado, os serviços de pagamento disponibilizados
pelo eCT disponibilizam métodos para: (1) obtenção do conjunto de métodos suportado;
4.2. Implementação dos Conceitos Principais
49
(2) processamento do pagamento, que recebe a informação da encomenda, processa o
respectivo pagamento e retorna a encomenda com a nova informação; e (3) cancelamento
da encomenda e a devolução de verbas ao cliente, caso seja esse o caso (ver figura 4.6).
Figura 4.6: Modelo de dados de Providers de Pagamento
Com este modelo permite-se o desenvolvimento de providers de pagamento independentes, que podem ir desde o simples pagamento na recepção da encomenda (contrareembolso) ao mais complexo pagamento com cartão de crédito recorrendo a um gateway
externos de pagamento (e.g., Paypal, Authorize.net, etc.).
Envio
Os serviços de processamento do envio de encomendas disponibilizados pelo eCT apresentam métodos para: (1) obtenção do conjunto de métodos de envio suportado; (2) escolha
do método de processamento do envio da encomenda, que recebe a informação da encomenda, processa-a de acordo com o método escolhido, e retorna a encomenda (ver figura
4.7) .
Alguns dos possı́veis providers são: (1) envio digital (para produtos digitais) que
envolve o envio do ficheiro ao cliente; (2) envio da encomenda com um custo fixo; (3)
envio de uma encomenda fı́sica através de uma rede de distribuição postal normal, com o
cálculo do custo de envio calculado com base nos locais de origem e destino e peso dos itens
50
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.7: Modelo de dados de Providers de Envio
(caso aplicável); e (4) envio da encomenda através de serviços externos, desenvolvidos com
base nos serviços externos a usar.
Cálculo de impostos
Ao nı́vel do cálculo dos impostos a cobrar existe um método que baseado na encomenda
calcula o montante de impostos a cobrar.
Os providers a implementar são: (1) valor de impostos constante, igual para todos
os produtos; (2) valor de impostos dos produtos, que envolve os produtos terem a faceta
Impostos seleccionada e terem definido um valor de imposto; (3) cálculo dos impostos com
base nos endereços de entrega; e (4) cálculo dos impostos com base em serviços externos.
4.2.4
Promoções e Marketing
Ao nı́vel das funcionalidades de promoções e marketing, é suportado o seguinte conjunto
de funcionalidades: promoções, newsletters, pacotes de produtos, relações entre produtos,
e cupões de desconto. O modelo de dados é apresentado na Figura 4.9.
4.2. Implementação dos Conceitos Principais
51
Figura 4.8: Modelo de dados de Providers de Cálculo de impostos
4.2.5
Logging e Estatı́sticas/Relatórios
Para permitir que a extensão seja auditável, foi desenvolvido o mecanismo de logging de
erros e logging de eventos. Este mecanismo assenta no mecanismo de Logging do WebComfort que utiliza a ferramenta log4net [Log4net], que permite o output de informação
de log para um conjunto de diferentes meios de destino (ficheiro, base de dados, mail,
etc.).
No caso do eCT, foi definido um conjunto de operações relevantes e em cada uma dessas
operações procedeu-se ao registo da sua informação numa base de dados própria. É essa
informação que alimenta um conjunto de relatórios, expostos sob a forma de controlos
ascx, que apresentam informação útil aos administradores (e.g., relatórios de vendas,
produtos mais vendidos, vendas por regiões geográficas). Adicionalmente, poderão usarse ferramentas de reporting (como o MS Reporting Services [ReportingServices]) para
apresentar estes relatórios.
4.2.6
Multi-cultura
O suporte multi-lı́ngua desta extensão baseia-se nos mecanismos fornecidos pelo WebComfort [Silva 07]. O WebComfort fornece dois mecanismos de suporte multi-lı́ngua: estático
e dinâmico.
O suporte multi-lı́ngua estático diz respeito à possibilidades dos elementos da interface
(botões, labels, etc.) serem apresentados em várias lı́nguas. Essa informação está arma-
52
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.9: Modelo de dados de Promoções e Marketing
zenada em ficheiros XML designados por ”WebComfort Language Packs”. Os módulos
do eCT utilizam este mecanismo para providenciar multi-lı́ngua a este nı́vel.
Por outro lado, o suporte multi-lı́ngua dinâmico diz respeito à possibilidade dos
conteúdos a apresentar aos utilizadores terem versões em diferentes lı́nguas. Neste caso,
o WebComfort providencia uma API que permite a gestão destas versões. Os módulos do
eCT utilizam este suporte para permitir que o catálogo de produtos seja apresentado nas
várias lı́nguas do portal.
Suporte a várias unidades monetárias Outra forma de suporte a várias culturas, no
caso de uma loja de comércio electrónico, é o suporte a várias unidades monetárias. Para
esse efeito, utilizou-se o modelo de providers que permitiu definir um conjunto de métodos
relativos às unidades monetárias e à própria conversão de valores entre estas. Alguns dos
providers para este efeito são: (1) Tabela de conversão de unidades monetárias, que
consiste em guardar informação relativa às taxas de câmbio, geridas pelo responsável; e
(2) Web Services, que consiste em obter essa informação a partir de um determinado web
service (4.10).
4.2.7
Segurança
A segurança das transacções efectuadas on-line é uma das maiores preocupações dos utilizadores de comércio electrónico, logo é necessário garantir a segurança da informação
sensı́vel dos utilizadores. Para esse efeito, todo o processo de pagamento é feito recor-
4.2. Implementação dos Conceitos Principais
53
Figura 4.10: Modelo de dados para a gestão de unidades monetárias
rendo a ligações SSL (Secure Socket Layer ) utilizando o protocolo HTTPS, para assegurar
a confidencialidade dos dados, especialmente os relativos a cartões de crédito. O processamento do pagamento é feito usando gateways de pagamento externos, que fornecem
serviços externos para processamento dos pagamentos (autorização, pré-autorização, fulfillement, reembolso). Note-se que toda a informação passada entre o eCT e o gateway é
transmitida de forma segura.
Adicionalmente, como toda a informação de cartões de crédito é extremamente sensı́vel,
esta informação não é guardada de forma persistente na base de dados do eCT, de modo
a impedir possı́veis ataques ou fugas de informação devido a acessos não autorizados à
base de dados.
4.2.8
Aspecto visual
Relativamente ao aspecto visual das lojas, pode-se escolher e alterar temas visuais [Silva 07]
que definem a aparência (e.g., cores, fonte e tamanho do texto, desenho de molduras) dos
elementos HTML e controlos constituintes de um módulo, respectivamente através da
tecnologia CSS (Cascate Style Sheet) e Skins. Um tema visual pode ainda incluir a definição da MasterPage, que permite a estruturação espacial de páginas, segundo uma
organização tabular de contentores de módulos (e.g., definir uma página constituı́da por
dois contentores verticais de módulos, ou por três contentores horizontais).
54
4.3
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Arquitectura de Componentes - Módulos do Sistema
Passa-se a apresentar os módulos principais do sistema, designadamente: ”Produtos”,
”Carrinho de Compras” (representados na figura 4.11), que englobam ainda um conjunto
de componentes do sistema que não podem ser classificados como módulos (”Finalização
da Encomenda” e ”Gestão de informação pessoal”), sendo conjuntos de páginas acessı́veis
a partir de alguns destes módulos.
Figura 4.11: Visão geral dos Módulos disponı́veis aos clientes do eCT
Outro dos módulos principais do sistema é o módulo de ”Administração” (representados na figura 4.12), que se subdivide num conjunto de secções designadamente: (1) Gestão
de catálogo; (2) Promoções e Marketing; (3) Gestão Operacional; (4) Configuração do
eCT; e (5) Configuração da Loja.
4.3. Arquitectura de Componentes - Módulos do Sistema
Figura 4.12: Visão geral do Módulo de Administração
55
56
4.3.1
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Módulo ”Produtos” e respectivos Módulos de navegação
O módulo ”Produtos” é um dos principais do sistema, já que é aquele que expõe os
produtos aos utilizadores, através de um conjunto de mecanismos de navegação disponibilizados. A fig. 4.13 expõe os diferentes mecanismos de navegação, nomeadamente
através da hierarquia de categorias existente, das marcas dos produtos, ou futuramente
através de mecanismos de pesquisa simples ou avançada. Estes mecanismos de navegação
são disponibilizados na forma de módulos WebComfort que comunicam com o módulo
”Produtos”, permitindo que após a escolha de um destes mecanismos de navegação e indicação das opções adequadas seja apresentada ao utilizador uma lista dos produtos que
satisfazem os critérios indicados. O utilizador poderá, ainda, consultar todos os detalhes
de um determinado produto, e fazer um conjunto de operações sobre o produto (escrever comentários e classificar produto, enviar a informação do produto a um amigo, ou
adicionar os produtos a uma lista pessoal).
4.3. Arquitectura de Componentes - Módulos do Sistema
Figura 4.13: Visões do Módulo ”Produtos”
57
58
4.3.2
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Componente de gestão de informação pessoal
Este componente permite a gestão da informação pessoal do utilizador no eCT, e a consulta do historial de encomendas e informação detalhada de cada encomenda.
Figura 4.14: Visões do Módulo ”Produtos”
4.3. Arquitectura de Componentes - Módulos do Sistema
4.3.3
59
Módulo ”Carrinho de Compras” e ”Finalização da Encomenda”
O módulo ”Carrinho de Compras” obedece à metáfora do Carrinho de compras, em que
o utilizador de uma loja on-line pode, à semelhança de uma loja real, à medida que visita
a loja adicionar ou remover produtos ao carrinho de compras e, caso o deseje, finalizar a
encomenda. Note-se que, como evidenciado na fig. 4.15, o utilizador terá de se autenticar
para poder passar ao processo de Finalização da Encomenda.
A componente de Finalização da Encomenda permite ao utilizador encomendar os
produtos contidos no carrinho de compras, sendo constituı́da por vários passos em que o
utilizador vai inserindo sequencialmente informação relevante para a finalização da encomenda, como informação de envio e pagamento de encomenda.
60
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.15: Visões do Módulo ”Carrinho de Compras” e ”Finalização da encomenda”
4.3. Arquitectura de Componentes - Módulos do Sistema
4.3.4
61
Módulo de Administração
Este módulo permite controlar todos os aspectos de administração do eCT, sendo o módulo
mais complexo do sistema. As suas funcionalidades estão subdivididas num conjunto de
subsecções, apresentadas de acordo com as permissões do utilizador em causa.
Gestão de catálogo
Esta subsecção permite a gestão do catálogo de produtos, passando as suas responsabilidades pela gestão de produtos, categorias, e marcas. A criação de um produto envolve a
escolha das facetas relevantes para o produto, e a instanciação do produto e das respectivas facetas, como por exemplo a edição das categorias a que esse produto pertence. Já
a edição do produto envolve apenas a edição do produto e das suas facetas.
62
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Figura 4.16: Visões da subsecção ”Gestão de catálogo” do Módulo de Administração
4.3. Arquitectura de Componentes - Módulos do Sistema
63
Gestão operacional
Esta subsecção permite a visualização das ordens de encomenda nos seus vários estados,
e a edição dos detalhes de cada encomenda (nomeadamente para fins de processamento
de pagamento e envio das encomendas).
Figura 4.17: Visões da subsecção ”Gestão operacional da loja” do Módulo de Administração
64
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Estatı́sticas Para fins de monitorização da operação da loja e dos seus eventuais problemas, são disponibilizadas estatı́sticas gerais da loja (número de produtos, etc), bem
como um conjunto de relatórios que resumem e apresentam informação importante sobre a loja (relatórios de vendas, etc.). Futuramente ainda se disponibilizará um log de
operações efectuadas pelos utilizadores.
Figura 4.18: Visões da subsecção ”Estatı́sticas” do Módulo de Administração
Configuração da loja
Esta subsecção permite a configuração da loja através da escolha de alguns dos métodos
(de pagamento, envio e cálculo de impostos) disponibilizados pelo eCT e a sua configuração. Adicionalmente pode-se escolher as zonas de operação da loja, através da escolha dos paı́ses e zonas e unidades monetárias em que a loja opera. Permite ainda gerir as
propriedades globais da loja, re-definir os emails de notificação e administrar os papéis e
entidades existentes ao nı́vel do eCT.
4.3. Arquitectura de Componentes - Módulos do Sistema
65
Figura 4.19: Visões da subsecção ”Configuração da loja” do Módulo de Administração
66
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Outros Módulos
Em próximas iterações do eCT, considera-se a implementação de módulos que permitam
o suporte aos modelos de negócio ”Centro Comercial” e ”Hipermercado”, nomeadamente
um módulo de configuração do eCT. Outro aspecto a desenvolver será a componente de
Promoções e Marketing, através de uma subsecção de administração
Configuração do eCT Esta subsecção permite a configuração das opções globais do
eCT (e.g., modo de operação do eCT e propriedades globais, métodos de pagamento,
envio e cálculo de impostos disponı́veis), ou de elementos disponı́veis para as lojas (paı́ses
e zonas, unidades monetárias, e-mails de notificação por omissão, relatórios). Permite
ainda a administração dos papéis e entidades existentes ao nı́vel do eCT.
Figura 4.20: Vistas da subsecção ”Configuração do eCT” do Módulo de Administração
Promoções e Marketing Esta subsecção permite a criação de newsletters a enviar a
um conjunto de utilizadores do portal, a criação de pacotes de produtos e de promoções de
produtos ou categorias. Outra funcionalidade permitida é a criação de cupões de desconto
(códigos de desconto a ser enviados aos clientes, e que podem ser utilizados em descontos
em compras superiores a um determinada quantia).
4.4. Planeamento
67
Figura 4.21: Vistas da subsecção ”Promoções e Marketing” do Módulo de Administração
4.4
Planeamento
De seguida é apresentada o planeamento seguido ao longo do desenvolvimento desta extensão, e das três iterações planeadas.
1ª Iteração
Na 1º iteração (resumida na Tabela 4.1), o objectivo era desenvolver a base funcional da
extensão de comércio electrónico, embora com um conjunto reduzido de opções. Assim,
apenas se suporta o modelo ”Loja”, apresentado na secção 3.1. Os casos de uso que foram
desenvolvidos são os relacionados com a navegação no catálogo de produtos, carrinho de
compras, administração do catálogo de produtos, configuração das opções globais do eCT,
e gestão de encomendas e de utilizadores da loja.
68
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Tabela 4.1: Tabela que resume os casos de utilização e respectivos módulos desenvolvidos
na 1ª iteração
4.4. Planeamento
69
2ª Iteração
Nesta iteração, (resumida na Tabela 4.2) passou-se a suportar o modelo ”Centro Comercial”, nomeadamente através dos casos de uso de configuração da loja. Desenvolveu-se
ainda um conjunto de funcionalidades das áreas de Promoções e Marketing, Gestão Operacional e de Inventário, com o objectivo de permitir uma melhor operação da loja. Além
disso, procurou-se melhorar a experiência de navegação dos utilizadores através das funcionalidades de Pesquisa de Produtos.
,
Tabela 4.2: Tabela que resume os casos de utilização e respectivos módulos desenvolvidos
na 2ª iteração
3ª Iteração
Nesta iteração (resumida na Tabela 4.3) passou-se a suportar o modelo ”Hipermercado”.
Outras funcionalidades a desenvolver nesta iteração são funcionalidades adicionais para
os utilizadores registados, e um conjunto de funcionalidades interessantes de administração como importação/exportação de produtos em bloco e revisão das classificações e
comentários dos produtos. Na área de promoções e marketing, a funcionalidade a implementar são os cupões de desconto.
1cm
Além das funcionalidades a implementar nestas iteração resume-se os modelos de loja,
facetas de produtos e métodos de pagamento, envio e cálculo de impostos implementados
em cada um das iterações na Tabela 4.4.
70
Capı́tulo 4. O eCT - Arquitectura e Desenvolvimento
Tabela 4.3: Tabela que resume os casos de utilização e respectivos módulos desenvolvidos
na 3ª iteração
Tabela 4.4: Tabela que resume as iterações de desenvolvimento deste toolkit
4.5
Conclusão
Algumas das preocupações principais que guiaram o desenvolvimento do eCT passaram
por permitir que o sistema se adapte a diferentes contextos de utilização, que seja facilmente extensı́vel e que seja de fácil instalação e configuração.
Para esse efeito, o sistema permite a noção de um produto genérico, o qual pode ser
especializado/estendido através da aplicação de facetas consoante os diferentes contextos de aplicação. Caso seja necessário apresentar produtos não contemplados à partida,
podem-se desenvolver facetas para esse efeito. Relativamente a adaptação a diferentes
contextos de utilização, suporta-se um conjunto de providers de pagamento, envio, impostos e de suporte a diferentes unidades monetárias bem como o fácil desenvolvimento
de outros. Suporta-se ainda um conjunto de modelos de negócio da loja (Loja, Centro
Comercial, Hipermercado) que permitem diferentes modos de funcionamento do toolkit,
que são apresentados em maior detalhe no capı́tulo 3.
Capı́tulo 5
Cenários de Aplicação
Apresentam-se neste capı́tulo diversos cenários de aplicação do eCT, que pretendem demonstrar um conjunto variado dos seus contextos de utilização. Estes cenários apresentam
os diferentes modelos de negócio, bem como as diferentes variantes de configuração do eCT
e das diferentes Lojas.
De seguida introduzem-se os vários cenários, sintetizados na Figura 5.1.
A secção 5.1 apresenta cenários de aplicação do sistema no âmbito de uma loja de livros
e DVD’s, exemplo do modelo de negócio ”Loja”. Na secção 5.2 descreve-se o cenário
de aplicação do eCT no portal eArte [eArte], um portal com um conjunto de espaços
culturais (ou galerias), para divulgação de artistas, obras e eventos, e neste caso, para
venda de obras. Este cenário é exemplificativo dos modelo de negócio ”Centro Comercial”
e ”Hipermercado”. Já na secção 5.3 apresenta-se a utilização de um portal para venda de
serviços, mais concretamente bilhetes para espectáculos.
Finalmente, na secção 5.4 apresentam-se as conclusões do capı́tulo.
5.1
Cenário A - Loja de Livros e DVD’s
Este cenário é o mais simples e comum e representa o caso de uma loja fı́sica que pretende
ter presença na Internet. O modelo respectivo é o modelo ”Loja” e permite que existam
os seguintes utilizadores: (1) o responsável pela Loja, que gere as propriedades globais
do eCT e da loja; (2) o responsável pelo catálogo e inventário; e (3) o responsável pelas
encomendas.
Para esta loja faz sentido apresentar informação bastante detalhada dos seus tipos de
produtos (livros e DVD’s). Nesse sentido, foram desenvolvidas facetas para representar
um livro e os seus atributos (autor, sinopse, ISBN, colecção, editora, ano de edição, tipo
de encadernação), para permitir a consulta de excertos desse mesmo livro. De forma
71
72
Capı́tulo 5. Cenários de Aplicação
Figura 5.1: Cenários de aplicação do eCT
semelhante foram desenvolvidas as facetas de representação do DVD e de visualização do
trailer do filme.
5.2
Cenário B - Portal eArte
O eArte [eArte, eArtePlatform] é um projecto que tem por missão a construção e suporte
de um sistema inovador de negócio electrónico para promoção e divulgação de arte e
cultura. Este projecto aparece com o propósito de criar um sistema que permita dar aos
5.2. Cenário B - Portal eArte
73
agentes artı́sticos e culturais a possibilidade de promoção e divulgação, de forma fácil
e directa, das suas principais produções, quer sejam obras, eventos ou autores/artistas
[eArte]. A concretização deste projecto é o ”Portal eArte” (ver figura 5.2), um portal web
que utiliza o WebComfort, sendo constituı́do por diversos espaços culturais geridos por
utilizadores registados no sistema, que podem controlar o aspecto visual dos seus espaços,
bem como o conteúdo a apresentar.
Figura 5.2: Aspecto da página principal do eArte
O eCT foi aplicado no Portal eArte de forma a suportar não apenas a promoção e
divulgação de artistas, mas também a venda das obras destes. Esta nova faceta do PortaleArte traz toda uma nova série de possibilidades de viabilização comercial, tornando mais
atraente aos artistas a exposição das suas obras.
Considerando a aplicação do eCT ao eArte, podem-se referir várias alternativas de
aplicação, como:
• Vários artistas que pretendem divulgar e vender as suas obras nos seus espaços
culturais;
• Vários artistas que pretendem divulgar as suas obras nos seus espaços culturais,
mas que não desejam estar envolvidos no processo de venda e envio dos produtos,
delegando essas responsabilidades noutra pessoa, que gere estes aspectos ao nı́vel de
todos os espaços culturais.
Na primeira destas alternativas, representativa do modelo ”Centro Comercial”, os
espaços culturais são totalmente autónomos e podem apresentar funcionalidades de comércio
74
Capı́tulo 5. Cenários de Aplicação
electrónico, o que permite, por exemplo, a vendas das próprias obras de arte ou de outros
produtos associados como reproduções.
Note-se que, neste modelo, o responsável pelo espaço cultural tipicamente acumulará
as funções dos actores ”administrador da loja”, ”gestor de catálogo” e ”gestor operacional”, ou seja, terá ao seu encargo a gestão das propriedades da loja, a gestão dos autores
e respectivas obras e, adicionalmente, a gestão das encomendas feitas neste espaço cultural/loja. Adicionalmente, cada loja terá um carrinho de compras cujo conteúdo só tem
significado local, não apresentando os produtos adicionados noutros espaços.
Na segunda alternativa, representativa do modelo ”Hipermercado”, a metáfora é a de
um hipermercado de arte com um conjunto de galerias para divulgação das obras, que os
clientes podem percorrer com o carrinho e escolher obras/produtos, e com uma única caixa
de pagamento. Apresenta a vantagem de permitir a associação colaborativa dos autores,
sem a necessidade de terem de gerir os detalhes de envios e pagamentos, delegando essa
responsabilidade.
Neste modelo, o responsável pelo espaço cultural apenas gere as suas obras e o espaço
(”administrador da loja” e ”gestor de catálogo”), estando ao encargo do responsável pelo
portal a gestão das encomendas feitas ao nı́vel de todas as lojas (funções de ”gestor
operacional” e ”administrador do eCT”). Note-se que, neste contexto, o conteúdo do
carrinho de compras tem significado global, sendo evidenciado em todos os espaços e
podendo apresentar produtos de todos os espaços.
5.3
Cenário C - Portal de Venda de Bilhetes
Este cenário, contrariamente aos anteriores, mostra o caso de um loja destinada à venda
de serviços, mais concretamente bilhetes para espectáculos. O modelo de operação é
semelhante ao do Cenário A, diferindo na faceta utilizada, uma faceta de bilhetes. Esta
faceta permite a configuração dos bilhetes para espectáculos associados a um produto,
nomeadamente o número de lugares e dias do espectáculo. Note-se que esta faceta não
envolve o envio de um produto fı́sico, e isso implica que após o pagamento dos bilhetes seja
enviada uma mensagem ao cliente com um identificador dos bilhetes para levantamento
dos bilhetes.
5.4
Conclusão
Neste capı́tulo foram apresentados alguns cenários de aplicação do eCT, demonstrando a
sua flexibilidade e adaptabilidade a diferentes cenários de aplicação, desde o exemplo mais
simples de uma loja única de venda de produtos (cenário A) até a exemplos mais complexos
5.4. Conclusão
75
como o eArte, que envolvem um conjunto de espaços culturais ou lojas, para divulgação
e venda das obras, podendo a gestão de encomendas e pagamentos estar ao nı́vel da loja
(cenário B1) ou a um nı́vel global (cenário B2). Adicionalmente, para exemplificar a
flexibilidade do eCT ao nı́vel dos produtos suportados evidenciou-se a sua operação para
venda de diversos produtos (livros, DVD’s e obras de arte) ou de serviços (bilhetes para
espectáculos). Resta dizer que devido aos mecanismos de Multi-cultura suportados bem
como à adaptação a diferentes contexto de pagamento, envio de produtos e cálculo de
impostos o eCT suporta a operação de lojas em diferentes contextos geográficos e com
diferentes públicos-alvos.
A facilidade de adaptação do eCT a estes diferentes cenários decorre essencialmente
dos seguintes aspectos: (1) suporte a diferentes modelos de negócio; (2) modelo de facetas;
e (3) modelo de providers para pagamentos, envio de produtos e cálculo de impostos.
Capı́tulo 6
Conclusões e trabalho futuro
Este capı́tulo apresenta as conclusões gerais deste trabalho de investigação, e ainda a
discussão dos cenários de aplicação. Identificam-se ainda alguns aspectos que merecem
trabalho futuro.
6.1
Conclusão
No inı́cio deste trabalho de investigação (ver Capı́tulos 1 e 2), identificaram-se os sistemas
de gestão de conteúdo como essenciais para uma fácil publicação e gestão de conteúdos,
e as suas extensões de comércio electrónico como soluções interessantes para lhes adicionar funcionalidades de comércio electrónico. Estando o foco deste trabalho nessas
extensões, analisaram-se várias propostas existentes, nomeadamente VirtueMart e CATALooK.netStore (ver capı́tulo 2), e verificou-se que a capacidade de adaptação destas
extensões aos mais diversos contextos é de vital importância para o sucesso destas extensões.
Neste âmbito, colocaram-se as seguintes questões de investigação (ver capı́tulo 1):
1. Como permitir a adaptação a diferentes contextos, como diversos tipos de lojas,
diferentes paı́ses, culturas e sistemas de impostos?
2. Como garantir extensibilidade, nomeadamente pela facilidade de desenvolvimento e
adição de novas funcionalidades pela comunidade de developers de forma independente?
3. Como garantir uma fácil instalação e configuração, de forma a satisfazer os diferentes
requisitos de negócio dos seus utilizadores?
Foi proposto que uma extensão concebida para suportar vários modelos de comércio
electrónico, e que utilize facetas no catálogo de produtos para suportar a variabilidade
77
78
Capı́tulo 6. Conclusões e trabalho futuro
dos produtos, e que utilize o modelo de providers para permitir diferentes contextos de
pagamento, envio e cálculo de impostos, satisfaria as questões acima enunciadas. Para
se validar esta tese, procedeu-se à concepção e desenvolvimento de uma biblioteca de
comércio electrónico para o WebComfort, o eCommerce Toolkit (eCT).
Nesta biblioteca suportam-se os diferentes modelos de negócio (”Loja”, ”Centro Comercial” e ”Hipermercado”), que abarcam um conjunto variado de possı́veis modelos de
comércio electrónico. Por outro lado, o modelo de facetas no catálogo de produtos, permite a sua extensibilidade e adaptabilidade, fundamental para suportar os mais variados
tipos de produtos. Adicionalmente, esta abordagem facilita a administração dos produtos, apresentando os produtos apenas as facetas relevantes para a sua administração.
Para suportar diferentes formas de pagamento, envio e cálculo de impostos utiliza-se o
modelo de providers, que permite a escolha e configuração destes métodos bem como o
desenvolvimento e adição de novos métodos.
Como discutido no Capı́tulo 5, o eCT pode adaptar-se a diferentes cenários de aplicação.
Assim, por exemplo, pode suportar uma loja simples, de livros e DVD’s, exemplo do modelo de negócio ”Loja” (Cenário A); ou no portal eArte, um portal com um conjunto
de espaços culturais (ou galerias), para divulgação de artistas ou obras ou eventos, e
neste caso, para venda de obras (Cenários B1 e B2), que exemplifica o modelo de negócio
”Centro Comercial” e ”Hipermercado”.
Face às extensões de comércio electrónico analisadas, em particular o Commerce Starter Kit, osCommerce, VirtueMart, CATALooK.netStore, este sistema apresenta o conjunto de funcionalidades normal e algumas inexistentes nestas extensões designadamente:
suporte a diferentes modelos de negócio e modelo de facetas de produtos, que inclui suporte ao fornecimento de serviços.
A materialização ao nı́vel conceptual do sistema proposto foi desenvolvida como discutido nesta dissertação, em particular nos Capı́tulos 3 e 4, e foi implementada uma versão
funcional desta extensão com as funcionalidades fundamentais.
Por fim, concluiu-se que o desenvolvimento desta extensão foi um importante contributo para validar e aprofundar os pressupostos-base desta investigação.
6.2
Trabalho futuro
Alguns aspectos do eCT que poderão vir a ser alvo de trabalho futuro são: (1) a aplicação
do eCT em situações reais; e (2) a implementação dos aspectos não contemplados até ao
momento, como casos de utilização, providers e facetas de produtos.
6.2. Trabalho futuro
6.2.1
79
Aplicação do eCT em situações reais
A aplicação do eCT em situações reais não foi possı́vel em tempo útil para a discussão
desta dissertação. Esta concretização é de vital importância para o trabalho futuro, pois
permite recolher informação de todos os envolvidos neste processo, como informação de
erros ou de usabilidade do eCT.
6.2.2
Implementação dos aspectos não contemplados até ao momento
Por fim, e como apresentado no capı́tulo 4, está prevista a continuação da implementação
do eCT, para melhorar e adicionar funcionalidades ao eCT. Assim, serão implementados
os aspectos não contemplados até ao momento, como um conjunto de casos de utilização,
providers e facetas de produtos. No entanto, este processo deve ser dinâmico e ter em
conta sugestões dos utilizadores decorrentes da utilização do eCT.
Referências
[Anderson 04] Anderson, Chris. The long tail. Wired Magazine, Oct 2004, 2004.
[Baptista 06] Baptista, Frederico and da Silva, Alberto Rodrigues. Biblioteca
de Comércio Electrónico para o WebComfort, 6th Iberoamerican
Congress on Telematics (CITA – 2006) Monterrey – Mexico. 2006.
[Baptista 07] Baptista, Frederico. Estado da Arte de Plataformas de Comércio
Electrónico em Sistemas de Gestão de Conteúdo, 2007.
[Carmo 06] Carmo, João Leonardo and da Silva, Alberto Rodrigues. The
WebComfort Project, in Proceedings of the Second International
Conference of Innovative Views of .NET Technologies (IVNET06).
2006.
[Carmo 07] Carmo, João Leonardo Vicente. Web Content Management Systems – Experiences and Evaluations with the WebComfort Framework. Master’s thesis, Universidade Técnica de Lisboa - Instituto Superior Técnico, 2007.
[CATALooK.netStore] CATALooK.netStore. URL: http://www.dnnsoft.com, accessed
on 10/07/2007.
[Connoly 07] Connoly, Randy. Core Internet Application Development with
ASP.NET 2.0. Prentice Hall, 2007.
[DotNetNuke] DotNetNuke. URL: http://www.dotnetnuke.com, accessed on
10/07/2007.
[eArte] eArte, Portal. Portal eArte: Portal de Arte e Cultura. URL:
http://www.portal-earte.com/, accessed on 28/11/2007.
[eArtePlatform] eArtePlatform. eArtePlatform – Plataforma para Portais Web
de Arte e Cultura. URL: http://www.siquant.pt/portal/
81
82
REFERÊNCIAS
uploads/1/536/SIQuant_monofolha_eArtePlatform.pdf,
cessed on 28/11/2007.
ac-
[Eberhardt 05] Eberhardt, Soeren and Walker, Russell. VirtueMart User Manual,
2005.
[Gamma 94] Gamma, Erich, Helm, Richard, Johnson, Ralf, and Vlissides,
John. Elements of Reusable Object-Oriented Software. 1994.
[Graf 06] Graf, Hagen. Building Websites with Joomla! 1.5 Beta 1: The
Best Selling Joomla tutorial updated for the latest download release. Packt Publishing, 2006.
[Hauser 05] Hauser, Tobias and Wenz, Christian. Mastering Mambo: eCommerce, Templates, Module Development, SEO, Security, and
Performance. Packt Publishing, 2005.
[Joomla] Joomla. URL: http://www.joomla.org, accessed on 10/07/2007.
[Kampffmeyer 06] Kampffmeyer, Ulrich. Enterprise Content Management. The MIT
Press, 2006.
[Kennard 07] Kennard, James. Mastering Joomla! 1.5: Extension and Framework Development. Packt Publishing, 2007.
[Laseter 07] Laseter, Cristopher G. Design Patterns. 2007.
[Log4net] Log4net. Log4net: Logging Services. URL: http://logging.
apache.org/log4net/, accessed on 29/11/2007.
[Mambo] Mambo.
URL: http://www.mamboserver.com, accessed on
10/07/2007.
[MyGeneration] MyGeneration. MyGeneration: MyGeneration - Code Generation, O/R Mapping, and Architectures. URL: http://www.
mygenerationsoftware.com, accessed on 29/11/2007.
[ReportingServices] ReportingServices.
Microsoft SQL Server: Reporting Services. URL: http://www.microsoft.com/sql/technologies/
reporting/default.mspx, accessed on 27/12/2007.
[Rob Howard 04a] Rob Howard. Provider design pattern, part 2. 2004.
REFERÊNCIAS
83
[Rob Howard 04b] Rob Howard. Provider model design pattern and specification,
part 1. 2004.
[Shalloway 01] Shalloway, Alan and Trott, James R. Design Patterns Explained
- A New Perspective on Object Oriented Design. Addison Wesley,
2001.
[Silva 99] Silva, Miguel Mira, da Silva, Alberto R., Romão, Artur, and
Conde, Nuno A. Comércio Electrónico na Internet. FCA, 1999.
[Silva 07] da Silva, Alberto Rodrigues. WebComfort – Gestor de Conteúdos
e Aplicações Web: Plataforma, Extensões e Aplicações, 2007.
[SIQuant] SIQuant. SIQuant. URL: http://www.siquant.pt, accessed on
28/11/2007.
[Taniar 07] Taniar, David. Encyclopedia of Mobile Computing and Commerce.
Idea Group, 2007.
[VirtueMart] VirtueMart.
10/07/2007.
URL: http://www.virtuemart.org, accessed on
[Walker 06] Walker, Shaun, Brinkman, Joe, Hopkins, Bruce, McCulloch,
Scott, Willhite, Scott, Paterra, Chris, Santry, Patrick, and Caron,
Dan. Professional DotNetNuke 4.0: Open Source Web Application
Framework for ASP.NET 2.0. Wrox Press, 2006.
[Westland 99] Westland, J. Christopher and Clark, Theodore H. K. Global Electronic Commerce: Theory and Case Studies. The MIT Press,
1999.

Documentos relacionados