Você está na página 1de 14

SMARTMail| Entidade Promotora:

Parceiros:

Proposta de
Arquitetura

1/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

ndice
Introduo.......................................................................................................................................2
Desenho de Arquitetura ..................................................................................................................3
SMART Mail Entities Interface (Web) ...........................................................................................7
SMART Mail Plugin ..................................................................................................................... 10

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

Introduo
O nome do projeto SMART Mail encontra-se profundamente ligado ao seu objetivo principal; uma
utilizao gil, produtiva e sobretudo mais inteligente do email, enquanto canal privilegiado de
comunicao corporativa ou em lazer.
Para atingir tais benefcios ser necessrio conceptualizar e desenvolver novas ferramentas e
interfaces que agilizem todo este processo de gesto, assim como, acrescentem mais-valias, sob a
forma de mtricas ou grficos para o utilizador ser auxiliado numa utilizao e gesto eficiente do
seu email.
O presente documento enquadra-se na atividade de Conceo e Arquitetura do Prottipo do
projeto SMART Mail, constituindo resultado documental das tarefas Desenho arquitetural da
plataforma e Definio de interfaces de comunicao entre mdulos (internos e externos).

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

Desenho de Arquitetura
O presente documento apresenta a proposta arquitetural para a posterior execuo /
desenvolvimento do projeto SMART Mail. A definio arquitetural segue uma abordagem topbottom onde apresentada numa primeira fase a sua definio de alto nvel e posteriormente
entrando em detalhe funcional para as componentes SMART Mail Entities Interface (Web) e
SMART Mail Plugin que dada a sua maior complexidade tcnica, realizado o seu detalhe em
seces especficas.
Assim, na Figura 1 apresentada a viso de alto nvel para a arquitetura do projeto SMART Mail.

Relational
Database
Raw Content
Controller
MS Exchange
Mail Server

Organization
Manager

Contact
Manager

Local
Browser
Storage
Agenda
Manager
Raw Content
Controller

SMART
Mail AI
Engine

Email Data
Access

[Email Data]

Outlook
Client
SMART Mail
Plugin

SMART Mail
Core Server

SMART MAIL
Rest API
JSON Data[]

SMART Mail
Entities
Interface
(Web)

Access Control API

Content CRUD
Operations

Backoffice
Interface
(Web)
Workflow
Engine

Figura 1: Viso geral da arquitetura do projeto SMART Mail

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

Nota Importante: Relativamente ao componente SMART AI Engine, e sendo o mesmo complexo e


realizado a duas fases (uma primeira em que o modelo de IA treinado com base em exemplos
de keywords detetadas em texto e numa segunda em que este modelo utilizado na aplicao de
dados de emails para a extrao das palavras chave relevantes que se encontrem no texto), este
no se encontra j detalhado nesta fase de arquitetura, visto que a sua conceo estar
dependente de testes a realizar no decurso, da atividade 6 de Desenvolvimento de Prottipo.
Segue-se a apresentao de cada um dos mdulos funcionais (sob a forma de software) envolvidos
de forma direta ou indireta com a soluo a desenvolver:

MS Exchange Mail Server: Servidor de email Microsoft Exchange (componente servidor),


externo ao prottipo SMART Mail, mas constituindo a sua fonte de emails primria
(componente servidor). Toda a sincronizao de emails entre este componente servidor e
o seu componente cliente equivalente Outlook Client transparente ao projeto
SMART Mail.

Outlook Client: Componente cliente de gesto de email da Microsoft, externo ao prottipo


SMART Mail, mas com o qual interage atravs da camada Email Data Access, para a
obteno de dados e metadados relativos aos emails recebidos pela conta cliente de email
configurada dados em bruto que posteriormente sero processados para a recolha de
mtricas e / ou estatsticas.

Email Data Access: Camada / API de acesso aos dados nativos presentes no Microsoft
Outlook Client, responsvel pela obteno de dados e metadados associados aos emails.
Constitui a ponte de obteno de informao de email entre o Outlook Client e o
SMART Mail.

SMART Mail Plugin: Plugin (a ser desenvolvido em tecnologia .NET e HTML / Javascript /
CSS) a ser integrado sob a forma de extenso no Outlook Client. Contempla os
mecanismos grficos e de explorao de dados pela apresentao de mtricas e grficos.
Constitui o principal componente visual desenvolvido no contexto do SMART Mail,
encontrando-se integrado no prprio Outlook Client, apresentando informao em
contexto relativa ao email, contactos e organizaes selecionadas. Dada a sua
complexidade este componente apresentado em seco prpria, que se segue.

Access Control API: Camada de segurana de controlo de acesso a dados. De acordo com
as credenciais e perfil de utilizador (humano ou sob a forma de automatismo) so validadas
as permisses de acesso a dados e realizao de operaes sobre os mesmos. Este
2/2

Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

componente constitui o componente primeiro de interface com a soluo servidor do


prottipo SMART Mail, por parte de aplicaes cliente.

SMART Mail Rest API: Interface de comunicao REST que expe os mtodos remotos
CRUD (i.e. Create, Read, Update e Delete) de manipulao dos utilizadores, dados e
metadados presentes na componente servidor do SMART Mail.

SMART Mail Core Server: Abstrao para todos os servios de apoio soluo SMART Mail
que ocorram na sua camada servidor.

SMART Mail AI Engine: Abstrao para todos os mecanismos relativos aos algoritmos de
Inteligncia Artificial (IA) utilizados na anlise de corpora / texto (extrado dos emails) para
a deteo de palavras-chaves (i.e. keywords) e indicao do seu grau de relevncia no
contexto do email.

Organization Manager: Gestor especializado na manipulao de dados de Organizaes.


Converte todas as operaes / estruturas especficas a Organizaes em operaes /
estruturas bsicas compreendidas pelo componente Raw Content Controller.

Contact Manager: Gestor especializado na manipulao de dados de Contactos. Converte


todas as operaes / estruturas especficas a Contactos em operaes / estruturas bsicas
compreendidas pelo componente Raw Content Controller.

Agenda Manager: Gestor especializado na manipulao de dados de Agenda. Converte


todas as operaes / estruturas especficas a Agenda em operaes / estruturas bsicas
compreendidas pelo componente Raw Content Controller.

Raw Content Controller: Controlador de dados de baixo nvel que funciona como proxy
universal entre os controladores de gesto para Organizaes, Contactos e Agenda e o
mdulo de persistncia Relational Database ou Local Browser Storage.

Relational Database: Base de dados relacional (suportada a princpio pela tecnologia SQL
Server), responsvel pela salvaguarda em persistncia de todos os dados de Organizaes,
Contactos e Agenda. Dado o cariz confidencial das mensagens de email, no ser guardada
qualquer informao relativa a este tipo de contedo, estando o mesmo a cargo numa
primeira instncia da componente servidor MS Exchange Mail Server e numa segunda
instncia da componente cliente Outlook Client.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

Backoffice Interface (Web): Aplicao de Backoffice web para a gesto de baixo nvel de
Organizaes, Contactos e Agenda, assim como pela definio de utilizadores e respetivos
perfis de acesso a dados.

Workflow Engine: Motor de workflow para o controlo de acesso a dados e fluxos de


aprovao de contedos de Organizaes, Contactos e de Agenda.

SMART Mail Entities Interface (Web): Interface web adaptativa, onde possvel ao
utilizador aceder a dados de Organizaes, Contactos e Agenda de forma desassociada da
sua componente base de email. Tendo por base os dados obtidos dos emails do utilizador
pretende-se a construo de um catlogo de informao (especfico ou geral a uma
instituio / empresa no sentido em que pode ser partilhado) que poder ser utilizado
numa lgica de pginas amarelas / catlogo de forma autnoma e com interface
apropriada tanto a PC como a dispositivos mveis SMARTphone sem dependncia do
componente Outlook Client.

Local Browser Storage: Cache local de browser (suporte nativo de tecnologia HTML5) que
permite que alguns recursos (e.g. imagens, ficheiros de suporte Javascript ou bibliotecas
CSS possam ser guardadas localmente na cache do browser). Permite-se assim um acesso
mais clere durante a navegao em informao, dado que esses recursos encontram-se j
disponveis localmente e no necessitam de ser carregados.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

SMART Mail Entities Interface (Web)


Este componente constitui uma interface web adaptativa, onde possvel ao utilizador aceder a
dados de Organizaes, Contactos e Agenda de forma desassociada da sua componente base de
email. Tendo por base os dados obtidos dos emails do utilizador pretende-se a construo de um
catlogo de informao (especfico ou geral a uma instituio / empresa no sentido em que pode
ser partilhado) que poder ser utilizado numa lgica de pginas amarelas / catlogo de forma
autnoma e com interface apropriada tanto a PC como a dispositivos mveis SMARTphone.

SMART Mail Entities Interface (Web)


Local Browser Storage

View / Controller

(offline purposes)

Model

Raw Content
Controller

Organization
Manager

Contact
Manager

Search

Result Visual
Manager

Dashboard

Organization
Visual Manager

Agenda
Manager

Contact Visual
Manager

Agenda Visual
Controller

Communication Layer
Authentication
Access Control API

Maps External
App

Smartphone
External App

Figura 2: Detalhe da componente funcional SMART Mail Entities Interface (Web)

Segue-se a apresentao de cada um dos mdulos funcionais (sob a forma de software) envolvidos
de forma direta ou indireta com o componente SMART Mail Entities Interface (Web), a
desenvolver:

Authentication: Mdulo de apresentao de credenciais de utilizador para acesso ao


componente web.

Access Control API: Camada de segurana de controlo de acesso a dados. De acordo com
as credenciais e perfil de utilizador (humano ou sob a forma de automatismo) so validadas
as permisses de acesso a dados e realizao de operaes sobre os mesmos. Este
2/2

Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

componente constitui o componente primeiro de interface com a soluo servidor do


prottipo SMART Mail, por parte de aplicaes cliente.

Communication Layer: Camada de comunicao (interna ao componente SMART Mail


Entities Interface (Web)) responsvel pela comunicao entre o componente e a camada
de dados servidor do SMART Mail que numa primeira instncia passa pelo componente de
controlo de acessos Access Control API.

Organization Manager: Gestor especializado na manipulao de dados de Organizaes.


Converte todas as operaes / estruturas especficas a Organizaes em operaes /
estruturas bsicas compreendidas pelo componente Raw Content Controller.

Contact Manager: Gestor especializado na manipulao de dados de Contactos. Converte


todas as operaes / estruturas especficas a Contactos em operaes / estruturas bsicas
compreendidas pelo componente Raw Content Controller.

Agenda Manager: Gestor especializado na manipulao de dados de Agenda. Converte


todas as operaes / estruturas especficas a Agenda em operaes / estruturas bsicas
compreendidas pelo componente Raw Content Controller.

Raw Content Controller: Controlador de dados de baixo nvel que funciona como proxy
entre os controladores de gesto para Organizaes, Contactos e Agenda e o mdulo de
persistncia Local Browser Cache.

Local Browser Cache: Cache local de browser (suporte nativo de tecnologia HTML5) que
permite que alguns recursos (e.g. imagens, ficheiros de suporte Javascript ou bibliotecas
CSS possam ser guardadas localmente na cache do browser). Permite-se assim um acesso
mais clere durante a navegao em informao, dado que esses recursos encontram-se j
disponveis localmente e no necessitam de ser carregados.

Dashboard: Controlador visual e de navegao adaptativa que agrega em si tanto uma


viso dos prximos agendamentos, assim como funcionalidades de pesquisa e
apresentao dos respetivos resultados, e posterior navegao nos mesmos.

Search: Funcionalidade de pesquisa textual para a identificao de resultados relativos a


Organizaes, Contactos e Agendamentos.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

Agenda Visual Controller: Controlador visual e de navegao adaptativa para a


apresentao de informao de Agendamento.

Result Visual Manager: Gestor responsvel pela apresentao visual e navegao em


resultados obtidos do componente Search.

Organization Visual Manager: Controlador visual e de navegao adaptativa para a


apresentao de informao de Organizaes.

Contact Visual Manager: Controlador visual e de navegao adaptativa para a


apresentao de informao de Contactos.

Maps External App: Representa uma aplicao de mapas externa ao prottipo SMART Mail
como o caso e.g. do Google Maps ou Bing. Sendo passada informao geogrfica pelo
SMART Mail a este componente (sob a forma de coordenadas e / ou morada) possvel a
marcao de rotas ou a utilizao das funcionalidades de GPS para efeitos de navegao
para esse local.

SMARTphone External App: Representa a aplicao / funcionalidade externa de contacto


telefnico quando em contexto de SMARTphone. Sendo passada a informao de contacto
telefnico pelo SMART Mail ao SMARTphone existe a possibilidade de realizar uma
chamada a esse contacto.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

SMART Mail Plugin


Plugin em tecnologia .NET e HTML a ser integrado sob a forma de extenso no Outlook Client.
Contempla os mecanismos grficos e de explorao de dados pela apresentao de mtricas e
grficos. Constitui o principal componente visual desenvolvido no contexto do SMART Mail,
encontrando-se integrado no prprio Outlook Client, apresentando informao em contexto
relativa ao email, contactos e organizaes selecionadas.

SMART Mail Plugin

Local Storage
Statistics
Rule Engine

Rule Definition

Engine Module

Descriptive
Definitions

Inferential
Definitions

Descriptive
Processing Module

Inferential
Processing Module

Data Handling

Alert Manager
Interface Visuals
Interface Control

Global Dashboard

Data Processing

Email Manager

Contact
Manager

Thread
Manager

Organization
Manager

Bulk Processing
Logging

Continuous
Processing

Charts

Keyword
Navigation

Usage Metrics

Alerts /
Recommend.

User Preferences
Timeline Manager

Email Data Access

Outlook Client

Access Control API


SMART MAIL
Rest API

Figura 3: Detalhe da componente funcional SMART Mail Plugin

Segue-se a apresentao de cada um dos mdulos funcionais (sob a forma de software) envolvidos
de forma direta ou indireta com o componente SMART Mail Plugin, a desenvolver:

Outlook Client: Componente cliente de gesto de email da Microsoft, externo ao prottipo


SMART Mail, mas com o qual interage atravs da camada Email Data Access, para a
obteno de dados e metadados relativos aos emails recebidos pela conta cliente de email
configurada dados em bruto que posteriormente sero processados, sobretudo para a
recolha de mtricas e / ou estatsticas.

Access Control API: Camada de segurana de controlo de acesso a dados. De acordo com
as credenciais e perfil de utilizador (humano ou sob a forma de automatismo) so validadas
2/2

Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

as permisses de acesso a dados e realizao de operaes sobre os mesmos. Este


componente constitui o componente primeiro de interface com a soluo servidor do
prottipo SMART Mail, por parte de aplicaes cliente.

SMART Mail Rest API: Interface de comunicao REST que expe os mtodos remotos
CRUD (i.e. Create, Read, Update e Delete) de manipulao dos utilizadores, dados e
metadados presentes na componente servidor do SMART Mail.

Email Data Access: Camada / API de acesso aos dados nativos presentes no Microsoft
Outlook Client, responsvel pela obteno de dados e metadados associados aos emails.
Constitui a ponte de obteno de informao de email entre o Outlook Client e o
SMART Mail.

Data Processing: Mdulo abstrato para o processamento de emails, obtidos atravs da


camada Email Data Access
o Bulk Processing: Mdulo responsvel pelo processamento de grandes volumes de
emails. Este mdulo invocado aquando da instalao inicial do plugin e onde
necessrio de forma clere os emails j presentes localmente no Outlook Client.
o Continuous Processing: Mdulo responsvel pelo processamento de emails, aps a
sua receo. Uma vez terem sido processado os emails de histrico com o mdulo
Bulk Processing, o processamento a pedido passa a ser executado atravs
deste mdulo.

Logging: Mdulo de registo de informao tcnica para efeitos de depurao de erros sob
a forma de ficheiros semiestruturados de dados.

Rule Engine: Abstrao geral da componente de aplicao de regras de alerta a emails


recebidos / enviados:
o Rule Definition: Codificao de regras (crisp ou fuzzy esta deciso tcnica no se
encontra ainda tomada nesta altura) sob a forma de ficheiro XML;
o Engine Module: Mdulo de aplicao de regras definidas em Rule Definition aos
dados de email. A aplicao de regras apenas realizada quando em modo de
Continuous Processing.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

o Alert Manager: Gestor para os alertas gerados da aplicao de regras, sobretudo no


que respeita ao feedback providenciado pelo utilizador aos mesmos (ou a sua
ausncia).

Data Handling: Mdulo responsvel por persistir em Local Storage os dados obtidos do
bloco Data Processing. Contempla as funcionalidades de baixo nvel de acesso camada
de persistncia.

Local Storage: Mdulo de persistncia, em sistema de ficheiros, e na qual guardada a


informao obtida do processamento de emails.

Statistics: Abstrao geral da componente de computao estatstica, decomposta nos


seguintes blocos funcionais:
o Descriptive Definitions: Codificao da lgica de clculo estatstico descritivo a ser
aplicado no processamento de emails.
o Inferential Definitions: Codificao da lgica de clculo estatstico inferencial a ser
aplicado no processamento de emails;
o Descriptive Processing Module: Motor de clculo que aplicada a codificao
presente em Descriptive Definitions aos emails, salvaguardando os dados em
persistncia atravs do mdulo Data Handling.
o Inferential Processing Module: Motor de clculo que aplicada a codificao
presente em Inferential Definitions aos emails, salvaguardando os dados em
persistncia atravs do mdulo Data Handling.

Interface Control: Abstrao para os diferentes tipos de controlador de interface visual


o Email Manager: Controlador / sincronizador entre o email especifico selecionado
pelo utilizador e a apresentao das suas mtricas e grficos associados.
o Contact Manager: Controlador / sincronizador entre os contactos referidos no
email e a sua apresentao e representao grfica.
o Thread Manager: Controlador / sincronizador entre as threads de conversao
referidas no email e a sua apresentao e representao grfica.

2/2
Projeto em curso com o apoio de:

SMARTMail| Entidade Promotora:

Parceiros:

o Organization Manager: Controlador / sincronizador entre as organizaes referidas


no email e a sua apresentao e representao grfica.
o User Preferences: Persistncia das preferncias do utilizador relativamente aos
controlos de visualizao de emails presentes no plugin. Salvaguarda quais os
mdulos grficos (numa lgica de widget) que se encontram selecionados pelo
utilizador e a sua ordem de apresentao.

Interface Visuals: Abstrao para os diferentes tipos de interfaces visuais


o Global Dashboard: Painel de controlo geral para a identificao de indicadores
gerais (versus especficos de acordo com a seleo de um email em particular).
Contempla ainda as funcionalidades de criao e edio de Organizaes e
Contactos.
o Charts: Biblioteca de grficos para a representao visual de indicadores de email.
o Keyword Navigation: Interface grfica para a identificao de palavras-chave de
acordo com a sua relevncia. Inclui mecanismos de navegao em emails que
partilhem o mesmo conjunto de palavras-chave.
o Usage Metrics: Controlo para a visualizao de mtricas descritivas.
o Alerts / Recommendations: Controlo para a apresentao de alertas ativos e aes
de gesto sobre os mesmos.
o Timeline Manager: Interface para a representao de mtricas e interaes de
email em eixo temporal.

2/2
Projeto em curso com o apoio de:

Você também pode gostar