Apache Tomcat - Apache Tomcat

Apache Tomcat
Apache Tomcat logo.svg
Apache-tomcat-frontpage-epiphany-browser.jpg
Página padrão do Apache Tomcat
Autor (es) original (is) James Duncan Davidson
Desenvolvedor (s) The Apache Software Foundation
lançamento inicial 1999 ; 22 anos atras ( 1999 )
Versão estável 10.0.11 (10 de setembro de 2021 ; 38 dias atrás ) [±] ( 2021-09-10 )
Versão de visualização 10.1.0-M5 (alfa) (10 de setembro de 2021 ; 38 dias atrás ) [±] ( 2021-09-10 )
Repositório Repositório Tomcat
Escrito em Java
Modelo Servidor da web
HTTP do contêiner de servlet
Licença Licença Apache 2.0
Local na rede Internet tomcat .apache .org Edite isso no Wikidata

Apache Tomcat (chamado de "Tomcat" para breve) é uma implementação gratuita e de código aberto das tecnologias Jakarta Servlet , Jakarta Expression Language e WebSocket . O Tomcat fornece um ambiente de servidor da web HTTP "puro Java" no qual o código Java pode ser executado.

O Tomcat é desenvolvido e mantido por uma comunidade aberta de desenvolvedores sob os auspícios da Apache Software Foundation , lançada sob a licença Apache License 2.0.

Componentes

Tomcat 4.x foi lançado com Catalina (um contêiner de servlet), Coyote (um conector HTTP) e Jasper (um mecanismo JSP ).

Catalina

Catalina é o contêiner de servlet do Tomcat . Catalina implementa as especificações da Sun Microsystems para servlet e JavaServer Pages (JSP). No Tomcat, um elemento Realm representa um "banco de dados" de nomes de usuários, senhas e funções (semelhantes a grupos Unix ) atribuídos a esses usuários. Diferentes implementações de Realm permitem que Catalina seja integrado em ambientes onde tais informações de autenticação já estão sendo criadas e mantidas, e então usam essas informações para implementar Segurança Gerenciada de Contêiner conforme descrito na Especificação de Servlet.

Coiote

Coyote é um componente Conector para Tomcat que suporta o protocolo HTTP 1.1 e 2 como um servidor web. Isso permite que o Catalina, nominalmente um Java Servlet ou contêiner JSP, também atue como um servidor web simples que serve arquivos locais como documentos HTTP. O Coyote escuta as conexões de entrada para o servidor em uma porta TCP específica e encaminha a solicitação ao Tomcat Engine para processar a solicitação e enviar de volta uma resposta ao cliente solicitante. Outro Conector Coyote, Coyote JK, escuta de forma semelhante, mas em vez disso encaminha suas solicitações para outro servidor da web, como o Apache, usando o protocolo JK . Isso geralmente oferece melhor desempenho.

Jaspe

Jasper é o JSP Engine do Tomcat. Jasper analisa arquivos JSP para compilá-los em código Java como servlets (que podem ser manipulados por Catalina). No tempo de execução, o Jasper detecta alterações nos arquivos JSP e os recompila.

A partir da versão 5, o Tomcat usa Jasper 2, que é uma implementação da especificação JSP 2.0 da Sun Microsystems. De Jasper a Jasper 2, recursos importantes foram adicionados:

  • Conjunto de bibliotecas de tags JSP - Cada marcação de tag no arquivo JSP é tratada por uma classe de manipulador de tag. Os objetos da classe do manipulador de tags podem ser agrupados e reutilizados em todo o servlet JSP.
  • Compilação JSP em segundo plano - Ao recompilar o código Java JSP modificado, a versão mais antiga ainda está disponível para solicitações do servidor. O servlet JSP mais antigo é excluído assim que o novo servlet JSP termina de ser recompilado.
  • Recompilar JSP quando alterações de página incluídas - as páginas podem ser inseridas e incluídas em um JSP em tempo de execução. O JSP não será apenas recompilado com as alterações do arquivo JSP, mas também com as alterações da página incluídas.
  • Compilador JDT Java - Jasper 2 pode usar o compilador Java Eclipse JDT (Java Development Tools) em vez do Ant e javac.

Três novos componentes foram adicionados com o lançamento do Tomcat 7:

Cacho

Este componente foi adicionado para gerenciar grandes aplicativos. É usado para balanceamento de carga que pode ser obtido por meio de várias técnicas. O suporte a clusters atualmente requer o JDK versão 1.5 ou superior.

Alta disponibilidade

Um recurso de alta disponibilidade foi adicionado para facilitar o agendamento de atualizações do sistema (por exemplo, novos lançamentos, solicitações de mudança) sem afetar o ambiente ativo. Isso é feito enviando solicitações de tráfego ativo para um servidor temporário em uma porta diferente enquanto o servidor principal é atualizado na porta principal. É muito útil para lidar com solicitações de usuários em aplicativos da web de alto tráfego.

Aplicativo da web

Ele também adicionou aprimoramento de aplicativos da web baseados em sistema e usuário para adicionar suporte para implantação em uma variedade de ambientes. Ele também tenta gerenciar sessões, bem como aplicativos em toda a rede.

O Tomcat está construindo componentes adicionais. Vários componentes adicionais podem ser usados ​​com o Apache Tomcat. Esses componentes podem ser construídos por usuários caso precisem deles ou podem ser baixados de um dos mirrors.

Recursos

Tomcat 8.x implementa as especificações Servlet 3.1 e JSP 2.3. O Apache Tomcat 8.5.x destina-se a substituir 8.0.x e inclui novos recursos extraídos do Tomcat 9.0.x. A versão mínima do Java e as versões da especificação implementada permanecem inalteradas.

Tomcat 9.x implementa as especificações Servlet 4.0 e JSP 2.3.

Tomcat 10.x implementa as especificações Servlet 5.0 e JSP 3.0.

História

Tomcat começou como uma implementação de referência de servlet por James Duncan Davidson , arquiteto de software da Sun Microsystems. Posteriormente, ele ajudou a tornar o projeto de código aberto e desempenhou um papel fundamental em sua doação pela Sun Microsystems à Apache Software Foundation. A ferramenta de automação de compilação de software Apache Ant foi desenvolvida como um efeito colateral da criação do Tomcat como um projeto de código aberto.

Davidson inicialmente esperava que o projeto se tornasse de código aberto e, uma vez que muitos projetos de código aberto tinham livros de O'Reilly associados a eles apresentando um animal na capa, ele queria dar ao projeto o nome de um animal. Ele veio com Tom cat, já que ele raciocinou que o animal representava algo que poderia se defender sozinho. Embora o tomcat já estivesse em uso para outro título da O'Reilly, seu desejo de ver uma capa de animal eventualmente se tornou realidade quando O'Reilly publicou seu livro sobre o Tomcat com um leopardo da neve na capa em 2003.

Lançamentos

Series Declarado estável Descrição Último lançamento Última data de lançamento Fim da vida
Versão antiga, não mais mantida: 2.0 1998 O Tomcat começou em novembro de 1998 como uma implementação de referência de servlet por James Duncan Davidson , arquiteto de software da Sun Microsystems.
Versão antiga, não mais mantida: 3,0 1999 Lançamento inicial. Fusão do código doado do Sun Java Web Server e ASF and Implements Servlet 2.2 e especificações JSP 1.1. 3.3.2 09/03/2004
Versão antiga, não mais mantida: 4,1 06/09/2002 Primeiro lançamento do Apache Tomcat para suportar as especificações Servlet 2.3 e JSP 1.2. 4.1.40 25/06/2009
Versão antiga, não mais mantida: 5.0 03/12/2003 Primeiro lançamento do Apache Tomcat para suportar as especificações Servlet 2.4, JSP 2.0 e EL 1.1 . 5.0.30 30/08/2004
Versão antiga, não mais mantida: 5,5 10/11/2004 Projetado para J2SE 5.0. A inclusão do Eclipse JDT permite que o Tomcat seja executado sem a instalação de um Java Development Kit completo. 5.5.36 10/10/2012
Versão antiga, não mais mantida: 6,0 28/02/2007 Primeiro lançamento do Apache Tomcat para suportar as especificações Servlet 2.5, JSP 2.1 e EL 2.1. 6.0.53 07-04-2017 31/12/2016
Versão antiga, não mais mantida: 7,0 14/01/2011 Primeira versão do Apache Tomcat para oferecer suporte às especificações Servlet 3.0, JSP 2.2, EL 2.2 e WebSocket. 7.0.109 26/04/2021 31/03/2021
Versão antiga, não mais mantida: 8,0 25/06/2014 Primeiro lançamento do Apache Tomcat para suportar as especificações Servlet 3.1, JSP 2.3 e EL 3.0. 8.0.53 05/07/2018 30/06/2018
Versão mais antiga, mas ainda mantida: 8,5 13/06/2016 Adiciona suporte para HTTP / 2 , OpenSSL para JSSE, hospedagem virtual TLS e JASPIC 1.1. Criado a partir do Tomcat 9, após atrasos no Java EE 8. 8,5,72 2021-10-01
Versão mais antiga, mas ainda mantida: 9,0 18/01/2018 Primeiro lançamento do Apache Tomcat para suportar as especificações do Servlet 4.0. 9.0.53 2021-09-10
Versão estável atual: 10,0 2021-02-02 Primeira versão do Apache Tomcat para suportar as especificações Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 e Authentication 2.0. 10.0.11 2021-09-10
Lenda:
Versão antiga
Versão mais antiga, ainda mantida
Última versão
Versão de visualização mais recente
Lançamento futuro


Apache TomEE

Apache TomEE (pronuncia-se "Tommy") é o Java Enterprise Edition do Apache Tomcat (Tomcat + Java EE = TomEE) que combina vários projetos empresariais Java, incluindo Apache OpenEJB , Apache OpenWebBeans, Apache OpenJPA , Apache MyFaces e outros. Em outubro de 2011, o projeto obteve a certificação da Oracle Corporation como uma implementação compatível do Java EE 6 Web Profile.

Veja também

Referências

Bibliografia

links externos