Centro de Estudos e Sistemas Avançados do Recife. Desconstruindo EJB. Luiz Borba Luiz Eugênio (left)
|
|
- Angélica Caldas Freire
- 7 Há anos
- Visualizações:
Transcrição
1 Centro de Estudos e Sistemas Avançados do Recife Desconstruindo EJB Luiz Borba Luiz Eugênio (left)
2 Desconstruindo EJB Motivado pelos problemas que enfrentamos Problemas com EJB Como contornar os problemas
3 Problemas com EJB Problemas de produtividade Custo de desenvolvimento Custo total para o cliente Problemas de portabilidade Problemas de performance Restrições do EJB
4 Problemas de produtividade Para testes unitários, tem que levantar um EJB Container Tempo de compilação excessivo (geração de stubs e skeletons) Debug remoto é mais lento Ferramentas são mais complexas e pesadas Ferramentas ainda são pouco maduras e apresentam diversos problemas (redeploy do BAS e no BES) Ainda pouca experiência com desenvolvimento de aplicações distribuidas
5 Problemas de produtividade Mapeamento CMP Não tem herança e pelo jeito, não vai ter nunca Não mapeia relacionamentos (no EJB2 criaram o CMR, mas, tem limitações) Caso SISREG Temos sempre que implementar na mão herança e relacionamentos, complicando o uso dos Beans
6 Custo de desenvolvimento Equipamento mais caro Para rodar o container + ferramenta de desenvolvimento é preciso uma boa máquina Cesar teve que fazer um upgrade de memória (256Mb para 768Mb) Ferramentas caras Ferramentas free não possuem bom suporte a EJB (ex. JBuilder Personal, Netbeans e Eclipse versus JBuilder Enterprise, Forte e WSAD) Dificuldade de encontrar mão de obra especializada Baixa produtividade
7 Custo total para o cliente Custo alto da aplicação (mão de obra especializada, hardware de desenvolvimento mais caro, ferramentas de desenvolvimento mais caras, baixa produtividade) Custo do servidor de aplicação BES AppServer Edition U$ 12k / CPU IBM Websphere Enterprise 4.1 U$ 35k / CPU OAS 9i Enterprise U$ 20k / CPU OAS X ORION (fonte: Mão-de-obra especializada (administrador de sistemas com conhecimento em servidores de aplicação) raro e caro
8 Problemas de portabilidade O mapeamento CMP (Deployment Descriptor) não é portável Nem sempre existem ferramentas para conversão (aliás, normalmente não existem), e quando existem, não funcionam 100% (tem que fazer uma parte manualmente) Nem sempre podem ser convertidas sem perda de informação (WebLogic x BAS) Não garante a portabilidade entre banco de dados diferentes (EJB 1.1)
9 Problemas de portabilidade Usando EJB QL (EJB 2.0) poderia ser garantido a portabilidade entre bancos, mas, ainda é muito nova e possui muitas limitações: order by vai sair no EJB 2.1 Funções de agregação Funções de manipulação de datas DATASUS tenta migrar para outros Servidores de Aplicação e outros Bancos de Dados e o custo é alto
10 Problemas de performance Alterações feitas em outros sistemas ou feitas diretamente no banco são refletidas imediatamente pelos beans Queries precisam ser feitas para validar informações em cache Queries tem que ser completas (select *...), porque nem todos os bancos possuem um timestamp que guarde o momento da última alteração ou um campo de versão do registro Atualizações em CMP são sincronizadas no banco no máximo até o fim da transação Quando em uma mesma transação fazer consultas sob atualizações feitas antes, a informação pode não ter sido colocada no banco ainda (Rotinas Batch do DATASUS) solução: atualizações usando DAO
11 Problemas de performance Para fazer finds, precisamos de 1+n queries para trazer todos os dados (no caso de CMP, o servidor pode otimizar isso, mas, não acontece sempre) Fazer chamadas remotas para Entity Beans, é inviável (padrão DTO) Entity Beans não precisam ser distribuidos (Interfaces Locais - EJB 2)
12 Restrições EJB Nada de Threads Nada de java.io.* Nada de Sockets Nada de AWT Nada de JNI Nada de (mais um bocado de coisas)... Ainda tem um monte de restrições com o uso de classloaders, reflection, atributos estáticos, sincronização, security manager, e por aí vai...
13 E tem mais... O Servidor de Aplicação oferece uma série de recursos que a gente não utiliza, não porque não quer, mas, porque não precisa
14 Estudo de caso (DATASUS SISREG) É um sistema que vai ser instalado em vários pontos do país Projeto de implantação comprometido pelo custo Alternativas sendo cogitadas Reaproveitamento de Hardware (CNS) Servidores gratuitos (JBOSS) Bancos de Dados gratuitos (POSTGRESQL) Mão-de-obra gratuita? (escravos)
15 Como contornar os problemas? Principais vantagens de Enterprise Java Beans: Distribuição dos componentes gerenciadas pelo container Persistência de componentes gerenciadas pelo container Transações gerenciadas pelo container Portabilidade entre diversos servidores de aplicação.
16 Distribuição Nem sempre é necessário distribuir nossas aplicações Um desenvolvedor implementando um caso de uso poucas vezes precisa testar de forma distribuída Alguns sistemas não precisam de distribuição A arquitetura do CESAR pode auxiliar no isolamento da distribuição A implementação de uma camada de distribuição pode ser desenvolvida em separado ou substituída sem grandes impactos na aplicação
17 Distribuição FachadaControlador é o ponto de distribuição Somente a FachadaControlador precisa ser um objeto remoto As regras de negócio ficam na implementação do controlador Fachada Controlador A Controlador A Cadastros Repositórios Fachada Controlador B Controlador B Cadastro Repositório
18 Distribuição Podemos ter diversos tipos de implementação para a FachadaControlador (ex. CORBA, RMI, Web Services ou até um Session Bean) Referência para o controladores obtida através de um ServiceLocator que pode retornar uma referência local ou remota sempre utilizando a interface da FachadaControlador FachadaControlador completa pode ser facilmente gerada por uma ferramenta (ex. QualitiCoder)
19 Tecnologias de Distribuição CORBA (GIOP/IIOP) Brokers tem custo alto em ambientes legados Implementação de aplicações necessita de maior esforço Independente de linguagem Independente de plataforma Serviços básicos, de infra-estrutura e de domínios específicos padronizados Solução mais utilizada para integração com legado Suporta comunicação síncrona/assíncrona
20 Tecnologias de Distribuição RMI/IIOP Comunicação síncrona Comunicação possível com aplicações não-java Dependente de linguagem (Java) Normalmente utiliza um broker CORBA Solução utilizada para comunicação entre Enterprise Java Beans RMI/JRMP Comunicação síncrona Comunicação apenas entre aplicações Java Dependente de linguagem (Java)
21 Tecnologias de Distribuição Web Services (SOAP/HTTP) Baixo desempenho devido as mensagens XML Independente de linguagem Independente de plataforma Necessita de mais amadurecimento (suporte a segurança e transações distribuídas) Utilização de XML como base facilita a integração com outros sistemas Suporta comunicação síncrona/assíncrona
22 Transações Normalmente precisamos de transações, contudo nem sempre distribuídas Não precisamos criar dependências de uma tecnologia específica Mudança do mecanismo não deve afetar a aplicação Utilizando conceitos da arquitetura CESAR, criamos uma camada de abstração do mecanismo de transações
23 Transações Criamos uma API para abstração dos mecanismos Para cada mecanismo de transação implementamos um conjunto de interfaces da API FachadaControlador delimita o início e final das transações Fachada Controlador A Controlador A Cadastros Repositórios public void amethod() throws ControladorException { Transaction.begin(); } try { ControladorA.getInstance().aMethod(); Transaction.commit(); } catch (ControladorException ex) { Transaction.abort(); throw ex; }
24 Tecnologias de Transações CORBA Object Transaction Service (OTS) Independência de linguagens Independência de plataformas Serviço padronizado Suporte a transações distribuídas Java Transaction Architecture/Service Comunicação possível com aplicações não-java Implementa o OTS Independente de plataformas Serviço padronizado Suporte a transações distribuídas
25 Tecnologias de Transações Transações baseadas no mecanismos de persistência (ex. JDBC, JDO) Não suporta distribuição Transações FIC Solução CESAR que atendeu a demanda de muitos sistemas
26 Persistência Ponto mais fraco de Enterprise Java Beans Relacionamentos gerenciados pelo container extremamente restritivo. No final implementamos os relacionamentos manualmente (EJB 2.0) Linguagem de consulta padronizada não atende ao mínimo (ex. falta funções de ordenação, agregação e para manipulação de datas) O mapeamento CMP não é portável. Portabilidade com baixo custo é uma lenda. As poucas ferramentas que tentam converter sempre perdem informações depois da conversão Existem diversas soluções maduras para mapeamento objeto/relacional
27 Tecnologias de persistência Object/Relational Mapping Tool Exolab Castor (free) Hibernate (free) Jakarta ObJectRelationalBridge (OJB) (free) ObjectMatter VBSF O/R Mapping Tool WebGain TopLink Thought Cocobase Java Data Objects (JDO) Pode resolver o problema da falta de um padrão Java para mapeamento objeto-relacional Algumas ferramentas de mapeamento já começaram a se adequar a este padrão
28 Estimativa de Esforço Comparativo com Modelo 01 (EJB), Modelo 02 (Arquitetura 1) e Modelo 05 (Reaact VBSF) Caso de uso Modelo 01 EJB Modelo 02 Arquit. 1 Modelo 05 Reaact Novo Modelo Simples 2 1,5 1 1 Médio Complexo Muito Complexo ,20 5,20
29 Conclusão Enterprise Java Beans não resolve todos os nossos problemas com baixo custo Com pequenas mudanças podemos: Não ficar presos a uma tecnologia Melhorar mais a produtividade Não comprometer em nada aspectos de escalabilidade (provavelmente até podemos melhorar nesse aspecto) Estamos fazendo um esforço no sentido de elaborar uma alternativa ao EJB já para o projeto SIMAC
Módulo III Camada de Persistência
Módulo III Camada de Persistência Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III Camada de Persistência Persistência de Objetos Mecanismo de
Leia maisObjetos e Componentes Distribuídos: EJB e CORBA
: EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos
Leia maisINE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago
INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por
Leia maisObjetos e Componentes Distribuídos: EJB
: EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta
Leia maisSession Bean Stateful
Session Bean Stateful Componentes que mantém o estado dos seus atributos. Mantém os valores de seus atributos entre as várias chamadas de seus métodos de negócio (serviços). Mantém um relacionamento forte
Leia maisCarlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos
Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisInformática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1
Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1 Autor Autor Local Cláudio Geyer Instituto de Informática disciplinas: POD e PDP Versão v4 2010-1 Programação com Objetos Distribuídos
Leia maisArquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003
Arquitetura de Aplicações J2EE Jorge Fernandes Outubro de 2003 J2EE O que é Como se organiza Como funciona Elementos Arquitetura Típica Componentes de Software Reuso é um processo Publicar interfaces Distribuir
Leia maisIntrodução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Leia maisEnterprise JavaBeansTM
J530 Aplicações distribuídas usando Enterprise JavaBeansTM e Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Oferecer uma introdução prática à tecnologia Enterprise JavaBeansTM (EJB) Este
Leia maisInjeção de Dependências e Spring
Injeção de Dependências e Spring Daniel Cukier Prof. Fabio Kon IME-USP Conteúdo Exemplo Melhor maneira de aprender Injeção de Dependência (DI) Spring Service Locator Daniel Cukier - IME/USP 2/29 Exemplo
Leia maisPrincipais conceitos de CORBA
Principais conceitos de CORBA Tecgraf PUC-Rio fevereiro de 2011 Common Object Request Broker Architecture Uma arquitetura aberta para o desenvolvimento de aplicações distribuídas em um ambiente multilinguagem
Leia maisSumário. Parte Um Visão geral Introdução... 23
DESCRIÇÃO DO CAPÍTULO 13 Sumário Introdução... 23 Parte Um Visão geral... 27 Capítulo 1 Visão geral... 29 A motivação para o EJB... 29 Dividir para conquistar ao extremo... 30 Arquiteturas de componentes...
Leia maisModelo de Componentes CORBA
Modelo de Componentes CORBA Cláudia Brito L. N. da Silva cblns@cin.ufpe.br Roteiro 1. Visão geral 2.! Definindo componentes! Implementando componentes! Empacotando componentes! Instalando componentes!
Leia maisSimplicidade, Escalabilidade, Produtividade e Testabilidade com J2EE, AOP e Rich Clients
Simplicidade, Escalabilidade, Produtividade e Testabilidade com J2EE, AOP e Rich Clients Summa Technologies Summa Technologies www.summa-tech.com 2004, Summa Technologies, Inc. 1 Michael Nascimento Santos
Leia maisFrameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB
Frameworks funcionais para JSF que proporciona o desenvolvimento de aplicações computacionais WEB Bruno Costa Silva 1, Ricardo Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil brunocostasilva62@hotmail.com,
Leia maisSistemas Distribuídos
Sistemas Distribuídos LICENCIATURA EM COMPUTAÇÃO Prof. Adriano Avelar Site: www.adrianoavelar.com Email: eam.avelar@gmail.com 1. Que são sistemas abertos? É um sistema que oferece serviços de acordo com
Leia mais3 Tecnologias Relacionadas
Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais
Leia maisTestes Automatizados com Banco de Dados
Testes Automatizados com Banco de Dados Helves Domingues e Paulo Cheque 12/02/2009 Verão2009 2 Por quê testar BDs? Dados => $ Lógica Stored Procedures Triggers SQL Design => Manutenção e Evolução Mapeamento
Leia maisSistemas Distribuídos Aula 10
Sistemas Distribuídos Aula 10 Aula passada Arquitetura P2P Bittorrent Distributed Hash Table (DHT) Aula de hoje Modelo computação distribuída RPC Marshalling e stubs Semântica operacional RMI Computação
Leia maisOpções de persistência
Opções de Persistência Tratamos aqui apenas dos aspectos arquiteturais da persistência Não tratamos do mapeamento de projetos OO para esquemas de BD relacionais Três grandes pontos devem ser tratados com
Leia maisAplicações Distribuídas
J500 Aplicações Distribuídas com J2EE TM e JBoss TM Helder da Rocha www.argonavis.com.br 1 Objetivos Este curso tem como objetivo oferecer uma introdução prática às tecnologias J2EE, mostrando como usar
Leia maisFramework Hibernate/JPA
Framework Hibernate/JPA SSC 124/621 Análise e Projeto Orientados a Objetos Sofia Costa 1 Hibernate É um Framework do tipo caixa-branca para persistência de dados. É uma ferramenta de mapeamento objeto/relacional
Leia maisJava para Web & EJB. Teoria, prática e questões Módulo Introdução e Servlets
Java para Web & EJB Teoria, prática e questões Módulo Introdução e Servlets Introdução ao Desenvolvimento Web com Java Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações
Leia maisSOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Trabalho de Conclusão de Curso Ciências da Computação SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS AS Acadêmico: Fabricio
Leia maisAplicações Distribuídas
J500 Aplicações Distribuídas com J2EE TM e JBoss TM Revisão 1.5 (Junho 2003) Helder da Rocha www.argonavis.com.br 1 Objetivos Este curso tem como objetivo oferecer uma introdução prática às tecnologias
Leia maisTestes Automatizados e Bancos de Dados
Testes Automatizados e Bancos de Dados Paulo Cheque (paulocheque@agilcoop.org.br) Cursos de Verão 2010 Licença: Creative Commons: Attribution Share Alike 3.0 Unported http://creativecommons.org/licenses/by
Leia maisEnterprise Java Beans (I)
Enterprise Java Beans (I) Professor: Diego Passos UFF dpassos@ic.uff.br Baseado no material original cedido pelo Professor Carlos Bazilio Java Beans Conceito já discutido na disciplina. São classes Java
Leia maisPMR3507 Fábrica digital
LSA Laboratório de Sistemas de Automação www.pmrlsa.poli.usp.br PMR3507 Fábrica digital Do EDI ao SOA Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas
Leia maisTecnologias, O Futuro de Java e Como se Manter Atualizado AULA 6
Tecnologias, O Futuro de Java e Como se Manter Atualizado AULA 6 JavaOS JavaOS sistema operacional todo baseado em Java, projetado para ser o sistema operacional dos NC (Network Computers), PDA (Personal
Leia maisIBM WebSphere MQ. Introdução
Introdução Arquitectura Application Messaging Interface WebSphere Aplication Server WebSphere Business Integration Server Vantagens e desvantagens Introdução Plataforma de integração e infraestrutura de
Leia maishttp://www.hibernate.org Fernando Kasten Peinado
http://www.hibernate.org Fernando Kasten Peinado O que é? Pra que serve? Por que foi criado? Como funciona? Abstrações Importantes? Como começar? (Exemplos) Quais são seus recursos interessantes e como
Leia maisPROGRAMAÇÃO SERVIDOR PADRÕES MVC E DAO EM SISTEMAS WEB. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB PADRÕES MVC E DAO Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 5 6 7 Padrão de Desenvolvimento? O Conceito de Padrão de Projeto Padrão MVC Persistência MVC Nível
Leia maisALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
Leia maisHibernate Anotations
Hibernate Anotations Fabio Luiz Oenning da Costa¹, Ricardo Minigucci¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil fabiooenning@hotmail.com ricardominigucci@gmail.com Resumo. Este artigo apresenta
Leia mais1.2- Ambientes de Middleware
1.2- Ambientes de Middleware Applications RMI, RPC and events Request reply protocol Middleware layers External data representation Operating System Fonte: [Coulouris] 1 1.2- Ambientes de Middleware Aplicação
Leia maisModel Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software
Leia maisPlataformas de Distribuição de Objetos
Plataformas de Distribuição de Objetos Denominações Equivalentes: Modelos de Componentes Modelos de Integração de Objetos Motivação: Reuso de objetos Redução do Tempo e do Custo de Desenvolvimento de Software
Leia maisPara minha família, por todo o seu apoio. Joseph J. Bambara
SUMÁRIO Para Evelyn, Sophia e Terence Paul R. Allen Para minha família, por todo o seu apoio. Joseph J. Bambara III SUMÁRIO Enterprise JavaBeans...31 Ciclo de Vida do Aplicativo Distribuído...31 Desenvolvimento
Leia maisAnálise comparativa entre as especificações de objetos distribuídos DCOM e CORBA
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Análise comparativa entre as especificações de objetos distribuídos DCOM e CORBA Acadêmico: Rubens Bósio Orientador: Marcel Hugo Blumenau,
Leia maisCommon Object Request Broker Architecture
Common Object Request Broker Architecture OMG: Object Management Group. Organização internacional, sem fins lucrativos, fundada em 1989. Mais de 800 membros (incluindo fabricantes de sistemas, produtores
Leia maisHMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP
HMI: UM MIDDLEWARE PARA OBJETOS DISTRIBUÍDOS SOBRE O PROTOCOLO HTTP Aluno: Abel Luiz Cechinel Orientador: Paulo Fernando da Silva Sumário Introdução; Fundamentação Teórica; Desenvolvimento; Conclusão;
Leia maisRevisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/ v0.1
Revisão de conceitos Tópicos Avançados em TI Prof. Rossano Pablo Pinto Fevereiro/2013 - v0.1 Orientação a objetos Classe Métodos Visibilidade Tipo de retorno Tipo dos parâmetros Atributos Tipo Visibilidade
Leia maisJBoss Seam. Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode. Globalcode Open4Education
JBoss Seam Vinicius Senger Co-fundador Globalcode Alberto J Lemos (Dr. Spock) Instrutor Globalcode Agenda > Introdução > Arquitetura típica Java EE 5 > O que é JBoss Seam? > Porque escolher o JBoss Seam?
Leia mais4 ALBATROZ : Um ambiente para desenvolvimento de SMA
41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.
Leia maisCapítulo 6. Conclusão 189
6 Conclusão Trabalhando colaborativamente, pelo menos potencialmente, pode-se produzir melhores resultados do que se os membros do grupo atuassem individualmente (Fuks et al., 2002). Groupware é um tipo
Leia maisProgramação de Alto Desempenho - 2. Prof: Carla Osthoff
Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia mais1) DADOS DA OBRA: Programando em Java 2 Teoria e Aplicações Rui Rossi dos Santos 2004 Axcel Books (
1) DADOS DA OBRA: Título: Programando em Java 2 Teoria e Aplicações Autor: Rui Rossi dos Santos Ano: 2004 Editora: Axcel Books (http://www.axcel.com.br) Páginas: 580 Encadernação: Capa dura 2) DESCRIÇÃO
Leia maisVisões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Leia maisIntrodução: EJBs de Sessão. Prof. Fellipe Aleixo
Introdução: EJBs de Sessão Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O Que é um Enterprise Bean? Written in the Java programming language, an enterprise bean is a server-side component that encapsulates
Leia mais3 Trabalhos relacionados
3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns
Leia maisRoteiro de Apresentação 1. Introdução Objetivos do Trabalho 2. Fundamentação Teórica 3. Desenvolvimento do Sistema Requisitos principais Especificação
Sistema de programação de produção com representação gráfica utilizando OpenGL em Java Jaques Douglas Claudino Orientador: Prof. Dr. Paulo Cesar Rodacki Gomes 09/07/2007 Roteiro de Apresentação 1. Introdução
Leia maisDesenvolvimento Baseado em Componentes: Tecnologia J2EE
Desenvolvimento Baseado em Componentes: Tecnologia J2EE Paulo Pires paulopires@nce.ufrj.br http//genesis.nce.ufrj.br/dataware/hp/pires Agenda Introdução Componentes Introdução a Especificação J2EE Modelo
Leia maisArquitetura e Objetos Distribuídos em CORBA. Aula 3. Especificações OMA Object Web
Arquitetura e Objetos Distribuídos em CORBA Aula 3 Especificações OMA Object Web The Client/Server Evolution O que é a tecnologia CORBA? CORBA Common Object Request Broker Architecture Uma camada de software
Leia maisJava RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisFerramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes
Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE
Leia maisPERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional
INTERFACE TECNOLÓGICA v.6 n.1 2009 PERSISTÊNCIA DE DADOS EM JAVA UTILIZANDO HIBERNATE: Mapeamento Objeto / Relacional José Osvano da SILVA * Luís Augusto Mattos MENDES ** Marcelo Caramuru Pimentel FRAGA
Leia maiscontidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.
Web Services Web Service é um componente de software identificado por uma URI que independe de implementação ou de plataforma e pode ser descrito, publicado e invocado sobre uma rede por meio de mensagens
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Tipos Parametrizados ou Genéricos Os tipos parametrizados ou genéricos são a solução para esse problema
Leia maisJava 2 Enterprise Edition Construção de Aplicações EJB
Java 2 Enterprise Edition Construção de Aplicações EJB Helder da Rocha www.argonavis.com.br 1 Objetivos Este é um módulo prático. O seu objetivo é explorar a criação de uma aplicação EJB Comunicação entre
Leia maisJPA: 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 maisTecnologia 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 maisDESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML
DESENVOLVIMENTO DE APLICAÇÕES COM JAVA 2EE E UML Jhonattan Vieira do Carmo, Ricardo Ribeiro Rufino Universidade Paranaense (Unipar) Paranavaí PR Brasil jhonattan_si@hotmail.com ricardo@unipar.br Resumo.
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisRepositórios de Implementações e Binding. Chamada Remota de Métodos
Repositórios de Implementações e Binding 1 Copyright 1998, 1999 Francisco Reverbel Chamada Remota de Métodos O que parece acontecer Máquina X Cliente O que acontece na verdade objref chama Objeto CORBA
Leia maisUFG - 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 maisConceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1
Conceito Básicos de Programação com Objetos Distribuídos Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1 Autoria Autor C. Geyer Local Instituto de Informática UFRGS disciplina : Programação
Leia maisTDC2012. EJB simples e descomplicado, na prática. Slide 1
TDC2012 EJB simples e descomplicado, na prática Slide 1 Palestrantes Kleber Xavier Arquiteto Senior / Globalcode kleber@globalcode.com.br Vinicius Senger Arquiteto Senior / Globalcode vinicius@globalcode.com.br
Leia maisUTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO
UTILIZAÇÃO DO FRAMEWORK HIBERNATE NA CONSTRUÇÃO DE UM SISTEMA DE INFORMAÇÃO Anderson Carlos Lopes 1, Luiz Fernando Braga Lopes 1 Universidade Paranaense (UNIPAR) Paranavaí - PR Brasil andersoncarloslopes@hotmail.com,
Leia maisOs princípios do desenho orientado a objetos
Os princípios do desenho orientado a objetos Os princípios do desenho orientado a objetos Encapsulamento e congeneridade Domínios, grau de dependência e coesão Os perigos da herança e do polimorfismo Encapsulamento
Leia maisTecnologias de Distribuição e Integração. Quais as preocupações a ter com um sistema distribuído?
network link: Tecnologias de Distribuição e Integração ISP intranet backbone desktop computer: server: satellite link no interior de uma organização (intranet) clientes externos entre organizações 2 Quais
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisAula 1: Apresentação, Computação Corporativa
Aula 1: Apresentação, Computação Corporativa Diego Passos Universidade Federal Fluminense Técnicas de Projeto e Implementação de Sistemas II Diego Passos (UFF) Apresentação, Computação Corporativa TEPIS
Leia maisUNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES
UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES TUTORIA DE USO DO HIBERNATE NA IDE ECLIPSE KEPLER DISCENTE: JOANA DARC CARVALHO DE
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisJAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB
JAVA PARA WEB E EJB APLICAÇÕES WEB, SERVIDORES DE APLICAÇÃO, CONTAINERS WEB INTRODUÇÃO AO DESENVOLVIMENTO WEB COM JAVA Tópicos Aplicações, componentes e containers web Aplicações web Modelo de aplicações
Leia maisGustav Dallmann Júnior
UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO 5 SISTEMA DE FORÇA DE VENDAS. Gustav Dallmann Júnior Orientador: Prof. Francisco Adell Péricas ROTEIRO DA APRESENTAÇÃO 1. Introdução e
Leia maisCBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013
DCC / ICEx / UFMG CBSE Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A CBSE foi proposta na década de 90 Foi motivado pelo limitado suporte
Leia maisQuando Distribuir é bom
Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 1 de agosto de 2009 Orientação a Objetos Encapsulamento: Parte interna (privada) dos objetos Implementação: métodos Estado: atributos, variáveis,
Leia maisGrupo de Usuários Java do Noroeste Paulista. Introdução à tecnologia Java
Grupo de Usuários Java do Noroeste Paulista Introdução à tecnologia Java Referências http://www.java.sun.com; Ivan Luiz Marques Ricarte, Faculdade de Engenharia Elétrica e de Computação-UNICAMP (http://www.dca.fee.unicamp.br/~ricarte/welcome.html);
Leia maisPlataforma de desenvolvimento JAVA para terminal POS
Plataforma de desenvolvimento JAVA para terminal POS Avenida Viena, 360 Bairro São Geraldo CEP 90240020 Porto Alegre RS Fone 51 3325 2728 Fax 51 3343 9847 azanonatec@azanonatec.com.br Apresentação A plataforma
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisWeb Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia mais3 Arquitetura para a Coordenação e a Composição de Artefatos de Software
Uma Arquitetura para a Coordenação e a de Artefatos de 23 3 Arquitetura para a Coordenação e a de Artefatos de Resumo Este capítulo apresenta a arquitetura ACCA, que é a parte central deste trabalho. A
Leia maisAnálise e modelação de sistemas. Classe T13: Passando da análise ao Desenho
Análise e modelação de sistemas Classe T13: Passando da análise ao Desenho 2 Programa Organizando os diagramas Da análise ao desenho Pacotes Estereó;pos Classes de análise vs classes de desenho Estereó;pos
Leia maisJ2EE. J2EE - Surgimento
J2EE Java 2 Enterprise Edition Objetivo: Definir uma plataforma padrão para aplicações distribuídas Simplificar o desenvolvimento de um modelo de aplicações baseadas em componentes J2EE - Surgimento Início:
Leia maisEnterprise Java Bean. Enterprise JavaBeans
Enterprise Java Bean Introdução Elementos do Modelo Enterprise JavaBeans A especificação do Enterprise JavaBeansTM (EJB) define uma arquitetura para o desenvolvimento de componentes de software distribuídos
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisAULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Leia maisUNIVERSIDADE 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 maisCaracterísticas de Sistemas Distribuídos
Tópicos O conceito de Características de Carlos Ferraz cagf@cin.ufpe.br Infra-estrutura básica Exemplos Vantagens e desvantagens Convergência digital Características 2002-2003 Carlos A. G. Ferraz 2 O Conceito
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisPalavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo
BANCO DE DADOS PARA UM PRONTUÁRIO MÉDICO ELETRÔNICO Nome dos autores: Igor Barreto Rodrigues¹; Patrick Letouze Moreira² 1 Aluno do Curso de Ciência da Computação; Campus de Palmas; e-mail: igor.cientista@uft.edu.br
Leia maisAplicaçã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