Conheça o projeto Spring Data Neo4j e como utilizá-lo em ambientes de Cloud Computing.

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

Download "Conheça o projeto Spring Data Neo4j e como utilizá-lo em ambientes de Cloud Computing."

Transcrição

1 neo4j cloud_ Neo4j Cloud Deployment com Spring Data Conheça o projeto Spring Data Neo4j e como utilizá-lo em ambientes de Cloud Computing. Há pouco tempo, os bancos de dados relacionais eram a única opção para armazenar todo e qualquer tipo de dado. Mas, nos últimos anos, pudemos observar que o surgimento de novos requisitos para aplicações e a proliferação massiva de dados propiciou a criação de alternativas para armazenamento de informações. Entretanto, os bancos de dados relacionais possuem mais de 40 anos de história, e por ser uma área muito relevante no desenvolvimento de sistemas, diversos estudos sobre persistência de dados foram realizados, padrões e frameworks foram criados. Essas ações facilitaram a vida dos desenvolvedores, promovendo um código mais limpo e legível, buscando o baixo acoplamento com a tecnologia do SGBD (Sistema Gerenciador de Banco de Dados) utilizada. Em aplicações JSE (Java Standard Edition) ou JEE (Java Enterprise Edition), tudo isso está traduzido na especificação da JPA (Java Persistence API) e na técnica de ORM (Object-relational mapping). Infelizmente, o crescente número de diferentes modelos de persistência não significou o avanço ou inovação em modelos de programação para trabalhar com essas novas tecnologias. Sendo assim, os desenvolvedores voltaram a sofrer com APIs de baixo nível, que algumas vezes são confusas e repetitivas, deixando o trabalho com as tecnologias não-relacionais muito complexo e desgastante. Alguns projetos começam a surgir, com o objetivo de facilitar o uso das novas tecnologias de armazenamento. Um deles é o Spring Data, que traz um modelo de programação conveniente já existente no Spring Framework, para os bancos de dados não-relacionais. Neste artigo é apresentado o subprojeto Spring Data Neo4j, que como o nome já indica, busca prover o suporte ao banco de dados orientado a grafos Neo4j. Veremos como o modelo de desenvolvimento baseado em anotações e AspectJ simplifica o uso do Neo4j, e como utilizá-lo na nuvem, demonstrando as configurações necessárias para realizar o deploy em duas importantes plataformas de Cloud Computing: Heroku e OpenShift. Bancos de dados orientados a grafo Um banco de dados orientado a grafos é um sistema de armazenamento não-relacional, onde o foco consiste em dados altamente interligados e com semântica através de relacionamentos, viabilizando a execução de consultas de alta performance sobre conjuntos de dados complexos. Propriedades podem ser adicionadas em nodos e relacionamentos. Algumas áreas de aplicação:» Sistemas de recomendação» Genealogia» Catálogo de produtos» Estatísticas» Computação científica (bioinformática, por exemplo)» Computação geográfica» Redes sociais Persistência Poliglota Você já ouviu falar sobre Polyglot Programming, certo? E Polyglot Persistence, já? Martin Fowler e Pramod Sadalage produziram uma excelente apresentação sobre o assunto que vale a pena conferir. Veja o link nas referências do artigo. E ainda, o lançamento do livro NoSQL Distilled, previsto para agosto. / 50

2 Tomás Augusto Müller Desenvolvedor de software com foco em server-side e UX. Realiza atividades de Pesquisa e Desenvolvimento e atua na área de TI há 9 anos, com vivência em Desenvolvimento de Software e Metodologias Ágeis, tendo conquistado dois prêmios internacionais e menções honrosas em desafios de desenvolvimento. É bacharel em Ciência da Computação pela UNISC Universidade de Santa Cruz do Sul. Spring Data é um agregado de projetos que viabiliza o uso de diferentes modelos de persistência pelo desenvolvedor, sem que o mesmo precise utilizar APIs complexas ou de baixo nível. Este artigo tem como foco o subprojeto Spring Data Neo4j, apresentando também a forma de efetuar o deploy nas plataformas Heroku e RedHat OpenShift. Neo4j O Neo4j é um banco de dados NoSQL, completamente transacional (ACID), que armazena as informações representadas em grafos. Um grafo consiste em nodos, interligados por relacionamentos. Ambos os nodos e relacionamentos (conhecidos também por arestas, na teoria dos grafos) podem possuir atributos, armazenados no formato de chave/valor. Possui sua própria linguagem para realizar consultas e percorrer o grafo, chamada Cypher Query Language. O Neo4j é a solução líder em banco de dados NoSQL orientado a grafos. Apenas para despertar a curiosidade, Peter Bell durante sua apresentação na conferência DevNexus 2012, exibiu um slide onde um desenvolvedor reportou que o Neo4j executou uma consulta em 2 segundos, contra eternos 45 minutos no SQL Server (veja o link para a apresentação nas referências). É um projeto open source, com uma comunidade em constante crescimento, está sob a licença GPL para a versão Community e AGPL para as versões Advanced e Enterprise. Isso significa que para o seu produto comercial utilizar o Neo4j, ele deverá ser open source para o cliente, caso contrário será necessário adquirir uma licença. Além de produzir o Neo4j, a empresa NeoTechnology também oferece suporte, consultoria, treinamento e assistência para migrações, contando com uma lista crescente de clientes, entre eles Adobe e Cisco. Apresentando o projeto Spring Data Spring Data é um projeto da SpringSource que visa proporcionar um modelo de programação conveniente e algumas convenções já existentes no Spring Framework, para o desenvolvimento de projetos que utilizem bancos de dados NoSQL. Atualmente encontra-se subdividido nas seguintes categorias e subprojetos: Categoria Subprojeto Relational Databases JPA e JDBC Extensions Big Data Hadoop Data-Grid GemFire Key-Value Stores Redis, Riak Document Stores MongoDB, CouchDB* Graph Databases Neo4j Column Stores Hbase*, Cassandra* Blob-Stores Blob (ex.: Amazon S3, Rackspace, Azure) * suporte planejado /para saber mais Um grafo é uma estrutura de dados que serve para representar muitos artefatos reais de forma natural: redes sociais e relações entre objetos em geral, redes de computadores, estradas, hierarquias de dados em vários tipos de sistema (como, por exemplo, diretórios em um computador) e muitos outros exemplos podem ser representados como grafos. Para saber mais sobre grafos e a API Jung, cujo principal objetivo é facilitar a utilização de grafos em aplicações Java, veja os artigos Introdução à Representação e Análise de Grafos com a API Jung e Visualização Gráfica de Grafos com a API Jung, nas edições 49 e 50 da Revista MundoJ, respectivamente. Para mais informações sobre o Neo4j, você pode consultar a edição da MundoJ de janeiro de 2012, onde foi publicado o artigo Neo4j na Prática, demonstrando como utilizar o Neo4J para simplificar a solução de problemas não triviais em bancos de dados relacionais e como o Neo4j pode ser considerado uma boa alternativa à tradicional modelagem relacional. 51 \

3 Spring Data Neo4j O subprojeto Spring Data Neo4j, sendo parte desta iniciativa, busca simplificar a implementação de aplicações que utilizem o banco de dados orientado a grafos Neo4j, habilitando o desenvolvimento baseado em POJOs (Plain Old Java Object), mapeando as classes que representam nodos ou relacionamentos para o banco de dados Neo4j, assim como a JPA faz para o modelo relacional. Para as funcionalidades onde é necessário acessar a API nativa do Neo4j, devido a questões de performance, por exemplo, o Spring Data Neo4j permite o acesso a qualquer momento, sem a necessidade de configurações adicionais. A seguir é demonstrada a criação de dois nodos e um relacionamento entre os mesmos, através da API do Neo4j (Listagem 1) e na Listagem 2 utilizando o Spring Data Neo4j. Listagem 1. Criação de dois nodos e um relacionamento com a API do Neo4j. GraphDatabaseService graphdb = new EmbeddedGraphDatabase( mydatabase.db ); Transaction tx = graphdb.begintx(); try { Node company = graphdb.createnode(); company.setproperty( name, PETROBRAS ); Node symbol = graphdb.createnode(); symbol.setproperty( name, PETR4.SA ); Relationship relationship = company.createrelationshipto(symbol, DynamicRelationshipType.withName( LISTED_AS )); tx.success(); } finally { tx.finish(); } Listagem 2. Criação de dois nodos e um relacionamento utilizando Spring Data Neo4j. Company company = new Company( PETROBRAS ); Symbol symbol = new Symbol( PETR4.SA ); company.addsymbol(symbol); company.persist(); Comparando as Listagens 1 e 2, é possível perceber que a segunda oferece um ganho não somente quanto à legibilidade do código, mas também na produtividade, possibilitando que o desenvolvedor utilize uma modelagem de domínio conforme já está habituado. Vejamos a seguir como o projeto Spring Data Neo4j está organizado e as principais funcionalidades que são oferecidas para o desenvolvedor. Bibliotecas» spring-data-neo4j: repositórios para mapeamento, escrita e leitura entre objetos e o grafo.» spring-data-neo4j-aspects: mapeamento entre objetos e o grafo, utilizando AspectJ.» spring-data-neo4j-cross-store: persistência mista utilizando JPA e Neo4j.» spring-data-neo4j-rest: acesso transparente a um servidor Neo4j REST remoto. Neo4jTemplate A classe Neo4jTemplate oferece uma API familiar aos já conhecidos templates do Spring Framework (ex.: JpaTemplate, HibernateTemplate, JdbcTemplate, entre outros.). Além de métodos para criar, armazenar e excluir entidades, nodos e relacionamentos no grafo, este template oferece uma ampla gama de métodos para consulta e travessia do grafo utilizando ou não índices. Possibilita também a execução de Cypher ou Gremilin Queries. Repositórios Os repositórios fornecidos pelo Spring Data Neo4j são baseados na infraestrutura de repositórios do subprojeto Spring Data Commons (veja nas referências). Eles permitem a composição de repositórios através de múltiplas interfaces, fornecendo implementações padrão para algumas interfaces e possibilitam também implementações personalizadas de acordo com a necessidade. Vejamos alguns dos repositórios que estão disponíveis através do Spring Data Neo4j:» CRUDRepository: repositório para operações CRUD.» IndexRepository e NamedIndexRepository: consultas utilizando o sistema de índices do Neo4j.» TraversalRepository: operações para travessia do grafo.» RelationshipOperationsRepository: métodos para acessar, criar e excluir relacionamentos entre entidades ou nodos.» SpatialRepository: permite a execução de pesquisas geográficas no grafo.» GraphRepository: combina outros três repositórios em uma interface: CRUDRepository, IndexRepository, TraversalRepository. Caso outras operações sejam necessárias, você poderá criar o seu próprio repositório, complementando com as interfaces acima, conforme representado na Listagem 3. Listagem 3. Repositório personalizado para a entidade Company. public interface CompanyRepository extends GraphRepository<Company> { Iterable<Company> findbynamelike(string name) } / 52

4 AspectJ Active Record Mixin Utilizando o mapeamento avançado das entidades entre o banco de dados Neo4j, diversos métodos são introduzidos durante a compilação (através de AspectJ weaving). Confira na Listagem 4 alguns deles. Listagem 4. Métodos disponíveis em nodos NodeEntity) ou relacionamentos utilizando mapeamento avançado. nodeentity.persist() nodeentity.getnodeid(); relationshipentity. getrelationshipid() nodeentity.getpersistentstate() nodeentity.relateto(targetentity, relationshipclass, relationshiptype) nodeentity.relateto(targetentity, relationshiptype) nodeentity.getrelationshipto(targetentity, relationshipclass, relationshiptype) nodeentity.getrelationshipto(targetenttiy, relationshiptype) nodeentity.removerelationshipto(targetentity, relationshiptype) nodeentity.remove(); relationshipentity.remove() nodeentity.findallbytraversal(targettype, traversaldescription) nodeentity.findallbyquery(cypherquery, targetentityclass, params) Anotações para o modelo de marca uma classe de domínio como um nodo no marca uma classe de domínio como um relacionamento no campo identificador do indextype): atributos que serão indexados e disponibilizados para recuperação através da API de direction): define o tipo e a direção de um relacionamento sobre outra entidade ou uma direction): assim mas para params, querytype): campo calculado através de uma consulta expressa em Cypher ou elementclass, params): campo calculado, executa a travessia a partir de um determinado nodo. Como podemos perceber, o Spring Data Neo4j oferece uma série de opções para simplificar o desenvolvimento. Além disso, todo o conjunto de tecnologias oferecidas pelo Spring Framework, tais como injeção de dependências, controle de transações, segurança, AOP (Aspect Oriented Programming), estão ao nosso alcance. Veremos no próximo tópico os passos necessários para iniciar a construção de uma nova aplicação e as configurações disponíveis para deploy na nuvem. Configuração do ambiente Para começar o desenvolvimento da sua aplicação, serão necessárias algumas configurações iniciais, informando as dependências do Spring Data Neo4j para o Maven. Além disso, caso opte por utilizar o mapeamento avançado de entidades, nodos e relacionamentos, será necessário configurar o AspectJ weaving utilizando os aspectos definidos nas bibliotecas spring-aspects e spring-data-neo4j-aspects. Após estas configurações no pom.xml, você precisa apenas configurar no contexto do Spring a utilização do Spring Data Neo4j. Independentemente da abordagem escolhida (avançada ou simples), utilizando o Maven como ferramenta de build, recomenda-se configurar algumas propriedades no pom.xml, a fim de facilitar a atualização das versões de bibliotecas. Também é necessário adicionar o repositório para localização das bibliotecas do Neo4j. Confira as Listagens 5 e 6. Listagem 5. Configuração de propriedades no pom. xml. <properties> <project.build.sourceencoding>utf-8 </project.build.sourceencoding> <maven.compiler.source>1.6</maven.compiler.source> <maven.compiler.target>1.6</maven.compiler.target> <spring.version>3.0.7.release</spring.version> <aspectjrt.version>1.6.12</aspectjrt.version> <neo4j.version>1.6</neo4j.version> <spring-data-neo4j.version>2.0.0.release </spring-data-neo4j.version> </properties> Listagem 6. Configuração do repositório com as bibliotecas do Neo4j. <repositories> <repository> <id>neo4j-release-repository</id> <name>neo4j Maven 2 release repository</name> <url>http://m2.neo4j.org/content/ repositories/releases/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> Dependências do mapeamento simples Utilizando o mapeamento simples, você terá toda a infraestrutura de repositórios, templates e anotações apresentadas, menos as funcionalidades intro- 53 \

5 duzidas pelo weaving de entidades através do AspectJ. Para utilizar esta abordagem, é necessário apenas adicionar a biblioteca principal do Spring Data Neo4j. Se desejar utilizar a linguagem Cypher para consultas no grafo, basta adicionar a respectiva biblioteca. Confira a Listagem 7. Listagem 7. Configuração das dependências para o mapeamento simples utilizando Maven. <groupid>org.springframework.data</groupid> <artifactid>spring-data-neo4j</artifactid> <version>${spring-data-neo4j.version}</version> <groupid>org.neo4j</groupid> <artifactid>neo4j-cypher</artifactid> <version>${neo4j.version}</version> Dependências do mapeamento avançado Utilizando este modo, a dependência a ser configurada é a spring-data-neo4j-aspects, que realizará o download de todas as partes do Spring Framework (core, context, aop, aspects, tx), AspectJ, Neo4j e Spring Data Commons. Listagem 8. Configuração das dependências para o mapeamento avançado utilizando Maven. <groupid>org.springframework.data</groupid> <artifactid>spring-data-neo4j-aspects</artifactid> <version>${spring-data-neo4j.version}</version> <groupid>org.aspectj</groupid> <artifactid>aspectjrt</artifactid> <version>${aspectjrt.version}</version> Devido ao uso do AspectJ no mapeamento avançado, será necessário configurar o plugin do AspectJ para o Maven utilizá-lo durante o processo de build, informando as bibliotecas que possuem os aspectos a serem utilizados. Listagem 9. Configuração do plugin AspectJ para o Maven. <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>aspectj-maven-plugin</artifactid> <version>1.2</version> <dependencies> <groupid>org.aspectj</groupid> <artifactid>aspectjrt</artifactid> <version>${aspectjrt.version}</version> <groupid>org.aspectj</groupid> <artifactid>aspectjtools</artifactid> <version>${aspectjrt.version}</version> </dependencies> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> <configuration> <outxml>true</outxml> <aspectlibraries> <aspectlibrary> <groupid>org.springframework</groupid> <artifactid>spring-aspects</artifactid> </aspectlibrary> <aspectlibrary> <groupid>org.springframework.data</groupid> <artifactid>spring-data-neo4j-aspects </artifactid> </aspectlibrary> </aspectlibraries> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> Neo4j Cloud Deployment Basicamente existem duas formas diferentes para deploy de aplicações que utilizam o banco de dados Neo4j, e por meio das plataformas Heroku e OpenShift, você poderá experimentar cada uma delas. Heroku Na plataforma de Cloud Computing da Heroku é possível utilizar o Neo4j através da API REST disponibilizada pelo Neo4j Server, fazendo uso do add-on Neo4j oferecido pela própria NeoTechnology para a infraestrutura do Heroku. Este add-on, no momento de escrita deste artigo, encontra-se em fase beta, é gratuito e oferece 256MB para armazenamento. É necessário utilizar o add-on Neo4j, pois a Heroku não oferece um diretório para armazenamento persistente de arquivos e dados (os Dynos unidades de processamento da plataforma possuem espaços para escrita e leitura, mas são efêmeros, segundo James Ward Evangelista Java na Heroku, veja nas referências). Confira na Listagem 10 os passos necessários para criar sua aplicação no cloud da Heroku: / 54

6 Listagem 10. Comandos para criar uma aplicação com o add-on Neo4j, utilizando o terminal. heroku create --stack cedar heroku addons:add neo4j O próximo passo é adicionar as configurações do Spring Data Neo4j no contexto do Spring Framework da sua aplicação, conforme mostra a Listagem 11. Listagem 11. Configuração para deploy no Heroku, utilizando o add-on Neo4j e interface REST com a API do Neo4j. <neo4j:config graphdatabaseservice= graphdatabaseservice /> <bean id= graphdatabaseservice class= org. springframework.data.neo4j. rest.springrestgraphdatabase > <constructor-arg index= 0 value= ${NEO4J_REST_URL} /> <constructor-arg index= 1 value= ${NEO4J_LOGIN} /> <constructor-arg index= 2 value= ${NEO4J_PASSWORD} /> </bean> Observe as três variáveis de ambiente utilizadas na configuração. Estas variáveis são adicionadas e configuradas automaticamente para sua aplicação no momento em que o add-on Neo4j é adicionado. Para conferi-las no terminal, utilize o comando: heroku config. Finalizando as configurações dos arquivos de contexto, a aplicação está pronta para deploy através do habitual git push heroku master. RedHat OpenShift Ao contrário do que ocorre na plataforma da Heroku, no ambiente de cloud computing da RedHat, temos a possibilidade de utilizar um espaço para armazenamento persistente de arquivos. Este diretório pode ser referenciado na sua aplicação através da variável de ambiente OPENSHIFT_DATA_DIR, disponível para qualquer aplicação criada no ambiente do OpenShift. Desta forma, ao invés de utilizar o Neo4j através da sua API REST, utilizaremos o acesso direto a disco, o que garante vantagens em termos de desempenho, uma vez que não existe o overhead do protocolo http em função da utilização da API REST. Os passos necessários são muito similares aos demonstrados anteriormente. A Listagem 12 mostra como iniciar uma aplicação Java com o servidor de aplicação JBoss 7. Observe que no OpenShift é preciso informar o tipo da aplicação já no momento de sua criação. Listagem 12. Comando para criar uma aplicação Java no OpenShift, utilizando o terminal. rhc-create-app -a <nome-aplicação> -t jbossas-7 -l <seu-login> Após efetuar as configurações necessárias de acordo com a estrutura da sua aplicação, adicione a seguinte linha no arquivo de contexto do Spring Framework, a fim de configurar o Spring Data Neo4j para utilizar o armazenamento persistente em disco. Listagem 13. Configuração para deploy no OpenShift, utilizando o armazenamento persistente em disco. <neo4j:config storedirectory= ${OPENSHIFT_DATA_DIR}/myDatabase.db /> Análogo ao deploy no Heroku utilize o comando git push para lançar sua aplicação no cloud da RedHat. Considerações finais Os bancos de dados NoSQL vieram para ficar, pois são soluções para muitos problemas, tais como: altos níveis de concorrência, escalabilidade, processamento de filas, altas taxas de escrita e leitura de dados, entre outros. Projetos como Spring Data devem ser considerados para a arquitetura da sua aplicação, já que potencializam a implementação de sistemas com uma camada de persistência híbrida, e o mais importante: reduzem drasticamente a barreira de entrada para utilização das novas tecnologias de armazenamento, mantendo o desenvolvimento simples e produtivo. /referências Polyglot Persistence: PolyglotPersistence.html Apresentação NoSQL Intro : articles/nosql-intro.pdf Neo4j The Benefits of Graph Databases: infoq.com/presentations/emil-eifrem-neo4j DevNexus 2012 Peter Bell Neo4J High Performance NoSQL Graph Database: Spring Data Commons: spring-data/data-commons/docs/current/reference/html/ Neo4j e regras de licenciamento: Spring Data Neo4j exemplos: https://github.com/ SpringSource/spring-data-neo4j/tree/master/spring-dataneo4j-examples Escrita e leitura em dynos (Heroku): Neo4j OpenShift Template: https://github.com/ tomasmuller/openshift-neo4jtemplate 55 \

Uma Breve Introdução. Andréa Bordin

Uma Breve Introdução. Andréa Bordin Uma Breve Introdução Andréa Bordin O que significa? NoSQL é um termo genérico que define bancos de dados não-relacionais. A tecnologia NoSQL foi iniciada por companhias líderes da Internet - incluindo

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

Como entrar no mundo dos bancos de dados de grafo

Como entrar no mundo dos bancos de dados de grafo neo4j_ Neo4j na prática Como entrar no mundo dos bancos de dados de grafo O mundo dos bancos de dados não-relacionais (NoSQL) cada vez mais tem ganhado reconhecimento do mercado, inclusive com grandes

Leia mais

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Minicurso: Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL Geomar A. Schreiner Ronaldo S. Mello Departamento de Informática e Estatística (INE) Programa de Pós-Graduação em

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora?

Neo4j Aprendendo conceitos por trás do Neo4j. Sem SQL? Apresentação. Por que grafos, por que agora? Por que grafos, por que agora? Neo4j Aprendendo conceitos por trás do Neo4j Universidade Federal do Paraná - UFPR Programa de Pós-Graduação em Informática - PPGInf Oficina de Banco de Dados - CI829 Profa: Dra. Carmem Hara Aluno: Walmir

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Introdução aos Bancos de Dados Não-Relacionais Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador) Conteúdo Histórico de BDs não-relacionais na Web 4 Categorias de bancos NoSQL Exemplos de

Leia mais

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014 NoSQL Cintia Freitas de Moura BCC 441 Banco de Dados II / 2014 Origem: O termo NoSQL foi usado pela primeira vez em 1998, como o nome de um banco de dados relacional de código aberto que não possuía um

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Engenharia de software 2011A. Trabalho sobre

Engenharia de software 2011A. Trabalho sobre Engenharia de software 2011A Trabalho sobre NOSQL Not only SQL NoSQL Not only SQL GRUPO - 9 Cléverton Heming Jardel Palagi Jonatam Gebing Marcos Wassem NOSQL O Termo NoSQL, foi utilizado pela primeira

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

JPA: Persistência padronizada em Java

JPA: Persistência padronizada em Java JPA: Persistência padronizada em Java FLÁVIO HENRIQUE CURTE Bacharel em Engenharia de Computação flaviocurte.java@gmail.com Programação Orientada a Objetos X Banco de Dados Relacionais = Paradigmas diferentes

Leia mais

Heroku. Implantando Aplicações Java no. heroku_. Descubra como é fácil ter sua aplicação rodando em Cloud Computing

Heroku. Implantando Aplicações Java no. heroku_. Descubra como é fácil ter sua aplicação rodando em Cloud Computing heroku_ Implantando Aplicações Java no Heroku Descubra como é fácil ter sua aplicação rodando em Cloud Computing O que é o Heroku? Heroku é uma plataforma de cloud computing que foi criada para facilitar

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift

OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift OCEL001 Comércio Eletrônico Módulo 9_3: OpenShift Prof. Charles Christian Miers e-mail: charles.miers@udesc.br OpenShift Solução livre de PaaS da RedHat Aquisição da Makara em 2010 Principais concorrentes:

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

Persistência de Dados em Java com JPA e Toplink

Persistência de Dados em Java com JPA e Toplink Persistência de Dados em Java com JPA e Toplink Vinicius Teixeira Dallacqua Curso de Tecnologia em Sistemas para Internet Instituto Federal de Educação, Ciência e Tecnologia - IFTO AE 310 Sul, Avenida

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

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Fundação Universidade Estadual de Maringá

Fundação Universidade Estadual de Maringá Fundação Universidade Estadual de Maringá PAD/DIRETORIA DE MATERIAL E PATRIMÔNIO AVISO DE LICITAÇÃO EDITAL 485/2007 CONCORRÊNCIA PÚBLICA - PROC.: N 15344/2007 OBJETO: CONTRATAÇÃO DE UMA EMPRESA ESPECIALIZADA

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Dados em Java. Introdução

Dados em Java. Introdução Interface Gráfica e Banco de Dados em Java Introdução Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Licença para uso e

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

CURSO DESENVOLVEDOR JAVA Edição 2010 CURSO DESENVOLVEDOR JAVA Edição 2010 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES Hugo Henrique Rodrigues Correa¹, Jaime Willian Dias 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil hugohrcorrea@gmail.com, jaime@unipar.br Resumo.

Leia mais

Spring: Um suite de novas opções para Java EE

Spring: Um suite de novas opções para Java EE Spring: Um suite de novas opções para Java EE Alberto J Lemos (Dr. Spock) Instrutor Globalcode Ricardo Jun Taniguchi Instrutor Globalcode 1 Agenda > Sobre o Spring Framework > Escopo de integração com

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

Java e Banco de Dados: JDBC, Hibernate e JPA

Java e Banco de Dados: JDBC, Hibernate e JPA Java e Banco de Dados: JDBC, Hibernate e JPA 1 Objetivos Apresentar de forma progressiva as diversas alternativas de persistência de dados que foram evoluindo na tecnologia Java, desde o JDBC, passando

Leia mais

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education

JPA Passo a Passo. Henrique Eduardo M. Oliveira henrique@voffice.com.br. Globalcode Open4Education JPA Passo a Passo Henrique Eduardo M. Oliveira henrique@voffice.com.br 1 Palestrante Henrique Eduardo M. Oliveira (henrique@voffice.com.br) > Trabalha: Arquiteto JEE / Instrutor Java > Formação: Ciências

Leia mais

GUIA RÁPIDO DE UTILIZAÇÃO DO APLICATIVO RDB2LOD

GUIA RÁPIDO DE UTILIZAÇÃO DO APLICATIVO RDB2LOD GUIA RÁPIDO DE UTILIZAÇÃO DO APLICATIVO RDB2LOD Em sua versão inicial, o aplicativo RDB2LOD foi desenvolvido para instalação e execução em ambiente de máquina virtual Java, e oferece suporte aos SGBDs

Leia mais

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério.

Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. EDSON GONÇALVES Este livro é dedicado a minha esposa Edna e a todos os desenvolvedores que fizeram do software livre um meio profissional levado a sério. AGRADECIMENTOS Primeiramente gostaria de agradecer

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II

Pollyanna Gonçalves. Seminário da disciplina Banco de Dados II Pollyanna Gonçalves Seminário da disciplina Banco de Dados II Web 2.0 vem gerando grande volume de dados Conteúdo gerado por redes sociais, sensores inteligentes, tecnologias de colaboração, etc. Novas

Leia mais

Abordagem NoSQL uma real alternativa

Abordagem NoSQL uma real alternativa 1 Abordagem NoSQL uma real alternativa Renato Molina Toth Universidade Federal de São Carlos Campus Sorocaba Sorocaba, São Paulo email: renatomolinat@gmail.com Abstract Nas grandes aplicações web, desktop

Leia mais

Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota

Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota Fábio Roberto Oliveira, Luis Mariano del Val Cura Faculdade Campo Limpo Paulista (FACCAMP)

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

Mapeamento Lógico/Relacional com JPA

Mapeamento Lógico/Relacional com JPA Mapeamento Lógico/Relacional com JPA Elaine Quintino da Silva Doutora em Ciência da Computação pelo ICMC-USP/São Carlos Analista de Sistemas UOL PagSeguro Instrutora Globalcode Agenda! Persistência de

Leia mais

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ROBERTO ROSIN SISTEMA PARA COMPOSIÇÃO E CORREÇÃO DE LISTAS DE QUESTÕES DE MÚLTIPLA ESCOLHA

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1.

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL. Java Peristence API 1. UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA CIÊNCIA DA COMPUTAÇÃO LINGUAGENS PARA APLICAÇÃO COMERCIAL Java Peristence API 1.0 Salvador-Ba Março/2009 1 RAMON PEREIRA LOPES Java Peristence API

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Integrações e o ecossistema Java. Fabric8 ao Resgate!

Integrações e o ecossistema Java. Fabric8 ao Resgate! Integrações e o ecossistema Java Fabric8 ao Resgate! Quem sou eu? Leandro O. Gomes blog.leandrogomes.com @leandro_gomes 7 anos de estrada Arquiteto de Software na Owse no Rio de Janeiro Apaixonado por

Leia mais

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.

? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase. ? O SQL SERVER é um sistema de gerenciamento de banco de dados relacional que foi desenvolvido inicialmente pela Microsoft em parceria com a Sybase.? Desde de 1994, a Microsoft lança versões do SQL SERVER

Leia mais

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira ENTERPRISE JAVABEANS 3 Msc. Daniele Carvalho Oliveira Apostila Servlets e JSP www.argonavis.com.br/cursos/java/j550/index.html INTRODUÇÃO Introdução Enterprise JavaBeans é um padrão de modelo de componentes

Leia mais

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi.

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi. Capítulo 1 O Que é o Delphi Diferenças entre Delphi Client/Server do Delphi for Windows Características que compõem o Integrated Development Invironment (IDE) Como o Delphi se encaixa na família Borland

Leia mais

Bancos de dados NOSQL (Not Only SQL)

Bancos de dados NOSQL (Not Only SQL) Bancos de dados NOSQL (Not Only SQL) Qual banco de dados utilizado pelo Facebook e Twitter???? E pelo Google? Quando você digita pindamonhangaba no Google, e ele traz: "Aproximadamente 7.220.000 resultados

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance

Java Web/UI. Maven3 Redmine CVS. Áreas de conhecimento: Web o Aplicativos Web o Portal de conteúdo o REST Services Web Site Performance Java Web/UI Atribuições do cargo: Desenvolvimento de um Portal/Aplicativo Web de conteúdo público utilizando HTML5+CSS3+JS de design responsivo usando a Web API do portal de transparência como provedora

Leia mais

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API

ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API ALTO DESEMPENHO UTILIZANDO FRAMEWORK HIBERNATE E PADRÃO JAVA PERSISTENCE API Tiago Henrique Gomes da Silva Balduino 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil tiagobalduino77@gmail.com

Leia mais

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Oportunidades 05/05/2015

Oportunidades 05/05/2015 Oportunidades 05/05/2015 Sobre a Daitan: A Daitan é uma empresa brasileira, localizada em Campinas. Seu foco é a exportação de Serviços de Outsourcing em P&D e Serviços Profissionais em Telecomunicações,

Leia mais

Demoiselle Tutorial Módulo 1 Arquitetura

Demoiselle Tutorial Módulo 1 Arquitetura Demoiselle Tutorial Módulo 1 Arquitetura Vanderson Botelho da Silva (SERPRO/SUPST/STCTA) Emerson Sachio Saito (SERPRO/CETEC/CTCTA) Flávio Gomes da Silva Lisboa (SERPRO/CETEC/CTCTA) Serge Normando Rehem

Leia mais

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa _capa Integrando Aplicações Java com o Facebook Descubra como é fácil criar uma aplicação para rodar no Facebook Desde o lançamento oficial do Facebook, em 2004, o número de usuários vem aumentando a cada

Leia mais

Introdução. Tutorial do Xdoclet. Resumo

Introdução. Tutorial do Xdoclet. Resumo Tutorial do Xdoclet Resumo Apresentar a ferramenta XDoclet uma ferramenta utilizada como tarefa (task) do Jakarta Ant que permite executar e criar templates para gerar arquivos, inclusive código Java,

Leia mais

Java. no Google App Engine. Escreva aplicações Java para o serviço de Cloud Computing da Google

Java. no Google App Engine. Escreva aplicações Java para o serviço de Cloud Computing da Google Pedro Mariano (pedro.mariano@caelum.com.br): é técnologo em Análise e Desenvolvimento de Software pela FIAP, possui a certificação SCJP 6. Trabalha como consultor e desenvolvedor pela Caelum com linguagens

Leia mais

Persistindo dados com TopLink no NetBeans

Persistindo dados com TopLink no NetBeans Persistindo dados com TopLink no NetBeans O que é TopLink? O TopLink é uma ferramenta de mapeamento objeto/relacional para Java. Ela transforma os dados tabulares de um banco de dados em um grafo de objetos

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack Prof. Charles Christian Miers e-mail: charles.miers@udesc.br OpenStack OpenStack é um projeto de computação em nuvem criado em julho de 2010, fruto de

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção

FICHA DE CATALOGAÇÃO DE REVISTAS DE NOTÍCIAS. Coleção Título: SQL Magazine Notas de Título Feita para Desenvolvedores de Software e DBAs. Descrição Geral: Revista focada em banco de dados, análise, projeto e modelagem. Editor(es): Diretor responsável Gladstone

Leia mais

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS

JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO JAVA ENTERPRISE EDITION: PERSISTÊNCIA DE BANCO DE DADOS FOZ DO IGUAÇU 2013 SUMÁRIO 1. PERSISTÊNCIA

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

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

Leia mais

Implementação de BD. Banco de dados relacional. Elementos que compõem o banco de dados CAMPO REGISTRO TABELA. Paulo Damico MDK Informática Ltda.

Implementação de BD. Banco de dados relacional. Elementos que compõem o banco de dados CAMPO REGISTRO TABELA. Paulo Damico MDK Informática Ltda. Implementação de BD Banco de dados relacional Elementos que compõem o banco de dados CAMPO REGISTRO TABELA Implementação de BD CAMPO O elemento campo é a menor unidade de armazenamento de um banco de dados

Leia mais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1 EJB Introdução Versão Atual (maio/06): 3.0 Versão anterior: 2.1 Programação com Objetos Distribuídos (C. Geyer) J2EE EJBs 1 Autores Autores Cláudio Geyer Eduardo Studzinski Estima de Castro Gisele Pinheiro

Leia mais

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1

Leia mais

para persistência de objetos na Google App Engine

para persistência de objetos na Google App Engine capa_ Usando JSON para persistência de objetos na Google App Engine A criação de aplicações de larga escala com dados distribuídos exige que repensemos nossos modelos de persistência de objetos. Ambientes

Leia mais

Web-Services com JAX-WS. Capítulo. Introdução aos Web-Services via JAX-WS. - Um breve histórico sobre Web-Services. - SOAP x REST. Provendo um Serviço

Web-Services com JAX-WS. Capítulo. Introdução aos Web-Services via JAX-WS. - Um breve histórico sobre Web-Services. - SOAP x REST. Provendo um Serviço A1Provendo e Consumindo Web-Services com JAX-WS Capítulo 22 Introdução aos Web-Services via JAX-WS - Um breve histórico sobre Web-Services Os Web-Services são uma tecnologia popular para apoiar iniciativas

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua

Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua Software Open Source e Integração Contínua no Instituto de Informática Ferramentas de Integração Contínua Janeiro 2015 Área de Desenvolvimento Departamento de Arquitetura e Desenvolvimento Agenda Processo

Leia mais

PLANEJAMENTO DO DESENVOLVIMENTO E INTEGRAÇÕES

PLANEJAMENTO DO DESENVOLVIMENTO E INTEGRAÇÕES Anexo II C Extranet Social PLANEJAMENTO DO DESENVOLVIMENTO E INTEGRAÇÕES Página 1 de 15 Tudo que for diferente do que foi citado nesse documento deverá ser aprovado pela área de tecnologia do SESC. As

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT

RESUMO. Palavras-chave: Persistência. Framework ORM. JPA. Benckmark. ABSTRACT BENCHMARK DE FRAMEWORK MAPEAMENTO OBJETO-RELACIONAL (ORM) UMA ANÁLISE UTILIZANDO JAVA PERSISTENCE API (JPA) FRAMEWORK S BENCHMARK OBJECT-RELATIONAL MAPPING (ORM) - AN ANALYSIS USING JAVA PERSISTENCE API

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

Leia mais

J2EE TM Java 2 Plataform, Enterprise Edition

J2EE TM Java 2 Plataform, Enterprise Edition CURSO DE GRADUAÇÃO J2EE TM Java 2 Plataform, Enterprise Edition Antonio Benedito Coimbra Sampaio Junior abc@unama.br OBJETIVOS DO CURSO Capacitar os alunos no desenvolvimento de aplicações para a WEB com

Leia mais

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com)

Aula 5. Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Persistência com JDBC e JPA Aula 5 Carlos Eduardo de Carvalho Dantas (carloseduardocarvalhodantas@gmail.com) Quem é sábio procura aprender, mas os tolos estão satisfeitos com a sua própria ignorância..

Leia mais

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o conceito de Padrões de Projeto Compreender o Padrão MVC Conhecer o princípio de alguns dos

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás.

Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás. Grandes volumes de dados pertenciam ao domínio das aplicações científicas até há 15 anos atrás. Com o crescimento exponencial das aplicações Web o volume de dados que é produzido e processado tornou-se

Leia mais

ARQUITETURA DO SISTEMA ERP PEGASUS

ARQUITETURA DO SISTEMA ERP PEGASUS ARQUITETURA DO SISTEMA ERP PEGASUS Elaborado por: Bruno Duarte Nogueira Arquiteto de Software Data: 05/03/2012 1 Sumário 1. Introdução... 3 2. Tecnologias... 3 2.1. Web Tier... 3 2.1.1. Facelets 1.1.14...

Leia mais

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Bases de Dados Relacional/Objeto e NoSQL. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática Bases de Dados Relacional/Objeto e NoSQL Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática SGBDs Principais tarefas Gerir grandes volumes de dados Suportar acessos eficientes Garantir

Leia mais

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C#

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wmagalhaes@unipar.br

Leia mais

BigMemory GO. _big memory go

BigMemory GO. _big memory go _big memory go BigMemory GO Uma combinação entre In-Memory e Big Data. Atacando os desafios da Big Data através de uma solução In-Memory. O artigo irá apresentar a utilização do BigMemory GO para melhoria

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

Leia mais

(UFF) JDBC (I) TEPIS II

(UFF) JDBC (I) TEPIS II Aula 20: JDBC (I) Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) JDBC (I) TEPIS II 1 / 33 JDBC: Introdução Especificação que provê acesso

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

Migrando um Sistema de Controle de Protocolos para a Plataforma OpenShift

Migrando um Sistema de Controle de Protocolos para a Plataforma OpenShift Migrando um Sistema de Controle de Protocolos para a Plataforma OpenShift Lúcio Franco Dias 1, Edson A. Oliveira Junior 2 Resumo. Focar no desenvolvimento de software sem se preocupar com questões como

Leia mais

www.mpl.com.br C o n t a b i l i d a d e C o n t a s a P a g a r C o n t a s a R e c e b e r O r ç a m e n t o

www.mpl.com.br C o n t a b i l i d a d e C o n t a s a P a g a r C o n t a s a R e c e b e r O r ç a m e n t o A MPL Corporate Software, em parceria com a Oracle e a Amazon WebServices(AWS),lançouasolução ERPOracleInTheCloud,uma implantação SaaS (Software as a Service) do JD Edwards EnterpriseOne. A solução compreende

Leia mais

Projeto Tiktak. Bárbara Aparecida de Castro Silva Leonardo Santana Oliveira

Projeto Tiktak. Bárbara Aparecida de Castro Silva Leonardo Santana Oliveira Projeto Tiktak Bárbara Aparecida de Castro Silva Leonardo Santana Oliveira MAC0499 - Trabalho de Formatura Supervisionado Instituto de Matemática e Estatística Universidade de São Paulo Orientador: Alfredo

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

Leia mais