64

P054 - WebCentral II (2010-v0.1-PT).pdf

Embed Size (px)

Citation preview

  • 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.