Middleware que disponibiliza um ambiente ou uma infraestrutura para execução de aplicações distribuídas.
Servidor WEB provê páginas para serem visualizadas em um brower. Servidor de aplicação provê a lógica do negócio para as aplicações do cliente e também lida melhor com comportamentos dinâmicos
Vantagens
Nota:
integridade de código e dados;
Configuração centralizada; Melhoria de segurança;
Aumento de desempenho; Diminuição do TCO;
Suporte a transações;
Gerenciamento de memória;
Controle transacional; Clusterização.
Servidores de Aplicação: WebSphere, WebLogic, Glassfish, JBoss, Apache Geronimo, Zope.
Java EE.
Nota:
Servidor de aplicação implementa
qualquer plataforma. Servidor JavaEE implementa apenas plataforma Java, mas é comum tratá-los como sinônimo
JBoss
Nota:
JBoss ApplicationServer (ou apenas JBoss AS) é um Servidor de Aplicação da RedHat, flexível, altamente configurável, livre e de código-fonte aberto. Ele é considerado multiplataforma, podendo rodar em qualquer sistema operacional que contenha uma Máquina Virtual Java.
JMX (Java Management
Extension)
Nota:
Ferramenta de integração chamada JMX (Java Management Extension) gerencia componentes, integrar módulos, contêineres e plug-ins.
Pode-se utilizar o JMX como um microkernel ou um framework, i.e., vários componentes gerenciáveis são conectados no JBoss como um serviço chamado MBeans (javax.management.MBeanServer). O ciclo devidados componentes ou serviços do servidor são comandados por esse kernel.
várias instâncias e também oferece uma
maneira centralizada de gestão dos recursos
facilitando a administração de instâncias.
Containers
Nota:
delimitador abstrador, i.e., um objeto quecontém outros objetos que podem ser incluídos ou excluídos em tempo de execução
Container Web
Nota:
os softwares que implementam Contêineres Web geralmente implementam umaforma de Servidor Web para tratar também requisições HTTP.
Por exemplo: Servidor Apache é um Servidor HTTP (ou Servidor Web)! Posteriormente, foi anexado o Tomcat –um sistema auxiliar ao Apache responsável pelo processamento de aplicativos em Java (basicamente Servlet e Páginas JSP).
tratar Servlets e Páginas JSP –
suportando conteúdo dinâmico
Container EJB
responsável por tratar beanscorporativos,
conhecidos como Enterprise JavaBeans (EJB)
Tomcat
Nota:
ServidorWebopen-source, escrito em java, surgido a partir do Projeto Jakarta, com apoio e endosso oficial da Sun Microsystems e, diferentemente do ApacheHTTP, é também um Contêiner Web/Servlet.
Não é completo porque
ele não suporta EJB, JMS
Nota:
não devemos confundir o Tomcat com o Apache – ele pode atuar como Servidor Web autônomo, integrado a um Servidor Web (Ex:
Apache e IIS), ou como parte integrante de um Servidor de Aplicação (Ex: JBoss AS).
Servidor Web, um Contêiner
Web e umServidor de Aplicação
Nota:
roda na porta padrão 8080 –para verificar sua execução, basta escrever no endereço do navegador http://localhost:8080, visto que ele possui uma console de administração baseada em web –Tomcat Manager!
Realms
Nota:
Eles são um banco de dados de Login/Senha para identificar usuários válidos de uma aplicação web. Usando realms, obriga-se a implementação de políticas de segurança no Servidor Web. Em outras palavras, desenvolvedores não precisam escrever código para autenticação e autorização (LDAP)
conf/server.xml
Nota:
O arquivo conf/server.xml é o arquivo de configuração do servidor. Por meio dele, pode-se configurar novos contextos.
Pode possuir um servidor Web internamente.
diversos fins
autenticação (JAAS)
troca de mensagens assíncronas (JMS)
controle de transação (JTA)
persistência de objetos (JPA)
componentes para criação de aplicações
distribuídas e clusterizadas (EJB)
API Java para processamento de arquivos
XML e Webservices (JAX-WS e JAX-B)