p054 - webcentral ii (2010-v0.1-pt).pdf
TRANSCRIPT
-
PRIMAVERA WebCentral II
2010 v0.1 PT
-
P054 PRIMAVERA WebCentral II
Plano de Formao
Personalizao e criao de funcionalidades com base Application Builder
Criao e gesto dos Modelos
Criar novos mdulos e public-los no ambiente de produo
Personalizao Base do Modelo
Utilizao de Code Snippets Criao de vistas com filtros personalizados
Personalizao Avanada do Modelo
Personalizao dos formulrios
Criao de novos componentes
Conceito base para a criao de novos conectores a entidades externas
Conceito SDK WebCentral
Requisitos de desenvolvimento
Introduo ao ambiente de desenvolvimento
Estrutura de Directrios
Arquitectura dos Mdulos
-
P054 PRIMAVERA WebCentral II
Plano de Formao
Workflow Designer
Propriedades de um Workflow
Explorao dos conectores base
Estruturao fluxos para suporte a processos de negcio com integrao entre
diferentes mdulos (DMS, ERP, Analytics,)
Conceito base para a criao de novos conectores
Criao de novos eventos/actividades
Analytics
Conceito base para a criao de novos conectores a entidades externas
-
P054 PRIMAVERA WebCentral II
Personalizao e criao de funcionalidades com
base Application Builder
PRIMAVERA WebCentral II
-
P054 PRIMAVERA WebCentral II
Criao e gesto de Modelos
Modelo/Soluo do
Application Builder corresponde a um
mdulo WebCentral
Gerar soluo a partir da
template permite criar um
modelo com o template
distribudo na instalao do
WebCentral.
Localizao do cdigo
permite criar um modelo com base num template
escolha do utilizador.
-
P054 PRIMAVERA WebCentral II
Modelao de um mdulo
-
P054 PRIMAVERA WebCentral II
Criar Entidades
Nome nome com que a entidade ser referenciada no modelo;
Nome Lgico nome da
entidade a ser usada na base de dados e na soluo gerada.
-
P054 PRIMAVERA WebCentral II
Criar Entidades Formulrios
rea de Desenho local onde se constroi o formulrio;
Estrutura e atributos
lista de estruturas passveis de serem adicionadas ao formulrio, e lista de atributos da entidade;
Propriedades conjunto
de propriedades (nicas) do formulrio
-
P054 PRIMAVERA WebCentral II
Criar Entidades Vistas
Ordenao possvel por dois atributos;
Configurao das
operaes acessveis ao utilizador;
Formulrio destino
parametrizavel.
-
P054 PRIMAVERA WebCentral II
Criar Entidades Vistas
Criao das vistas por mtodo Drag&Drop;
Atribuio de nomes
das colunas;
-
P054 PRIMAVERA WebCentral II
Publicao do Modelo
Publicar a estrutura de base de dados consiste na criao das tabelas do modelo;
Publicar lgica de programao
consiste na criao da soluo, i.e., projecto Visutal Studio;
Compilar Modelo o processo
de criao das dlls usados pelo WebCentral;
Instalar Modelo a fase em que
os ficheiros gerados so copiados para o destino.
-
P054 PRIMAVERA WebCentral II
Componente Entity Viewer
A Vista a exibir seleccionada externamente permite que a vista mostrada pelo componente seja seleccionada num dos 2 componentes disponveis para tal selecco.
Exibir esta vista opo que
permite seleccionar uma entidade e a respectiva vista para ser mostrada
-
P054 PRIMAVERA WebCentral II
Componente Explorador do Modelo
Mostrar a totalidade do Modelo Todas as entidades e vistas do modelo, ficam disponveis para o utilizador consultar;
Mostrar apenas os itens
seleccionados permite seleccionar as entidades e vistas a que o utilizador (com permisses) ter acesso.
-
P054 PRIMAVERA WebCentral II
Permisses
A gesto de permisses segue o
processo j implementado no
WebCentral.
Permisses atribudas por entidade.
-
P054 PRIMAVERA WebCentral II
Exerccio Criao e Publicao de Mdulos
Pretende-se ao longo da formao criar uma soluo que permita a realizao de encomendas por parte do utilizador.
A primeira fase consiste na criao das entidades base para soluo referida. 1. Crie as seguintes entidades:
1. Artigo 2. Cesto de Compras 3. Clientes 4. Cliente Cestos de Compras
2. Crie uma pgina no portal intranet para cada uma das entidades.
3. Na criao das entidades ter em ateno as seguintes notas: Obrigatrio o uso de atributos do tipo Referncias. Deve ser criado um formulrio e uma vista por cada entidade;
-
P054 PRIMAVERA WebCentral II
Fragmentos de Cdigo
Fragmentos de cdigo so blocos que cdigo que permitem ao utilizador mais avanado controlar o comportamento da soluo gerada.
Podem ser introduzidos nos seguintes objectos
Entidades Formulrios Vistas
So introduzidos usando um formulrio desenhado especificamente para essa funo.
-
P054 PRIMAVERA WebCentral II
Fragmentos de Cdigo
Este formulrio permite a edio do cdigo que ser adicionado soluo. Trata-se de uma caixa de texto simples, sem Intellissense e sem validao do cdigo introduzido.
Aconselha-se a criar o cdigo usando o Visual Studio e depois copiar para aqui o cdigo validado. Caso existam erros eles s sero identificados no momento da Compilao do Modelo.
-
P054 PRIMAVERA WebCentral II
Fragmentos de Cdigo Entidade
-
P054 PRIMAVERA WebCentral II
Fragmentos de Cdigo
Formulrio Atributo
-
P054 PRIMAVERA WebCentral II
Exerccio Costumizao Base do Formulrio
1. Crie um fragmento de cdigo que gere um cdigo para cada novo Cesto de
Compras.
2. Crie um fragmento de cdigo que impea o cliente de alterar os campos no
formulrio dos artigos.
3. Crie o fragmento de cdigo que quando se adiciona um novo artigo ao cesto
de compra, deve ser feita a validao se esse artigo j existe. Caso isso se
verifique alterar a quantidade de artigos, caso contrrio, um novo artigo deve
ser adicionado ao cesto.
-
P054 PRIMAVERA WebCentral II
Costumizao das Vistas - Filtro SQL
Filtro SQL permite a
costumizao das
vistas, usando a
linguagem SQL
Limitao no so
permitidas sub-queries.
-
P054 PRIMAVERA WebCentral II
Exerccio Costumizao Base da Vista
1. Crie uma vista sobre a entidade Cesto de Compras com o ttulo As
minhas compras que permita a cada utilizador consultar apenas os seus
cestos de compras.
2. Crie pelo menos duas vistas sobre a entidade Artigos, que limite a lista
apenas a um determinado tipo de artigos.
-
P054 PRIMAVERA WebCentral II
Costumizao Avanada do Formulrio
Alterao CodeBehind Alterao layout do formulrio
Caso de alterao do
layout a performance
menor
Mantm compatibilidade
com o modelo
Perda da compatibilidade
com a soluo (apenas
no formulrio alterado)
Maior flexibilidade de
costumizao
-
P054 PRIMAVERA WebCentral II
Costumizao por Formulrio
Passos para alterao do CodeBehind
Localizar a soluo Localizar o Projecto Primavera.LojaOnline.WebUI Localizar a directoria Forms Renomear Artigo.ERM.ascx.vb para Artigo.USER.ascx.vb Abrir a soluo Remover do projecto o ficheiro Artigo.ERM.ascx.vb Adicionar ao projecto o fichiero Artigo.USER.ascx.vb
Artigo.USER.ascxvb Artigo.ERM.ascx.vb
-
P054 PRIMAVERA WebCentral II
Lista de Mtodos Protected
Mtodo Descrio
StoreState Guardar em sesso os dados da entidade seleccionada
RecallState Ler da sesso os dados da entidade seleccionada
Iprint Impresso da entidade
InitializeAlways Inicializao de dados necessrios em cada pedido efectuado.
BaseCreateBEO Criao (pelo sistema) do objecto do tipo da entidade
CreateBEO Criao do objecto do tipo da entidade
BaseShowBEO Preenche os controls de interface com os dados da entidade
ShowBEO Preenche os controls de interface com os dados da entidade
BaseFillBEO Preenche o objecto da entidade com os valores dos controlos
FillBEO Preenche o objecto da entidade com os valores dos controlos
EditBEO Retira o objecto da entidade da base de dados
UpdateBEO Cria ou actualiza na base de dados o objecto
RemoveBEO Elimina da base de dados o objecto
CloneBEO Duplica o objecto.
-
P054 PRIMAVERA WebCentral II
Lista de Mtodos Public
Mtodo Descrio
Idelete Implementa a interface de remoo da entidade
Iclone Implementa a interface de clonagem da entidade
Irefresh Implementa a interface de actualizao do formulrio
Isave Implementa a interface de gravao da entidade
Iedit Implementa a interface de edio da entidade
Inew Implementa a interface de criaoda entidade
IReadBEO Implementa a interface de leitura da entidade
IWriteBEO Implementa a interface de excrita da entidade
-
P054 PRIMAVERA WebCentral II
Exerccio Costumizao do CodeBehimd
1. Adicione a todos os formulrios os atributos criado por. Altere o cdigo
necessrio para que o valor apresentado seja o nome do utilizador, sempre
que exista uma entidade carregada.
-
P054 PRIMAVERA WebCentral II
Costumizao por Formulrio
Passos para alterao do Layout
Localizar a soluo
Abrir a soluo
Renomear o Ficheiro Artigo.ERM.ascx
Artigo.USER.ascx Artigo.ERM.ascx
-
P054 PRIMAVERA WebCentral II
Exerccio Costumizao do Layout do Formulrio
1. Adicione ao formulrio do artigo um componente com a sua
imagem. Assuma que as imagens dos artigos esto guardados na
directoria UserfIles\Images
-
P054 PRIMAVERA WebCentral II
Criao de Novos Componentes
Alterao do ficheiro Componentes.vb
Mtodo List
Mtodo Edit
Adicionar ficheiro fsico do componente
Adicionar um novo Web User Control no projecto WebUI
O novo componente deve extender a classe:
Inherits Primavera.Platform.WebUI.WebComponentBase
-
P054 PRIMAVERA WebCentral II
Exerccio Novos componentes
O cliente de uma loja pretende ter sempre presente a informao
actual do seu cesto de compras. Isto uma zona do portal com a
informao resumida dos artigos que escolheu.
Crie um componente que contenha a informao actualizada do
cesto de compras do utilizador autenticado e adicione-o a todas
as pginas da sua loja online.
-
P054 PRIMAVERA WebCentral II
Connectores Entidades Externas
Criar um novo projecto no Visual Studio (DLL);
Adicionar referncias para ERM.Connectivity;
Adicionar uma classe que implemta a seguinte Interface
Implements Primavera.ERM.Connectivity.IERMConnector
Mtodos relevantes
Public Function GetEntitiesListInfo
Public Function GetEntityItemsListInfo
-
P054 PRIMAVERA WebCentral II
Exerccio Connectores Externos
1. Crie um connector que liste todos os pases do ERP.
2. Adicione o connector ao seu projecto;
3. Adicione um atributo Pas, do tipo referncia externa, entidade
Cliente.
-
P054 PRIMAVERA WebCentral II
Conceito SDK WebCentral PRIMAVERA WebCentral II
-
P054 PRIMAVERA WebCentral II
Ambiente de Desenvolvimento
Requisitos de Hardware
Pentium IV 2.0Ghz ou equivalente/superior;
Resoluo de monitor 1024x768;
1 Gb de memria RAM;
1 Gb de espao livre em disco.
Requisitos de Software
Microsoft Windows XP, Microsoft Windows 2003 Server ou superior;
Microsoft Internet Information Services 6 ou superior;
Microsoft Visual Studio 2008 e Plataforma .Net 3.5 SP1;
Microsoft SQL server 2005 ou superior.
-
P054 PRIMAVERA WebCentral II
Estrutura de Directrios
Bin Contm todos os ficheiros compilados necessrios para a
execuo dos Interfaces Web.
Modules Contm todos os mdulos registados na plataforma
WebCentral
Reports No contm qualquer tipo de documentos. Usada como
destino temporrio na gerao de relatrios.
SystemFiles Contm os ficheiros que no so usados directamente pela
plataforma WebCentral.
Tools Vrias ferramentas teis, por exemplo inicializador de
instancia.
UserFiles Contm todos os ficheiros carregados pelos os utilizadores.
WebTemplates Contm os templates que definem o efeito visual do
WebCentral.
-
P054 PRIMAVERA WebCentral II
Arquitectura dos Mdulos
Module.WebUI Module.Win
Module.Remoting
Module.Business Module.Entities
Module.Data
Interface
Utilizador
Servios de
Negcio
Servios de
Data
-
P054 PRIMAVERA WebCentral II
Projectos do Mdulo
WebUI Interfaces do utilizador baseado em tecnologias Web.
WinUI Interfaces do utilizador baseado em tecnologias windows.
IRemoting Interfaces de acesso remoto (ver Remoting)
Remoting Camada de acesso remoto. Interfaces que permitem a
comunicao da camada cliente (WinUI) e servidor.
Entities Camada das entidades de negcio.
Business Camada onde devem ser definidas todas as regras de
negcio.
Data Camada de dados, implementa os acessos directos base
de dados.
Modules Projecto que contm as classes que interagem com o
WebCentral.
Workflow Projecto que expe os eventos e actividades a serem
usados pelo Workflow Designer.
-
P054 PRIMAVERA WebCentral II
Servidor de Dados
Nomenclatura
Base de Dados: ePrimavera_
Tabelas: ###_
Onde ### corresponde a uma abreviatura do mdulo a que pertence a tabela.
Estrutura de Tabelas
Campos comuns
ID Identificador nico de cada registo de uma tabela
-
P054 PRIMAVERA WebCentral II
Workflow Designer PRIMAVERA WebCentral II
-
P054 PRIMAVERA WebCentral II
Workflow Designer
-
P054 PRIMAVERA WebCentral II
Connectores Base
Workflow
IfElseActivity
ParallelActivity
SequenceActivity
WhileActivity
Operacional
Subscribe
Update
Remove
ERM
Logger
SendEmailToWebCUsers
CodeAction
Notifications
-
P054 PRIMAVERA WebCentral II
Conectores do Modelo
O application builder ao gerar a lgica dos modelos, gera um conector para o workflow
com um vasto conjunto de eventos e actividades, sobre as entidades criadas.
Subscribe
Update
Remove
-
P054 PRIMAVERA WebCentral II
Exerccio Connectores PRIMAVERA Analytics
1. Crie um WorkFlow que gere uma encomenda sempre que o cliente
grava a sua compra.
-
P054 PRIMAVERA WebCentral II
Criao de Eventos e Actividades para Workflow
Nem sempre os eventos e actividades disponibilizadas pelo application builder
so suficientes para realizar as tarefas necessrias.
O mdulo de workflow gerado pelo application builder pode ser estendido com
novos eventos e actividades.
Nos eventos e actividades baseados na plataforma Windows Worflow
Foundation.
-
P054 PRIMAVERA WebCentral II
Exerccio Extensibilidade do projecto Workflow
1. Crie uma nova actividade que devolva a ltima compra de um
determinado cliente.
-
P054 PRIMAVERA WebCentral II
Analytics PRIMAVERA WebCentral II
-
P054 PRIMAVERA WebCentral II
Conceitos Criao de Conectores
Conectores do PRIMAVERA Analytics permitem a integrao entre si e vrias ferramentas de agregao de dados.
Connector de KPIs
Configurao Fonte de Dados
Segurana Apresentador
-
P054 PRIMAVERA WebCentral II
Conceitos Criao de Conectores
Configurao informao sobre os dados a serem fornecidos; Fonte de Dados componente que disponibiliza os resultados calculados pelo motor; Segurana componente que define as entidades que podem ter acesso informao; Apresentador componente responsvel por subscrever e responder s pedidos do motor.
-
P054 PRIMAVERA WebCentral II
Adicionar novo Conector
-
P054 PRIMAVERA WebCentral II
KPI Adapter
using System;
using System.Collections.Generic;
using Primavera.Analytics.Adapters;
namespace Primavera.ERPSales.AnalyticsAdapter
{
///
/// Analytics adapter main class.
///
public class KpiAdapter : IKpiAdapter
{
-
P054 PRIMAVERA WebCentral II
KPI Adapter
private IKpiConfiguration configuration;
private IKpiDataSource dataSource;
private IKpiSecurity security;
private IKpiPresenter presenter;
-
P054 PRIMAVERA WebCentral II
KPI Adapter
public IKpiConfiguration Configuration {
get { return this.configuration; }
}
public IKpiDataSource DataSource {
get { return this.dataSource; }
}
public IKpiPresenter Presenter {
get { return this.presenter; }
}
public IKpiSecurity Security {
get { return this.security; }
}
public string Description {
get { return "ERP Sales"; }
}
public Guid Identifier {
get { return new Guid("{6E0C3B7C-1592-4f69-A9B1-C9394FC29EE9}"); }
}
-
P054 PRIMAVERA WebCentral II
Configurao
using System;
using System.Collections.Generic;
using System.Text;
using Primavera.Analytics.Adapters;
using Primavera.Analytics.Adapters.Metadata;
using Primavera.Analytics.Domain;
namespace Primavera.ERPSales.AnalyticsAdapter
{
public class Configuration : IKpiConfiguration
{
-
P054 PRIMAVERA WebCentral II
Configurao
public MetadataDefinition GetAdapterMetadata()
{
MetadataDefinition metadatadefinition = new MetadataDefinition();
Property serverProperty =
new Property("Server", "Database server", PropertyType.Text);
Property loginProperty =
new Property("Login", "Login", PropertyType.Text);
Property passwordProperty =
new Property("Password", "Password", PropertyType.Text);
passwordProperty.Password = true;
Property databaseProperty =
new Property("Database", "Database", PropertyType.Text);
metadatadefinition.Properties.Add(serverProperty);
metadatadefinition.Properties.Add(loginProperty);
metadatadefinition.Properties.Add(passwordProperty);
metadatadefinition.Properties.Add(databaseProperty);
return metadatadefinition;
}
-
P054 PRIMAVERA WebCentral II
Configurao
public IList GetCalculationActions(
ActionTypeEnumeration actionType )
{
var actions = new List();
switch (actionType)
{
case ActionTypeEnumeration.KpiCalculated :
actions.Add("SendKpiCalculatedNotification");
break;
case ActionTypeEnumeration.ObjectiveCalculated :
actions.Add("ProcessObjectiveCalculated");
break;
default:
break;
}
return actions;
}
-
P054 PRIMAVERA WebCentral II
Configurao
public IList GetKpiDataSourceCategories(
MetadataValues metadata)
{
return new List() {
new DataSourceCategory(AdapterHelper.SalesCategory, "Sales") };
}
-
P054 PRIMAVERA WebCentral II
Confiurao
public IList GetKpiDataSources(string category, MetadataValues metadata) {
var kpiDataSources = new List();
if (category == AdapterHelper.SalesCategory) {
kpiDataSources.Add(new KpiDataSource() {
Id = new Guid(AdapterHelper.CompaniesDatasourceId),
Name = "Comp",
Description = "Companies"
});
kpiDataSources.Add(new KpiDataSource() {
Id = new Guid(AdapterHelper.DepartmentsDatasourceId),
Name = "Dep",
Description = "Departments"
});
kpiDataSources.Add(new KpiDataSource() {
Id = new Guid(AdapterHelper.SalesPersonsDatasourceId),
Name = "SlsPer",
Description = "Sales persons"
});
kpiDataSources.Add(new KpiDataSource() {
Id = new Guid(AdapterHelper.SalesResumeDatasourceId),
Name = "SLSResume",
Description = "Sales Resume"
});
}
-
P054 PRIMAVERA WebCentral II
Fonte de Dados
public DataSourceMetadata GetDataSourceMetadata(Guid dataSourceId, MetadataValues metadata) {
SqlConnection connection = AdapterHelper.GetSqlConnection(metadata);
String query = AdapterHelper.GetQueryForDatasource(dataSourceId, false);
if (connection != null && !string.IsNullOrEmpty(query)) {
DataSet dataSet = AdapterHelper.ExecuteQuery(query, connection);
if (dataSet.Tables.Count > 0) {
var dataSourceMetadata = new DataSourceMetadata();
foreach (DataColumn dataColumn in dataSet.Tables[0].Columns) {
dataSourceMetadata.Fields.Add(
new DataSourceFieldMetadata() {
Name = dataColumn.ColumnName,
Description = dataColumn.ColumnName,
PropertyName = dataColumn.ColumnName
});
}
return dataSourceMetadata;
}
}
return null;
}
-
P054 PRIMAVERA WebCentral II
Fonte de Dados
public KpiData GetDataSourceData(Guid dataSourceId, MetadataValues metadata)
{
SqlConnection connection = AdapterHelper.GetSqlConnection(metadata);
string query = AdapterHelper.GetQueryForDatasource(dataSourceId);
if (connection != null && !string.IsNullOrEmpty(query))
{
DataSet dataSet = AdapterHelper.ExecuteQuery(query, connection);
return new KpiData() { ResultSet = dataSet };
}
return null;
}
-
P054 PRIMAVERA WebCentral II
Segurana
public bool AuthenticateUser(
string userName, string password, bool windowsAuthentication)
{
return true;
}
Verso mais simples
-
P054 PRIMAVERA WebCentral II
Exerccio Connectores PRIMAVERA Analytics
1. Crie um connector que use como fonte de dados os cestos de
compras da nossa soluo;
2. Adicione esse connect ao Analytics;
3. Crie uma pgina com os dados sua escolha.