Apache Tomcat - Apache Tomcat
Autor (es) original (is) | James Duncan Davidson |
---|---|
Desenvolvedor (s) | The Apache Software Foundation |
lançamento inicial | 1999 |
Versão estável | 10.0.11 (10 de setembro de 2021 [±] | )
Versão de visualização | 10.1.0-M5 (alfa) (10 de setembro de 2021 [±] | )
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 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 |
---|---|---|---|---|---|
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. | |||
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 | |
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 | |
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 | |
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 | |
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 |
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 |
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 |
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 | |
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 | |
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 | |
Versão antiga
Versão mais antiga, ainda mantida
Última versão
Versão de visualização mais recente
|
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
- MuleSoft , produtora do Tcat, um servidor Tomcat corporativo
- Apache Geronimo , um servidor de aplicativos que pode usar Tomcat como seu contêiner da web
- Resina (software) - servidor de aplicação da Tecnologia Caucho
- WildFly , anteriormente conhecido como JBoss Application Server
- Jetty (servidor web)
- JOnAS , servidor de aplicativos que pode usar o Tomcat como seu contêiner da web
- Apache OpenEJB , pode ser adicionado ao Tomcat para transformá-lo em um servidor JavaEE
- GlassFish , a implementação de referência de Java EE, com suporte a EJB , JPA , JSF , JMS , Java RMI , JSP, servlets etc.
- Comparação de software de servidor web
Referências
Bibliografia
- Brittain, Jason; Darwin, Ian F. (28 de novembro de 2007), Tomcat: The Definitive Guide (1ª ed.), O'Reilly Media, p. 320 , ISBN 978-0596003180, recuperado em 01/03/2018
- Brittain, Jason; Darwin, Ian F., Tomcat: The Definitive Guide (2ª ed.), O'Reilly Media, p. 496, ISBN 978-0596101060, recuperado em 01/03/2018
- Chopra, Vivek; Li, Sing; Genender, Jeff (13 de agosto de 2007), Professional Apache Tomcat 6 (1ª ed.), Wrox , p. 629, ISBN 978-0-471-75361-2, recuperado em 08/10/2009
- Moodie, Matthew; Mittal (Ed.), Kunal (22 de março de 2007), Pro Apache Tomcat 6 (1ª ed.), Apress , p. 325, ISBN 978-1-59059-785-9, recuperado em 08/10/2009Manutenção de CS1: texto extra: lista de autores ( link )