5. Ekler
Burada, "Uygulamalı Java 5 Kalıcılığı" belgesinde kullanılan araçların kurulumunu ve temel kullanımını açıklıyoruz. Aşağıda verilen bilgiler Mayıs 2007 itibarıyla geçerlidir. Bu bilgiler kısa sürede geçerliliğini yitirecektir. Bu durumda, okuyucunun benzer ancak tam olarak aynı olmayan adımları izlemesi gerekecektir. Kurulumlar, Windows XP Professional işletim sistemli bir bilgisayarda gerçekleştirilmiştir.
5.1. Java
Sun'da bulunan en son Java sürümünü kullanacağız [http://www.sun.com]. İndirmelere şu URL üzerinden erişilebilir [http://java.sun.com/javase/downloads/index.jsp]:


İndirdiğiniz dosyadan JDK kurulumunu başlatın. Varsayılan olarak, Java şu konuma kurulur: [C:\Program Files\Java]:

5.2. Eclipse
5.2.1. Temel kurulum
Eclipse, IDE adıyla [http://www.eclipse.org/] adresinde mevcuttur ve [http://www.eclipse.org/downloads/] adresinden indirilebilir. Aşağıda Eclipse 3.2.2'yi indiriyoruz:
![]()
Zip dosyası indirildikten sonra, diskteki bir klasöre açıyoruz:

Bundan sonra, yukarıdaki [C:\devjava\eclipse 3.2.2\eclipse] dosyasını Eclipse kurulum klasörü olarak adlandıracağız ve ona <eclipse> diyeceğiz. [eclipse.exe], programın çalıştırılabilir dosyasıdır ve [eclipse.ini] ise bunun yapılandırma dosyasıdır. İçeriğine bir göz atalım:
Bu argümanlar, Eclipse başlatılırken şu şekilde kullanılır:
Aynı argümanlarla Eclipse'i başlatacak bir kısayol oluşturarak, .ini dosyasıyla elde edilen sonuçla aynı sonuca ulaşırız. Bunları açıklayalım:
- -vmargs: Ardından gelen argümanların, Eclipse'i çalıştıracak Java sanal makinesine yönelik olduğunu belirtir. Eclipse bir Java uygulamasıdır.
- -Xms40m: ?
- -Xmx256m: Eclipse'i çalıştıran Java sanal makinesine (JVM) ayrılan bellek boyutunu MB cinsinden belirler. Varsayılan olarak, bu boyut burada gösterildiği gibi 256 MB'dir. Sistem izin veriyorsa, 512 MB tercih edilir.
Bu argümanlar, Eclipse'i çalıştıracak olan JVM'e aktarılır. JVM, bir [java.exe] veya [javaw.exe] dosyası ile temsil edilir. Bu dosya nasıl bulunur? Aslında, farklı şekillerde aranır:
- OS dosyasının içindeki PATH dosyasında
- <JAVA_HOME>/jre/bin klasöründe; burada JAVA_HOME, bir JDK dosyasının kök klasörünü tanımlayan bir sistem değişkenidir.
- Eclipse'e -vm <yol>\javaw.exe biçiminde argüman olarak geçirilen bir konuma
Bu son çözüm tercih edilmelidir, çünkü diğer iki çözüm, daha sonra kurulacak uygulamaların PATH dosyasını veya OS dosyasını ya da JAVA_HOME değişkenini değiştirebileceği için belirsizliğe maruz kalır.
Bu nedenle şu kısayolu oluşturuyoruz:

<eclipse>\eclipse.exe" -vm "C:\Program Files\Java\jre1.6.0_01\bin\javaw.exe" -vmargs -Xms40m -Xmx512m | |
Eclipse kurulum <eclipse> klasörü |
Bu işlem tamamlandıktan sonra, bu kısayol aracılığıyla Eclipse'i başlatın. İlk olarak şu iletişim kutusu açılır:

[workspace] bir çalışma alanıdır. Önerilen varsayılan değerleri kabul edelim. Varsayılan olarak, oluşturulan Eclipse projeleri bu iletişim kutusunda belirtilen <workspace> klasörüne kaydedilecektir. Bu davranışı atlatmanın bir yolu vardır. Biz de bunu her zaman yapacağız. Dolayısıyla, bu iletişim kutusuna verilen yanıtın bir önemi yoktur.
Bu aşamayı geçtikten sonra, Eclipse geliştirme ortamı görüntülenir:

Yukarıda önerildiği gibi [Welcome] görünümünü kapatıyoruz:

Bir Java projesi oluşturmadan önce, Java projelerini derlemek için kullanılacak JDK'i belirtmek üzere Eclipse'i yapılandıracağız. Bunun için [Window / Preferences / Java / Installed JREs ] seçeneğini seçiyoruz:

Normalde, Eclipse'i başlatmak için kullanılan JRE (Java Runtime Environment), JRE listesinde bulunmalıdır. Normalde bu tek öğe olacaktır. [Add] düğmesi ile JRE öğeleri eklenebilir. Bu durumda, JRE'in kök dizinini belirtmek gerekir. [Search] düğmesi ise diskte JREs dosyasını aramaya başlar. Bu, kurduktan sonra daha yeni bir sürüme geçerken kaldırmayı unuttuğumuz JREs dosyalarının durumunu öğrenmek için iyi bir yoldur. Yukarıda, işaretli olan JRE, Java projelerini derlemek ve çalıştırmak için kullanılacak olanıdır. Bu, 5.1. paragrafta kurulan ve Eclipse'i başlatmak için de kullanılan sürümdür. Üzerine çift tıkladığınızda özelliklerine erişebilirsiniz:

Şimdi bir Java projesi oluşturalım: [File / New / Project]:
![]() | ![]() |
[Java Project]'i seçin, ardından [Next]'i seçin ->

[2]'te, Java projesinin kurulacağı boş bir klasör belirtiriz. [1]'te, projeye bir ad veririz. Yukarıdaki örnekte sanılabileceği gibi, projenin adı klasörün adıyla aynı olmak zorunda değildir. Bu işlem tamamlandıktan sonra, [Next] düğmesini kullanarak oluşturma sihirbazının bir sonraki sayfasına geçiyoruz:

Yukarıda, kaynak dosyaları (.java) depolamak üzere proje içinde özel bir klasör oluşturuyoruz:

![]() |
- [1]'te, .java kaynak dosyalarının depolanacağı [src] klasörünü görüyoruz
- [2]'te, derlenmiş .class dosyalarının saklanacağı [bin] klasörünü görüyoruz
Sihirbazı [Finish] ile tamamlıyoruz. Böylece bir Java proje iskeletine sahip oluyoruz:

[test1] projesine sağ tıklayarak bir Java sınıfı oluşturalım:

![]() |
- [1], sınıfın oluşturulacağı klasördür. Eclipse, varsayılan olarak mevcut projenin klasörünü önerir.
- [2], sınıfın yerleştirileceği paket
- [3]'te, sınıfın adı
- [4]'te, [main] statik yönteminin oluşturulmasını talep ediyoruz
[Finish] ile sihirbazı onaylıyoruz. Böylece projeye bir sınıf eklenir:

Eclipse, sınıfın iskeletini oluşturdu. Bu iskelete, yukarıdaki [Test1.java] öğesine çift tıklayarak ulaşılabilir:

Yukarıdaki kodu şu şekilde değiştiriyoruz:

[Test1.java] programını çalıştırıyoruz: [clic droit sur Test1.java -> Run As -> Java Application]

Çalıştırma sonucu [Console] penceresinde görüntülenir:

[Console] penceresi varsayılan olarak görünmelidir. Aksi takdirde, [Window/Show View/Console] komutuyla bu pencerenin görüntülenmesini sağlayabiliriz:

5.2.2. Derleyici Seçimi
Eclipse, Java 1.4, Java 1.5 ve Java 1.6 ile uyumlu kod üretmeye olanak tanır. Varsayılan olarak, Java 1.4 ile uyumlu kod üretmek üzere yapılandırılmıştır. API ve JPA komutları Java 1.5 kodunu gerektirir. [Window / Preferences / Java / Compiler] tarafından oluşturulan kodun türünü değiştiriyoruz:
![]() |
- [1] olarak değiştiriyoruz: [Java / Compiler] seçeneğini seçiyoruz
- [2]: Java 5.0 uyumluluğu seçimi
5.2.3. 'in Callisto eklentilerinin kurulumu
Yukarıda kurulan temel sürüm, konsol tabanlı Java uygulamaları oluşturmaya izin verir ancak web veya Swing türü Java uygulamaları oluşturmaya izin vermez; aksi takdirde her şeyi kendiniz yapmanız gerekir. Çeşitli eklentileri kuracağız:
Şu şekilde ilerleyelim [Help/Software Udates/Find and Install]:
![]() |
- [2]'te, yeni eklentiler yüklemek istediğimizi belirtiriz
![]() |
- [3]'te, eklentileri bulmak için taranacak siteleri belirtiriz
- [4]'te, istenen eklentilerin işaretlenmesi
![]() |
- [5]'te, Eclipse, seçilen eklentinin henüz seçilmemiş diğer eklentilere bağlı olduğunu bildirir
- [6]'te, eksik eklentileri otomatik olarak seçmek için [Select Required] düğmesini kullanın
- [7]'te, bu çeşitli eklentilerin lisans koşullarını kabul ediyoruz
![]() |
- [8]'te, kurulacak tüm eklentilerin listesi görüntülenir
- [9] adımında, bu eklentilerin indirilmesini başlatın
- [10]'te, eklentiler indirildikten sonra imzalarını kontrol etmeden hepsini kuruyoruz
![]() |
- [11]'te, eklentilerin kurulumu tamamlandığında Eclipse'in yeniden başlatılmasına izin verilir
- [12]'te, [File/New/Project]'i çalıştırırsak, başlangıçta mümkün olmayan web uygulamaları artık oluşturabileceğimizi görürüz.
5.2.4. [TestNG] eklentisinin kurulumu
TestNG (Test Next Generation), JUnit ile benzer bir yaklaşıma sahip bir birim test aracıdır. Ancak, JUnit'e kıyasla bazı iyileştirmeler sunduğu için burada onu tercih ediyoruz. Daha önce yaptığımız gibi ilerliyoruz: [Help/Software Udates/Find and Install]:
![]() |
- [2]'te, yeni eklentiler yüklemek istediğimizi belirtiriz
![]() |
- [3a]'te, [TestNG]'in indirme sitesi mevcut değil. Bunu [3b] ile ekliyoruz
- [4b]'te: eklentinin sitesi [http://beust.com/eclipse]'tir. [4a]'te istediğimizi giriyoruz.
![]() |
- [5a]'te, güncelleme için [TestNG] eklentisi seçilir. [5b]'te güncelleme başlatılır.
- [6]'te, eklentinin web sitesiyle bağlantı kuruldu. Sitede bulunan tüm eklentiler bize gösteriliyor. Burada sadece bir tanesini seçip bir sonraki adıma geçiyoruz.
![]() |
- [7]'te, eklentinin lisans koşullarını kabul ediyoruz
- [8] adımında, kurulacak tüm eklentilerin listesi görüntülenir; burada bir tanesini seçiyoruz. İndirme işlemini başlatıyoruz. Ardından, Callisto eklentileri için yukarıda açıklanan şekilde işlem devam eder.
Eclipse yeniden başlatıldığında, örneğin mevcut görünümleri görüntüleyerek yeni eklentinin mevcut olduğunu görebiliriz [Window / show View / Other] :
![]() |
Yukarıda, daha önce mevcut olmayan bir [TestNG] görünümünün varlığını görüyoruz.
5.2.5. [Hibernate Tools] eklentisinin kurulumu
Hibernate bir JPA sağlayıcısıdır ve Eclipse için [Hibernate Tools] eklentisi, JPA uygulamaları geliştirmede yararlıdır. Mayıs 2007 itibarıyla, yalnızca en son sürümü (3.2.0beta9) Hibernate/JPA ile çalışmaya izin vermektedir ve bu sürüm, az önce açıklanan yöntemle edinilememektedir. Yalnızca daha eski sürümler bu yöntemle edinilebilir. Bu nedenle farklı bir yol izleyeceğiz.
Eklenti, Hibernate Tools web sitesinde mevcuttur: http://tools.hibernate.org/.
![]() |
- [1]'te, Hibernate Tools'un en son sürümünü seçin
- [2]'te, onu indirin
![]() |
- [3]'te, bir açma programı kullanarak indirilen zip dosyasını <eclipse> klasörüne açın (Eclipse'in kapalı olması tercih edilir)
- [4] dosyasında, işlem sırasında bazı dosyaların üzerine yazılmasını kabul edin
Eclipse'i yeniden başlatın:
![]() |
- [1]: bir perspektif açın
- [2]: Artık bir [Hibernate Console] perspektifi mevcuttur
[Hibernate Tools] eklentisiyle daha fazla ilerlemeyeceğiz ([2]'te İptal). Kullanım şekli, öğreticideki örneklerde açıklanmıştır.
Bazen Eclipse yeni eklentilerin varlığını algılamayabilir. -clean seçeneği ile tüm eklentileri yeniden taramasını sağlayabilirsiniz. Böylece Eclipse kısayolunun yürütülebilir dosyası şu şekilde değiştirilir:
"<eclipse>\eclipse.exe" -clean -vm "C:\Program Files\Java\jre1.6.0_01\bin\javaw.exe" -vmargs -Xms40m -Xmx512m
Eclipse yeni eklentileri algıladıktan sonra, yukarıdaki -clean seçeneği kaldırılmalıdır.
5.2.6. [SQL Explorer] eklentisinin kurulumu
Şimdi, bir veritabanının içeriğini doğrudan Eclipse'ten inceleyebilmemizi sağlayacak bir eklenti yükleyeceğiz. Eclipse için mevcut eklentiler, [http://eclipse-plugins.2y.net/eclipse/plugins.jsp] web sitesinde bulunabilir:
![]() |
- [1]: Eclipse eklentileri sitesi
- [2]: [Database] kategorisini seçin
- [3] adresinde: [Database] kategorisinde, sıralamaya göre görüntüleme seçeneğini seçin (oy veren kişi sayısının azlığı nedeniyle pek güvenilir değildir)
- [4]'te: QuantumDB 1. sırada yer alıyor
- [5]'te: SQLExplorer'i seçiyoruz; daha eski, sıralamada daha geride (3. sırada) ama yine de çok iyi. [plugin-homepage] eklentisinin sitesine gidiyoruz
![]() |
- [6] ve [7]: eklentiyi indiriyoruz.
![]() |
- ve [8]: Eklentinin zip dosyasını Eclipse klasörüne açıyoruz.
Kontrol etmek için, gerekirse -clean seçeneğiyle Eclipse'i yeniden başlatın:
![]() |
- [1]: Yeni bir perspektif açın
- [2]: [SQL Explorer] perspektifinin mevcut olduğu görülüyor. Buna daha sonra tekrar döneceğiz.
5.3. 'in servlet konteyneri Tomcat 5.5
5.3.1. Kurulum
Servlet'leri çalıştırmak için bir servlet konteynerine ihtiyacımız var. Burada, http://tomcat.apache.org/ adresinden ulaşılabilen Tomcat 5.5 adlı bir servlet konteynerini tanıtacağız. Kurulum adımlarını (Mayıs 2007) açıklayacağız. Daha önceki bir Tomcat sürümü zaten yüklüyse, önce onu kaldırmanız tavsiye edilir.

Ürünü indirmek için yukarıdaki [Tomcat 5.x] bağlantısını takip edin:

Windows platformu için hazırlanan .exe dosyasını indirebilirsiniz. Dosya indirildikten sonra, üzerine çift tıklayarak Tomcat kurulumunu başlatın:

Lisans koşullarını kabul edin ->

[next] komutunu girin ->

Önerilen kurulum klasörünü kabul edin veya [Browse] ile değiştirin ->

Tomcat sunucusunun yönetici kullanıcı adı ve şifresini belirleyin. Burada [admin / admin] girilmiştir ->
![]() |
Tomcat 5.x, JRE 1.5 sürümüne ihtiyaç duyar. Normalde, makinenizde kurulu olan sürümü bulmalıdır. Yukarıda belirtilen yol, 5.1. paragrafta indirilen JRE 1.6 sürümüne aittir. JRE bulunamazsa, [1] düğmesini kullanarak dosyanın kök dizinini belirtin. Bunu yaptıktan sonra, [Install] düğmesini kullanarak Tomcat 5.x'i kurun ->

[Finish] düğmesi kurulumu tamamlar. Tomcat'in kurulu olduğu, Windows görev çubuğunun sağ tarafında bulunan bir simgeyle gösterilir:

Bu simgeye sağ tıklayarak sunucuyu başlatma ve durdurma komutlarına erişebilirsiniz:

Web sunucusunu şimdi durdurmak için [Stop service] seçeneğini kullanıyoruz:

Simgenin durumundaki değişikliği not edelim. Bu simge görev çubuğundan kaldırılabilir:

Tomcat, kullanıcı tarafından seçilen klasöre kurulmuştur; bundan sonra bu klasöre <tomcat> diyeceğiz. İndirilen Tomcat 5.5.23 sürümü için bu klasörün dizin yapısı şu şekildedir:

Tomcat kurulumu, [Démarrer] menüsüne bir dizi kısayol eklemiştir. Aşağıdaki [Monitor] bağlantısını kullanarak Tomcat'i durdurma/başlatma aracını çalıştırıyoruz:

Böylece daha önce gösterilen simgeyi görüyoruz:

Tomcat monitörü, bu simgeye çift tıklanarak etkinleştirilebilir:

[Start - Stop - Pause] - Restart düğmeleri, sunucuyu başlatmamızı, durdurmamızı ve yeniden başlatmamızı sağlar. [Start] ile sunucuyu başlatıyoruz, ardından bir tarayıcıyla http://localhost:8080 adresini giriyoruz. Aşağıdakine benzer bir sayfa görmemiz gerekir:

Tomcat'in doğru şekilde kurulduğunu doğrulamak için aşağıdaki bağlantıları takip edebiliriz:

[http://localhost:8080] sayfasındaki tüm bağlantılar ilgi çekicidir ve okuyucunun bunları incelemesi önerilir. Sunucu içinde dağıtılmış web uygulamalarını yönetmeye yarayan bağlantılara daha sonra tekrar değineceğiz:

5.3.2. Tomcat sunucusunda bir web uygulamasının dağıtımı
5.3.3. Dağıtım
Bir web uygulamasının bir servlet konteyneri içinde dağıtılabilmesi için belirli kurallara uyması gerekir. <webapp> bir web uygulamasının klasörü olsun. Bir web uygulaması şunlardan oluşur:
<webapp>\WEB-INF\classes klasöründe | |
<webapp>\WEB-INF\lib klasöründe | |
<webapp> klasöründe veya alt klasörlerinde |
Web uygulaması, <webapp>\WEB-INF\web.xml adlı bir XML dosyası ile yapılandırılır. Bu dosya, özellikle web uygulamasının yalnızca statik dosyalar içerdiği gibi basit durumlarda gerekli değildir. Aşağıdaki HTML dosyasını oluşturalım:
<html>
<head>
<title>Application exemple</title>
</head>
<body>
Application exemple active ....
</body>
</html>
ve bunu bir klasöre kaydedelim:

Bu dosyayı bir tarayıcıda açarsak, şu sayfa karşımıza çıkar:

Tarayıcıda görüntülenen URL, sayfanın bir web sunucusu tarafından sunulmadığını, doğrudan tarayıcı tarafından yüklendiğini gösterir. Şimdi bu sayfanın Tomcat web sunucusu üzerinden erişilebilir olmasını istiyoruz.
<tomcat> dizin yapısına geri dönelim:

Tomcat sunucusunda dağıtılan web uygulamalarının yapılandırması, XML klasörüne yerleştirilen [<tomcat>\conf\Catalina\localhost] dosyaları kullanılarak yapılır:
![]() | ![]() |
Bu XML dosyaları, yapıları basit olduğu için manuel olarak oluşturulabilir. Ancak bu yöntemi kullanmak yerine, Tomcat'in sunduğu web araçlarını kullanacağız.
5.3.4. 'in Yönetimi
http://localhost:8080 giriş sayfasında, sunucu yönetim için bize bağlantılar sunar:

[Tomcat Administration] bağlantısı, Tomcat’ın kendi içinde dağıtılmış web uygulamalarının kullanımına sunduğu kaynakları (örneğin, bir veritabanına bağlantı havuzu) yapılandırma olanağı sunar. Bağlantıyı takip edelim:

Karşımıza çıkan sayfa, Tomcat 5.x'in yönetimi için "admin" adlı özel bir paket gerektiğini gösteriyor. Tomcat [http://tomcat.apache.org/download-55.cgi] sitesine geri dönelim:

[Administration Web Application] adlı zip dosyasını indirelim ve açalım. İçeriği şu şekildedir:

[admin] klasörü, [<tomcat>\server\webapps] klasörüne kopyalanmalıdır; burada <tomcat>, tomcat'in kurulduğu klasördür. 5.x:

[localhost] klasörü, [admin.xml] dosyasını içerir ve bu dosya [<tomcat>\conf\Catalina\localhost] klasörüne kopyalanmalıdır:

Tomcat çalışıyorsa, onu durdurup yeniden başlatın. Ardından bir tarayıcı kullanarak web sunucusunun giriş sayfasını yeniden çağırın:

[Tomcat Administration] bağlantısını takip edelim. Bir kimlik doğrulama sayfası karşımıza çıkar (bu sayfaya ulaşmak için sayfayı "yeniden yüklemek/tazelemek" gerekebilir):
![]() | ![]() |
Burada, Tomcat kurulumunda girdiğimiz bilgileri tekrar girmemiz gerekiyor. Bizim örneğimizde, admin / admin kullanıcı bilgilerini giriyoruz. [Login] düğmesi bizi bir sonraki sayfaya yönlendiriyor:

Bu sayfa, Tomcat yöneticisinin
- veri kaynaklarını (Data Sources),
- posta gönderimi için gerekli bilgileri (Mail Sessions),
- tüm uygulamaların erişebileceği ortam verilerini (Environment Entries),
- Tomcat kullanıcılarını/yöneticilerini yönetmek (Users),
- kullanıcı gruplarını yönetmesini (Groups),
- rolleri tanımlamak (= bir kullanıcının yapabilecekleri ve yapamayacakları),
- sunucu tarafından dağıtılan web uygulamalarının özelliklerini tanımlama (Service Catalina)
Yukarıdaki [Roles] bağlantısını takip edelim:

Bir rol, bir kullanıcının veya kullanıcı grubunun neler yapabileceğini ve yapamayacağını tanımlamaya olanak tanır. Bir role belirli haklar atanır. Her kullanıcı bir veya daha fazla role atanır ve bu rollerin haklarına sahip olur. Aşağıdaki [manager] rolü, Tomcat'te dağıtılan web uygulamalarını yönetme hakkı verir (dağıtım, başlatma, durdurma, kaldırma). Tomcat uygulamalarını yönetebilmesi için [manager] adlı bir kullanıcı oluşturacak ve bu kullanıcıyı [manager] rolüne atayacağız. Bunun için yönetim sayfasındaki [Users] bağlantısını takip ediyoruz:

Zaten bir dizi kullanıcının mevcut olduğunu görüyoruz. [Create New User] seçeneğini kullanarak yeni bir kullanıcı oluşturuyoruz:

"manager" adlı kullanıcıya "manager" şifresini veriyoruz ve ona "manager" rolünü atıyoruz. Bu eklemeyi onaylamak için [Save] düğmesini kullanıyoruz. Yeni kullanıcı, kullanıcı listesinde görünür:

Bu yeni kullanıcı, [<tomcat>\conf\tomcat-users.xml] dosyasına eklenecektir:

Bu dosyanın içeriği şöyledir:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="manager" password="manager" fullName="" roles="manager"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
- 10. satır: Oluşturulan [manager] kullanıcısı
Kullanıcı eklemenin bir başka yolu da bu dosyayı doğrudan düzenlemektir. Özellikle, admin veya manager yöneticisinin şifresini unutmuşsanız bu şekilde işlem yapmanız gerekir.
5.3.5. Dağıtılmış web uygulamalarının yönetimi
Şimdi [http://localhost:8080] giriş sayfasına geri dönelim ve [Tomcat Manager] bağlantısını takip edelim:

Böylece bir kimlik doğrulama sayfası karşımıza çıkıyor. Kendimizi manager / manager, c.a.d olarak tanıtıyoruz. Az önce oluşturduğumuz [manager] rolündeki kullanıcı. Nitekim, yalnızca bu role sahip bir kullanıcı bu bağlantıyı kullanabilir. [tomcat-users.xml]'in 11. satırında, [admin] kullanıcısının aynı zamanda [manager] rolüne de sahip olduğunu görüyoruz. Dolayısıyla, [admin / admin] kimlik bilgilerini de kullanabiliriz.

Tomcat'te şu anda dağıtılmış olan uygulamaları listeleyen bir sayfa elde ediyoruz:

Sayfanın alt kısmında bulunan formlar aracılığıyla yeni bir uygulama ekleyebiliriz:

Burada, daha önce oluşturduğumuz örnek uygulamayı Tomcat'te dağıtmak istiyoruz. Bunu şu şekilde yapıyoruz:

/örnek | dağıtılacak web uygulamasını belirtmek için kullanılan ad | |
C:\data\çalışma\2006-2007\eclipse\dvp-jpa\ekler\tomcat\örnek | web uygulamasının bulunduğu klasör |
[C:\data\travail\2006-2007\eclipse\dvp-jpa\annexes\tomcat\exemple\exemple.html] dosyasını elde etmek için, Tomcat'ten URL ve [http://localhost:8080/exemple/exemple.html] dosyalarını isteyeceğiz. Bağlam, dağıtılan web uygulamasının dizin yapısının köküne bir ad vermek için kullanılır. Uygulamanın dağıtımını gerçekleştirmek için [Deploy] düğmesini kullanıyoruz. Her şey yolunda giderse, aşağıdaki yanıt sayfasını alırız:

ve yeni uygulama, dağıtılmış uygulamalar listesinde görünür:
![]() |
Yukarıdaki /example bağlam satırını inceleyelim:
http://localhost:8080/exemple adresine bağlantı | |
uygulamayı başlatır | |
uygulamayı kapatır | |
uygulamayı yeniden yükler. Bu, örneğin uygulamaya bazı sınıflar eklendiğinde, değiştirildiğinde veya silindiğinde gereklidir. | |
[/exemple] bağlamının silinmesi. Uygulama, kaldırılır. |
Artık /example uygulamamız dağıtıldığına göre, birkaç test yapabiliriz. [http://localhost:8080/exemple/vues/exemple.html] URL'si üzerinden [exemple.html] sayfasını çağırıyoruz:

Tomcat sunucusunda bir web uygulamasını dağıtmanın bir başka yolu da, web arayüzü üzerinden girdiğimiz bilgileri, [<tomcat>\conf\Catalina\localhost] klasörüne yerleştirilen [contexte].xml dosyasında belirtmektir; burada [contexte], web uygulamasının adıdır.
Tomcat yönetim arayüzüne geri dönelim:

[/exemple] uygulamasını ve [Undeploy] bağlantısını silelim:

[/exemple] uygulaması artık aktif uygulamalar listesinde yer almıyor. Şimdi şu [exemple.xml] dosyasını tanımlayalım:
XML dosyası, tek bir <Context> etiketinden oluşur ve bu etiketin docBase özniteliği, dağıtılacak web uygulamasını içeren klasörü tanımlar. Bu dosyayı <tomcat>\conf\Catalina\localhost dizinine yerleştirelim:

Gerekirse Tomcat’i durdurup yeniden başlatın, ardından Tomcat yöneticisi ile aktif uygulamaların listesini görüntüleyin:

[/exemple] uygulaması listede görünüyor. Bir tarayıcı kullanarak şu URL'yi açalım:
[http://localhost:8080/exemple/exemple.html] adresini gidelim:

Bu şekilde dağıtılmış bir web uygulaması, daha önce olduğu gibi [Undeploy] bağlantısı kullanılarak dağıtılmış uygulamalar listesinden silinebilir:

Bu durumda, [exemple.xml] dosyası, [<tomcat>\conf\Catalina\localhost] klasöründen otomatik olarak silinir.
Son olarak, bir web uygulamasını Tomcat içinde dağıtmak için, [<tomcat>\conf\server.xml] dosyasında uygulamanın bağlamını da tanımlayabilirsiniz. Bu konuyu burada ayrıntılı olarak ele almayacağız.
5.3.6. Ana sayfası olan web uygulaması
[http://localhost:8080/exemple/] URL'sini çağırdığımızda, şu yanıtı alırız:

Tomcat'in bazı önceki sürümlerinde, [/exemple] uygulamasının fiziksel klasörünün içeriği görüntülenirdi.
İstendiğinde, söz konusu bağlamda bir ana sayfa görüntülenmesini sağlayabiliriz. Bunun için, <örnek>\WEB-INF klasörüne yerleştireceğimiz [web.xml] adlı bir dosya oluştururuz; burada <örnek>, [/exemple] web uygulamasının fiziksel klasörüdür. Bu dosya şöyledir:
- 2-5. satırlar: Tomcat'taki [/admin] uygulamasının [web.xml] dosyasından kopyala/yapıştır yoluyla alınan özniteliklere sahip <web-app> kök etiketi (<tomcat>/server/webapps/admin/WEB-INF/web.xml).
- 7. satır: Web uygulamasının görüntüleme adı. Bu, uygulama bağlam adından daha az kısıtlamaya sahip, serbestçe seçilebilen bir addır. Örneğin, bağlam adında mümkün olmayan boşluklar bu ada eklenebilir. Bu ad, örneğin Tomcat yöneticisi tarafından şu şekilde görüntülenir:

- 8. satır: Web uygulamasının açıklaması. Bu metin daha sonra programlama yoluyla elde edilebilir.
- 9-11. satırlar: karşılama dosyaları listesi. <welcome-file-list> etiketi, bir istemci uygulama bağlamını talep ettiğinde gösterilecek görünümlerin listesini tanımlamak için kullanılır. Birden fazla görünüm olabilir. Bulunan ilk görünüm istemciye sunulur. Burada sadece bir tane var: [/exemple.html]. Dolayısıyla, bir istemci [/exemple] URL’sini talep ettiğinde, aslında kendisine [/exemple/exemple.html] URL’si sunulacaktır.
Bu [web.xml] dosyasını <örnek>\WEB-INF konumuna kaydedelim:

Tomcat hala çalışır durumdaysa, [/exemple] web uygulamasını [Recharger] bağlantısıyla yeniden yüklemeye zorlayabilirsiniz:

Bu "yeniden yükleme" işlemi sırasında Tomcat, varsa [<exemple>\WEB-INF] içinde bulunan [web.xml] dosyasını yeniden okur. Bu durumda dosya mevcuttur. Tomcat durdurulmuşsa, yeniden başlatın.
Bir tarayıcı kullanarak URL ve [http://localhost:8080/exemple/] dosyalarını isteyelim:

Ana sayfa dosyası mekanizması çalıştı.
5.3.7. Tomcat'in Eclipse'e entegrasyonu
Şimdi Tomcat'i Eclipse'e entegre edeceğiz. Bu entegrasyon şunları sağlar:
- Eclipse'ten Tomcat'i başlatma / durdurma
- Java web uygulamaları geliştirmek ve bunları Tomcat üzerinde çalıştırmak. Eclipse / Tomcat entegrasyonu, Tomcat tarafından çalıştırılan Java sınıflarının (servlet'lerin) çalışması da dahil olmak üzere, uygulamanın çalışmasını izlemeye (hata ayıklamaya) olanak tanır.
Eclipse'i başlatıp [Servers] görünümünü açalım:
![]() |
- [1]'te: Window/Show View/Other
- [2]'te: [Servers] görünümünü seçin ve [OK]'i yapın
![]() |
- [1]'te, [Servers] adlı yeni bir görünüm elde edilir
- [2]'e geçin, görünüme sağ tıklayın ve yeni bir sunucu oluşturmayı isteyin: [New/Server]
- [3]'te, [Tomcat 5.5] sunucusunu seçip [Next]'e geçiyoruz
![]() |
- 'i [4] olarak değiştirin, Tomcat 5.5'in kurulum klasörünü
- [5] adımında, şu anda Eclipse/Tomcat projesi olmadığını belirtin. [Finish] adımını uygulayın
Sunucunun eklenmesi, Eclipse proje gezgininde bir klasörün eklenmesi ([6]) ve [servers] görünümünde bir sunucunun görünmesiyle gerçekleşir. [7]:
![]() |
[Servers] görünümünde, tanımlanmış tüm sunucular görünür; burada ise yalnızca az önce kaydettiğimiz Tomcat 5.5 sunucusu yer almaktadır. Üzerine sağ tıklayarak sunucuyu başlatma, durdurma ve yeniden başlatma komutlarına erişebilirsiniz:

Yukarıda, sunucuyu başlatıyoruz. Sunucu başlatılırken, [Console] görünümüne bir dizi günlük kaydı yazılır:
Bu günlükleri anlamak biraz alışkanlık gerektirir. Şu an için bu konu üzerinde fazla durmayacağız. Ancak, bu günlüklerin bağlam yükleme hataları bildirmediğini kontrol etmek önemlidir. Nitekim, başlatıldığında Tomcat / Eclipse sunucusu, yönettiği uygulamaların bağlamlarını yüklemeye çalışır. Bir uygulamanın bağlamını yüklemek, ilgili [web.xml] dosyasını işlemek ve onu başlatacak bir veya daha fazla sınıfı yüklemek anlamına gelir. Bu sırada çeşitli hata türleri ortaya çıkabilir:
- [web.xml] dosyası sözdizimi açısından hatalıdır. Bu, en sık karşılaşılan hatadır. XML belgesinin oluşturulurken geçerliliğini kontrol edebilen bir araç kullanılması tavsiye edilir.
- Yüklenmesi gereken bazı sınıflar bulunamadı. Bu sınıflar, [WEB-INF/classes] ve [WEB-INF/lib] dosyalarında aranır. Genellikle, gerekli sınıfların mevcut olup olmadığını ve [web.xml] dosyasında bildirilen sınıfların yazımının doğru olup olmadığını kontrol etmek gerekir.
Eclipse'ten başlatılan sunucu, 5.3. paragrafında kurulan sunucuyla aynı yapılandırmaya sahip değildir. Bundan emin olmak için, bir tarayıcıyla [http://localhost:8080] URL'sini çağıralım:

Bu yanıt, sunucunun çalışmadığını değil, talep edilen / kaynağının mevcut olmadığını gösterir. Eclipse’e entegre Tomcat sunucusunda bu kaynaklar web projeleri olacaktır. Bunu daha sonra göreceğiz. Şimdilik Tomcat’i durduralım:

Önceki çalışma modu değiştirilebilir. [Servers] görünümüne geri dönelim ve Tomcat sunucusuna çift tıklayarak özelliklerine erişelim:
![]() | 1 ![]() |
[1] onay kutusu, önceki çalışma şeklinden sorumludur. Bu onay kutusu işaretlendiğinde, Eclipse altında geliştirilen web uygulamaları, ilişkili Tomcat sunucusunun yapılandırma dosyalarında değil, ayrı yapılandırma dosyalarında tanımlanır. Bu durumda, Tomcat sunucusunda varsayılan olarak tanımlanmış olan ve oldukça kullanışlı iki uygulama olan [admin] ve [manager] kullanılamaz. Bu nedenle, [1] seçeneğinin işaretini kaldırıp Tomcat'i yeniden başlatacağız:
![]() | ![]() |
Bunu yaptıktan sonra, bir tarayıcıyla [http://localhost:8080] URL'sini açalım:

5.3.4. paragrafında açıklanan işleyişi burada da görüyoruz.
Önceki örneklerimizde Eclipse dışındaki bir tarayıcı kullandık. Eclipse içindeki bir tarayıcıyı da kullanabiliriz:

Yukarıda, dahili tarayıcıyı seçiyoruz. Eclipse'ten bu tarayıcıyı başlatmak için şu simgeyi kullanabiliriz:

Gerçekte başlatılacak tarayıcı, [Window -> Web Browser] seçeneğiyle seçilen tarayıcı olacaktır. Burada, dahili tarayıcıyı elde ediyoruz:
1

Gerekirse Eclipse'ten Tomcat'i başlatıp, [1]'te [http://localhost:8080] URL'sini talep edelim:

[Tomcat Manager] bağlantısını takip edelim:

[manager] uygulamasına erişmek için gerekli olan [login / mot de passe] çifti isteniyor. Daha önce yaptığımız Tomcat yapılandırmasına göre, [admin / admin] veya [manager / manager] girilebilir. Böylece, dağıtılmış uygulamaların listesi görüntülenir:

5.4. SGBD Firebird
5.4.1. SGBD Firebird
SGBD Firebird, [http://www.firebirdsql.org/] adresinde mevcuttur:
![]() |
- [1]'te: [Download.Firebird Relational Database] seçeneği kullanılır
- [2]'te: istenen Firebird sürümünü belirtin
- [3] komutunda: kurulum dosyasını indirin
[3] dosyası indirildikten sonra, üzerine çift tıklayarak SGBD Firebird'ü kurun. SGBD, içeriği aşağıdakine benzer bir klasöre kurulur:

İkili dosyalar [bin] klasöründedir:

SGBD dosyasını başlatmaya/durdurmaya yarar | |
veritabanlarını yönetmeye olanak tanıyan istemci |
Varsayılan olarak, SGBD yöneticisinin adı [SYSDBA] ve şifresi [masterkey]'tir. [Démarrer]'e aşağıdaki menüler eklenmiştir:

[Firebird Guardian] seçeneği, SGBD'i başlatmaya/durdurmaya yarar. Başlatıldıktan sonra, SGBD simgesi Windows görev çubuğunda kalır:
![]() |
[isql.exe] komut satırı istemcisi ile Firebird veritabanları oluşturmak ve kullanmak için, ürünle birlikte gelen ve [Démarrer/Programmes/Firebird 2.0] içindeki Firebird kısayolları aracılığıyla erişilebilen belgeleri okumanız gerekir.
Firebird ile çalışmanın ve SQL dilini öğrenmenin hızlı bir yolu, bir grafik istemci kullanmaktır. Bu tür bir istemci, bir sonraki paragrafta açıklanan IB-Expert'tir.
5.4.2. IB- Expert ile SGBD Firebird'ü kullanmak
IB-Expert'in ana web sitesi [http://www.ibexpert.com/]'tir.
![]() |
![]() |
- [1]'te, IBExpert'i seçin
- [2] adresinde, isterseniz dil seçtikten sonra indirme seçeneğini seçin
- [3]'te, ücretsiz olduğu için "kişisel" sürümü seçin. Ancak siteye kayıt olmanız gerekir.
- [4]'te, IBExpert'i indirin
IBExpert, aşağıdakine benzer bir klasöre kurulur:

Çalıştırılabilir dosya [ibexpert.exe]'tir. Normalde [Démarrer] menüsünde bir kısayol bulunur:

IBExpert başlatıldığında aşağıdaki pencere görüntülenir:

Bir veritabanı oluşturmak için [Database/Create Database] seçeneğini kullanalım:

[local] veya [remote] olabilir. Burada sunucumuz, [IBExpert] ile aynı makinede bulunuyor. Şunu seçiyoruz [local]'i seçiyoruz | |
kullanarak veritabanı dosyasını belirleyeceğiz. Firebird, tüm veritabanını tek bir dosyaya yerleştirir. Bu, Firebird'ün en önemli avantajlarından biridir. Veritabanını bir bilgisayardan diğerine, dosyayı kopyalayarak taşıyabilirsiniz. [.fdb] uzantısı otomatik olarak eklenir. | |
SYSDBA, mevcut Firebird dağıtımlarının varsayılan yöneticisidir | |
masterkey, mevcut Firebird dağıtımlarının SYSDBA yöneticisinin şifresidir | |
kullanılacak SQL lehçesi | |
Bu kutucuk işaretlenirse, IBExpert, veritabanı oluşturulduktan sonra bu veritabanına bir bağlantı gösterecektir |
Oluşturma düğmesi [OK]'e tıkladığınızda aşağıdaki uyarıyı alırsanız:

bu, Firebird'ü başlatmadığınız anlamına gelir. Firebird'ü başlatın. Yeni bir pencere açılır:

Kullanılacak yazı tipi ailesi. Açılır listeden [ISO-8859-1]'i seçmeniz önerilir; bu, aksanlı Latin karakterlerin kullanılmasını sağlar. |
[IBExpert], Interbase'den türetilmiş çeşitli SGBD sürümlerini yönetebilir. Yüklediğiniz Firebird sürümünü seçin. |
Bu yeni pencere [Register] tarafından onaylandıktan sonra, [1] penceresinde sonuç görüntülenir. Bu pencere yanlışlıkla kapatılabilir. Tekrar görüntülemek için [2] komutunu çalıştırın:
![]() |
Oluşturulan veritabanına erişmek için bağlantısına çift tıklamanız yeterlidir. IBExpert, veritabanının özelliklerine erişim sağlayan bir ağaç yapısı gösterir:

5.4.3. Veri tablosu oluşturma
Bir tablo oluşturalım. [Tables]'e sağ tıklayın (yukarıdaki pencereye bakın) ve [New Table] seçeneğini seçin. Tablo özelliklerini tanımlama penceresi açılır:
![]() |
Öncelikle, [1] giriş alanını kullanarak tabloya [ARTICLES] adını verelim:

[2] giriş alanını kullanarak [ID] birincil anahtarını tanımlayalım:

Bir alan, alanın [PK] (Birincil Anahtar) alanına çift tıklanarak birincil anahtar olarak belirlenir. [3]'in üstünde bulunan düğmeyi kullanarak alanlar ekleyelim:

Tanımımızı "derlemedikçe" tablo oluşturulmaz. Tablonun tanımını tamamlamak için yukarıdaki [Compile] düğmesini kullanalım. IBExpert, tablonun oluşturulmasına yönelik SQL sorgularını hazırlar ve onay ister:

İlginç bir şekilde, IBExpert, çalıştırdığı SQL sorgularını görüntüler. Bu, hem SQL dilini hem de muhtemelen kullanılan özel SQL lehçesini öğrenmeye olanak tanır. [Commit] düğmesi, devam eden işlemi onaylamaya, [Rollback] düğmesi ise iptal etmeye yarar. Burada [Commit] ile işlemi kabul ediyoruz. Bu işlem tamamlandıktan sonra, IBExpert oluşturulan tabloyu veritabanımızın dizin yapısına ekler:

Tabloya çift tıklayarak özelliklerine erişebiliriz:

[Constraints] paneli, tabloya yeni bütünlük kısıtlamaları eklememizi sağlar. Paneli açalım:

Oluşturduğumuz birincil anahtar kısıtlamasını burada görebiliriz. Başka kısıtlamalar da ekleyebiliriz:
- yabancı anahtarlar [Foreign Keys]
- alan bütünlüğü kısıtlamaları [Checks]
- alan benzersizlik kısıtlamaları [Uniques]
Şunu belirtelim:
- [ID, PRIX, STOCKACTUEL, STOKMINIMUM] alanlarının değeri >0 olmalıdır
- [NOM] alanı boş olmamalı ve benzersiz olmalıdır
[Checks] panelini açalım ve kısıtlamaların tanımlandığı alana sağ tıklayarak yeni bir kısıtlama ekleyelim:

İstenen kısıtlamaları tanımlayalım:

Yukarıda, [NOM<>''] kısıtlamasında tırnak işareti yerine iki apostrof kullanıldığına dikkat edin. Yukarıdaki [Compile] düğmesiyle bu kısıtlamaları derleyelim:

Burada da IBExpert, çalıştırdığı SQL sorgularını göstererek açıklayıcı bir yaklaşım sergiliyor. Şimdi, adın benzersiz olması gerektiğini belirtmek için [Constraints/Uniques] paneline geçelim. Bu, tabloda aynı adın iki kez bulunamayacağı anlamına gelir.

Kısıtlamayı tanımlayalım:

Ardından bunu derleyelim. Bu işlem tamamlandıktan sonra, [ARTICLES] tablosunun [DDL] (Veri Tanımlama Dili) panelini açalım:

Bu panel, tüm kısıtlamaları içeren tablonun oluşturulmasına ilişkin SQL kodunu verir. Bu kodu daha sonra tekrar çalıştırmak üzere bir komut dosyasına kaydedebiliriz:
SET SQL DIALECT 3;
SET NAMES ISO8859_1;
CREATE TABLE ARTICLES (
ID INTEGER NOT NULL,
NOM VARCHAR(20) NOT NULL,
PRIX DOUBLE PRECISION NOT NULL,
STOCKACTUEL INTEGER NOT NULL,
STOCKMINIMUM INTEGER NOT NULL
);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_ID check (ID>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_PRIX check (PRIX>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKACTUEL check (STOCKACTUEL>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_STOCKMINIMUM check (STOCKMINIMUM>0);
ALTER TABLE ARTICLES ADD CONSTRAINT CHK_NOM check (NOM<>'');
ALTER TABLE ARTICLES ADD CONSTRAINT UNQ_NOM UNIQUE (NOM);
ALTER TABLE ARTICLES ADD CONSTRAINT PK_ARTICLES PRIMARY KEY (ID);
5.4.4. Tabloya veri ekleme
Şimdi [ARTICLES] tablosuna veri girme zamanı. Bunun için [Data] panelini kullanalım:

Veriler, tablonun her satırındaki giriş alanlarına çift tıklanarak girilir. [+] düğmesi ile yeni bir satır eklenir, [-] düğmesi ile bir satır silinir. Bu işlemler, [Commit Transaction] düğmesi ile onaylanan bir işlem içinde gerçekleştirilir (yukarıya bakınız). Bu onay yapılmazsa veriler kaybolur.
5.4.5. [IB-Expert]'in SQL düzenleyicisi
SQL dili (Yapısal Sorgu Dili), bir kullanıcının şunları yapmasına olanak tanır:
- depolayacağı veri türünü ve bu verilerin uyması gereken kısıtlamaları belirterek tablolar oluşturmak
- tablolara veri eklemek
- bazı verileri değiştirmek
- bazı verileri silmek
- bilgi elde etmek için tablonun içeriğini kullanma
- ...
IBExpert, kullanıcının 1'den 4'e kadar olan işlemleri grafiksel olarak gerçekleştirmesine olanak tanır. Bunu az önce gördük. Veritabanında her biri yüzlerce satır içeren çok sayıda tablo bulunduğunda, görsel olarak elde edilmesi zor bilgilere ihtiyaç duyulur. Örneğin, bir çevrimiçi mağazanın ayda binlerce alıcısı olduğunu varsayalım. Tüm satın alımlar bir veritabanına kaydedilir. Altı ay sonra, "X" adlı bir üründe bir kusur olduğu ortaya çıkar. Ürünü satın alan tüm kişilerle iletişime geçerek, ücretsiz değişim için ürünü iade etmelerini istemek istenir. Bu alıcıların adreslerini nasıl bulabiliriz?
- Tüm tabloları tek tek inceleyip bu alıcıları arayabiliriz. Bu işlem birkaç saat sürer.
- SQL komutunu çalıştırarak bu kişilerin listesini birkaç saniye içinde elde edebiliriz
SQL dili,
- tablolardaki veri miktarı fazla olduğunda
- birbiriyle ilişkili çok sayıda tablo olduğunda
- elde edilecek bilgiler birden fazla tabloya dağılmışsa
- ...
Şimdi, IBExpert’in SQL düzenleyicisini tanıtıyoruz. Bu düzenleyiciye [Tools/SQL Editor] veya [F12] seçenekleri üzerinden erişilebilir:

Böylece, sorguları deneme imkanı sunan gelişmiş bir SQL sorgu düzenleyicisine erişebiliriz. Bir sorgu girelim:

Yukarıdaki [Execute] düğmesiyle SQL sorgusunu çalıştırıyoruz. Aşağıdaki sonucu elde ediyoruz:

Yukarıda, [Results] sekmesi, SQL [Select] emrinin sonuç tablosunu göstermektedir. Yeni bir SQL komutu vermek için, [Edit] sekmesine geri dönmek yeterlidir. Burada, daha önce çalıştırılmış olan SQL komutunu bulabilirsiniz.

Araç çubuğundaki birkaç düğme kullanışlıdır:
- [New Query] düğmesi, yeni bir SQL isteğine geçmenizi sağlar:

Böylece boş bir düzenleme sayfası açılır:

Böylece yeni bir SQL emri girebiliriz:

ve bunu işleme alabiliriz:

[Edit] sekmesine geri dönelim. Verilen çeşitli SQL emirleri, [IBExpert] tarafından kaydedilir. [Previous Query] düğmesi, daha önce verilen bir SQL emrine geri dönmenizi sağlar:

Böylece bir önceki talebe geri dönülür:

[Next Query] düğmesi ise bir sonraki SQL emrine geçilmesini sağlar:

Böylece, kaydedilmiş SQL emir listesinde bir sonraki emir olan SQL'e ulaşırız:

[Delete Query] düğmesi, SQL emrini kaydedilmiş emir listesinden silmeye yarar:

[Clear Current Query] düğmesi, görüntülenen SQL emri için düzenleyicinin içeriğini silmenizi sağlar:

[Commit] düğmesi, veritabanında yapılan değişiklikleri kalıcı olarak kaydetmenizi sağlar:

[RollBack] düğmesi, son [Commit] işleminden bu yana veritabanında yapılan değişiklikleri geri almayı sağlar. Veritabanına bağlanıldığından beri herhangi bir [Commit] işlemi yapılmamışsa, bu bağlantıdan itibaren yapılan değişiklikler geri alınır.

Bir örnek verelim. Tabloya yeni bir satır ekleyelim:

SQL komutu çalıştırılır, ancak herhangi bir çıktı görüntülenmez. Ekleme işleminin gerçekleşip gerçekleşmediği bilinmez. Bunu öğrenmek için, [New Query] komutunun ardından SQL komutunu çalıştıralım:

[Execute] komutunun sonucu şu şekildedir:

Dolayısıyla satır başarıyla eklenmiştir. Şimdi tablonun içeriğini başka bir yolla inceleyelim. Veritabanı gezgininde [ARTICLES] tablosuna çift tıklayalım:

Aşağıdaki tablo karşımıza çıkıyor:

Yukarıdaki ok düğmesi, tabloyu yenilemeye yarar. Yenileme işleminden sonra yukarıdaki tablo değişmez. Sanki yeni satır eklenmemiş gibi bir izlenim ediniriz. SQL (F12) düzenleyicisine geri dönelim ve ardından [Commit] düğmesiyle oluşturulan SQL emrini onaylayalım:

Bunu yaptıktan sonra, [ARTICLES] tablosuna geri dönelim. [Refresh] düğmesini kullansak bile hiçbir şeyin değişmediğini görebiliriz:

Yukarıda, [Fields] sekmesini açalım ve ardından [Data] sekmesine geri dönelim. Bu sefer eklenen satır doğru şekilde görünüyor:

Çeşitli SQL komutlarının yürütülmesi başladığında, düzenleyici veritabanında bir "işlem" açar. SQL komutlarıyla SQL düzenleyicisinde yapılan değişiklikler, yalnızca aynı SQL düzenleyicisinde kaldığımız sürece görünür olacaktır (birden fazla düzenleyici açılabilir). Sanki SQL düzenleyicisi gerçek veritabanı üzerinde değil de kendisine ait bir kopya üzerinde çalışıyormuş gibi görünür. Gerçekte işler tam olarak bu şekilde gerçekleşmez, ancak bu örnek işlem kavramını anlamamıza yardımcı olabilir. Bir işlem sırasında kopyada yapılan tüm değişiklikler, ancak bir [Commit Transaction] ile onaylandığında gerçek veritabanında görünür hale gelir. Bu noktada mevcut işlem sona erer ve yeni bir işlem başlar.
Bir işlem sırasında yapılan değişiklikler, [Rollback] adlı bir işlemle geri alınabilir. Şu deneyi yapalım. Aşağıdaki SQL komutuyla yeni bir işlem başlatalım (bunun için mevcut işlem üzerinde [Commit] komutunu çalıştırmak yeterlidir):

[ARTICLES] tablosundaki tüm satırları silen bu komutu çalıştıralım, ardından aşağıdaki yeni SQL komutunu çalıştıralım:

Şu sonucu elde ediyoruz:

Tüm satırlar silinmiştir. Bunun, [ARTICLES] tablosunun bir kopyası üzerinde yapıldığını hatırlayalım. Bunu doğrulamak için, aşağıdaki [ARTICLES] tablosuna çift tıklayalım:

ve [Data] sekmesini görüntüleyelim:

[Refresh] düğmesini kullansak veya [Fields] sekmesine geçip ardından [Data] sekmesine geri dönsek bile, yukarıdaki içerik değişmez. Bunun nedeni daha önce açıklanmıştı. Şu anda, kendi kopyası üzerinde çalışan başka bir işlem içindeyiz. Şimdi SQL (F12) düzenleyicisine geri dönelim ve [RollBack] düğmesini kullanarak yapılan satır silme işlemlerini geri alalım:

Onay isteniyor:

Onaylayalım. SQL düzenleyicisi, değişikliklerin geri alındığını onaylar:

Doğrulamak için yukarıdaki SQL isteğini tekrar çalıştıralım. Silinmiş olan satırları tekrar görüyoruz:

[Rollback] işlemi, SQL düzenleyicisinin üzerinde çalıştığı kopyayı, işlemin başlangıcındaki durumuna geri getirdi.
5.4.6. Bir Firebird veritabanının SQL komut dosyasına aktarılması
"Java 5 Kalıcılığı Uygulamalı" eğitiminde olduğu gibi çeşitli SGBD'lerle çalışırken, bir veritabanını SGBD 1'den bir SQL komut dosyasına aktarıp, daha sonra bunu bir SGBD 2'ye içe aktarabilmek yararlıdır. Bu, bir dizi manuel işlemi ortadan kaldırır. Ancak bu her zaman mümkün değildir, çünkü SGBD dosyaları genellikle özel SQL uzantılarına sahiptir.
Önceki [dbarticles] veritabanını bir SQL komut dosyasına nasıl dışa aktaracağımızı gösterelim:
![]() |
- [1]'e: Araçlar / MetaData'i Ayıkla seçeneğini kullanarak meta verileri ayıklayın
- [2]'e: Meta Nesneler sekmesi
- [3]'te: Yapısını (meta verileri) çıkarmak istediğiniz [Articles] tablosunu seçin
- [4]: Solda seçilen nesneyi sağa aktarmak için
![]() |
- [5]'te: [ARTICLES] tablosu, çıkarılan meta verilere dahil edilecektir
- [6]: [Table de données] sekmesi, içeriğini çıkarmak istediğiniz tabloları seçmek için kullanılır (önceki adımda, tablonun yapısı dışa aktarılmıştı)
- [7]: Solda seçilen nesneyi sağa taşımak için
- [8]: Elde edilen sonuç
![]() |
- [9]'te: [Options] sekmesi, aktarımın belirli parametrelerini yapılandırmaya olanak tanır
- [10]: Veritabanına bağlanmayı sağlayan SQL komutlarının oluşturulmasıyla ilgili seçeneklerin işaretini kaldırıyoruz. Bunlar Firebird'e özgüdür ve bu nedenle bizim için önemli değildir.
- [11]: [Sortie] sekmesi, SQL komut dosyasının nereye oluşturulacağını belirlemenizi sağlar
- [12]'te: komut dosyasının bir dosyada oluşturulacağını belirtir
- [13]'te: bu dosyanın konumunu belirleriz
- [14]'te: SQL komut dosyasının oluşturulmasını başlatır
Yorumları kaldırılmış halde oluşturulan komut dosyası şöyledir:
Not: 1-2. satırlar Firebird'e özeldir. Genel bir SQL elde etmek için bunlar oluşturulan komut dosyasından silinmelidir.
5.4.7. Firebird' i JDBC
Bir Java programı, kullanılan SGBD sürücüsüne özgü bir JDBC sürücüsü aracılığıyla bir veritabanındaki verilere erişir:
![]() |
Yukarıdaki gibi çok katmanlı bir mimaride, JDBC [1] sürücüsü, bir veritabanındaki verilere erişmek için [dao] katmanı (Veri Erişim Nesnesi) tarafından kullanılır.
Firebird’ün JDBC sürücüsü, Firebird’ün indirildiği URL’de mevcuttur:
![]() |
![]() |
- [1]'te: JDBC sürücüsünü indirmeyi seçin
- [2]'te: JDBC sürücüsünü seçin (JDK 1.5 ile uyumlu)
- [3]'e: JDBC sürücüsünü içeren arşiv [jaybird-full-2.1.1.jar]'tir. Bu dosyayı çıkaracağız. Bu dosya, Firebird ile ilgili tüm örneklerde kullanılacaktır.
Bunu, bundan sonra <jdbc> olarak adlandıracağımız bir klasöre yerleştiriyoruz:

Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız (5.2.6. paragraf). Öncelikle Firebird'ün JDBC sürücüsünü tanımlayalım:
![]() |
- [1]'te: Window / Preferences
- [2]'e: SQL Explorer / JDBC Drivers seçeneğini seçin
- [3]'te: Firebird için JDBC sürücüsünü seçin
- [4]'te: yapılandırma aşamasına geçin
- [5]'te: [Extra Class Path] sekmesine geçin
- [6] ile JDBC sürücü dosyasını belirtin. Bu işlem tamamlandığında, sürücü [7]'te görünür. Burada, daha önce <jdbc> klasörüne yerleştirilen sürücüyü seçin
- [8]: JDBC sürücüsünün Java sınıf adı. Bu, [8b] düğmesi ile elde edilebilir.
- [OK]'i girerek yapılandırmayı onaylıyoruz
![]() |
- [9]: Firebird'ün JDBC sürücüsü artık yapılandırılmıştır. Artık kullanıma geçilebilir.
![]() |
- [1]'e: yeni bir perspektif açın
- [2]: [SQL Explorer] görünümünü seçin
![]() |
- [3]'te: yeni bir bağlantı oluşturmak
- [4]: ona bir ad vermek
- [5]: açılır listeden Firebird sürücüsünü seçin JDBC
- [6]: Bağlanmak istediğiniz veritabanının URL'sini belirtin, burada: [jdbc:firebirdsql:localhost/3050:C:\data\2006-2007\eclipse\dvp-jpa\annexes\jpa\jpa.fdb]. [jpa.fdb], daha önce IBExpert ile oluşturulan veritabanıdır.
- [7]'te: Bağlantı kullanıcı adı, burada [sysdba], Firebird yöneticisi
- [8]: Şifresi [masterkey]
- [OK] ile bağlantı yapılandırmasını onaylıyoruz
![]() |
- [1]'te: açmak istediğiniz bağlantı adının üzerine çift tıklayın
- [2]'te: oturum açın (sysdba, masterkey)
- [3]'te: bağlantı açılır
- [4]'te: veritabanının yapısı görüntülenir. Burada [ARTICLES] tablosu görülür. Bu tablo seçilir.
![]() |
- [5]'te: [Database Detail] penceresinde, [4]'te seçilen nesnenin ayrıntıları gösterilir; burada [ARTICLES] tablosu
- [6]'te: [Columns] sekmesi, tablonun yapısını gösterir
- [7]'te: [Preview] sekmesi tablonun yapısını gösterir
[SQL Editor] penceresinde SQL sorguları çalıştırılabilir:
![]() |
- [1]'te: açık bir bağlantı seçin
- [2]'te: çalıştırılacak SQL komutunu girin
- [3]'te: komutu çalıştırın
- [4]: Yürütülen komutu hatırlatma
- [5]: Sonuç
5.5. SGBD MySQL5
5.5.1. Kurulum
SGBD ve MySQL5, [http://dev.mysql.com/downloads/] adresinde mevcuttur:
![]() |
- [1] adresinde: istediğiniz sürümü seçin
- [2] adresinde: bir Windows sürümü seçin
![]() |
- [3] adresinde: istediğiniz Windows sürümünü seçin
- [4]: İndirilen zip dosyası, [Setup.exe] [4b] adlı bir yürütülebilir dosya içerir; MySQL5'i kurmak için bu dosyayı açıp çalıştırmanız gerekir
![]() |
- [5]: Standart kurulum seçeneğini seçin
- [6]'e: kurulum tamamlandıktan sonra MySQL5 sunucusunu yapılandırabilirsiniz
![]() |
- [7]: en az soru soran standart bir yapılandırma seçin
- [8]: MySQL5 sunucusu bir Windows hizmeti olacaktır
![]() |
- [9]'te: Varsayılan olarak sunucu yöneticisi, şifresiz root kullanıcısıdır. Bu yapılandırmayı koruyabilir veya root'a yeni bir şifre atayabilirsiniz. MySQL5 kurulumu, önceki bir sürümün kaldırılmasından sonra yapılıyorsa, bu işlem başarısız olabilir. Geri dönmenin daha az yolu vardır.
- [10]'te: sunucu yapılandırması istenir
MySQL5 kurulumu, [Démarrer / Programmes ] içinde bir klasör oluşturur:

[MySQL Server Instance Config Wizard] komutunu kullanarak sunucuyu yeniden yapılandırabilirsiniz:
![]() |
![]() |
![]() |
- [3] komutuyla: root şifresini değiştiriyoruz (burada root/root)
5.5.2. MySQL5'i başlatın / durdurun
MySQL5 sunucusu, Windows'ta otomatik başlatılan bir hizmet olarak kurulmuştur; c.a.d, Windows başlatıldığında hemen çalışır. Bu çalışma şekli pek pratik değildir. Bunu değiştireceğiz:
[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:
![]() |
- [1] olarak: [Services]'e çift tıklıyoruz
- [2]'e: [MySQL] adlı bir hizmetin mevcut olduğunu, [3] olarak başlatıldığını ve [4] olarak otomatik başlatıldığını görüyoruz.
Bu ayarı değiştirmek için [MySQL] hizmetine çift tıklıyoruz:
![]() |
- [1]'e: hizmeti manuel başlatma olarak ayarlıyoruz
- [2]: hizmeti durduruyoruz
- [3]: hizmetin yeni yapılandırmasını onaylıyoruz
MySQL hizmetini manuel olarak başlatmak ve durdurmak için iki kısayol oluşturulabilir:
![]() |
- [1]: MySQL5'i başlatmak için kısayol
- [2]: hizmeti durdurmak için kısayol
5.5.3. MySQL yönetim istemcileri
MySQL sitesinde, SGBD için yönetim istemcileri bulunabilir:
![]() |
- [1]'te: [MySQL GUI Tools]'i seçin; bu, SGBD'i yönetmenize veya kullanmanıza olanak tanıyan çeşitli grafik istemcileri bir araya getirir
- [2]: Uygun Windows sürümünü seçin
![]() |
- [3]: Çalıştırılacak bir .msi dosyası indirilir
- [4]'e: kurulum tamamlandığında, [Menu Démarrer / Programmes / mySQL] klasöründe yeni kısayollar belirir.
MySQL dosyasını (oluşturduğunuz kısayollar aracılığıyla) çalıştırın, ardından yukarıdaki menüden [MySQL Administrator] dosyasını çalıştırın:
![]() |
- [1]'e: root kullanıcısının şifresini girin (burada root)
- [2]'te: oturum açılmış durumda ve MySQL'in aktif olduğunu görüyoruz
5.5.4. jpa kullanıcısı ve jpa veritabanının oluşturulması
Bu eğitimde, jpa adlı bir veritabanı ve aynı isimde bir kullanıcı içeren MySQL5 dosyası kullanılmaktadır. Şimdi bunları oluşturacağız. Önce kullanıcı:
![]() |
- [1]'te: [User Administration]'i seçin
- [2]'te: [User accounts] kısmına sağ tıklayarak yeni bir kullanıcı oluşturuyoruz
- [3]'te: kullanıcının adı jpa ve şifresi jpa'dır
- [4]'te: Oluşturma işlemini onaylayın
- [5]: [jpa] kullanıcısı, [User Accounts] penceresinde görünür
Şimdi veritabanı:
![]() |
- [1]'te: [Catalogs] seçeneği seçildi
- [2]'e: [Schemata] penceresine sağ tıklayarak yeni bir şema oluşturun (bir veritabanını belirtir)
- [3]'te: yeni şemaya ad verilir
- [4]: [Schemata] penceresinde görünür
![]() |
- [5]'te: [jpa] şemasını seçin
- [6]'te: [jpa] şemasının nesneleri, özellikle de tablolar görünür. Henüz hiç tablo yoktur. Sağ tıklama ile tablo oluşturulabilir. Bunu okuyucunun yapmasına bırakıyoruz.
[jpa] kullanıcısına geri dönelim ve ona [jpa] şeması üzerinde tüm hakları verelim:
![]() |
- [1]'e, ardından [2]'e: [jpa] kullanıcısını seçin
- [3]'te: [Schema Privileges] sekmesini seçin
- [4]'te: [jpa] şemasını seçin
- [5]'te: [jpa] kullanıcısına [jpa] şeması üzerinde tüm ayrıcalıklar verilir
![]() |
- ve [6]'e: yapılan değişiklikleri onaylıyoruz
[jpa] kullanıcısının [jpa] şemasıyla çalışabildiğini doğrulamak için, MySQL yöneticisini kapatıyoruz. Yeniden başlatıp bu sefer [jpa/jpa] adıyla oturum açıyoruz:
![]() |
- [1]'te: oturum açıyoruz (jpa/jpa)
- [2] olarak: Oturum açma işlemi başarılı oldu ve [Schemata]'te, erişim haklarına sahip olduğumuz şemaları görüyoruz. [jpa] şemasını görüyoruz.
Şimdi, 5.4.6. paragrafında oluşturulan SQL [schema-articles.sql] komut dosyasını kullanarak, SGBD Firebird'de olduğu gibi aynı [ARTICLES] tablosunu oluşturacağız.
![]() |
- [1]'e: [MySQL Query Browser] uygulamasını kullanın
- [2], [3], [4] için: oturum açın (jpa / jpa / jpa)
![]() |
- [5]'e: SQL komut dosyasını çalıştırmak üzere açın
- [6]: 5.4.6. paragrafında oluşturulan [schema-articles.sql] komut dosyasını belirtin.
![]() |
- [7]'te: yüklenen komut dosyası
- [8]: çalıştırılır
- [9]: [ARTICLES] tablosu oluşturuldu
5.5.5. 'in MySQL5'ten JDBC sürücüsü
MySQL'ten JDBC sürücüsü, SGBD ile aynı yerden indirilebilir:
![]() |
![]() |
- [1] için: uygun olan JDBC sürücüsünü seçin
- [2] için: uygun Windows sürümünü seçin
- [3]: İndirilen zip dosyasında, JDBC sürücüsünü içeren Java arşivi [mysql-connector-java-5.0.5-bin.jar]'tir. JPA öğreticisinin örneklerinde kullanmak üzere bu dosyayı çıkaracağız.
Bunu, bir öncekiyle aynı şekilde (<jdbc> klasöründeki 5.4.7. paragrafta) yerleştiriyoruz:
![]() |
Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: JDBC sürücüsünün arşivini MySQL5'ten
- [2]'te: MySQL5'ten JDBC sürücüsü kullanılabilir
![]() |
- [3]'e: bağlantı tanımı (kullanıcı, şifre)=(jpa, jpa)
- [4]: Bağlantı aktif
- [5]'te: veritabanına bağlanıldı
5.6. SGBD PostgreSQL
5.6.1. Kurulum
SGBD ve PostgreSQL, [http://www.postgresql.org/download/] adresinde mevcuttur:
![]() |
- [1] adresinde: PostgreSQL indirme sitesi
- [2] adresinde: Windows sürümünü seçin
- [3]: Yükleyici içeren bir sürüm seçin
![]() |
- [4]: İndirilen zip dosyasının içeriği. [postgresql-8.2.msi] dosyasına çift tıklayın
- [5]: kurulum sihirbazının ilk sayfası
![]() |
- [6]: Varsayılan değerleri kabul ederek tipik kurulum seçeneğini seçin
- [6b]: PostgreSQL hizmetini başlatacak Windows hesabının oluşturulması; burada pgres hesabı ve pgres şifresi kullanılmaktadır.
![]() |
- [7]: PostgreSQL'in, henüz mevcut değilse [pgres] hesabını oluşturmasına izin verin
- [8]'te: SGBD'in yönetici hesabını tanımlayın; burada kullanıcı adı postgres ve şifre postgres
![]() |
- [9] ve [10]'te: Sihirbazın sonuna kadar varsayılan değerleri kabul edin. PostgreSQL kurulacaktır.
PostgreSQL'in kurulumu, [Démarrer / Programmes ] içinde bir klasör oluşturur:

5.6.2. PostgreSQL'i başlatma / durdurma
PostgreSQL sunucusu, otomatik başlatılan bir Windows hizmeti olarak kurulmuştur; c.a.d, Windows başlatıldığında hemen çalışır. Bu çalışma şekli pek pratik değildir. Bunu değiştireceğiz:
[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:
![]() |
- [1] olarak: [Services]'e çift tıklıyoruz
- [2]'e: [PostgreSQL] adlı bir hizmetin mevcut olduğunu, [3] olarak başlatıldığını ve [4] olarak otomatik başlatıldığını görüyoruz.
Bu ayarı değiştirmek için [PostgreSQL] hizmetine çift tıklıyoruz:
![]() |
- [1]: hizmeti manuel başlatma olarak ayarlıyoruz
- [2]: hizmeti durduruyoruz
- [3]: hizmetin yeni yapılandırmasını onaylıyoruz
PostgreSQL hizmetini manuel olarak başlatmak ve durdurmak için [PostgreSQL] klasöründeki kısayolları kullanabilirsiniz:
![]() |
- [1]: PostgreSQL'i başlatmak için kısayol
- [2]: programı durdurmak için kısayol
5.6.3. PostgreSQL'i yönetme
Yukarıdaki ekran görüntüsünde, [pgAdmin III] (3) uygulaması, SGBD ve PostgreSQL'i yönetmeye olanak tanır. Yukarıdaki menüden önce SGBD'i, ardından [pgAdmin III]'i başlatalım:
![]() |
- [1]'e: PostgreSQL sunucusuna çift tıklayarak bağlanın
- [2,3]'e: SGBD sunucusunun yöneticisi olarak oturum açın (burada: postgres / postgres)
![]() |
- [4]'te: mevcut tek veritabanı
- [5]: mevcut tek kullanıcı
5.6.4. jpa kullanıcısı ve jpa veritabanının oluşturulması
Bu eğitimde, jpa adlı bir veritabanı ve aynı isimde bir kullanıcı içeren PostgreSQL kullanılmaktadır. Şimdi bunları oluşturacağız. Önce kullanıcı:
![]() |
- [1]'te: yeni bir rol (~kullanıcı) oluşturulur
- [2]: jpa kullanıcısını oluşturuyoruz
- [3]: şifresi jpa
- [4]'te: şifre tekrarlanır
- [5]'te: kullanıcıya veritabanı oluşturma izni verilir
- [6]: [jpa] kullanıcısı oturum açma rollerinde görünür
Şimdi veritabanına gelelim:
![]() |
- [1]: sunucuya yeni bir bağlantı oluşturulur
- [2]: Adı jpa olacak
- [3]: Bağlanmak istediğimiz makine
- [4]: Bağlanacak kullanıcı
- [5]: Şifresi. [OK] ile bağlantı yapılandırmasını onaylıyoruz
- [6]: Yeni bağlantı oluşturuldu. Bu bağlantı jpa kullanıcısına aittir. jpa şimdi yeni bir veritabanı oluşturacak:
![]() |
- n [1]: yeni bir veritabanı ekleniyor
- [2]: Adı jpa
- [3]: Sahibi, daha önce oluşturulan jpa kullanıcısıdır. [OK] ile onaylıyoruz
- [4]: jpa veritabanı oluşturuldu. Üzerine tek bir tıklama ile veritabanına bağlanıyoruz ve yapısını inceliyoruz:
![]() |
- [5]'te: [jpa] şemasının nesneleri, özellikle de tablolar görünür. Henüz hiç tablo yoktur. Sağ tıklama ile tablo oluşturulabilir. Bunu okuyucunun yapmasına bırakıyoruz.
Şimdi, 5.4.6. paragrafında oluşturulan SQL [schema-articles.sql] komut dosyasını kullanarak, önceki SGBD ile aynı [ARTICLES] tablosunu oluşturacağız.
![]() |
- [1]'e: SQL düzenleyicisini açın
- [2]'e: SQL komut dosyasını açın
- [3]'te: 5.4.6. paragrafında oluşturulan [schema-articles.sql] betiğini belirtin.
![]() |
- [4]'e: komut dosyası yüklendi. Komut dosyası çalıştırılıyor.
- [5]'te: [ARTICLES] tablosu oluşturuldu.
- [6, 7]'te: içeriği
5.6.5. PostgreSQL'in JDBC sürücüsü
PostgreSQL'in JDBC sürücüsü, PostgreSQL kurulum klasörünün içindeki [jdbc] klasöründe bulunur:
![]() |
Jdbc dosyasını, önceki örneklerde olduğu gibi (5.4.7. paragraf) <jdbc> klasörüne yerleştiriyoruz:
![]() |
Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: JDBC sürücüsünün arşivi, PostgreSQL'ten
- [2]'te: PostgreSQL'ten JDBC sürücüsü kullanılabilir
![]() |
- [3]'e: bağlantı tanımı (kullanıcı, şifre)=(jpa, jpa)
- [4]: Bağlantı aktif
- [5]'te: veritabanına bağlanıldı
- [6]: [ARTICLES] tablosunun içeriği
5.7. SGBD Oracle 10g Express
5.7.1. Kurulum
SGBD Oracle 10g Express, [http://www.oracle.com/technology/software/products/database/xe/index.html] adresinde mevcuttur:
![]() |
- [1] adresinde: Oracle 10g Express indirme sitesi
- [2] adresinde: Windows sürümünü seçin. Dosyayı indirdikten sonra çalıştırın:
![]() |
- [1]: [OracleXE.exe] dosyasına çift tıklayın
- [2]: kurulum sihirbazının ilk sayfası
![]() |
- [3]'te: lisans sözleşmesini kabul edin
- [4]: Varsayılan değerleri kabul edin.
![]() |
- [5,6]: SYSTEM kullanıcısının şifresi "system" olacaktır.
- [7]: kurulum başlatılıyor
Oracle 10g Express kurulumu, [Démarrer / Programmes ] içinde bir klasör oluşturur:

5.7.2. Oracle 10g'yi Başlatma / Durdurma
Önceki SGBD örneklerinde olduğu gibi, Oracle 10g otomatik başlangıçlı bir Windows hizmeti olarak kurulmuştur. Bu yapılandırmayı değiştiriyoruz:
[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:
![]() |
- [1] olarak: [Services] öğesine çift tıklıyoruz
- [2]'e: [OracleServiceXE] adlı bir hizmetin mevcut olduğunu, [3] olarak başlatıldığını ve [4] olarak otomatik başlatıldığını görüyoruz.
- [5]'te: "Listener" adlı başka bir Oracle hizmeti de aktif ve otomatik başlatılıyor.
Bu ayarı değiştirmek için [OracleServiceXE] hizmetine çift tıklıyoruz:
![]() |
- [1]'te: hizmeti manuel başlatma olarak ayarlıyoruz
- [2]: hizmeti durduruyoruz
- [3]: hizmetin yeni yapılandırmasını onaylayın
Aynı işlem [OracleXETNSListener] hizmeti için de uygulanır (yukarıdaki [5]'e bakınız). OracleServiceXE hizmetini manuel olarak başlatmak ve durdurmak için [Oracle] klasöründeki kısayolları kullanabilirsiniz:
![]() |
- [1]: SGBD'i başlatmak için
- [2]: durdurmak için
- [3]: yönetmek için (henüz çalışmıyorsa bunu başlatır)
5.7.3. Bir jpa kullanıcısı ve bir jpa veritabanı oluşturma
Yukarıdaki ekran görüntüsünde, [3] uygulaması, SGBD Oracle 10g Express'i yönetmeye olanak tanır. Yukarıdaki menüden önce SGBD ve [1]'i, ardından da yönetim uygulaması [3]'i başlatalım:
![]() |
- [1]'te: SGBD'in yöneticisi olarak oturum açın (system / system)
- [2]'te: yeni bir kullanıcı oluşturulur
![]() |
- [4]'te: kullanıcı adı
- [5, 6]'te: şifresi, burada jpa
- [7]'te: jpa kullanıcısı oluşturuldu
Oracle'da bir kullanıcı, otomatik olarak aynı adlı bir veritabanıyla ilişkilendirilir. Dolayısıyla jpa veritabanı, jpa kullanıcısıyla aynı anda mevcuttur.
5.7.4. jpa veritabanındaki [ARTICLES] tablosunun oluşturulması
OracleXE, satır modunda çalışan SQL istemcisiyle birlikte kurulmuştur. Oracle tarafından sağlanan SQL Developer ile daha rahat çalışılabilir. Bu yazılım şu adreste bulunabilir:
[http://www.oracle.com/technology/products/database/sql_developer/index.html]
![]() |
- [1]: indirme sitesi
- [2]: JRE zaten yüklüyse (burada olduğu gibi), JRE içermeyen bir Windows sürümünü seçin; çünkü [SQL Developer] bir Java uygulamasıdır.
![]() |
- [3]: indirilen zip dosyasını açın
- [4]: [sqldeveloper.exe] yürütülebilir dosyasını çalıştırın
![]() |
- [5]'te: [SQL Developer] ilk kez çalıştırıldığında, makineye kurulu Jre'nin yolunu belirtin
- [5b]'te: yeni bir bağlantı oluşturun
![]() |
- [6]'te: SQL Developer, çeşitli SGBD'lere bağlanmanıza olanak tanır. Oracle'ı seçin.
- [7]: Oluşturulmakta olan bağlantıya verilen ad
- [8]: Bağlantının sahibi
- [9]'te: şifresi (jpa)
- [10]: Varsayılan değerleri koruyun
- [11]: Bağlantıyı test etmek için (Oracle'ın çalışır durumda olması gerekir)
- [12]: bağlantı yapılandırmasını tamamlamak için
- [13]: jpa veritabanındaki nesneler
- [14]: Tablolar oluşturulabilir. Önceki örneklerde olduğu gibi, 5.4.6. paragrafında oluşturulan komut dosyasını kullanarak [ARTICLES] tablosunu oluşturacağız.
![]() |
- [15]'te: SQL komut dosyası açılır
- [16]'e: 5.4.6. paragrafta oluşturulan SQL komut dosyasını belirleriz.
- [17]'te: çalıştırılacak komut dosyası
![]() |
- [18]'te: çalıştırma sonucu: [ARTICLES] tablosu oluşturuldu. Özelliklerine erişmek için üzerine çift tıklayın.
- [19]: tablonun içeriği.
5.7.5. OracleXE'in JDBC sürücüsü
OracleXE'in JDBC sürücüsü, OracleXE kurulum klasörünün içindeki [jdbc/lib] klasöründe bulunur. [1]:
![]() |
[ojdbc14.jar] adlı JDBC arşivini, önceki adımlarda (5.4.7. paragraf) olduğu gibi <jdbc> klasörüne yerleştiriyoruz:
Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: JDBC sürücüsünün arşivi, OracleXE'ten
- [2]'te: OracleXE'ten JDBC sürücüsü kullanılabilir
![]() |
- [3]'e: bağlantı tanımı (kullanıcı, şifre)=(jpa, jpa)
- [4]: Bağlantı aktif
- [5]'te: veritabanına bağlanıldı
- [6]'te: [ARTICLES] tablosunun içeriği
5.8. SGBD SQL Server Express 2005
5.8.1. Kurulum
SGBD SQL Server Express 2005, [http://msdn.microsoft.com/vstudio/express/sql/download/] adresinde mevcuttur:
![]() |
- [1] adresinden: önce .NET 2.0 platformunu indirip kurun
- [2] adresinden: ardından SQL Server Express 2005'i indirip kurun
- [3]'te: ardından SQL Server Management Studio Express'i indirip kurun; bu program, SQL Server'ı yönetmenizi sağlar
SQL Server Express'in kurulumu, [Démarrer / Programmes ] içinde bir klasör oluşturur:
![]() |
- [1] içinde: SQL Sunucusunun yapılandırma uygulaması. Ayrıca sunucuyu başlatma/durdurma işlemlerini de gerçekleştirir
- [2]: sunucu yönetim uygulaması
5.8.2. SQL Sunucusunu Başlatma / Durdurma
Önceki SGBD örneklerinde olduğu gibi, SQL Server Express, otomatik başlangıçlı bir Windows hizmeti olarak kurulmuştur. Bu yapılandırmayı değiştiriyoruz:
[Démarrer / Panneau de configuration / Performances et maintenance / Outils d'administration / Services ]:
![]() |
- [1] olarak değiştiriyoruz: [Services]'e çift tıklıyoruz
- [2]'e: [SQL Server] adlı bir hizmetin mevcut olduğunu, [3] olarak başlatıldığını ve [4] olarak otomatik başlatıldığını görüyoruz.
- [5]'te: SQL Sunucusu ile ilişkili, "SQL Sunucu Tarayıcısı" adlı başka bir hizmet de aktif ve otomatik başlatılıyor.
Bu ayarı değiştirmek için [SQL Server] hizmetine çift tıklıyoruz:
![]() |
- [1]'e: hizmeti manuel başlatma olarak ayarlıyoruz
- [2]: hizmeti durduruyoruz
- [3]: hizmetin yeni yapılandırmasını onaylayın
Aynı işlem [SQL Server Browser] hizmeti için de uygulanır (yukarıdaki [5]'e bakınız). SQL sunucu hizmetini manuel olarak başlatmak ve durdurmak için, [SQL server] klasöründeki [1] uygulamasını kullanabilirsiniz:
![]() |
![]() |
- [1]'te: TCP/IP protokolünün etkin (enabled) olduğundan emin olun, ardından protokolün özelliklerine geçin.
- [2]'te: [IP Addresses] sekmesinde, [IPAll] seçeneği:
- [TCP Dynamic ports] alanı boş bırakılır
- [TCP Port]'te sunucunun dinleme bağlantı noktası 1433 olarak ayarlanır
![]() |
- [3]'te: [SQL Server] hizmetine sağ tıklayarak sunucuyu başlatma/durdurma seçeneklerine erişebilirsiniz. Burada sunucuyu başlatıyoruz.
- [4]'te: SQL Sunucusu başlatıldı
5.8.3. Bir JPA kullanıcısı ve bir JPA veritabanının oluşturulması
Yukarıda belirtildiği gibi SGBD'i çalıştırın, ardından aşağıdaki menüden [1] yönetim uygulamasını çalıştırın:
![]() |
![]() |
- [1]'te: SQL Sunucusuna Windows yöneticisi olarak bağlanıyoruz
- [2]'te: bağlantı özelliklerini yapılandırın
![]() |
- [3]'te: Sunucuya hem Windows oturum açma bilgileriyle (bir Windows kullanıcısı) hem de SQL Sunucusu oturum açma bilgileriyle (SQL Sunucusu içinde tanımlanmış, herhangi bir Windows hesabından bağımsız bir hesap) bağlantı kurulmasına izin verilir.
- [3b]'te: bir SQL Sunucu kullanıcısı oluşturulur
![]() |
- [4]'te: [General] seçeneği
- [5]'te: kullanıcı adı
- [6]'te: şifre (burada jpa)
- [7]'te: [Server Roles] seçeneği
- [8]: jpa kullanıcısına veritabanı oluşturma hakkı verilecek
Bu yapılandırmayı onaylıyoruz:
![]() |
- [9]: jpa kullanıcısı oluşturuldu
- [10]: oturum kapatılıyor
- [11]: yeniden oturum açıyoruz
![]() |
- [12]'te: jpa/jpa kullanıcısı olarak oturum açılıyor
- [13]'te: oturum açıldıktan sonra, jpa kullanıcısı bir veritabanı oluşturur
![]() |
- [14]'te: veritabanının adı jpa olacaktır
- [15]: Veritabanı, jpa kullanıcısına ait olacaktır
- [16]: jpa veritabanı oluşturuldu
5.8.4. jpa veritabanındaki [ARTICLES] tablosunun oluşturulması
Önceki örneklerde olduğu gibi, 5.4.6. paragrafında oluşturulan komut dosyasını kullanarak [ARTICLES] tablosunu oluşturacağız.
![]() |
- [1]'te: SQL komut dosyası açılır
- [2]'e: 5.4.6. paragrafta, sayfa 240'ta oluşturulan SQL komut dosyasını belirleriz.
- [3]'te: yeniden kimlik bilgilerini girmeliyiz (jpa/jpa)
- [4]'te: çalıştırılacak komut dosyası
- [5]: Komut dosyasının çalıştırılacağı veritabanını seçin
- [6]: çalıştırın
![]() |
- [7]'te: çalıştırma sonucu: [ARTICLES] tablosu oluşturuldu.
- [8]'te: tablonun içeriği görüntülenir
- [9]: Tablonun içeriği.
5.8.5. SQL Server Express'in JDBC sürücüsü
![]() |
- [1]'te: [Microsoft SQL Server 2005 JDBC Driver] metniyle Google'da yapılan bir arama, bizi JDBC sürücüsünün indirme sayfasına yönlendirir. En yeni sürümü seçiyoruz
- [2]: indirilen dosya. Dosyaya çift tıklıyoruz. Dosya açılır ve içinde Jdbc sürücüsü [3]'in bulunduğu bir klasör oluşur
- [4] sürümündeki Jdbc sürücüsünü bulacağız: Jdbc [sqljdbc.jar] arşivini, önceki adımlarda (5.4.7. paragraf) olduğu gibi <jdbc> klasörüne yerleştiriyoruz
Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: JDBC sürücüsünün arşivi, SQL Sunucusu'ndan
- [2]'te: SQL Sunucusundaki JDBC sürücüsü kullanılabilir durumdadır
![]() |
- [3]'e: bağlantı tanımı (kullanıcı, şifre)=(jpa, jpa)
- [4]: Bağlantı aktif
- [5]'te: veritabanına bağlanıldı
- [6]'te: [ARTICLES] tablosunun içeriği
5.9. SGBD HSQLDB
5.9.1. Kurulum
SGBD HSQLDB, [http://sourceforge.net/projects/hsqldb] adresinde mevcuttur. Bu, Java ile yazılmış, bellek açısından çok hafif ve veritabanlarını disk üzerinde değil bellekte yöneten bir SGBD'tir. Bunun sonucunda sorguların yürütülme hızı çok yüksektir. Bu, programın en önemli avantajıdır. Bu şekilde bellekte oluşturulan veritabanları, sunucu kapatılıp yeniden başlatıldığında geri yüklenebilir. Zira, veritabanlarını oluşturmak için verilen SQL komutları, sunucunun bir sonraki başlatılışında yeniden çalıştırılmak üzere bir günlük dosyasına kaydedilir. Böylece veritabanlarının kalıcılığı sağlanır.
Bu yöntemin sınırları vardır ve HSQLDB, ticari amaçlı bir SGBD değildir. Başlıca kullanımı, testler veya tanıtım amaçlı uygulamalardır. Örneğin, HSQLDB'in Java ile yazılmış olması, onu görev otomasyonu için kullanılan bir Java aracı olan Ant (Another Neat Tool) görevlerine dahil etmeyi mümkün kılar. Böylece, Ant tarafından otomatikleştirilen, geliştirme aşamasındaki kodların günlük testlerine, SGBD ve HSQLDB tarafından yönetilen veritabanı testleri de dahil edilebilecektir. Sunucu, Java görevleri tarafından başlatılacak, durdurulacak ve yönetilecektir.
![]() |
- [1]'te: indirme sitesi
- [2]: en son sürümü indirme
![]() |
- [3]: indirilen zip dosyasını aç
- [4]: açma işlemi sonucunda ortaya çıkan [hsqldb] klasörü
- [5]: [demo] klasörü, [hsql] ve [6] sunucularını başlatmaya yarayan komut dosyasını içerir; [7] ise sunucu yönetimi için basit bir aracı başlatmaya yarar.
5.9.2. HSQLDB'i Başlatma / Durdurma
HSQLDB sunucusunu başlatmak için yukarıdaki [runManager.bat] [6] uygulamasına çift tıklayın:
![]() |
- [1]'te: Sunucuyu durdurmak için pencerede Ctrl-C tuşlarına basmanız yeterli olacaktır.
5.9.3. [test] veritabanı
Varsayılan olarak yönetilen veritabanı, [data] klasöründe bulunur:
![]() |
- [1] içinde: başlatma sırasında, SGBD HSQL, [test.script] adlı komut dosyasını çalıştırır
- 1. satır: [public] adlı bir şema oluşturulur
- 2. satır: Şifresi boş olan [sa] adlı bir kullanıcı oluşturulur
- 3. satır: [sa] kullanıcısına yönetici hakları verilir
Sonuç olarak, yönetici haklarına sahip bir kullanıcı oluşturuldu. Bundan sonra bu kullanıcıyı kullanacağız.
5.9.4. JDBC sürücüsü, HSQL'ten
SGBD HSQL'in Jdbc sürücüsü, [lib] klasöründe bulunur:
![]() |
- [1]'te: [hsqldb.jar] arşivi, SGBD ve HSQL'in JDBC sürücüsünü içerir
- [2] dosyasında: Bu arşivi, öncekiler gibi (5.4.7. paragraf) <jdbc> klasörüne yerleştiriyoruz
Bu JDBC sürücüsünü kontrol etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: [window / preferences / SQL Explorer / JDBC Drivers]
- [2]'te: [HSQLDB] sunucusu yapılandırılıyor
- [3]: Jdbc sürücüsünü içeren [hsqldb.jar] arşivini belirleme
- [4]'te: Jdbc sürücüsünün Java sınıfının adı
- [5]: JDBC sürücüsü yapılandırılır
Bu işlem tamamlandıktan sonra, HSQL sunucusuna bağlanıyoruz. Öncesinde bu sunucuyu başlatıyoruz.
![]() |
- [6]: [7]'te yeni bir bağlantı oluşturulur
- [7]: Bağlantıya bir ad verilir
- [8]: HSQLDB sunucusuna bağlanmak istiyoruz
- [9]'te: bağlanmak istediğimiz veritabanının URL'si. Bu, daha önce gördüğümüz [test] veritabanı olacaktır.
- [10]'te: [sa] kullanıcısı olarak bağlanıyoruz. Bu kullanıcının SGBD'in yöneticisi olduğunu görmüştük.
- [11]'te: [sa] kullanıcısının şifresi yoktur.
Bağlantı yapılandırmasını onaylıyoruz.
![]() |
- [12]'te: bağlanıyoruz
- [13]: Kimlik doğrulama yapılıyor
- [14]: Bağlantı kuruldu
![]() |
- [15]'te: [PUBLIC] şemasında henüz bir tablo yok
- [16]: 5.4.6. paragrafında oluşturulan [schema-articles.sql] komut dosyasından [ARTICLES] tablosu oluşturulacak.
- [17]'te: komut dosyası seçiliyor
![]() |
- [18]: çalıştırılacak komut dosyası
- [19]'te: HSQLB bunu kabul etmediği için tüm yorumları silindikten sonra çalıştırılır.
![]() |
- komut dosyası çalıştırıldıktan sonra, [20] ile veritabanının görüntülenmesi yenilenir
- [21]'te: [ARTICLES] tablosu mevcut
- [22]: içeriği
HSQLDB sunucusunu durdurup yeniden başlatalım. Bunu yaptıktan sonra, [test.script] dosyasını inceleyelim:
Görüldüğü gibi, SGBD dosyası, önceki oturumda çalıştırılan çeşitli SQL komutlarını bellekte saklamış ve yeni oturumun başlangıcında bunları yeniden çalıştırıyor. Ayrıca (2. satırda) [ARTICLES] tablosunun bellekte (MEMORY) oluşturulduğu görülmektedir. Her oturumda, verilen SQL komutları, bir sonraki oturumun başında [test.script]'e kopyalanmak üzere [test.log]'te saklanır ve oturumun başında yeniden yürütülür.
5.10. SGBD Apache Derby
5.10.1. Kurulum
SGBD Apache Derby, [http://db.apache.org/derby/] adresinde mevcuttur. Bu da Java ile yazılmış ve bellek açısından oldukça hafif bir SGBD'tir. HSQLDB ile benzer avantajlara sahiptir. Bu sürüm de Java uygulamalarına entegre edilebilir, c.a.d. uygulamanın ayrılmaz bir parçası olarak aynı JVM içinde çalışabilir.
![]() |
- [1]: indirme sitesi
- [2,3]: en son sürümü indirin
![]() |
- [3]'e: indirilen zip dosyasını açın
- [4]: açma işlemi sonucunda elde edilen [db-derby-*-bin] klasörü
- [5]: [bin] klasörü, [db derby] ve [6] sunucularını başlatmaya yarayan komut dosyasını içerir; [7] ise sunucuyu durdurmaya yarayan komut dosyasını içerir.
5.10.2. Apache Derby (Db Derby) Sunucusunu Başlatma / Durdurma
Db Derby sunucusunu başlatmak için yukarıdaki [startNetworkServer] [6] uygulamasına çift tıklayın:
![]() |
- [1]: sunucu başlatılır. Sunucu, yukarıdaki [stopNetworkServer] [7] uygulamasıyla durdurulur.
5.10.3. Db Derby'nin JDBC sürücüsü
SGBD Db Derby'nin Jdbc sürücüsü, kurulum klasörünün [lib] klasöründe bulunur:
![]() |
- [1]'te: [derbyclient.jar] arşivi, SGBD Db Derby'nin JDBC sürücüsünü içerir
- [2]: Bu arşivi, öncekiler gibi (5.4.7. paragraf) <jdbc> klasörüne yerleştiriyoruz
Bu JDBC sürücüsünü test etmek için Eclipse ve SQL Explorer eklentisini kullanacağız. Okuyucunun 5.4.7. paragrafında açıklanan adımları izlemesi önerilir. Aşağıda bazı önemli ekran görüntülerini sunuyoruz:
![]() |
- [1]'te: [window / preferences / SQL Explorer / JDBC Drivers]
- [2]'te: Apache Derby'nin Jdbc sürücüsü listede yer almıyor. Bunu ekliyoruz.
![]() |
- [3]'te: yeni sürücüye bir ad verilir
- [4]'te: JDBC sürücüsü tarafından desteklenen URL'lerin biçimini belirledik
- [5]'te: JDBC sürücüsünün .jar dosyasını belirledik
- [5b]'te: JDBC sürücüsünün Java sınıfının adı
- [5c]: JDBC sürücüsü yapılandırılır
Bu işlemler tamamlandıktan sonra Apache Derby sunucusuna bağlanıyoruz. Öncesinde sunucuyu başlatıyoruz.
![]() |
- [6]: yeni bir bağlantı oluşturulur
- [7]: Bağlantıya bir ad verilir
- [8]: Apache Derby sunucusuna bağlanmak istiyoruz
- [9]: Bağlanmak istediğimiz veritabanının URL'si. Standart başlangıç kısmı olan [jdbc:derby://localhost:1527]'in arkasına, bir Derby veritabanını içeren disk klasörünün yolunu yazacağız. [create=true] seçeneği, bu klasör henüz mevcut değilse oluşturulmasını sağlar.
- [10,11]: [jpa/jpa] kullanıcısı olarak bağlanılır. Bu konuyu derinlemesine araştırmadım ancak görünüşe göre kullanıcı adı ve şifre olarak istediğimiz herhangi bir değeri girebiliriz. Burada, create=true ise veritabanının sahibini belirtiriz.
Bağlantı yapılandırmasını onaylayın.
![]() |
- [12]'te: oturum açıyoruz
- [13]: Kimlik doğrulama (jpa/jpa)
- [14]: Bağlandık
![]() |
- [15]'te: [jpa] şeması henüz görünmüyor.
- [16]'te: 5.4.6. paragrafında oluşturulan [schema-articles.sql] komut dosyasından [ARTICLES] tablosunu oluşturacağız.
- [17]'te: komut dosyasını seçiyoruz
![]() |
- [18]: çalıştırılacak komut dosyası
- [19]'te: Apache Derby ve HSQLB gibi komut dosyaları yorumları kabul etmediğinden, tüm yorumları kaldırdıktan sonra çalıştırın.
![]() |
- komut dosyasının çalıştırılması tamamlandıktan sonra, [20] veritabanının görüntülenmesini yenileyin
- [21]'te: [jpa] şeması ve [ARTICLES] tablosu yerinde
- [22]'te: [ARTICLES] tablosunun içeriği
![]() |
- [23]'te: veritabanının oluşturulduğu [derby\jpa] klasörünün içeriği.
5.11. 'in Spring 2 çerçeve yapısı
Spring 2 çerçeve yapısı şu URL'de mevcuttur: [http://www.springframework.org/download]:
![]() |
- [1] adresinden: en son sürümü indirin
- [2] adresinden: Spring'in entegre ettiği ve her zaman ihtiyaç duyduğumuz üçüncü taraf araçların .jar dosyalarını içerdiği için "bağımlılıklarla birlikte" sürümü indirin.
![]() |
- [3]: İndirilen arşivi açın
- [4]: Spring 2.1 kurulum klasörü
![]() |
- [5]: <dist> klasöründe Spring arşivleri bulunur. [spring.jar] arşivi, Spring çerçevesinin tüm sınıflarını içerir. Bu sınıflar, [6]'teki <modules> klasöründe modüller halinde de mevcuttur. İhtiyacınız olan modülleri biliyorsanız, bunları burada bulabilirsiniz. Böylece, uygulamaya ihtiyaç duyulmayan arşivleri dahil etmekten kaçınmış olursunuz.
![]() |
- [7] içinde: <lib> klasörü, Spring tarafından kullanılan üçüncü taraf araçların arşivlerini içerir
- [8]: [jakarta-commons] projesine ait bazı arşivler
Öğreticide Spring arşivleri kullanıldığında, bunları Spring kurulum klasöründeki <dist> veya <lib> klasörlerinden almanız gerekir.
5.12. 'in EJB3 konteyneri, JBoss'ten türetilmiştir
JBoss'in EJB3 konteyneri, [http://labs.jboss.com/jbossejb3/downloads/embeddableEJB3] adresinde mevcuttur:
![]() |
- [1] dosyasında: JBoss ve EJB3 dosyaları indiriliyor. Ürünün tarihi (Eylül 2006) göze çarparken, indirme işlemi Mayıs 2007’de gerçekleştiriliyor. Bu ürünün hâlâ geliştirilip geliştirilmediğini merak edebiliriz.
- [2] dosyası: indirilen dosya
![]() |
- [3]: açılmış zip dosyası
- [4]: [hibernate-all.jar, jboss-ejb3-all.jar, thirdparty-all.jar] arşivleri, EJB3 konteynerini oluşturur ve bu konteynerin içeriği JBoss'tir. Bunları, bu konteyneri kullanan uygulamanın sınıf yoluna (classpath) eklemek gerekir.








































































































































































