Anda di halaman 1dari 64

PRIMAVERA WebCentral II

2010 v0.1 PT

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

PRIMAVERA WebCentral II Personalizao e criao de funcionalidades com base Application Builder

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

Mantm compatibilidade com o modelo Caso de alterao do layout a performance menor

Maior flexibilidade de costumizao Perda da compatibilidade com a soluo (apenas no formulrio alterado)

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.ERM.ascx.vb

Artigo.USER.ascxvb

P054 PRIMAVERA WebCentral II

Lista de Mtodos Protected


Mtodo Descrio

StoreState
RecallState Iprint InitializeAlways BaseCreateBEO

Guardar em sesso os dados da entidade seleccionada


Ler da sesso os dados da entidade seleccionada Impresso da entidade Inicializao de dados necessrios em cada pedido efectuado. Criao (pelo sistema) do objecto do tipo da entidade Criao do objecto do tipo da entidade

CreateBEO
BaseShowBEO ShowBEO BaseFillBEO FillBEO EditBEO UpdateBEO

Preenche os controls de interface com os dados da entidade


Preenche os controls de interface com os dados da entidade Preenche o objecto da entidade com os valores dos controlos Preenche o objecto da entidade com os valores dos controlos Retira o objecto da entidade da base de dados Cria ou actualiza na base de dados o objecto Elimina da base de dados o objecto Duplica o objecto.

RemoveBEO
CloneBEO

P054 PRIMAVERA WebCentral II

Lista de Mtodos Public

Mtodo

Descrio

Idelete
Iclone

Implementa a interface de remoo da entidade


Implementa a interface de clonagem da entidade

Irefresh
Isave Iedit Inew IReadBEO IWriteBEO

Implementa a interface de actualizao do formulrio


Implementa a interface de gravao da entidade Implementa a interface de edio da entidade Implementa a interface de criaoda entidade Implementa a interface de leitura da entidade 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.ERM.ascx

Artigo.USER.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

PRIMAVERA WebCentral II Conceito SDK WebCentral

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 Modules Reports SystemFiles Tools UserFiles Contm todos os ficheiros compilados necessrios para a execuo dos Interfaces Web. Contm todos os mdulos registados na plataforma

WebCentral
No contm qualquer tipo de documentos. Usada como destino temporrio na gerao de relatrios. Contm os ficheiros que no so usados directamente pela plataforma WebCentral. Vrias ferramentas teis, por exemplo inicializador de instancia. 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

Interface Utilizador

Module.WebUI

Module.Win

Servios de Negcio

Module.Remoting Module.Entities Module.Business

Servios de Data

Module.Data

P054 PRIMAVERA WebCentral II

Projectos do Mdulo
WebUI WinUI IRemoting Remoting Entities Business Data Modules Workflow Interfaces do utilizador baseado em tecnologias Web. Interfaces do utilizador baseado em tecnologias windows. Interfaces de acesso remoto (ver Remoting) Camada de acesso remoto. Interfaces que permitem a comunicao da camada cliente (WinUI) e servidor. Camada das entidades de negcio. Camada onde devem ser definidas todas as regras de negcio. Camada de dados, implementa os acessos directos base de dados. Projecto que contm as classes que interagem com o WebCentral. 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_<Nome da Instncia> Tabelas: ###_<NomeDaTabela>
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

PRIMAVERA WebCentral II Workflow Designer

P054 PRIMAVERA WebCentral II

Workflow Designer

P054 PRIMAVERA WebCentral II

Connectores Base

Operacional

Subscribe Update Remove

ERM Logger SendEmailToWebCUsers CodeAction Notifications

Workflow

IfElseActivity ParallelActivity SequenceActivity WhileActivity

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

PRIMAVERA WebCentral II Analytics

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

Ficheiro Analytics.config <analyticsConfiguration> <KpiAdapters> <add name="DummyAdapter1" description="Kpi Dummy Adapter typeName="Primavera.DummyAdapter.KpiDummyAdapter" assemblyPath="C:\prjNET\Adapters\DummyAdapter.dll" initParams="param1=value1, param2=value2" /> </KpiAdapters> </analyticsConfiguration>

P054 PRIMAVERA WebCentral II

KPI Adapter

using System; using System.Collections.Generic; using Primavera.Analytics.Adapters; namespace Primavera.ERPSales.AnalyticsAdapter { /// <summary> /// Analytics adapter main class. /// </summary> 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 using using using using using

System; System.Collections.Generic; System.Text; Primavera.Analytics.Adapters; Primavera.Analytics.Adapters.Metadata; 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<string> GetCalculationActions( ActionTypeEnumeration actionType ) { var actions = new List<string>(); 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<DataSourceCategory> GetKpiDataSourceCategories( MetadataValues metadata) { return new List<DataSourceCategory>() { new DataSourceCategory(AdapterHelper.SalesCategory, "Sales") }; }

P054 PRIMAVERA WebCentral II

Confiurao
public IList<KpiDataSource> GetKpiDataSources(string category, MetadataValues metadata) { var kpiDataSources = new List<KpiDataSource>(); 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

Verso mais simples


public bool AuthenticateUser( string userName, string password, bool windowsAuthentication) { return true; }

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.

P054 PRIMAVERA WebCentral II

Anda mungkin juga menyukai