İçeriğe atla

Apache Tomcat

Apache Tomcat
Apache Tomcat'in varsayılan ekranı
Orijinal yazar(lar)James Duncan Davidson
Geliştirici(ler)The Apache Software Foundation
İlk yayınlanma1999 (25 yıl önce) (1999)
Güncel sürüm11.0.0[1] Bunu Vikiveri'de düzenleyin / 9 Ekim 2024
Programlama diliJava
TürServlet container
HTTP web sunucusu
LisansApache-2.0
Resmî sitesitomcat.apache.org Bunu Vikiveri'de düzenleyin
Kod deposuTomcat Repository

Apache Tomcat, Apache Yazılım Vakfı tarafından geliştirilmiş açık kaynak bir Java Servlet Container uygulamasıdır. Tomcat Java Servlet, JavaServer Pages (JSP), Java EL ve WebSocket dahil olmak üzere birçok Java EE belirtimlerini gerçekleştirir ve Java kodunun çalışabileceği sadece Java ile yazılmış HTTP sunucu çevrelerini sağlar.

Tomcat'in bakımı, onarımı ve geliştirilmesi Apache Yazılım Vakfı himayesinde, halka açık bir yazılımcı topluluğu tarafından, açık kaynak kodlu yazılım olarak yapılmış, Apache Lisansı 2.0 altında yayınlanmıştır.

Bileşenleri

Tomcat 4.x sürümü Catalina (sunucu konteyner), Coyote (HTTP bağlantısı) ve Jasper (JSP motoru) bileşenleri ile yayınlanmıştır.

Catalina

Catalina Tomcat'in sunucu kabı (İngilizce:servlet container)'dır. Catalina hem sunucu hem JavaServer Pages (JSP) için Sun Microsystems şirketinin (zamanında yazmış olduğu) şartname takip ederek geliştirilmiştir. Tomcat'de Realm (Tomcat Realms olarak da bilinir) kullanıcılara ait kullanıcı ismi, şifre ve rollerden oluşan (aynı Unix gruplarındaki gibi) bir veritabanını simgeler. Farklı Realm uygulamaları, Catalina'nın, bu bahsedilen kimlik doğrulama bilgilerinin hali-hazırda yaratılıp muhafaza edildiği ortamlara entegre olmasına izin verir. Daha sonra bu bilgileri sunucu şartnamelerinde tanımlanmış Konteyner Tabanlı Güvenlik (İngilizce: Container Managed Security) uygulamasını kurmak için kullanır.[]

Coyote

Coyote, HTTP 1.1 protokolünü bir web sunucusu olarak destekleyen, Tomcat'in bağlantı bileşenidir. Bu Catalina'nınyerel dosyaların HTTP dokümanları olarak sunulduğu sade bir web sunucusu olarak iş görmesini sağlar.[]

Kaynakça

  1. ^ "Tomcat 11.0.0 (markt)". 9 Ekim 2024. Erişim tarihi: 13 Ekim 2024. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Sunucu (bilişim)</span> bilgisayar ağlarında, diğer ağ bileşenlerinin (kullanıcıların) erişebileceği, kullanımına ve/veya paylaşımına açık kaynakları barındıran bilgisayar birimi

Sunucu, bilişim alanında "istemci" denilen diğer program ve cihazlara çeşitli işlevler sunan bilgisayar donanımları veya yazılımlarıdır. Bu mimariye istemci-sunucu modeli denir. Sunucular, istemciler arasında veri veya kaynak paylaşımı, bir istemci için hesaplama yapma gibi çeşitli işlevleri yerine getirebilirler. Bu işlevlere genellikle "servis" veya "hizmet" denir. Tek bir sunucu çok sayıda istemciye hizmet verebilir, tek bir istemci de çok sayıda sunucudan hizmet alabilir. İstemci ve sunucu aynı cihaz üzerinde çalışabileceği gibi, istemci ağ üzerinden farklı bir cihazdaki sunucuya da bağlanabilir. Tipik sunucular arasında veritabanı sunucuları, dosya sunucuları, e-posta sunucuları, yazdırma sunucuları, web sunucuları, oyun sunucuları ve uygulama sunucuları sayılabilir.

Java EE, özellikle büyük çaplı projelerin ihtiyaçları için geliştirilmiş Java teknolojilerinin bütünün oluşturduğu çerçevenin ve standardın ismidir. Java EE servislerini sunan yazılımlara uygulama sunucusu denir. Java EE'yi oluşturan teknolojilerin bir kısmı aşağıda sıralanmıştır:

ASP.NET, Microsoft tarafından geliştirilmiş olan bir açık kaynak Web uygulama gelişimi teknolojisidir. Dinamik Web sayfaları, Web uygulamaları ve XML tabanlı Web hizmetleri geliştirilmesine olanak sağlar. Aynı işletme tarafından geliştirilen .NET çatısı'nın yazılım iskeleti parçası ve artık işletmece desteklenmeyen ASP teknolojisinin devamını teşkil etmiştir.

<span class="mw-page-title-main">İnternet sitesi</span> tek bir web alanından sunulan ilgili web sayfaları kümesi

Web sitesi, Ortak bir alan adı ile tanımlanan ve en az bir web sunucusunda yayınlanan web sayfaları ve ilgili içeriklerden oluşan bir koleksiyondur. Web üzerindeki sayfalar; metin, görsel ve animasyon şeklinde ziyaretçisine bilgi aktaran veya hizmet sunan sayfaların tümünü kapsayan bir doküman topluluğudur. Ziyaretçiler bir web sitesine, HTTP veya HTTPS protokollerinde aşağıdaki bileşenlerden oluşan benzersiz bir adresi kullanarak erişirler:

<span class="mw-page-title-main">İstemci-sunucu</span>

İstemci-sunucu, istemciyi sunucudan ayıran bir ağ mimarisidir. Her bir istemci yazılımı, sunucuya ya da uygulama sunucusuna isteklerini (request) gönderir.

<span class="mw-page-title-main">Apache HTTP Sunucusu</span>

Apache, açık kaynak kodlu ve özgür bir Web sunucu programıdır. Apache Yazılım Vakfı tarafından geliştirilmektedir.

Comet, İnternet sayfalarında kullanıcı tarayıcısından herhangi bir istek olmamasına karşın, web sunucusundan kullanıcıya veri göndermeyi sağlayan bir programlama tekniğidir.

<span class="mw-page-title-main">Apache Ant</span>

Apache Ant, yazılım inşası süreçlerini otomatikleştirmeye yarayan bir araçtır. Make'e benzeyen uygulama, Java ile geliştirilmiş olup Java platformunu gerektirmekte ve Java projelerinde sıkça kullanılmaktadır.

Dünya Çapında Ağ bağlamında Apache JServ Protokolü, ikicil bir protokol olup Web sunucusundan gelen geri bağlantılı talepleri bir alıp arkasında bulunan uygulama sunucusua iletebilir. Ayrıca bazı denetlemeleri de yaparak Web sunucusunun uygulama sunucusunu pinglemesine de sağlamaktadır. Web uyarlamacıları tipik olarak AJP'yi bir yük dengleme konuşlandırmasında bir veya birkaç ön uç Web sunucusundan bir veya birkaç uygulama sunucusuna talepleri iletmek için kullanmaktadırlar. Oturumlar asıl uygulama sunucularına her uygulama sunucusu oluşumuna bir ad verildiği özel bir yönlendirme mekanizmasıyla yönlendirilirler. Bu bağlantıların her birine dolaştır denir.

<span class="mw-page-title-main">Java Servlet</span>

Java servlet, Java EE'de Java Servlet API'siyle uyumlu bir Java (programlama) sınıfı olup HTTP istemlerine cevap vermek için kullanılır. Belirli bir istemci-sunucu protokolüne bağlı olmamasına rağmen genelde bu protokolle kullanılır. Servlet kelimesi genelde HTTP servlet yerine bu yüzden kullanılmaktadır. Dolayısıyla bir yazılım uzmanı, Java platformu sayesinde servleti bir Web sunucusuna dinamik içerik eklemek için kullanabilir. Üretilen kod genelde HTML olsa da bazen XML de olabilir. Servletler, CGI ya da ASP.NET gibi Java-dışı Web içerik teknolojilerinin Java'daki karşıt üründür. Servletlerle HTTP çerezleri veya URL yeniden yazımı kullanılarak oturum değişkenlerinin sistem durumunu birçok sunucu hareketleri boyunca koruması sağlanmaktadır.

<span class="mw-page-title-main">Node.js</span> Server-side JavaScript frameworkü

Node.js, açık kaynaklı, genelde sunucu tarafında çalışan ve ağ bağlantılı uygulamalar için geliştirilmiş bir çalıştırma ortamıdır. Node.js uygulamaları genelde istemci tarafı betik dili olan JavaScript kullanılarak geliştirilir.

Sunucu Adı Göstergesi (SNI) bir TLS protokolü uzantısı. Güvenli SSL bağlantısı oluşturulurken el sıkışma (handshake) sürecinin başlagıcında, istek içerisinde geçen sunucu adının (hostname) dijital sertifikasını doğrular. SNI teknolojisi aynı IP adresi ve TCP portu üzerinden birden fazla güvenli web sitesi için doğrulama işlemini gerçekleştirdiğinden, daha önceden SSL kullanmak için gerekli olan sabit IP zorunluluğunu ortadan kaldırır.

OpenShift web uygulamaları sunucusu ve bulut depolama hizmeti veren ürün. Red Hat'e ait olan OpenShift yazılımı, OpenShift Origin, açık kaynak kodlu olup kodları Github üzerinden erişilebilmektedir.

<span class="mw-page-title-main">MacOS Server</span>

macOS Server, Apple tarafından üretilen ve ayrı piyasaya çıkarılan add-on bir işletim ve sunucu sistemidir, macOS işletim sistemi için ek sunucu programları, idaresi ve yönetimi araçları sağlar. Mac OS X Server İngilizce, Japonca, Fransızca, Almanca, Basitleştirilmiş Çince, Hollandaca, İtalyanca, Almanca, İspanyolca ve Geleneksel Çince mevcuttur.

<span class="mw-page-title-main">Apache Yazılım Vakfı</span>

Apache Yazılım Vakfı, 1999 yılında Apache HTTP Sunucusu gibi yazılım projelerini desteklemek üzere kurulmuş kâr amacı gütmeyen bir kuruluştur. ASF yapı olarak merkeziyetsiz açık kaynak bilgi toplumu geliştiricileri tarafından oluşmaktadır. Yönetimsel olarak oy birliğine dayalı, katılımcı ve faydacı felsefelere dayalı bir karar mekanizmasından oluşur.

Windows Server ile karıştırılmamalıdır.

Apache Samza, LinkedIn tarafından geliştirilen açık kaynaklı bir küme yönetimi çerçevesidir. Scala ve Java'da Apache Yazılım Vakfı tarafından geliştirilen akış işleme için eşzamansız hesaplama çerçevesidir.

Apache Kafka, Apache Yazılım Vakfı tarafından geliştirilen, Scala ve Java ile yazılmış açık kaynaklı bir akış işleme yazılım platformu. Proje, gerçek zamanlı veri akışlarının işlenmesi için birleşik, yüksek verimli, düşük gecikme süreli bir platform sağlamayı amaçlamaktadır. Kafka, Kafka Connect aracılığıyla harici sistemlere bağlanabilir ve Java akış işleme kitaplığı olan Kafka Streams'i sağlar. Kafka, verimlilik için optimize edilmiş ikili TCP tabanlı bir protokol kullanır ve ağ gidiş dönüşünün ek yükünü azaltmak için mesajları doğal olarak bir araya getiren bir "mesaj kümesi" soyutlamasına dayanır.

<span class="mw-page-title-main">Web sunucusu dizin indeksi</span> Web sayfası indeksi

Bir HTTP istemcisi, URL kısmına herhangi bir dosya veya dizin girmemesi onun yerine sadece IP Adresi veya İnternet Sitesi adresi girmesi halinde, kişi ana sayfa veya "indeks" olarak bilinen sayfaya yönlendirilir.

<span class="mw-page-title-main">Apache James</span>

Apache James ya da Java Apache Mail Enterprise Server, tamamen Java ile yazılmış açık kaynaklı bir SMTP ve POP3 posta aktarım aracısı ve NNTP haber sunucusudur. James, Serge Knystautas'ın ilk katkılarıyla başlayarak Apache Yazılım Vakfı'na katkıda bulunanlar tarafından sürdürülmektedir. IMAP desteği, 3.0-M2 önizleme sürümünden itibaren eklenmiştir ve artık Java 1.5 veya üstü gerektirir.