UFG - Instituto de Informática



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

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

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

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

UFG - Instituto de Informática

J2EE TM Java 2 Plataform, Enterprise Edition

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

DESENVOLVIMENTO COM JAVA EE E SUAS ESPECIFICAÇÕES

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

4 Um Exemplo de Implementação

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Programação para Web Artefato 01. AT5 Conceitos da Internet

Arquitetura de Banco de Dados

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

UFG - Instituto de Informática

Fundamentos da Plataforma Java EE. Prof. Fellipe Aleixo

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

UFG - Instituto de Informática

SISTEMAS DISTRIBUÍDOS

Introdução ao Modelos de Duas Camadas Cliente Servidor

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

Paradigma Cliente/Servidor

Como sobreviver com Java 2? Saulo Arruda

TDC2012. EJB simples e descomplicado, na prática. Slide 1

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

UFG - Instituto de Informática

SIQ GQF Plugin s WEB (Aplicações WEB) Gestão da Qualidade de Fornecedores

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS


PROJELER. Componentes da Solução Intalio BPMS 5.2. Maurício Bitencourt / mauricio.bitencourt@projeler.com.

3 Serviços na Web (Web services)

Sistemas Distribuídos: Conceitos e Projeto Estilos Arquitetônicos e Arquitetura Cliente/Servidor

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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

Sistemas Distribuídos

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Escola Superior de Tecnologia de Setúbal. Projecto Final

Java Enterprise Edition. by Antonio Rodrigues Carvalho Neto

Arquitetura dos Sistemas de Informação Distribuídos

Web Technologies. Tópicos da apresentação

HIBERNATE EM APLICAÇÃO JAVA WEB

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

1

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

Aplicativo Cliente/Servidor multicamadas para controle de uma rede de lojas via web utilizando Java

A Companhia de Tecnologia da Informação do Estado de Minas Gerais PRODEMGE

Aula 02 Conceitos básicos elipse. INFORMÁTICA INDUSTRIAL II ENG1023 Profª. Letícia Chaves Fonseca

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Gerenciador de Log Documento Visão. Versão 2.0

WebApps em Java com uso de Frameworks

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

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

UFG - Instituto de Informática

Considerações no Projeto de Sistemas Cliente/Servidor

Proposta de Projeto PPJ PPJSETIN Licenças para Estações de Trabalho e Servidores de Rede. Versão 1.0

Redes de Computadores

Curso de Aprendizado Industrial Desenvolvedor WEB

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

World Wide Web e Aplicações

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Aula 03-04: Modelos de Sistemas Distribuídos

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Padrão ix. Manual de Instalação do Q-Ware Server Versão

Parte II Introdução à Informática. O Computador e o Software

Programação para Internet II

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

SISTEMAS DISTRIBUÍDOS

Roteiro 2 Conceitos Gerais

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

UNIVERSIDADE. Sistemas Distribuídos

Gerência de Redes. Arquitetura de Gerenciamento.

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

3 SCS: Sistema de Componentes de Software

Programação com Acesso a Banco de Dados

3 Arquitetura do Sistema

Laboratório de Redes. Professora Marcela Santos

O modelo ISO/OSI (Tanenbaum,, 1.4.1)

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

No mercado atual, podemos encontrar vários tipos de sistemas operacionais que fazem parte das seguintes classes:

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

J2EE. J2EE - Surgimento

Sistemas Operacionais

SISTEMAS DISTRIBUIDOS

Desenvolvimento de aplicações web com JSP

Especificações da oferta Gerenciamento de dispositivos distribuídos: Gerenciamento de ativos

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Material de Apoio. Sistema de Informação Gerencial (SIG)

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

Transcrição:

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

Servidor de Aplicação Um servidor de aplicação (Application Server) é um servidor/serviço que disponibiliza um ambiente para a instalação e execução de certas aplicações. Os servidores de aplicação também são conhecidos como software de middleware. O objetivo do servidor de aplicações é disponibilizar uma plataforma que abstraia do desenvolvedor de software algumas das complexidades de um sistema computacional.

Servidor de Aplicação Application servers, ou servidores de aplicação, são softwares que fornecem a infraestrutura de serviços para a execução de aplicações distribuídas. Os servidores de aplicação são executados em servidores e são acessados pelos clientes através de uma conexão de rede.

Servidor de Aplicação As vantagens dos servidores de aplicação em relação ao modelo cliente/servidor residem nos serviços implementados por eles e disponíveis aos desenvolveres, fazendo com que eles possam concentrar a maior parte do tempo no desenvolvimento da lógica de negócio.

Características No desenvolvimento de aplicações comerciais o foco dos desenvolvedores deve ser a resolução de problemas relacionados ao negócio da empresa, e não de questões de infraestrutura da aplicação. Além das característica já citadas, outros serviços também estão disponíveis nos servidores de aplicação: Tolerância a Falhas; Balanceamento de Carga; Gerenciamento de Componentes; Gerenciamento de Transações; Console de Gerenciamento;

Tolerância a Falhas Tolerância a falhas é a propriedade que permite que sistemas continuem a operar adequadamente mesmo após falhas em alguns de seus componentes. Se sua qualidade de operação diminui, a queda é proporcional à severidade da falha. Em hardware (HW), as falhas são geralmente causadas por desgaste físico. No entanto, um software (SW) não desgasta com o tempo, ele não tem propriedades físicas, sendo totalmente conceitual. Nele, as falhas são de desenvolvimento e bugs causados por erros humanos.

Balanceamento de Carga O Balanceamento de Carga - Load Balance promove o aumento de performance através da distribuição da carga de forma balanceada. Distribui o tráfego das chamadas fazendo com que as diferentes máquinas que compõe o cluster funcionem como uma única. Mantém o tempo de resposta das requisições e oferece escalabilidade de serviços e recursos, ou seja, à medida em que houver aumento de demanda (novas aplicações, maior número de usuários conectados), mais máquinas podem ser incorporadas ao modelo, multiplicando assim o seu poder de resposta.

Gerenciamento dos Componentes Serve para gerenciar elementos do servidor através de ferramentas para a manipulação de componentes e serviços, tais como gerenciamento de sessão, notificação, distribuição da lógica de negócios

Gerenciamento de Transações Garante a integridade das transações entre os aplicativos e os diversos bancos de dados envolvidos.

Console de Gerenciamento Permite o gerenciamento de vários servidores de aplicação através de um único sistema gráfico.

Origem I No final da década de 1990, pensou-se que seria interessante mover as aplicações para um modelo mais centralizado, e que o desktop PC seria substituído por computador de rede (network computer). Isto seria o retorno ao velho modelo de computação utilizado na década de 1960, baseado em computadores centrais grandes e caros, que eram acessados por muitos usuários utilizando terminais burros.

Origem II A diferença então, seria o uso disseminado de interfaces gráficas (GUI). Porém, esta mudança não ocorreu na escala prevista, e o trabalho de disponibilizar aplicações de interfaces gráficas em redes lentas apresentou um grande número de desafios técnicos que não foram inteiramente resolvidos.

Origem III Posteriormente, as soluções baseadas na Internet, onde um navegador busca as páginas geradas dinamicamente em um servidor, deram força no movimento de centralização de aplicações. Neste contexto surgiram os servidores de aplicação para Web.

Implementações Existem várias implementações de servidores de aplicação, em sua maioria implementados na plataforma Java: IBM WebSphere Application Server Oracle Oracle9i Application Server, BEA WebLogic, Red Hat Jboss Sun GlassFish Apache Gerônimo Implementações para outras plataformas: Apple WebObjects para MacOS Zope Application Server para Python.

.NET Na plataforma Microsoft.NET, o servidor de aplicação não é visto como um elemento separado. O sistema operacional Windows 2003 contém a infraestrutura necessária para servir aplicações, como o IIS, COM+ e Framework.NET.

Zope Muitas tarefas de administração de um servidor Zope podem ser realizadas através de uma interface web. Os objetos que o Zope publica na Web são escritos em linguagem Python, e tipicamente armazenados num banco de dados orientado a objetos, o ZODB, que é integrado ao sistema.

Servidores JavaEE Devido a popularização da plataforma Java, o termo servidor de aplicação é frequentemente uma referência a Servidor de aplicação JavaEE. O servidor WebSphere Application Server da IBM e o WebLogic Server da BEA Systems são dois dos mais conhecidos servidores J2EE comerciais. Alguns servidores de software livre também são muito utilizados, como Glassfish, JBoss, JOnAS e Apache Geronimo.

Servidores JavaEE Como mencionado, a linguagem de programação destes softwares é Java. Os módulos Web são implementados através de servlets e JSP e a lógica de negócio através de EJBs. A plataforma JavaEE disponibiliza padrões para os containers Web e EJB. O Tomcat é um exemplo de container de software livre, onde os módulos Web podem ser publicados.

JavaEE ou J2EE Java EE (ou J2EE, ou Java 2 Enterprise Edition, ou em português Java Edição Empresarial) é uma plataforma de programação para servidores na linguagem de programação Java.

Nomenclatura do JavaEE A plataforma inicialmente era conhecida por Java 2 Platform, Enterprise Edition ou J2EE, até ter seu nome trocada para Java EE na versão 5.0, posteriormente foi chamada de Java EE 5, até a atualidade, J2EE, que esta na versão 1.4.

Descrição A Plataforma Java (Enterprise Edition) difere-se da Plataforma Java Standard Edition (Java SE) pela adição de bibliotecas que fornecem funcionalidade para implementar: Software Java distribuído Tolerante a falhas Multi-camada, baseada amplamente em componentes modulares executando em um servidor de aplicações.

Descrição A plataforma Java EE é considerada um padrão de desenvolvimento já que o fornecedor de software nesta plataforma deve seguir determinadas regras se quiser declarar os seus produtos como compatíveis com Java EE. Ela contém bibliotecas desenvolvidas para o acesso a base de dados, RPC, CORBA, etc. A plataforma J2EE contém uma série de especificações e containers, cada uma com funcionalidades distintas

Containers JDBC (Java Database Connectivity) Utilizado no acesso a bancos de dados; Servlets Utilizados para o desenvolvimento de aplicações Web com conteúdo d inâmico. Ele contém uma API que abstrai e disponibiliza os recursos do servidor Web de maneira simplificada para o programador. JSP (Java Server Pages) Especialização do servlet que permite que conteúdo dinâmico seja facilmente desenvolvido.

Containers JTA (Java Transaction API) É uma API que padroniza o tratamento de transações dentro de uma aplicação Java. EJBs (Enterprise Java Beans) Utilizados no desenvolvimento de componentes de software. Eles permitem que o programador se concentre nas necessidades do negócio do cliente, enquanto questões de infra-estrutura, segurança, disponibilidade e escalabilidade são responsabilidade do servidor de aplicações.

Containers JCA (Java Connector Architecture) É uma API que padroniza a ligação a aplicações legadas. JPA (Java Persistence API) É uma API que padroniza o acesso a banco de dados através de mapeamento Objeto/Relacional dos Enterprise Java Beans. JMS (Java Message Service) É uma API da linguagem Java para middleware orientado à mensagens. Através da API JMS duas ou mais aplicações podem se comunicar por mensagens.