Guia do Programador. Versão /5/2005

Tamanho: px
Começar a partir da página:

Download "Guia do Programador. Versão 1.6.7 13/5/2005"

Transcrição

1 Versão /5/2005 Guia do Programador Tecnologia de Informação Av. ACM, Ed. Fernandez Plaza, 22º andar Cidadela, Salvador - BA CEP: Tel: (71) FAX: (71)

2 INDICE Objetivo...3 A quem se destina?...3 Pré-Requisitos...3 O que há de novo? UniFw.Net Objetivo Projeto básico das aplicações.net com o UNIFW Camada de apresentação Camada de negócio Camada de dados Sequência básica de execução Implementando a camada de Dados e/ou Negócio UniComponent Interface IDataBase ResultSets através de Stored Procedures no OracleDatabase e OracleDatabaseTM Acesso a dados com UniCommand UniComponentBSDB Auditoria Transaction Manager (TM) Integração com Workflow Tratamento de Erros Implementando a camada de apresentação Introdução Projeto da Camada de Apresentação ASPX x ASCX A Classe Unitech.Web.FWPage A Classe Unitech.Web.Template A Classe Unitech.Web.Frame O processo de desenvolvimento de telas Usando o BookMark Redirecionamento de Páginas Componentes Visuais Dicionário Ajuda Log e Tratamento de Erros Configuração do Ambiente/Componentes WebConfig Página inicial Página de autenticação (login) Tópicos Avançados Envio de s Informações sobre o usuário autenticado Ciclo de vida de uma Página ASP.NET Utilização do GAC Inspetores WEB Autenticadores Serviços Tracer Add-Ins do Visual Studio.NET Preparação do Ambiente de Desenvolvimento do UNIFW.NET Softwares Básicos e Ambiente Passos para preparação do ambiente F.A.Q Bibliografia...68 Pág.:2

3 Objetivo Este documento tem como objetivo servir de referência rápida para desenvolvedores que pretendem utilizar os recursos do UniFW.Net para desenvolver suas aplicações. Através deste documento, pode-se obter tanto uma visão geral sobre o funcionamento e programação com o UniFW.Net, quanto às formas de utilização de diversos dos seus componentes. A quem se destina? Desenvolvedores que procuram conhecer ou lembrar, da correta utilização de um determinado componente ou funcionalidade existente no UniFW.Net versão 1.6. Pode ser utilizado também por desenvolvedores que pretendem aprender a utilizar um novo recurso disponibilizado pelo mesmo e que podem ser utilizados no desenvolvimento de novas aplicações ou funcionalidades. Pré-Requisitos Fluência no desenvolvimento de aplicações WEB na plataforma MS.NET Fluência nas linguagens VB.NET ou C#. Fluência na linguagem DDL e TransactSQL no MS SQLServer O que há de novo? Documentação dos novos componentes visuais UniBusinessBox, UniDateBox e UniNumberBox na sessão Documentação das alterações no componente visual UniTextBox na sessão Inclusão da seção Add-Ins do Visual Studio.NET Inclusão da sessão UniComponentBSDB Pág.:3

4 1. UniFw.Net 1.1. Objetivo Este documento tem como objetivo fornecer informações essenciais aos desenvolvedores de páginas ASPX e controles ASCX que utilizem o framework Unifw para este fim Projeto básico das aplicações.net com o UNIFW O Unifw (Unitech Framework WEB) é um framework para desenvolvimento de aplicações WEB para a plataforma.net 1.1 da Microsoft, desenvolvido pela Unitech. Composto por diversos módulos, o UNIFW fornece ao desenvolvedor soluções prontas para serem reutilizadas e especializadas para novas aplicações em fase de projeto, ou implementação. O diagrama abaixo demonstra a arquitetura básica do Unifw: Aplicação X WebControls UNIFW Inspetores Web Workflow Segurança Auditoria Conteúdo Serviço Ajuda Sequenciador Dicionário Validators Serviços De acordo com o diagrama acima, diferente de uma simples biblioteca de componentes, o framework UNIFW representa o núcleo da aplicação desenvolvida. É ele quem possui os principais algoritmos e estruturas normalmente utilizadas pelas aplicações WEB feitas na plataforma.net, assim como os ganchos utilizados para se integrar e especializar seu comportamento básico. O UNIFW é composto dos seguintes módulos: Web: representado pelo assembly Unitech.Web. Possui estruturas que possibilitam o controle de execução das páginas, tais como FWPage, Templates e Frames. Além disso, esse módulo possui uma biblioteca de componentes para composição de telas WEB através de ASPXs/ASCXs. Essa biblioteca possui classes que representam componentes visuais HTML tais como UniTextBox, UniDataGrid, UniTreeView, UniDropDownList e outras mais, que herdam de componentes já existentes no Framework.NET Microsoft. Segurança: representado pelo assembly Unitech.UNIFW.Seguranca. Possui as estruturas para configuração das políticas de segurança, tais como domínios, usuários, papeis e grupos de trabalho. Workflow: representado pelo assembly Unitech.UNIFW.Workflow. Módulo com as estruturas de controle e configuração de aplicações que utilizam Workflow, tais como fluxos, transições, entidades de fluxo e solicitações de transição. Pág.:4

5 Auditoria: representado pelo assembly Unitech.UNIFW.Auditoria. Possui as estruturas para implementação da auditoria de operações nas aplicações. Serviço: representado pelo assembly Unitech.UNIFW.Servico. Possui as estruturas para implementação de serviços assíncronos executados pelas aplicações. Com elas, pode-se implementar classes que representam serviços que serão executados em intervalos previamente configurados no framework. Ajuda: representado pelo assembly Unitech.UNIFW.Ajuda. Estrutura para implementação de Help integrado à aplicação. Ou seja, pode-se cadastrar os tópicos associados às telas e, em tempo de execução, montar a página de help de acordo com a configuração feita. Conteúdo: representado pelo assembly Unitech.UNIFW.Conteúdo. Possui as estruturas para gerência de notícias e banners a serem disponibilizadas pela aplicação. Dicionário: representado pelo assembly Unitech.UNIFW.Dicionário. Possui as estruturas para gerência de Mensagens e Textos dicionarizados. Pode-se cadastrar Textos para os controles visuais, ou mensagens de erros das páginas em diversos idiomas, e conforme a configuração da aplicação, o Framework se encarregará de mostrar o texto no idioma correto. Voltado para o aumento da produtividade no desenvolvimento de aplicações WEB, na plataforma.net, o projeto do Unifw é feito para melhor se encaixar na estrutura de aplicações em 3 camadas: apresentação, negócio e dados, normalmente utilizadas para este fim. Para cada camada o Unifw fornece a infra-estrutura necessária para seu correto projeto e controle de execução, possibilitando ao projetista e desenvolvedor uma maior chance de sucesso em seu desenvolvimento. È importante lembrar que o Unifw.NET é um framework criado sobre o Framework.Net Microsoft, portanto parte deste pôde ser reaproveitada e especializada, tal como os componentes visuais e componentes validators Camada de apresentação A camada de apresentação tem como objetivo fornecer ao usuário todas as funcionalidades existentes na aplicação. Baseada na linguagem HTML e Javascript, as interfaces de aplicações WEB são construídas em tempo de execução no servidor WEB associado. Na plataforma.net há uma separação visível entre o layout da página (HTML ASPX/ASCX) e seu código de execução (CodeBehind). Estes componentes devem ser combinados de forma a manter as seguintes características: Limpeza de codificação: páginas ASPX/ASCX não devem conter códigos embutidos, apesar de poderem ter, assim como seu CodeBehind não serve para montar páginas HTML. Reutilização de código: é desejável que se possa reutilizar código de montagem de páginas, tais bcomo lógica de validação de campos e seqüência básica de execução de telas semelhantes. Transparência de controle: funcionalidades de controle tais como segurança e auditoria devem ser aplicadas de forma transparente aos componentes implementados. Para esta camada, o Unifw fornece componentes que possibilitam o controle desde o recebimento da requisição HTTP, à montagem da página solicitada. Neste documento, serão discutidas as principais estruturas e componentes envolvidos com o controle de execução da camada de apresentação, que serão devidamente detalhados mais adiante. Pág.:5

6 1.4. Camada de negócio A camada de negócio tem como objetivo fornecer à aplicação todas as funcionalidades de controle da lógica de negócio da aplicação. É nesta camada que estão representadas as entidades e processos envolvidos com as funcionalidades disponibilizadas pela camada de apresentação. Todas as regras de validação, controle de processos e integridade lógica dos dados são devidamente implementados nesta camada. Fazem parte desta camada componentes que se utilizam de Transações, DataSets e etc. Um bom projeto e implementação de componentes da camada de negócio deve possibilitar as seguintes características: Independência da camada de apresentação: componentes de negócio devem poder ser utilizados por componentes da camada de interface de forma independente. Ou seja, componentes de negócio não podem fazer referência a componentes da camada de interface, pois se criará um acoplamento indesejado. Performance adequada: a depender do tipo de solução a ser implementada, uma diferente estrutura de programação deve ser utilizada para atender ao requisito levantado. Flexibilidade de configuração: mudanças previstas de comportamento devem ser disponibilizadas sem a necessidade de reprogramação de componentes. Isto só é possível com um projeto de baixo acoplamento entre componentes estratégicos. O framework Unifw fornece a classe Unitech.Component.UniComponent para apoio ao desenvolvimento da camada de negócio Camada de dados A plataforma.net não dispõe atualmente de recursos de persistência automática em banco de dados, portanto se faz necessário o acesso ao mesmo através de objetos ADO.NET para atualização ou apenas consulta dos dados existentes. Um projeto de componentes da camada de dados deve possuir as seguintes características: 1. Independência da camada de negócio: componentes da camada de dados não devem fazer referência à estruturas da camada de negócio. 2. Desacoplamento e Flexibilidade: em muitos casos ocorrem mudanças do banco de dados que se está utilizando para o acesso. Nestes casos se faz necessária a implementação de novas classes de acesso a banco de dados (utilizando o ADO.NET) que o façam da maneira adequada para o novo banco de dados utilizado. Com isso, se faz necessária a implementação de uma estrutura que possibilite a mudança dos componentes de acesso a dados sem que isto implique em qualquer impacto para classes de negócio que os utilizem. O Unifw disponibiliza componentes que auxiliam a implementação de componentes de acesso a base de dados de diversos tipos. Componentes como Classes Unitech.Component.UniComponent, Unitech.Data, fornecem funcionalidades prontas de abertura de conexão, conversão de resultados de Stored Procedures em DataSets, formatação de dados SQL. Os detalhes sobre a implementação dos componentes da camada de dados com o Unifw serão detalhados mais adiante. Pág.:6

7 1.6. Sequência básica de execução Aplicações projetadas para utilizar as estruturas do Unifw possuem em comum uma sequência básica de execução. Esta sequência se inicia no recebimento da requisição HTTP e finaliza com o término do processamento da página solicitada. O diagrama abaixo exibe os principais passos envolvidos no processamento das requisições recebidas: Browser FWPage Inspetor Template Arq. ASCX Classes BS Classes DB BD HTTP ValidaSeguranca MontaPagina Load exec negócio exec. dados persistir No diagrama anterior, é exibida a sequência básica de execução de uma típica aplicação WEB que se utiliza do Unifw. Seguem as descrições dos principais componentes envolvidos: Browser: aplicação cliente WEB. É ele que exibe a interface ao usuário e cria as novas requisições HTTP que serão enviadas ao servidor. Estas requisições contém informações que indicam qual tela, ação e parâmetros da solicitação. FWPage: componente integrante do Unifw, que centraliza o recebimento das requisições HTTP enviadas pelos clientes. Cabe a este componente efetuar as validações e encaminhar o processamento das requisições recebidas. Este encaminhamento pode ser resumido na verificação de segurança(inspetor) e carregamento do arquivo de Template. Inspetor: cabe ao inspetor, efetuar todas as validações e verificações necessárias para se autenticar e autorizar o usuário que enviou a requisição. Além disso, efetua os registros de auditoria, conforme configurado. Template: cabe ao template identificar quais arquivos (.ASCX) que deverão ser carregados nos quadros do template da tela requisitada. Arq.ASCX: implementação de um arquivo ASCX que constrói a interface HTML que será exibida para o cliente, normalmente composta por tabelas, campos de entrada de dados e javascripts. Cabe a esta implementação apenas a formatação adequada do resultado da solicitação feita. Qualquer implementação mais complexa, que envolva chamada de componentes de negócio, condições ou laços, devem ser feitas no CodeBehind deste ASCX que fará o processamento necessário. Classes BS: implementação da camada de negócio da aplicação. São classes implementam todas as rotinas de validação e processamento necessárias para a operação e integridade das informações mantidas. Classes DB: implementação da camada de dados da aplicação. São classes que implementam consultas e execuções no banco. BD: banco de dados utilizado. Contém as tabelas com os dados das entidades utilizadas na aplicação. A depender do projeto, pode ainda conter procedures. A descrição detalhada de implementação de cada componente e dos recursos do Unifw existentes para cada situação será devidamente feita nas próximas sessões deste documento. Pág.:7

8 2. Implementando a camada de Dados e/ou Negócio A camada de dados e negócio é composta por um conjuto de classes cujo principal objetivo é, respectivamente, acessar uma determinada base de dados e tratar das regras de negócio. Porém o Unifw não exige que os projetos tenham esta divisão. Sugere-se que as classes que visam acessar a dados e/ou tratar das regras de negócio herdem de Unitech.Component.UniComponent, sendo a sua utilização decisão de projeto. Na sessão a seguir será detalhada as funcionalidades e facilidades que a classe UniComponent proporciona UniComponent O Unitech.Component.UniComponent foi criado com o intuito de fornecer um conjunto de funcionalidades prontas para as classes que o estendem. Basicamente, o UniComponent fornece funcionalidades de acesso a banco de dados, geração de seqüências e tratamento de erros que podem ser reutilizadas e estendidas pelos demais componentes. A figura abaixo apresenta a estrutura do UniComponent. Segue um exemplo de código de um componente que se utiliza do UniComponent: 1. Public Class Template 2. Inherits UniComponent 3. Public Sub New() 4. SiglaDataSource = "sigla_do_data_source" 5. End Sub 6. Function Inserir(ByRef DS As DataSet) As Int32 Implements BS.ITemplate.Inserir 7. Dim Retorno As Int32 8. Dim SGBD As Unitech.Data.IDatabase = CreateDataBaseInstance( minhaorigemdados ) 9. DS.Tables(0).Rows(0)("Identificador") = GetNewNumber( minhasequencia ) 10. Retorno = SGBD.SPExecute("SEGURTemplateINS", SGBD.FillParameters("SEGURTemplateINS", DS.Tables(0).Rows(0))) 11. Return Retorno 12. End Function 13. Function ObterTodos() As DataSet Implements BS.ITemplate.ObterTodos 14. Dim dsretorno As DataSet 15. Dim SGBD As Unitech.Data.IDatabase = CreateDataBaseInstance(SiglaDataSource) 16. dsretorno = SGBD.GetData("Select * from Template") 17. Return dsretorno 18. End Function 19. End Class Pág.:8

9 No trecho acima, pode-se ver a utilização das principais funcionalidades do UniComponent, que serão descritas em detalhes a seguir Acesso a Banco de Dados O UniComponent fornece aos componentes de negócio/dados das aplicações a possibilidade de acessar base de dados de forma transparente. Essa transparência se dá em dois aspectos: o componente não precisa se acoplar a uma implementação específica do ADO.NET e a string de conexão com o banco de dados não precisa ser mantida/gerenciada em código. Para não acoplar o código do componente à uma bibilioteca de acesso a dados específica do ADO.NET(ex.: SQLServer, Oracle, OLEDB etc), o UniComponent se integra à estrutura IDataBase. Essa estrutura será descrita em detalhes mais adiante, mas representa uma interface genérica de acesso aos dados que pode ser utilizada para qualquer tipo de banco de dados. Para se obter uma instância de uma classe de acesso a dados(idatabase) o método CreateDataBaseInstance deve ser utilizado. Segue um exemplo: Dim SGBD As Unitech.Data.IDatabase = CreateDataBaseInstance( minhaorigemdados ) Resta um questionamento: como definir qual o tipo e qual a string de conexão que será utilizado pelo componente? O UniComponent se utiliza do conceito de OrigemDados(ou DataSource) do UniFW.Net. Uma origem de dados é uma estrutura que permite ao UniFW identificar o tipo de banco de dados assim como sua string de conexão através de uma simples sigla. No exemplo acima, vê-se o uso do método CreateDataBaseInstance, que recebe um parâmetro denominado minhaorigemdados. Para o UniFW, este parâmetro é suficiente para identificar o tipo de banco, assim como a sua string de conexão. Essas informações são obtidas do cadastro de OrigemDados realizado através da interface de acesso a dados do UniFW(ver Guia do Administrador). Outra opção de uso do método CreateDataBaseInstance é sua chamada sem passagem de nenhum parâmetro. Segue exemplo: Dim SGBD As Unitech.Data.IDatabase = CreateDataBaseInstance() Ao não passar nenhum parâmetro para o método CreateDataBaseInstance, será utilizado como OrigemDados(ou DataSource) um valor padrão definido na propriedade SiglaDataSource existente no UniComponent. Esta forma de uso é muito prática quando um determinado componente acessa semrpe a mesma OrigemDados, pois reduz a quantidade de código na chamada de CreateDataBaseInstance, porém, necessita que a propriedade seja atualizada. Um exemplo de atualização da OrigemDados padrão do componente está apresentada abaixo. Public Sub New() SiglaDataSource = "minhaorigemdados" End Sub No trecho acima, vê-se a utilização do construtor do componente de negócio para atualizar a OrigemDados(ou DataSource) que o mesmo irá utilizar por padrão. Pág.:9

10 Geração de Números Seqüenciais Muitas vezes, entidades necessitam de números seqüenciais únicos para serem utilizados como suas chaves primárias, por exemplo. O UniComponent fornece aos componentes de negócio/dados a funcionalidade de geração de números sequenciais. Essa funcionalidade se baseia no recurso de seqüências existente no UniFW.Net e que é configurado através de sua interface de adminsitração(ver Guia do Administrador). O método GetNewNumber do UniComponent recebe como parâmetro a sigla da seqüência desejada. Segue um exemplo de seu uso: Dim X as Integer = GetNewNumber( minhasequencia ) No exemplo acima, é solicitado, através do método GetNewNumber, o próximo número da seqüência de sigla minhasequencia. Para que funcione de acordo, a sequência deve estar devidamente cadastrada na base de dados do UniFW (ver Guia do Administrador) Tratamento de Erros Muito freqüentemente, a rotina de tratamento de erros de componentes possui a mesma lógica. No caso de aplicações que se utilizam do UniFW, o mais comum é identificar se o erro(ou Exception) ocorrido se trata de um erro de négocio ou de ambiente, por exemplo. Outro passo comum é encapsular uma Exception nativa do ambiente em uma outra exception da família Unitech.Exception. O UniFW.Net já fornece um conjunto básico de Exceptions para utilização por parte do desenvolvedor e que serão descritas mais em detalhes adiante. São duas as classes de Exceptions mais utilizadas : Unitech.Exception.EnvironmentException e Unitech.Exception.ApplicationException. EnvironmentExceptions são erros de ambiente, muitos deles imprevisíveis para o desenvolvedor. Pode-se citar como exemplo a impossibilidade de abrir conexão com o banco de dados. Já ApplicationExceptions são erros de aplicação/negócio. Ou seja, são erros que já são esperados pelo desenvolvedor pois os mesmos estão previstos nas validações das regras de negócio da aplicação. Com o objetivo de reutilizar a rotina de tratamento o UniComponent fornece o método TrataErro, declarado da seguinte forma: protected virtual void TrataErro(System.Exception PobjException, string PsigErroAmbientePadrao) O objetivo deste método é identificar o tipo do erro recebido como parâmetro e levantar um erro da família das Unitech.Exceptions. O Unicomponent fornece uma implementação pronta para este método cuja lógica segue abaixo: protected virtual void TrataErro(System.Exception PobjException, string PsigErroAmbientePadrao) { if (this.isbi(pobjexception)) { // Somente lança a exception throw PobjException; } else { // Lança uma nova exception de ambiente, empilhando a anterior throw new Unitech.Exception.EnvironmentException(PsigErroAmbientePadrao, PobjException); } } Pág.:10

11 O método isbi usado acima tem como papel retornar verdadeiro caso a exception recebida como parâmetro possa ser considerada uma exception de negócio(bi=business inteligence). Para responder isso, o mesmo se utiliza de uma propriedade do tipo Hash denominada ChstBIExceptions. Caso a exception recebida como parâmetro esteja nessa Hash, o método retornará TRUE. Segue a implementação básica do método public virtual bool isbi(system.exception PobjException) { return this.biexceptions.containskey(pobjexception.gettype().tostring()); } A Hash com as exceptions que serão consideradas exceptions de negócio(bi) é preenchida através do método CarregaBIExceptions(). Esse método tanto cria a instância da Hash quanto a popula com as exceptions já conhecidas. Segue a lógica interna do método já implementada pelo UniComponent: protected virtual void CarregaBIExceptions() { this.chstbiexceptions = new Hashtable(); this.chstbiexceptions.add("unitech.exception.validacaoexception", null); this.chstbiexceptions.add("unitech.exception.valorinvalidoexception", null); this.chstbiexceptions.add("unitech.exception.valornaodefinidoexception", null); this.chstbiexceptions.add("unitech.exception.tamanhoexception", null); this.chstbiexceptions.add("unitech.exception.applicationexception", null); this.chstbiexceptions.add("unitech.exception.securityexception", null); this.chstbiexceptions.add("unitech.exception.dominioinvalidoexception", null); this.chstbiexceptions.add("unitech.exception.logininvalidoexception", null); this.chstbiexceptions.add("unitech.exception.acessonegadoexception", null); this.chstbiexceptions.add("unitech.exception.usuarionaoautenticadoexception", null); this.chstbiexceptions.add("unitech.exception.intervaloexception", null); } Qualquer código de componentes de negócio/dados podem se utilizar do método TrataErro para tratar seus erros de forma genérica. Como exemplo de seu uso, pode-se tratar um erro ocorrido de acordo com o trecho abaixo: Try... Catch ex as System.Exception End Try TrataErro(ex) Componentes de negócio/dados que estendam do UniComponent, ficam livres para modificar o comportamento padrão de tratamento de erros, bastando para isso a redefinição de um de seus métodos básicos: TrataErro, isbi e CarregarBIExceptions. Pág.:11

12 2.2. Interface IDataBase O ADO.Net disponibiliza diversas bibliotecas de acesso a dados como OLEDB, ORACLE e SQL. Com o tuito de prover um serviço de auditoria de acesso a dados e reduzir o acoplamento do código com a bibliboteca SQLData e ORACLEData, por exemplo, foi criada a interface Unitech.Data.IDatabase. Atualmente, o UniFW disponibiliza as seguintes classes de acesso a dados que implementam a interface IDataBase: SQLDataBase, SQLDataBaseTM, OracleDataBase e OracleDataBaseTM. A figura abaixo apresenta a estrutura do IDataBase: Abaixo será apresentada uma visão geral dos métodos mostrados na figura acima: Execute: Executa a query SQL ou o command passado como parâmetro. Este método deve ser usado, por exemplo, quando deseja fazer insert, delete ou update. FillParameters: Preenche os parâmetros da Procedure com os valores passado no DataRow. Vale lembrar que para fazer a sincronia entre os campos do datarow e os parâmetros da procedure só é feita caso o nome do campo seja igual ao nome do parâmetro. 1. SGBD.SPExecute("SEGURTemplateINS", SGBD.FillParameters("SEGURTemplateINS", tabela.rows(0))) GetData: Obtém dados a partir da query SQL ou command passado como parâmetro. Init: Esse método é responsável por informar a string de conexão ao objeto do tipo IDataBase. Caso a classe herde de UniComponent não será necessário utilizar esse método, pois o método CreateDataBaseInstance de UniComponent já se preocupa em informar a string de conexão ao objeto do tipo IDataBase criado. SPExecute: Executa a procedure passada como parâmetro. Este método deve ser usado, por exemplo, quando deseja fazer insert, delete ou update. SPGetData: Obtém dados a partir da procedure passada como parâmetro. SPGetParameters: Retorna a coleção de parâmetros da procedure passada como parâmetro. 1. Dim Parametros() As System.Data.SqlClient.SqlParameter 2. Parametros = SGBD.SPGetParameters("SEGURUsuarioSELDOM") 3. Parametros(0).Value = IdenDominio 2.3. ResultSets através de Stored Procedures no OracleDatabase e OracleDatabaseTM Diferente do SQLServer o Oracle não retorna um resultset na execução de uma query de consulta, e sim uma referência para um cursor (OracleType.Cursor) o qual é tratada de forma especial dentro da classe OracleDatabase (classe que implementa IDatabase) para retornar finalmente um dataset com o resultset da consulta. Para maiores detalhes sobre a implementação de stored procedures de consulta no Oracle e o seu Pág.:12

13 acesso através do provider OracleClient US;Q322160&ID=KB;EN-US;Q leia o artigo em Diante dessa particulariedade do Oracle em retornar o cursor do resultset ao invés do mesmo, o UniFW.NET obriga que a stored procedure tenha como primeiro parâmetro um CURSOR de direção OUT para a recuperação desse resultset referenciado. Veja o codigo da stored procedure a seguir: PACKAGE PackageUniFW AS TYPE t_cursor IS REF CURSOR ; Procedure SP_APLICACAO(cursor_retorno IN OUT t_cursor, IDENT IN NUMBER); END PackageUniFW; PACKAGE BODY PackageUniFW AS Procedure SP_APLICACAO (cursor_retorno IN OUT t_cursor, IDENT IN NUMBER) IS v_cursor t_cursor; BEGIN OPEN v_cursor FOR SELECT * FROM APLICACAO A WHERE A.IDENTIFICADOR=IDENT; cursor_retorno := v_cursor; END SP_APLICACAO; END PackageUniFW; Acima temos o codigo da criação de um package (linhas 1 a 4) definindo um tipo referente a CURSOR denominada t_cursor e a definição de uma stored procedure chamada sp_aplicacao com a sua respectiva assinatura. Logo a seguir temos o codigo (linhas 6 e 7) da stored procedure SP_APLICACAO que possui como parâmetros cursor_retorno do tipo t_cursor de direção OUT e o IDENT do tipo number. Nas linhas 12 a 16 temos a abertura do meu cursor v_cursor (alias para t_cursor) a qual irá apontar para o resultado da consulta na tabela APLICACAO, através da query SELECT * FROM APLICACAO WHERE A.IDENTIFICADOR=IDENT (linhas 13 a 14). Apesar do que foi relatado acima não existem mudanças quanto a forma de obter dados através de stored procedures em relação ao outros SGBDs. Conforme já foi visto no tópico anterior temos o método SPGetData das classes que implementam IDatabase o qual é responsável pela obtenção de um resultset através de uma stored procedure. Esse método recebe como parâmetros o nome da stored procedure, o nome da tabela que será retornada com o resultset (existe uma assinatura recebendo um array de nomes de tabela não suportado pela OracleDataBase e OracleDataBaseTM) e um array de parâmetros (do tipo IParameters), existem diferentes sobrecargas desse método (inclusive recebendo Command) tornando opcional a informação do nome da tabela assim como a dos parâmetros Abaixo segue um exemplo de código utilizando a funcionalidade: Dim param(0) As OracleClient.OracleParameter param(0) = New OracleClient.OracleParameter("IDENT", 32) Dim ds As DataSet = objdadosoracle.spgetdata("packageunifw.sp_aplicacao", param) No exemplo acima nas linhas 1 e 2 é criado um parâmetro denominado IDENT com o valor 32. Na linha 3 é chamado o método SPGetData da classe OracleDatabase passando o nome da stored procedure (se a stored procedure tiver dentro de um package não se esqueça de informar o nome no seguinte formato: nome_package.nome_storedprocedure) e o parâmetro definido na linha anterior. Note que não se deve informar o 1º parâmetro do tipo Cursor pois essa operação é transparente no processamento do método SPGetData Acesso a dados com UniCommand Os comandos de acesso a dados do ADO.Net são específicos para cada SGBD, ex: SQLCommand, OracleCommand, OleDbCommand, cada um com uma syntaxe específica para montagens de queries parametrizadas. Visando a criação de comandos no padrão ANSI que sirvam para mais de um tipo de SGBD Pág.:13

14 o UniFW disponibiliza a classe UniCommand que possui a inteligência interna de decidir a partir da Sigla da Origem de Dados qual tipo de IDBCommand irá montar para o acesso ao banco. O UniCommand pode gerar SQLCommands, OracleCommands e OleDbCommands. A syntaxe de acesso a dados com um UniCommand fica assim: 1. Dim SGBD as Unitech.Data.IDatabase = CreateDataBaseInstance(getSiglaDataSource) 2. UniCommand cmdsql = new UniCommand(getSiglaDataSource) 3. cmdsql.commandtext = "Select * from Servico where Identificador 4. cmdsql.parameters.add("@id",ds.tables(0).rows(0)("identificador")) 5. dsretorno = SGBD.GetData(cmdSql.ObjCommand,"Servico") O código acima serve para conexões SQL, Oracle ou OleDb. O UniCommand saberá montar internamente o IDBCommand do tipo correto a partir da sigla da origem de dados que lhe foi fornecida. Podese notar que a função GetData (linha 5) recebe como parâmetro a propriedade ObjCommand do UniCommand que possui o command interno gerado corretamente. O mesmo vale para as funções Execute, SPGetData e SPExecute. As chaves dos parâmetros devem estar sempre de acordo com a syntaxe padrão a 2.5. UniComponentBSDB O UniFW.NET com objetivo de facilitar a implementação de classes básicas 1 de negócio/dados disponibiliza o componente UniComponentBSDB 2 que oferece os seguintes recursos e características: 1. Facilidade de implementação através da simplificação. O componente necessita para seu funcionamento tão somente da propriedade SiglaDataSource 3 e informação do nome da tabela padrão (propriedade TabelaPadrao). Em alguns casos específicos da necessidade de utilizar o recurso de Seqüência, será necessário informar a sigla da seqüência (propriedade SiglaSequencia) do cadastro do UniFW.NET assim como o campo seqüencial da tabela (propriedade CampoSequencial). 2. Novas propriedades para manipulação de dados, tais como: o InnerDataSet DataSet com a coleção de tabelas acessadas pelo componente. Inicialmente o componente traz automaticamente a estrutura da tabela padrão 4, essa estrutura por sua vez será uma DataTable com o nome configurado da propriedade TabelaPadrao. o InnerDataTable DataTable referente à tabela padrão. o InnerDataRow DataRow referente a InnerDataTable. É criada uma instância na primeira solicitação dessa DataRow. 1 Entende-se por classes que estão diretamente relacionadas com uma tabela, também denominada de tabelas do sistema, na base de dados. 2 Sendo esse componente uma extensão (herda diretamente) do UniComponent. 3 Propriedade herdade de UniComponent. 4 Nome da tabela padrão foi especificado na propriedade TabelaPadrao. Tabela a qual a classe está diretamente relacionada. Pág.:14

15 3. Obtenção automática da estrutura da tabela padrão, dispensando dessa forma a implementação do método de obtenção do DataStructure 5, antes obrigatório. Obtenção da estrutura de qualquer tabela da origem de dados do componente através do método ObterEstrutura 6. Atenção: A estrutura obtida será adicionada ao InnerDataSet assim como retornada. Um outro aspecto importante que a estrutura obtida da base de dados não incluem as chaves primárias assim como as definições se as colunas das tabela suportam ou não valores do tipo nulo (DBNull). 4. Oferece uma abstração OO do objeto através de propriedades indexadas. Ao instanciar um objeto UniComponentBSDB já é disponibilizado automaticamente uma linha (InnerDataRow) pronta da tabela padrão como propriedade indexada do mesmo. Exemplo: myobjeto( Identificador ) o Essa propriedade indexada acessa indiretamente o InnerDataRow; 5. Automatização de Operações Básicas o ObterPorPK o ObterPorFiltro Estará considerando no filtro somente os campos configurados no InnerDataRow. Atenção: Não é possível configurar um campo no filtro para buscar o valor DBNull. o ObterTodos o Inserir Se tiver configurado a propriedade SiglaSequencia e o campo seqüenciado do InnerDataRow estiver nulo (DBNull) o componente automaticamente realizará o GetNewNumber 7 para esse campo, atualizando o mesmo para futura consulta. o Alterar o Excluir Atenção: Todas as operações são configuradas através de propriedade indexadas ou acesso direto ao InnerDataRow. Todos métodos de consulta (ObterPorPK, ObterPorFiltro, ObterTodos) atualizam o InnerDataSet com o resultado da mesma, além de retorná-lo por referência. Além disso, os métodos de consulta possuem uma sobrecarga para receber os campos de retorno da consulta note que esse recurso irá trazer ao InnerDataSet uma tabela que não condiz com a estrutura na base de dados. 6. Validação automática dos dados submetidos nas Operações Básicas para os seguintes casos: o Verifica se foi indicada a chave primária 8 na realização das operações de ObterPorPK, Inserir, Alterar e Excluir. o Verifica se foram preenchidos os campos obrigatórios na realização das operações de Inserir, Alterar. Atenção: É disponibilizado o método Validar que pode ser facilmente sobrescrito ou estendido. 5 Método responsável pelo retorno de um DataSet com um DataTable contendo a estrutura da tabela padrão da classe. 6 Esse método atualiza o InnerDataSet com a estrutura obtida além de retorná-lo por referencia. Note que essa estrutura estará disponível no InnerDataSet através de uma DataTable com o nome da estrutura solicitada. 7 Método original de UniComponent. 8 Os campos obrigatórios e a chave primária são obtidos através da configuração do esquema da tabela da base de dados. Pág.:15

16 7. Flexibilidade. O componente flexibiliza ao programador a possibilidade de sobrescrever a implementação de qualquer dos seus métodos, assim como de reutilizar a sua implementação. Todos os recursos pré-existentes no UniComponent se mantiveram possibilitando a realização de implementações mais complexas. o Alguns métodos específicos tais como: Reset Reinicializa o componente descartando o InnerDataSet conseqüentemente o InnerDataTable e InnerDataRow. ResetCacheSchemas Limpa o armazenamento temporário (cache) da aplicação referente às estruturas da tabelas. Para utilizar os recursos de automatização de operações básicas em base de dados tais como ObterEstrutura, ObterTodos, ObterPorFiltro, ObterPorPK, Inserir, Alterar e Excluir disponibilizados pelo UniFW.NET na camada de negócio/dados é necessário que cada classe herde direta ou indiretamente da classe Unitech.Component.UniComponentBSDB. É considerado como boa prática, cada projeto de negócio/dados ter sua classe ComponentBSDB. Essa classe a princípio só precisará herdar de Unitech.Component.UniComponent, porém caso o projeto tenha algum requisito especial para as classes que herdem de UniComponentBSDB basta implementar na classe criada tais requisitos e com isso todas as classes que herdem da mesma possuirá tais características. Como por exemplo, no projeto de negócio/dados do BiblioTech, foi criada a classe BiblioTechComponentBSDB que herda de Unitech.Component.UniComponentBSDB e possui o construtor que informa para a classe pai (UniComponent) qual a sigla da origem de dados que foi cadastrada para a aplicação. Mais detalhes sobre o cadastramento de origem de dados ver o Guia do Administrador. Veja abaixo a implementação de uma classe que implementa UniComponentBSDB para servir como classe base para implementação das classes de negócio e dados Public Class BibliotechComponentBSDB Inherits Unitech.Component.UniComponentBSDB Public Sub New() 'Informe para a classe pai (UniComponentBSDB) qual é a origem dados que 'será utilizada. SiglaDataSource = "BIBLIO" 'Se existir um nome padrão para os campos sequenciados aproveite 'para definir também nessa herança. 'Exemplo: ' CampoSequencial = "Identificador" End Sub End Class A implementação de uma classe a partir da BibliotechComponentBSDB se torna bastante trivial. Vejamos abaixo o código de implementação da classe Editora Public Class Editora Inherits BibliotechComponentBSDB Public Sub New() 'A configuração mais importante está na determinação do nome da tabela 'padrão a qual essa classe fará acesso na base de dados. TabelaPadrao = "Editora" Pág.:16

17 'Se existir um nome diferente para o campo seqüenciado dessa classe 'configure a propriedade CampoSequencial exemplo: ' CampoSequencial = "Codigo" 'O componente UniComponentBSDB (BibliotechComponentBSDB herdar dessa classe) necessita para inserir um registro em uma tabela que possui campo seqüenciador 'o nome da sigla dessa sequência no UniFW.NET SiglaSequencia = "Editora" End Class End Sub Utilizando uma classe que herda de UniComponentBSDB Abaixo teremos alguns trechos de código auto-explicativos que guiarão o programador na utilização de uma classe de negócio e dados implementada a partir de UniComponentBSDB (diretamente ou indiretamente). Obtendo Estrutura da Tabela Padrão ' Editora é uma classe que herda de UniComponentBSDB. Dim objeditora As Editora = New Editora 'InnerDataSet do componente possui uma tabela com estrutura da Tabela Padrão InnerDataSet = objeditora.innerdataset Método ObterEstrutura() ' Editora é uma classe que herda de UniComponentBSDB. Dim objeditora As Editora = New Editora 'Posso obter a estrutura de qualquer tabela da Origem de Dados atual InnerDataSet = objeditora.obterestrutura( Livro ) Método ObterTodos() ' Editora é uma classe que herda de UniComponentBSDB. Dim objeditora As Editora = New Editora 'A consulta é retornada e carregada no InnerDataSet do componente. objeditora.obtertodos() Método ObterPorPK() ' Editora é uma classe que herda de UniComponentBSDB Dim objeditora As Editora = New Editora objeditora("identificador") = Marcados(0)(0) 'Marcados possui a chave procurada. 'A consulta é retornada e carregada no InnerDataSet do componente. InnerDataSet = objeditora.obterporpk() Método ObterPorPK( Lista de Campos ) Método ObterPorPK trazendo somente os campos Nome e Endereco na consulta. Esse recurso também está disponível no ObterPorFiltro() ' Editora é uma classe que herda de UniComponentBSDB Dim objeditora As Editora = New Editora objeditora("identificador") = Marcados(0)(0) 'Marcados possui a chave procurada. 'A consulta é retornada e carregada no InnerDataSet do componente. Pág.:17

18 6. 7. objeditora.obterporpk("nome, Endereco") InnerDataSet = objeditora.innerdataset Método ObterPorFiltro() Método ObterPorFiltro trará todas as linhas no banco de dados que atenderem o filtro no campo Endereco e Telefone ' Autor é uma classe que herda de UniComponentBSDB Dim objautor As Autor = New Autor objautor("endereco") = Marcados(0)(0) 'Outra forma de configurar o componente é acessando direto o InnerDataRow. objautor.innerdatarow("telefone") = Marcados(0)(1) 'A consulta é retornada e carregada no InnerDataSet do componente. objautor.obterporfiltro() InnerDataSet = objeditora.innerdataset Método Inserir() ' Editora é uma classe que herda de UniComponentBSDB que utiliza de Seqüência. Dim objeditora As Editora = New Editora objeditora("nome") = "Abril" objeditora("endereco") = "Rua ABCD" objeditora.inserir() 'Obtém o identificador obtido na Inserção Dim NovoIdentificador As Integer = objeditora("identificador") Método Alterar() ' Editora é uma classe que herda de UniComponentBSDB que utiliza de Seqüência. Dim objeditora As Editora = New Editora objeditora("identificador") = 10 objeditora("endereco") = "Rua EFGH" objeditora.alterar() Método Excluir() ' Editora é uma classe que herda de UniComponentBSDB que utiliza de Seqüência. Dim objeditora As Editora = New Editora objeditora("identificador") = 10 objeditora.excluir() Customizando classes que usam de UniComponentBSDB Conforme foi visto no tópico anterior a classe UniComponentBSDB prover diversas funcionalidades para facilitar a implementação de classes de dados e negócios referentes às tabelas de cadastro. No entanto vão existir casos onde o componente precisará de uma customização em seu comportamento, ou até mesmo uma sobreposição de funcionalidade. Veremos a seguir alguns casos que poderão ser comuns: 1. Validação de uma Operação Pág.:18

19 O componente UniComponentBSDB oferece o método Validar() recebendo o parâmetro com o tipo da operação que irá ser executada. Esse método é chamado antes do componente executar uma operação na base de dados, exceto no caso do ObterTodos(). Conforme vimos no tópico anterior o comportamento padrão desse método é o seguinte: o Verifica se foi indicada a chave primária na realização das operações de ObterPorPK, Inserir, Alterar e Excluir. o Verifica se foram preenchidos os campos obrigatórios na realização das operações de Inserir, Alterar. Os casos acima nem sempre corresponderão a necessidade de negócio das implementações do diadia, muitas das vezes se faz necessário realizar validações de contexto de negócio, como por exemplo a verificação de um intervalo de data, ou do tamanho de um parâmetro do tipo string, entre outras diversas validações. Veremos abaixo um exemplo de implementação o qual iremos validar se o campo endereço não possui um tamanho superior a 50 caracteres, caso o campo esteja inválido estaremos levantando uma exceção Private Const cerrcampotamanhoinvalido As String = "ErrCampoTamanhoInvalido" Protected Overrides Sub Validar(ByVal TipoOperacao As Unitech.Component.UniComponentBSDB.enumTipoOperacao) 'Reaproveito a implementação do Validar do UniComponentBSDB MyBase.Validar(TipoOperacao) If (TipoOperacao = Unitech.Component.UniComponentBSDB.enumTipoOperacao.Inserir Or TipoOperacao = Unitech.Component.UniComponentBSDB.enumTipoOperacao.Alterar) Then 'Só permitirá inserção ou alteração na base de dados do campo Endereco 'com uma string menor ou igual a 50 caracteres. If (InnerDataRow("Endereco").ToString().Length > 50) Then Dim mensagem As String = BS.Dicionario.GetString(cErrCampoTamanhoInvalido, New String() {"campo"}, New String() {"endereco"}) 'Recuperação de Mensagem Dinâmica End If End Sub Throw New Unitech.Exception.ValorInvalidoException(mensagem) End If Como podemos ver no código acima a ampliação do comportamento do método Validar é simples, basta para isso sobrescrever o método, como é realizado na linha 3. Note também que é reaproveitado o comportamento original através da chamada do Validar da classe ancestral (linha 7). Na linha 8 é restringida a validação somente para as operações de Inserir e Alterar. Utilizamos também de uma mensagem de erro dinâmica dicionarizada o qual irá trazer uma informação referenciando o campo endereço. Caso a validação verifique a irregularidade do tamanho campo será levantado um erro de valor inválido com a mensagem descrevendo o mesmo (linha 18). 2. Sobrescrevendo uma operação básica Existirão casos particulares em que será necessário sobrescrever o comportamento padrão do componente referente a alguma operação, tais como Inserir, Alterar, Excluir, ObterPorPk, entre outros. Todos os métodos da componente foram implementados possibilitando uma futura sobreposição. Abaixo temos um exemplo de como re-implementar o método Inserir. Pág.:19

20 <TransactionContext(Transaction.Required, Isolation:=Isolation.ReadCommitted)> _ Public Overrides Sub Inserir() Dim Retorno As Int32 Try Dim cmd As Unitech.Data.UniCommand = New Unitech.Data.UniCommand(SiglaDataSource) Dim query As String 'Monta a query query = "INSERT INTO Editora " & _ "(Identificador, Nome, Endereco) " & _ "VALUES " & cmd.commandtext = query 'Atribui valores aos parâmetros que estão na query montada acima InnerDataRow("Identificador") = GetNewNumber("Editora") cmd.parameters.add("@identificador", InnerDataRow("Identificador")) cmd.parameters.add("@nome", InnerDataRow("Nome")) cmd.parameters.add("@endereco", InnerDataRow("Endereco")) 'Chama o método de Validação do UniComponentBSDB Validar(Unitech.Component.UniComponentBSDB.enumTipoOperacao.Inserir) 'Instancia um objeto do tipo IDataBase de acordo com a sigla da origem 'dados informada no contrutor da classe pai Dim SGBD As Unitech.Data.IDatabase = CreateDataBaseInstance() 'Executa o command passado com parâmetro SGBD.Execute(cmd.ObjCommand) 'Informa ao gerenciador de transação que toda os passos 'do método foi executado com sucesso. TransactionManager.SetComplete() Catch ex As System.Exception 'Informa ao gerenciador de transação que houve problemas 'durante a execução do método. TransactionManager.SetAbort() Throw ex End Try End Sub 2.6. Auditoria O UNIFW possui recursos de Auditoria que possibilitam que operações realizadas pelo usuário possam ser auditadas mais adiante. A partir do cadastramento de Trilhas, Alvos e Escopos(ver Guia do Administrador), o UniFW automaticamente cria registros de operação(tabela OperacaoAuditoria) com as seguintes informações: Identificador: chave primária. Número que identifica unicamente um registro de operação criado pelo UniFW. IdenTrilhaAuditoria: identificador da trilha de auditoria que enquadrou a operação realizada em seu escopo e alvo, provocando a sua criação. IdenUsuario: Identificador do Usuário que está solicitando a execução da operação. IdenTela: identificador da Tela utilizada para solicitação da operação. IdenFuncao: identificador da função associada com a operação solicitada. Data: data em que a operação foi solicitada. EnderecoRemoto: Endereço IP, ou Host, da máquina cliente usada para solicitar a operação. SiglaDominioUsuario: sigla do domínio do usuário que está solicitando a execução da operação. LoginUsuario: login do usuário que está solicitando a execução da operação. NomeUsuario: nome do usuário que está solicitando a execução da operação. Interface: definição da interface utilizada para executar a operação. Usado o padrão SiglaAplicacao/SiglaModulo/NomeTela Função: nome da função que está relacionada com a operação solicitada. Ex.: Cadastrar Funcionário Pág.:20

Guia do Programador. Versão 1.5.0.13-1/4/2006

Guia do Programador. Versão 1.5.0.13-1/4/2006 Versão 1.5.0.13-1/4/2006 Guia do Programador Tecnologia de Informação http://www.unitech.com.br Av. ACM, Ed. Fernandez Plaza, 22º andar Cidadela, Salvador - BA CEP: 40.280-630 Tel: (71) 350-9777 FAX: (71)

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

PROCEDIMENTOS ARMAZENADOS (Stored Procedures)

PROCEDIMENTOS ARMAZENADOS (Stored Procedures) PROCEDIMENTOS ARMAZENADOS (Stored Procedures) 1. Introdução Stored Procedure é um conjunto de comandos, ao qual é atribuído um nome. Este conjunto fica armazenado no Banco de Dados e pode ser chamado a

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito)

8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) 8. Outros tipos de Transação (Modo de Transação de Autoconfirmação e Modo Implícito) Nos itens anteriores vimos transações do tipo explícitas, ou seja, aquelas que iniciam com BEGIN TRANSACTION. As outras

Leia mais

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak

Usando PostgreSQL na Regra de Negócio de um ERP. Fabiano Machado Dias Eduardo Wolak Usando PostgreSQL na Regra de Negócio de um ERP Fabiano Machado Dias Eduardo Wolak Regra de negócio? São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet. 1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA

CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA Página: 1/16 CONTEÚDOS PROGRAMÁTICOS DA ACADEMIA Módulo CBDS (Central de Banco de Dados Senior) A quem se destina: Todos que tiverem a necessidade de administrar os dados da base de dados da Senior Sistemas

Leia mais

Especificação de Requisitos

Especificação de Requisitos Projeto/Versão: Versão 11.80 Melhoria Requisito/Módulo: 000552 / Conector Sub-Requisito/Função: Multas Tarefa/Chamado: 01.08.01 País: Brasil Data Especificação: 13/05/13 Rotinas Envolvidas Rotina Tipo

Leia mais

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MINISTÉRIO DO DESENVOLVIMENTO AGRÁRIO SUBSECRETARIA DE PLANEJAMENTO, ORÇAMENTO E ADMINISTRAÇÃO COORDENAÇÃO-GERAL DE MODERNIZAÇÃO E INFORMÁTICA CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS MANUAL

Leia mais

Integridade dos Dados

Integridade dos Dados 1 Integridade dos Dados Integridade dos Dados Melissa Lemos melissa@inf.puc-rio.br A integridade dos dados é feita através de restrições, que são condições obrigatórias impostas pelo modelo. Restrições

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Processo de Controle das Reposições da loja

Processo de Controle das Reposições da loja Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido

Leia mais

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce Novo Módulo disponível no TOTVS S1 Varejo: permissão de utilização através de licença específica. Mesmo não adquirindo a licença de uso do módulo ele continuará presente na tela do usuário. 1 Na opção

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Persistência de Dados

Persistência de Dados Persistência de s Universidade do Estado de Santa Catarina - Udesc Centro de Ciências Tecnológicas - CCT Departamento de Ciência da Computação Tecnologia de Sistemas de Informação Estrutura de s II - DAD

Leia mais

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

AJAX no GASweb. Mas e afinal, para que usamos o AJAX? Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente

Leia mais

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função

15/03/2010. Análise por pontos de função. Análise por Pontos de Função. Componentes dos Pontos de Função. Componentes dos Pontos de Função Análise por pontos de função Análise por Pontos de Função Referência: Manual de práticas de contagem IFPUG Versão 4.2.1 Técnica que permite medir a funcionalidade de um software ou aplicativo, sob a visão

Leia mais

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger

PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger PROGRAMAÇÃO EM BANCO DADOS Stored Procedure e Trigger A tecnologia de banco de dados permite persistir dados de forma a compartilha-los com varias aplicações. Aplicação 1 aplicação 2 aplicação 3 SGDB Banco

Leia mais

FAPLAN - Faculdade Anhanguera Passo Fundo Gestão da Tecnologia da Informação Banco de Dados II Prof. Eder Pazinatto Stored Procedures Procedimento armazenados dentro do banco de dados Um Stored Procedure

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Síntese das discussões do fórum Livro-APF: Julho/2010

Síntese das discussões do fórum Livro-APF: Julho/2010 Síntese das discussões do fórum Livro-APF: Julho/2010 Assunto: Estimativa de Aumento de Produtividade Data: 01/07/2010 Link: http://br.groups.yahoo.com/group/livro-apf/message/2577 Dúvida: Existe alguma

Leia mais

Validando dados de páginas WEB

Validando dados de páginas WEB Validando dados de páginas WEB Para que validar os dados? Validar os dados informados pelo usuário garante que sua aplicação funcione corretamente e as informações contidas nela tenha algum sentido. Outro

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados Prof. Marcelo Siedler Objetivos do documento: Apresentar os conceitos de stored procedutes e funções. Exercícios. Referência: http://dev.mysql.com/doc/refman/4.1/pt/stored-procedures.html

Leia mais

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...

Leia mais

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR 8VDQGRSDUkPHWURV 8VDQGRSDUkPHWURV O envio de parâmetros para um relatório é uma das funções mais úteis do Report Manager, com eles você pode: Permitir que o usuário final altere palavras ou sentenças de um relatório; Atribuir

Leia mais

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser A1Criando um módulo de negócio Capítulo 27 Aplicação dividida em módulos - Introdução Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser compreendido como uma solução de

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Cenários do CEL. Acessar ao sistema

Cenários do CEL. Acessar ao sistema Cenários do CEL Acessar ao sistema Permitir que o usuário acesse ao Sistema de Léxicos e Cenários nas seguintes condições: logando-se, quando já estiver cadastrado; ou incluindo usuário independente, quando

Leia mais

Manual do sistema SMARsa Web

Manual do sistema SMARsa Web Manual do sistema SMARsa Web Módulo Gestão de atividades RS/OS Requisição de serviço/ordem de serviço 1 Sumário INTRODUÇÃO...3 OBJETIVO...3 Bem-vindo ao sistema SMARsa WEB: Módulo gestão de atividades...4

Leia mais

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO

PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Compra Direta - Guia do Fornecedor PORTAL DE COMPRAS SÃO JOSÉ DO RIO PRETO Página As informações contidas neste documento, incluindo quaisquer URLs e outras possíveis referências a web sites, estão sujeitas

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET Programação para Internet I Aula 10 PHP: Trabalhando com Banco de Dados leticia@cafw.ufsm.br Acessando

Leia mais

Personalizações do mysuite

Personalizações do mysuite Personalizações do mysuite 1. mysuite... 2 2. Customização de campos... 3 3. Importação de dados... 3 4. Integração de sistemas... 3 5. Personalização do Atendimento Online... 4 5.1. Imagens de online

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 1 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Apresenta a diferença entre dado e informação e a importância

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2

Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Desenvolvimento Web III Manipulação de Dados em PHP (Visualizar, Inserir, Atualizar e Excluir) Parte 2 Prof. Mauro Lopes 1-31 21 Objetivos Nesta aula iremos trabalhar a manipulação de banco de dados através

Leia mais

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO

SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO SISTEMA DE GERENCIAMENTO DE PROJETOS - REDMINE MANUAL DE USO AGOSTO DE 2013 SUMÁRIO STI/UFF - Sistema de Gerenciamento de Projetos do PDI SUMÁRIO... 2 1 Introdução... 3 1.1 O que é e qual a finalidade

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Guia de Atualização TOTVS Segurança e Acesso 12.1

Guia de Atualização TOTVS Segurança e Acesso 12.1 06/2015 Sumário 1 Prefácio... 3 1.2 Finalidade... 3 1.3 Público Alvo... 3 1.4 Organização deste Guia... 3 1.5 Documentações Importantes... 3 2 Atualização... 4 2.1 Executando o Updater de Atualização...

Leia mais

Procedimentos para Reinstalação do Sisloc

Procedimentos para Reinstalação do Sisloc Procedimentos para Reinstalação do Sisloc Sumário: 1. Informações Gerais... 3 2. Criação de backups importantes... 3 3. Reinstalação do Sisloc... 4 Passo a passo... 4 4. Instalação da base de dados Sisloc...

Leia mais

Transações Seguras em Bancos de Dados (MySQL)

Transações Seguras em Bancos de Dados (MySQL) Transações Seguras em Bancos de Dados (MySQL) Índice Entendendo os storage engines do MySQL 5 1 As ferramentas 1 Mais algumas coisas que você deve saber 1 Com a mão na massa 2 Mais ferramentas Usando o

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3

MANUAL C R M ÍNDICE. Sobre o módulo de CRM... 2. 1 Definindo a Campanha... 3 ÍNDICE Sobre o módulo de CRM... 2 1 Definindo a Campanha... 3 1.1 Incluir uma campanha... 3 1.2 Alterar uma campanha... 4 1.3 Excluir... 4 1.4 Procurar... 4 2 Definindo os clientes para a campanha... 4

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

MANUAL DE UTILIZAÇÃO

MANUAL DE UTILIZAÇÃO MANUAL DE UTILIZAÇÃO Módulo de operação Ativo Bem vindo à Vorage CRM! Nas próximas paginas apresentaremos o funcionamento da plataforma e ensinaremos como iniciar uma operação básica através do nosso sistema,

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

C# - Conexão com MySQL

C# - Conexão com MySQL E S T A A P R E S E N T A Ç Ã O F O I E L A B O R A D A COMO M A T E R I A L DE A P O I O À A U L A DO P R O F E S S O R L E O L A R B A C K A O S A L U N O S DA E S C O L A T É C N I C A P O L I M I G.

Leia mais

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais Universidade Federal do Estado do Rio de Janeiro UNIRIO Programa de Pós-Graduação em Informática Guia para criação do banco de dados de redes sociais Edvaldo Artmann de Oliveira edvaldo.oliveira@uniriotec.br

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc. MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Uso do SQLite no Android Professor: Danilo Giacobo OBJETIVOS DA AULA Aprender a persistir dados utilizando o banco de dados SQLite. Conhecer e utilizar a classe SQLiteOpenHelper.

Leia mais

GERENCIADOR DE CONTEÚDO

GERENCIADOR DE CONTEÚDO 1/1313 MANUAL DO USUÁRIO GERENCIADOR DE CONTEÚDO CRISTAL 2/13 ÍNDICE 1. OBJETIVO......3 2. OPERAÇÃO DOS MÓDULOS......3 2.1 GERENCIADOR DE CONTEÚDO......3 2.2 ADMINISTRAÇÃO......4 Perfil de Acesso:... 4

Leia mais

Sistema de Controle de Solicitação de Desenvolvimento

Sistema de Controle de Solicitação de Desenvolvimento Sistema de Controle de Solicitação de Desenvolvimento Introdução O presente documento descreverá de forma objetiva as principais operações para abertura e consulta de uma solicitação ao Setor de Desenvolvimento

Leia mais

Manual de digitação de contas Portal AFPERGS

Manual de digitação de contas Portal AFPERGS Manual de digitação de contas Portal AFPERGS 1 Sumário Acesso à função digitação de contas... 3 O que é a Função digitação de contas (DC)... 4 Como proceder na função digitação de conta médica (DC)...

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA

Projeto SIGA-EPT. Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Projeto SIGA-EPT Manual do usuário Módulo Requisição de Almoxarifado SISTEMA INTEGRADO DE GESTÃO ACADÊMICA Versão setembro/2010 Requisição de Almoxarifado Introdução Requisição é uma solicitação feita

Leia mais

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com

Material de Apoio. SEB - Contas a Pagar. Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com Material de Apoio SEB - Contas a Pagar Versão Data Responsável Contato 1 05/12/2011 Paula Fidalgo paulaf@systemsadvisers.com Conteúdo CONFIGURAÇÃO... 3 Cadastro de Fornecedores... 3 Métodos de Pagamento...

Leia mais

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br

Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

1. Tela de Acesso pg. 2. 2. Cadastro pg. 3. 3. Abas de navegação pg. 5. 4. Abas dados cadastrais pg. 5. 5. Aba grupo de usuários pg.

1. Tela de Acesso pg. 2. 2. Cadastro pg. 3. 3. Abas de navegação pg. 5. 4. Abas dados cadastrais pg. 5. 5. Aba grupo de usuários pg. Sumário 1. Tela de Acesso pg. 2 2. Cadastro pg. 3 3. Abas de navegação pg. 5 4. Abas dados cadastrais pg. 5 5. Aba grupo de usuários pg. 6 6. Aba cadastro de funcionários pg. 7 7. Pedidos pg. 12 8. Cartões

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Manual Q-Acadêmico 2.0 Módulo Web - Aluno

Manual Q-Acadêmico 2.0 Módulo Web - Aluno Manual Q-Acadêmico 2.0 Módulo Web - Aluno Índice 1 Acessando o sistema via internet...3 2 Funcionalidades...6 2.1 Horário Individual...7 2.2 Calendário Acadêmico...8 2.3 Biblioteca...9 2.3.1 Consultar

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução SCIM 1.0 Guia Rápido Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal Introdução Nesta Edição O sistema de Controle Interno administra o questionário que será usado no chek-list

Leia mais

Microsoft Access XP Módulo Um

Microsoft Access XP Módulo Um Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed

Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed Agora todas as Unimeds vão falar uma só língua. Unimed do Brasil Federação São Paulo Portal Unimed Folheto perguntas e respostas (15X15)cm.indd 1 9/25/08 4:38:13 PM E as primeiras palavras são inovação,

Leia mais

Repeater no GASweb. Regiões

Repeater no GASweb. Regiões Repeater no GASweb Por: Rodrigo Silva O controle de servidor Repeater é um container básico que permite a você criar uma lista de qualquer informação que deseja em uma página Web. Ele não tem uma aparência

Leia mais

Leonardo Gresta Paulino Murta leomurta@gmail.com

Leonardo Gresta Paulino Murta leomurta@gmail.com Leonardo Gresta Paulino Murta leomurta@gmail.com O Que é JDBC? API de acesso a banco de dados relacional do Java Faz uso do driver provido pelo banco de dados Roda SQL (create, insert, update, etc.) no

Leia mais

Emissão de Nota Fiscal de Serviço Eletrônica

Emissão de Nota Fiscal de Serviço Eletrônica Emissão de Nota Fiscal de Serviço Eletrônica Introdução A emissão de Nota Fiscal de Serviço Eletrônica traz ao cliente TTransp a possibilidade de documentar eletronicamente as operações de serviço prestadas

Leia mais

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI

SERVICE DESK MANAGER SDM. Manual do Sistema - DPOI SERVICE DESK MANAGER SDM Manual do Sistema - DPOI Conteúdo SERVICE DESK MANAGER SDM... 1 Manual do Sistema - DPOI... 1 INTRODUÇÃO... 4 ACESSO AO SISTEMA... 5 OPÇÕES DO SISTEMA... 6 SISTEMA... 7 Pesquisar

Leia mais