Padrões Arquiteturais no Java EE 7

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

Download "Padrões Arquiteturais no Java EE 7"

Transcrição

1 Padrões Arquiteturais no Java EE 7 Vagner F. Le Roy Júnior Curso de Pós Graduação em Arquitetura de Software Distribuído Pontifícia Universidade Católica de Minas Gerais Belo Horizonte, MG Brasil Abstract. This article seeks to present, analyze and demonstrate, through UML diagrams and source code, applying some design patterns in the architecture of the Java EE7. The main patterns in this document are: Service Façade, DAO, Persistent Domain Object and Data Transfer Object. Resumo. Este artigo busca apresentar, analisar e demonstrar, por meio de diagramas UML e códigos fonte, a aplicação de alguns padrões de projeto na arquitetura do Java EE7. Os principais padrões abordados neste documento são: Service Façade, DAO, Persistent Domain Object e Data Transfer Object. 1. Introdução Projetar sistemas orientados a objetos é difícil, e projetar sistemas orientados a objetos reutilizáveis é ainda mais difícil. Para nos ajudar nesta árdua tarefa, as melhores práticas utilizadas por diversos profissionais ao redor do mundo, envolvendo a construção destes sistemas, foram catalogadas durante o passar dos anos tornando-as conhecidas simplesmente como padrões de projetos ou design patterns. Um padrão nada mais é que uma descrição de uma solução comprovada para um problema recorrente de design, com especial ênfase sobre o contexto, as forças que cercam o problema, as consequências, e o impacto da solução. Os padrões de projeto ficaram popularmente difundidos em 1995 após o lançamento do livro Design Patterns: Elements of Reusable Object-Oriented Software, dos autores Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, conhecidos como a Gangue dos Quatro (Gang of Four ou simplesmente GoF). Os padrões de projeto visam facilitar o desenvolvimento de software oferecendo os seguintes benefícios: Soluções provadas: padrões refletem a experiência, conhecimento e insights de desenvolvedores que têm usado com sucesso esses padrões em seu próprio trabalho. Reutilizáveis: padrões proporcionam uma solução pronta que pode ser adaptada a diferentes problemas como necessário. Expressivos: padrões fornecem um vocabulário comum de soluções que podem expressar grandes soluções de forma sucinta. Este artigo busca demonstrar, por meio de códigos fonte e diagramas UML, um breve resumo de algumas das melhores práticas envolvendo padrões de projeto na tecnologia Java EE 7.

2 2. Java EE Em 1992, a Sun Microsystems criou um grupo conhecido como Green Team com o objetivo de desenvolver inovações tecnológicas. Este time então apresentou a ideia de criar um interpretador (o que seria mais tarde a JVM) para facilitar o desenvolvimento de aplicações que rodassem em diversos dispositivos, como vídeo-cassestes, televisões, aparelhos médicos, etc. Por motivos de conflitos de interesses e custo, o projeto não foi bem sucedido. Com a chegada da Web em 1995, a Sun percebeu a oportunidade de desenvolver aplicações que rodassem em diversos browsers e em diversos sistemas operacionais (os chamados applets), não apenas renderizando HTML, mas oferecendo aplicações ricas do lado do cliente. Surgia-se então o Java 1.0. Apesar de ter sido criado com este intuito, os applets caíram em desuso e a tecnologia se focou principalmente no lado do servidor. No ano de 1997 é lançada a versão 1.1 da J2EE, incluindo a primeira versão do principal componente da versão Enterprise, o EJB. Em 1999 é lançada a J2EE 1.2 (Java 2 Enteprise Edition) com bibliotecas e APIs com foco em aplicações distribuídas, tolerante a falhas, multicamadas e baseada em componentes reutilizáveis do lado do servidor. Já em 2006, com o lançamento da versão 5, a plataforma então muda de nome de J2EE para Java EE. Atualmente na sétima versão, e preste ao lançamento da oitava, a tecnologia Java se encontra composta por 3 grandes famílias: Java SE: núcleo central da tecnologia Java. Oferece desde tipos básicos até APIs de alto nível. Muito utilizada por aplicações Desktop. Java ME: fornece API e máquina virtual leve. É voltada para pequenos dispositivos e sua API é um subconjunto da Java SE. Java EE: estende a Java SE incluindo componentes e APIs para desenvolvimento de grandes aplicações corporativas. Com o crescimento de aplicações Java EE e a necessidade de cada vez mais atingir requisitos não-funcionais que permeiam as grandes aplicações Web, surgiram boas práticas e padrões para ajudar o desenvolvedor a vencer estes desafios. Alguns destes padrões serão discutidos em seguida!

3 Figura 1. Organização em camadas de uma aplicação Java EE. 3. Service Façade (Application Service) Session Façades provêm uma implementação do padrão Façade [Gof] utilizando session beans. No entanto, em um projeto que não é utilizado EJB, podemos utilizar POJOs (Plain and Old Java Objects) no lugar dos EJB. Para prover um vocabulário comum ao discutir Façades, tanto para EJB, quanto para POJOs, foi criado o termo Service Façade Problema A motivação para utilizarmos um Application Service em um contexto orientado a serviços é a seguinte: Centralizar a regra de negócio em vários componentes e serviços da camada de negócios. O acesso aos componentes de lógica de negócio tem que ser o mais conveniente e mais consistente possível tornando necessário uma API de alta granularidade.

4 3.2. Forças O estado do componente após a invocação da Service Façade deve permanecer consistente. A realização por trás da fachada de serviço deve ser encapsulada. A interface da Service Façade deve ser utilizável como um serviço remoto. Em caso de alteração, a assinatura dos métodos expostos devem permanecer estáveis e compatíveis Solução Com o EJB 3.1, não é mais necessário implementarmos a interface do Bean (apesar de ser recomendável para fins de testes) e nem especificarmos os wrappers locais e remoto. Sendo assim, um Service Façade é composto por uma interface de negócio local e sua implementação, isto é, um Session Bean Stateless. Em Java EE, a principal responsabilidade de um Service Façade é ainda a composição de serviços independentes e reutilizáveis, mas para casos de uso simples, pode-se implementar diretamente a lógica de negócios sem delegá-la a outros componentes. Figura 2. ServiceFaçade em Java EE Em cenários mais complexos, um Service Façade coordena alguns serviços ou DAOs. A interface de negócios remota deve ser utilizada apenas por clientes remotos, porém, sempre que possível, a interface local deve ser acessada em seu lugar. 4. DAO (Data Access Object) A ideia original para o padrão DAO era fornecer um mecanismo que permitisse alterar a fonte de dados independente do seu tipo de armazenamento (Banco de dados relacionais, banco de dados orientado a objetos, LDAP, arquivos textos), sem alterar o restante da lógica da aplicação. Sendo assim, a principal motivação deste padrão é

5 querer separar a lógica de negócios da realização concreta dos mecanismos de armazenamento de dados Problema O problema real deste padrão é seu uso excessivo. Alterar o mecanismo de banco de dados ou até mesmo o fornecedor em um projeto real não é realista e na maioria dos casos, necessário. Uma aplicação que utiliza SQL dificilmente será portada para LDAP. Mesmo com os recursos do JPA introduzidos no Java EE, a abstração total da camada de acesso a dados em raros casos é feita. Utilizamos esta abordagem somente em casos muito simples. Quando necessitamos de consultas sofisticadas, utilizamos um DAO Forças Há a necessidade de se acessar uma fonte de dados legada ou algum outro recurso que não seja compatível com JPA. É necessário manter testável a abstração de acesso a dados. É dissociar a implementação proprietária do acesso aos recursos do resto da aplicação. A aplicação é orientada a serviços: a lógica de negócio e acesso a dados são separados. É necessário ter que lidar com fontes de dados legados não padronizadas. As queries são muito complexas e é importante mantê-las em um lugar separado Solução Em um ambiente Java EE, não é necessário utilizarmos a JDBC para acessarmos o banco de dados. Pode-se utilizar a linguagem genérica de consultas da JPA, bem como SQL nativo. A JPA fornece, através do objeto Entity Manager, métodos como UPDATE, DELETE, INSERT para trabalharmos diretamente com objetos ao invés de utilizar a API JDBC de baixo nível. O acesso é simples e o Entity Manager pode ser injetado diretamente a qualquer session bean:

6 O JPA fornece somente uma interface e podemos mudar a sua implementação apenas mudando uma linha de código no arquivo persistent.xml. Vários fabricantes implementam a especificação JPA e disponibilizam produtos como Hibernate, Eclipse Link. Veja abaixo um exemplo desta configuração utilizando o framework Hibernate: O Entity Manager é uma abstração do provedor de serviços JPA e pode ser encarado como uma implementação genérica do padrão DAO, podendo ser injetado diretamente em uma classe de serviço. Em Java EE, o padrão DAO é opcional e não é a

7 única forma de acessar o armazenamento de dados. Em suma, pequenos projetos que utilizam de simples CRUD, podem utilizar um Entity Manager injetado em uma classe de serviço para fazer acesso aos dados, porém, grandes projetos corporativos podem ainda necessitar da camada de DAO. Veja na figura abaixo um diagrama de classes representando o padrão DAO em Java EE: Figura 3. Padrão DAO em Java EE 6 5. Persistent Domain Object (Business Object) O Objetivo deste padrão é implementar um modelo de domínio com a lógica de negócios e seus relacionamentos. Em J2EE, o uso de modelos procedurais já eram condenados, porém, a tecnologia não ajudava o desenvolvedor com ferramentas que o ajudassem no seu trabalho. Mais tarde, ferramentas como Hibernate foram desenvolvidas tornando a persistência nos modelos de domínio transparente Problema O uso de roteiros de transação em aplicações funciona bem até que seja necessário colocar comportamentos específicos em objetos. Muitas vezes, esses comportamentos específicos são implementados com o uso de estruturas condicionais (if, else...) tornando o código difícil de manter, testar e de evoluir. O uso do modelo procedural infere em modelos anêmicos (classes sem lógica de negócio, somente com getters e setters) que não aproveitam os recursos da orientação à objetos como polimofirmo e herança, obrigando que as verificações sejam feitas em classes de Serviços ou Façades. A maioria destes problemas é causada pela falta de orientação a objetos na camada de persistência da aplicação Forças A lógica de negócios é complexa O modelo conceitual pode ser derivado a partir dos requisitos e mapeado para objetos de domínio.

8 Os objetos de domínio precisam ser mantidos em um banco de dados relacional (é o caso mais comum). Os casos de uso, histórias de usuários ou outros documentos de especificação já descrevem o domínio de destino de forma orientada a objetos. A relação entre o comportamento e os dados podem ser derivados a partir da especificação Solução A solução é se preocupar primeiramente com a lógica de negócios e modelar as classes sem se preocupar com a camada de persistência. Questões como a modelagem de classes coesas com estado encapsulado, comportamento co-relacionado e herança devem ser priorizadas. A JPA é bastante flexível e pode se adequar facilmente a um modelo rico de objetos. Classes que utilizam heranças e pesquisas polimórficas são perfeitamente mapeadas em seus objetos de domínio. Modelos anêmicos não possuem, por definição, comportamento o que leva a lógica da aplicação para classes de serviços. Essas classes precisam acessar atributos do modelo, e isso é feito geralmente com getters e setters. Este tipo de abordagem não apresenta um grande problema, mas ofusca a lógica de domínio da aplicação. O maior problema está nas estruturas condicionais que são exigidas para diferenciar os tipos de entidade. Essas estruturas são necessárias para compreender o comportamento dependente do tipo de uma forma procedural. 6. Transfer Object e Data Transfer Object O surgimento desse padrão se deu pela necessidade de transferir múltiplos dados entre aplicações corporativas ou camadas remotas. Em J2EE, a utilização de sucessivas chamadas a métodos remotos para buscar atributos causava danos no desempenho da aplicação. Como solução, criaram objetos de transferência de dados (DTO) para diminuir este impacto. Porém, com a chegada do Java EE e a introdução do JPA, o problema original para qual este padrão foi criado, foi solucionado Problema Em Java EE, o desprendimento de entidades persistentes solucionou o problema original. Não há mais a necessidade de se criar mais uma camada para transferir dados, bastando apenas a entidade JPA implementar a interface java.io.serializable, tornando possível sua navegação por camadas locais ou remotas. Em J2EE, o bean CMP (Container Managed Persistent) não era serializável, o que obrigava o desenvolvedor a implementar uma nova camada na aplicação. Os DTO se tornaram aplicáveis em Java EE quando se deseja fornecer diversas visões para a camada de persistência sem alterar a interface externa. Isto é muito utilizado no mundo SOA, já que mudanças internas não podem quebrar o contrato de serviço. Sua aplicação como proxy se dá no ambiente SOA - um DTO pode ser utilizado como proxy para reduzir o acoplamento entre serviços inter-relacionados e quando se deseja melhorar o desempenho de casos de uso que possuem entidades fortemente

9 conectadas. É mais rápido transferir apenas um subconjunto de entidades interrelacionadas e que são de interesse do consumidor, do que transferir todas entidades Forças Há a necessidade manter o serviço externo compatível. As mudanças de um cliente não devem afetar os outros. A transferência de dados entre entidades profundamente interligadas precisa ser otimizada. É necessário diferentes visões para um único modelo de domínio. Os dados de recursos e sistemas de informação devem ser transferidos para o cliente. Há a necessidade de se comunicar com um legado, de recursos orientados para o conjunto de dados com POJOs. Transportar meta-dados da camada de apresentação para construção de UI s em tempo real. Entidades JPA orientadas a objeto precisam ser transformadas em um formato simplificado para a transferência de dados sobre RESTFul, SOAP, CORBA, ou até mesmo ASCII Solução A solução para este problema se tornou trivial com a chegada da interface java.io.serializable no jdk 1.1. Em caso de transportamos a entidade para outra JVM, precisamos apenas que a entidade implemente a interface java.io.serializable. Desta forma, o estado do objeto é transportado pelos atributos e são acessíveis por meios de métodos getters e setters, utilizando reflexão. Veja o exemplo abaixo:

10 Para melhorar a performance, podemos, ao invés de utilizar a interface Serializabe, utilizarmos Externalizable, que diminui o tamanho dos dados trafegados além de evitar o uso da reflexão: 7. Conclusão Neste trabalho foi apresentado alguns dos principais padrões utilizados no Java EE 7. Como vimos, estes padrões resolvem uma série de problemas que o desenvolvimento utilizando Java nos traz. Alguns destes padrões foram remodelados, a partir do catálogo de padrões e boas práticas blueprints do J2EE, para o Java EE, tornando mais simples desenvolver aplicações em Java. Vale salientar que a aplicação de padrões exige um estudo detalhado do problema, identificando todas suas variáveis e avaliando qual será o impacto da utilização daquele padrão na arquitetura do sistema. Portanto, aplicar padrões é uma forma segura de resolver problemas já conhecidos no desenvolvimento de sistema e sua utilização deve-se restringir somente em casos que haja realmente a necessidade, pois sua aplicação sem um estudo prévio e profundo pode tornar a arquitetura confusa, além de não conseguir resolver o problema em questão. 8. Referências BIEN, Adam. Real World Java EE Patterns: Rethinking Best Practices. [s. L.]: Lulu.com, p. GAMMA, Erich et al. Design patterns: elements of reusable object-oriented software. Pearson Education, Linha de Código, Design Patterns Fundamentais do J2EE. Disponível em: < Acesso em 04 de maio de 2014.

11 Oracle, Java BluePrints. Disponível em: < Acesso em 31 de outubro de Caelum, O que é java. Disponível em: <http://www.caelum.com.br/apostila-javaorientacao-objetos/o-que-e-java/#2-2-uma-breve-historia-do-java2014> Acesso em 10 de outubro de 2014.

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE

Argo Navis J931 - Padrões de Design J2EE. Introdução. Objetivos de aprender padrões J2EE. Conhecer padrões para uso na plataforma J2EE Padrões de Projeto J2EE J931 Introdução Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos de aprender padrões J2EE Conhecer padrões para uso na plataforma J2EE Padrões permitem maior reuso, menos

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

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 5 Servidores de Aplicação

Leia mais

4 - Padrões da Camada de Integração. Introdução

4 - Padrões da Camada de Integração. Introdução Padrões de Projeto J2EE J931 Padrões da Camada de Integração Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A camada de integração encapsula a lógica relacionada com a integração do sistema

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

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

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com)

Padrões do Catálogo J2EE. Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com) Padrões do Catálogo J2EE Lincoln Souza Rocha, M.Sc. (lincolnrocha@gmail.com) Livros Deepak Alur, John Crupi e Dan Malks. Core J2EE Patters: Best Practices and Design Strategies, Second Edition (2003).

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

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

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

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

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

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

3 Serviços na Web (Web services)

3 Serviços na Web (Web services) 3 Serviços na Web (Web services) 3.1. Visão Geral Com base na definição do Word Wide Web Consortium (W3C), web services são aplicações autocontidas, que possuem interface baseadas em XML e que descrevem

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

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition) Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) J2EE () Sumário Introdução J2EE () APIs J2EE Web Container: Servlets e JSP Padrão XML 2 J2EE é Uma especificação para servidores

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

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

Introdução à Padrões de Projeto. Glauber Magalhães Pires

Introdução à Padrões de Projeto. Glauber Magalhães Pires Introdução à Padrões de Projeto Glauber Magalhães Pires Agenda O que são padrões de projeto? Para que servem e por que utilizá-los? Elementos constituintes Como escolher o padrão a ser usado? Como são

Leia mais

Curso - Padrões de Projeto Módulo 1: Introdução

Curso - Padrões de Projeto Módulo 1: Introdução Curso - Padrões de Projeto Módulo 1: Introdução Vítor E. Silva Souza vitorsouza@gmail.com http://www.javablogs.com.br/page/engenho http://esjug.dev.java.net Sobre o Instrutor Formação: Java: Graduação

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

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

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 6 EJB Enterprise Java

Leia mais

Como sobreviver com Java 2? Saulo Arruda

Como sobreviver com Java 2? Saulo Arruda Como sobreviver com Java 2? Saulo Arruda Agenda Apresentação Contexto do mercado Soluções para Java 5+ Soluções para Java 2 Conclusões Apresentação Saulo Arruda (http://sauloarruda.eti.br) Trabalha com

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

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

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

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M JAVA Marcio de Carvalho Victorino 1 Servlets 2 1 Plataforma WEB Baseada em HTTP (RFC 2068): Protocolo simples de transferência de arquivos Sem estado (não mantém sessão aberta) Funcionamento (simplificado):

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

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos

Argo Navis J931 - Padrões de Design J2EE. Versão 2.0 (setembro de 2003) Objetivos de Projeto J931 J2EE Versão 2.0 (setembro de 2003) Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos Identificar os principais padrões de projeto J2EE Distinguir os principais padrões de projeto

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de

Leia mais

Framework utilizando reflexão e aspectos para persistência de objetos em java

Framework utilizando reflexão e aspectos para persistência de objetos em java Framework utilizando reflexão e aspectos para persistência de objetos em java Antonio Carlos Rolloff (UNIPAR) acrolloff@gmail.com Arthur Cattaneo Zavadski (UNIPAR) arthur@datacoper.com.br Maria Aparecida

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Powerlogic Agosto / 2011.

Powerlogic Agosto / 2011. Formação de Profissionais para Desenvolvimento Java EE/Web 2.0 Orientações para capacitação de mão de obra especializada para atividades de Especificação, Arquitetura e Implementação de Aplicações Java

Leia mais

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge. Projeto Demoiselle Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.net Palestrantes: Antônio Carlos Tiboni Luciana Campos Mota 20/07/2009

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

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

Web Services. (Introdução)

Web Services. (Introdução) Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação

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

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS

UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS UTILIZAÇÃO DA TECNOLOGIA ENTERPRISE JAVABEANS NO DESENVOLVIMENTO DE APLICAÇÕES DISTRÍBUIDAS ¹Lucas Martins de Andrade, ¹Jaime William Dias ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil lucasm748@gmail.com

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

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

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org)

J930. Padrões. Projeto. Introdução. argonavis.com.br. Helder da Rocha (helder@acm.org) Padrões de J930 Projeto Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

1Introdução Helder da Rocha (helder@acm.org)

1Introdução Helder da Rocha (helder@acm.org) J930 Padrões Projeto de 1Introdução Helder da Rocha (helder@acm.org) argonavis.com.br O que é um padrão? Maneira testada ou documentada de alcançar um objetivo qualquer Padrões são comuns em várias áreas

Leia mais

Padrões de Desenho (Design Patterns)

Padrões de Desenho (Design Patterns) Padrões de Desenho (Design Patterns) O que são padrões de desenho Porque são úteis Conhecer alguns padrões 1 Padrões (Patterns) Design Patterns Explained: A New Perspective on Object-Oriented Design, Alan

Leia mais

Framework. Marcos Paulo de Souza Brito João Paulo Raittes

Framework. Marcos Paulo de Souza Brito João Paulo Raittes Framework Marcos Paulo de Souza Brito João Paulo Raittes Sobre o seu surgimento A primeira versão do spring foi escrita por Rod Johnson em 2002, quando ele estava Lancando o seu livro Expert One-on-One

Leia mais

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos

Programação Avançada. Padrões de Projeto de Software. Fonte: Oswaldo B. Peres e K19 Treinamentos Programação Avançada Padrões de Projeto de Software 1 Fonte: Oswaldo B. Peres e K19 Treinamentos Introdução Projetar software OO reusável e de boa qualidade é uma tarefa difícil; Para realizar essa tarefa

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

Padrões de projeto 1

Padrões de projeto 1 Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1

PROGRAMAÇÃO PARA SERVIDOR INTRODUÇÃO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano 2012-1 PROGRAMAÇÃO PARA SERVIDOR EM SISTEMAS WEB INTRODUÇÃO Prof. Dr. Daniel Caetano 2012-1 Visão Geral 1 2 3 4 Apresentação Programação Servidor? O que é Java? Grupos de Trabalho Apresentação Quem é o professor?

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

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Faculdades SENAC Análise e Desenvolvimento de Sistemas 28 de abril de 2010 Principais suportes de Java RMI (Remote Method Invocation), da Sun Microsystems DCOM (Distributed Component Object Model), da

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Design Patterns. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Design Patterns Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 Sumário Reuso de Software Introdução Benefícios e Desvantagens Visão do Reuso Padrões de Projeto

Leia mais

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS

SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS SISTEMA DE GESTÃO DE PRODUÇÃO DE EVENTOS Rodrigo das Neves Wagner Luiz Gustavo Galves Mählmann Resumo: O presente artigo trata de um projeto de desenvolvimento de uma aplicação para uma produtora de eventos,

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

Leia mais

Padrões de Projeto WEB e o MVC

Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC Padrões de Projeto WEB e o MVC O que são padrões? "Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

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

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Uso de Design Patterns e J2EE: um estudo de caso

Uso de Design Patterns e J2EE: um estudo de caso Uso de Design Patterns e J2EE: um estudo de caso Rogério Sorroche (FURB) rs@furb.br Maurício Capobianco Lopes (FURB) mclopes@furb.br Resumo. Este trabalho apresenta um estudo de caso sobre o desenvolvimento

Leia mais

Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma

Pasteur Ottoni de Miranda Junior. Alguns Padrões de Projeto Gamma Pasteur Ottoni de Miranda Junior Alguns Padrões de Projeto Gamma Padrões Gamma de Projeto(ou Gang-of-Four, gof) Os padrões gof foram publicados por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides

Leia mais

Cisco UCS Mini: solução avançada com recursos corporativos

Cisco UCS Mini: solução avançada com recursos corporativos Resumo da solução Cisco UCS Mini: solução avançada com recursos corporativos Você deseja uma solução de computação unificada para a sua empresa de médio ou pequeno porte ou para o padrão avançado do seu

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

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite andreza.lba@gmail.com Projeto de Sistemas Distribuídos Prof. Andrêza Leite andreza.lba@gmail.com Exemplos de SD Quais podem ser? Ex. de SD: Internet Internet é um conjunto de redes de computadores, de muitos tipos diferentes,

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Fábrica de Software 29/04/2015

Fábrica de Software 29/04/2015 Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se

Leia mais

Aplicação da Arquitetura Multicamadas Utilizando Java. Raquel Schlickmann Orientador: Marcel Hugo

Aplicação da Arquitetura Multicamadas Utilizando Java. Raquel Schlickmann Orientador: Marcel Hugo Aplicação da Arquitetura Multicamadas Utilizando Java Raquel Schlickmann Orientador: Marcel Hugo Roteiro Introdução Histórico da Arquitetura de Software Enterprise JavaBeans - EJB Voyager Implementação

Leia mais

3 - Padrões da Camada de Negócios. Introdução. A camada de negócios encapsula a lógica central da aplicação. Considerações de design incluem

3 - Padrões da Camada de Negócios. Introdução. A camada de negócios encapsula a lógica central da aplicação. Considerações de design incluem Padrões de Projeto J2EE J931 Padrões da Camada de Negócios (EJB) Helder da Rocha (helder@acm.org) argonavis.com.br Introdução A camada de negócios encapsula a lógica central da aplicação. Considerações

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

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Histórico de revisões

Histórico de revisões Design Patterns Histórico de revisões Data Versão Descrição Autor 15/1/2014 1.0 Finalização da primeira versão HEngholmJr OBJETIVOS Fornecer uma visão geral sobre Design Patterns visando atingir os requisitos

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

Introdução. O que é Serviços de Terminal

Introdução. O que é Serviços de Terminal Introdução Microsoft Terminal Services e Citrix MetaFrame tornaram-se a indústria padrões para fornecer acesso de cliente thin para rede de área local (LAN), com base aplicações. Com o lançamento do MAS

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

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

NOME DA APRESENTAÇÃO

NOME DA APRESENTAÇÃO 25 DE MAIO @MICROSOFT Novidades de Java EE 7 Ernest Duarte NOME DA APRESENTAÇÃO Nome (Nick no Fórum) About me! Nickname na Comunidade Ernest Duarte Profissão Instrutor em Ciências e Tecnologias Numéricas

Leia mais

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

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

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

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

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014

LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014 LISTA DE QUESTÕES SERVIDORES DE APLICAÇÃO BANCA FCC CONCURSO TRT 2014 Professor: Lúcio Camilo Email: luciocamilo@gmail.com QUESTÕES SERVIDORES DE APLICAÇÃO Questão 01 - FCC - 2010 - TCE-SP O ambiente necessário

Leia mais

Componentes para Computação Distribuída

Componentes para Computação Distribuída Componentes para Computação Distribuída Conceitos Foi a partir do fenômeno da Internet (WWW), no início dos anos noventa, que a computação distribuída passou a ter relevância definitiva, a ponto de a Internet

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais