ana sayfa : araştırma : java uygulamaları : javanın özellikleri [ 3 / 12 ] |
|
GERİ | |
3 JAVANIN ÖZELLİKLERİ
Java dağınık uygulamaların
gerçekleştirilmesinde kullanılan bir programlama dilidir. Kullanıcının,
sayfanın içeriği ile etkileşimi sağlaması nedeniyle diğer göz
gezdiricilerden ayrılır. Java
ile göz gezdiricilere, içeriği ve bu içeriğin görüntülenebilmesi için
gerekli olan programları aynı zamanda göndermek mümkündür. Böylece göz
gezdiricinin, ilgili içeriği görüntülemek için gerekli özellikleri
kendi bünyesinde bulundurmasına gerek kalmaz. Bu da kullanıcıların
ilgili göz gezdiricilerin içeriği
desteklemesini beklemeden veya sürekli olarak göz gezdiricisini değiştirmek
zorunda kalmadan farklı içerikli bilgileri görüntüleyebilmesini sağlar.
Örneğin HTTP’ yi desteklemeyen bir ana bilgisayarda bulunan veri tabanı,
WWW üzerinde kullanıma açılmak istendiğinde, ilgili göz gezdiricinin
bu özel sistemi desteklemesini beklemekten başka çaresi yoktur. Ancak
Java kullanılarak bu desteğin göz gezdirici tarafından verilmesine gerek
kalmadan WWW üzerinde uygulamaların gerçekleştirilmesi mümkün olur.
Java, aynı zamanda belirli ortamlara bağımlı olarak çalışmaz. Herhangi bir Java Programı,
Java desteği bulunan herhangi bir göz gezdirici ile herhangi bir ortamda
çalışabilir. Netscape Navigator 2.0 ile Windows 95, Windows NT, MacOs ve
birçok UNIX ortamında Java’nın kullanılması mümkün olamaktadır.
Java sadece WWW için kullanılmaz. Java ile Fortran, C++ gibi diğer bir
programlama dilleri ile yapılabilen hemen hemen herşeyin gerçekleştirilmesi
mümkündür. Üstelik Java bu dilleregöre daha basit ve açıktır.
Java’nın özelliklerini aşağıdaki gibi özetlemek mümkündür(Grup
Java,2000) Basit Java içerisinde gereksiz
özelliklerin bulunmamasına ve gerekli olan tüm fonksiyonların da kullanımı
kolay bir şekilde bulundurulmasına özen gösterilmiştir. Java içindeki hemen hemen
her şey ya bir sınıf, metod ya da bir objedir. Sadece en basit
operasyonlar ve veri tipleri (ini,for,while v.b.) alt-obje seviyesinde
bulunur. Java Programları, byte kod
formatında derlenir. Yani, interpretenlar yardımıyla Windows 95, Windows
NT ve Solanis 2.3 gibi bir çok ortamında okunması ve çalışması mümkündür. Java kodu virüs
tehlikesinden ve dosyaların bozulmasından uzak ortamlarda çalışabilir. Java’nın hızının
C++’ın hızı ile yarışması beklenmektedir. Multi-Threaded Basit bir Java Programı, birbirinden bağımsız
olarak ve sürekli çalışan bir çok işleme sahip olabilir. Yüksek CPU gücü gerektiren WWW uygulamaları (CGI
temelli programlar) Web Serverlarını aşırı yüklerler, ama Java temelli
uygulamalarda CPU gücü gerektiren hesaplamalar uç bilgisayarda yapıldığı
için böyle bir sorun yaratmaz. Java’nın kullanılması
için üç şeye ihtiyaç vardır. Bunlar: java desteği olan bir WWW göz
gezdiricisi, kaynak kodu byte koda çeviren Java derleyicisi ve programların
çalışmasını sağlayan Java İnterpreterdir. Bunların dışındaki araçlar
kullanılması zorunlu olmayan ancak çalışmaları kolaylaştıran araçlardır.
( Çağıltay,1999 ) Java tümüyle nesneye
dayalı olarak tasarlanmış bir programlama dilidir. Oluşturulmasındaki
temel gaye ortamdan bağımsız, her bilgisayarda çalışabilecek
programlar geliştirebilmektir. Özellikle İnternet gibi farklı mimarilere
ve işletim sistemlerine sahip bilgisayarlardan oluşan ağ ortamlarında böyle
bir gereksinim vardır. Derlenmiş Java Programları,
“byte code” adı verilen özel bir formata sahiptirler. Bu formatın işlemci
tarafından doğrudan yürütülebilecek makine kodundan farkı bu kodun
Java yorumlayıcısı tarafından çalıştırılabilmesidir. Yorumlayıcı
yardımıyla çalıştırılabilir olması çalıştırılabilir olması
Java’yı ortamdan bağımsız kılmaktadır. Her ortam için ayrı bir
Java yorumlayıcısı mevcuttur ve bu yorumlayıcılar Java kodunu o ortama
uygun makine koduna dönüştürür.(Grup Java,2000) Java uygulamaları, WEB
hizmeti aracılığıyla sunucu makinalardan istemci makinalara aktarılabilmekte
ve Java desteği olan WEB tarayıcıları tarafından çalıştırılabilmektedir.
Böylece, WEB tarayıcısı olan her bilgisayar Internet üzerinde herhangi
bir web sunucusu altında bulunan Java uygulamasını çalıştırabilmektedir.
Bu yöntemle yazılacak istemci/sunucu programlarında istemcide standart
bir WEB tarayıcısının olması yeterlidir. WEB tarayıcısına sunucuya
ait URL bilgisi girildiğinde Java kodu kendiliğinden çalıştırılmaktadır.
Böylece uygulama programlarında bir değişiklik yapılması gerektiğinde
değişikliğin sadece sunucu bilgisayarda yapılması
yeterli olacaktır. Java’yı tasarlayanlar
C++’dan büyük ölçüde etkilenmişlerdir. Bu etkilenme Java’nın
sentaksında da kendini göstermektedir. Ancak iki dil arasında çok temel
bazı farklar vardır. Bunların dışında Java’nın tümüyle nesneye
dayanması gelmektedir. C++ nesne tabanlı modellemeyi desteklemekle beraber
uzantısı olduğu C dilini desteklediği için melez bir yapıdadır.(Grup
Java,2000) Java Programları çalıştırılma
şekillerine göre 2’ye ayrılır:
Java Appletleri
WEB tarayıcıları üzerinden yüklenerek çalışırlar. Sunucu
bilgisayardan istemciye yüklenerek çalıştırıldıklarından istemci
bilgisayarın kaynaklarına erişimleri sınırlandırılmıştır. İstemcinin
sabit diskine, yazıcısına... v.s. erişemezler. Bu sınırlama güvenlik
nedeniyle oluşturulmuştur. Java uygulamaları bağımsız
olarak çalışan programlardır. Çalıştırılabilmeleri niçin yerel
diske önceden yüklenmiş olmaları gerekir. Buna karşılık Java
uygulamaları için hiçbir güvenlik sınırlandırılması yoktur, tüm
kaynaklara erişebilirler. 3.1
Javanın Bazı Özellikleri
İf (index=3)... şeklinde bir komut giremez.
3.1.1
Java platformdan bağımsızdır
Java’nın en önemli özelliği
platformdan bağımsız olamasıdır. Bu özellikle değişik sistemlerde
kullanılması gereken programların yazımında büyük kolaylık sağlar. Bir programın bir
bilgisayar sisteminden başka bir bilgisayar sistemine aktarılmasıdır.
Kaynak sayesinde Java’nın ilkel veri tipleri bütün plarformlara uygun
niteliktedir. Java’nın temel sınıf kütüphaneleri, yazılan herhangi
bir programın bir paltformdan diğerine tekrar yazmaya gerek kalmadan taşınmasını
mümkün kılar. Platform bağımsızlığı sadece kaynak seviyesinde
kalmaz.Java ikilik dosyaları da, her platformda tekrar derlemeye gerek
duyulmadan çalışır. Bu dosyaların diğer bir adı da Bayt Kod dosyalarıdır.(Grup
Java,2000) Bayt kodları makine kodlarına
benzeyen fakat işlemciye özel olmayan kodlardır. Normal olarak C veya
herhangi başka bir dilde program yazıldığında derleyici önce yazılım
kontrolü yapar, sonra makrolar, kütüphanelerdeki alt programlar çağırılır
ve en son olarak ta işlemciye özel kod üretilir. Yazdığımız program
örneğin, IBM bilgisayarlar için olan bir derleyici kullanılarak derlenmişse
bu program APPLE bilgisayarlarda çalışmayacaktır. Eğer programımızın
APPLE bilgisayarlarda da çalışmasını istiyorsak APPLE bilgisayarlar için
kullanılabilen bir derleyici programımızı yeniden derlememiz
gerekecektir. Java’da ise herşey çok daha farklıdır. Java ortamında
program geliştirme iki farklı adımda olur(Grup Java,2000) ·
Java Derleyicisi ·
Java Yorumlayıcısı Java derleyicisi yazılmış
herhangi bir Java programını derledikten sonra işlemciye özel makine
kodları üretmek yerine bayt kod dosyası oluşturacaktır. Programı çalıştırmak içinse
bayt kod yorumlayıcısı çalıştırılır ve bu program Java’da yazılmış
programı yürütür. Yorumlayıcı ya kullanıcı tarafından çalıştırılır;
ya da Hotjava web gezgininde olduğu gibi Java’nın içine yerleştirilmiş
bir bayt kod yorumlayıcısı appletleri çalıştırır. Bayt kod üretimi ve buna
bağlı olarak programın çalıştırılması sırasında yorumlayıcı
kullanımı ilk bakışta dezavantajlı gibi görülebilir. Fakat, programın
bayt kod olarak saklanması, platformdan bağımsız olmasını da sağlar. Böylelikle program
herhangi bir donanıma sahip herhangi bir işletim sisteminde çalışabilir
yeter ki çalıştırılacak işletim sisteminin Java yorumlayıcısı
olsun. Bu özellik appletlerin istenildiği gibi çalıştırılması açısından
kritiktir. Bilindiği gibi WWW paltformdan bağımsızdır. HTML de yazılmış
dosyaların aksine, Java uygulamaları sadece Java desteğine, yani Java
yorumlayıcısına sahip programlarca çalıştırılabilir. Java’nın dezavantajı
bayt kod, dolayısıyla yorumlayıcı kullanımı sonucu programın işletim
hızının düşmesidir. Çünkü sisteme özel şekilde derlenmiş
programların doğrudan ilgili donanım üzerinde çalışmalarının aksine
Java’da yazılmış programla donanım arasında yorumlayıcı vardır. Çoğu
Java programı içinde işletim hızı zaten kritik değildir. İşletim hızının
kritik olduğu durumlarda ya
Java kullanılmaz veya Java kullanımı zorunluysa Java için yazılmış
birtakım programların yardımıyla donanıma özel kod üretimi yani
derleme yapılır. Fakat, böyle
bir programda, platformdan bağımsız olarak çalışabilme özelliğini
kaybeder.(Grup Java,2000) 3.1.2
Java nesneye dayalı bir dildir
Nesneye dayalı bir dilde
çalışmak bu tekniğin getirdiği tüm olanakların, esnek ve modüler
programlama kolaylıklarının kullanımını sağlar. Java’daki nesneye dayalı
bir çok özellikte, C++ baz alınmıştır. Fakat, bazı özellikler ise diğer
nesneye dayalı dillerden alınmıştır. Diğer bir çok nesneye dayalı
dilde olduğu gibi Java da temel veri tiplerini, sistem giriş çıkış
fonksiyonlarını ve bazı diğer fonksiyonları içeren sınıf kütüphanesine
sahiptir. Bu fonksiyonlarda Java
ortamının ayrılmaz birer parçasıdırlar. Java yanı zamanda Internet
protokollerinin çoğunu destekleyen fonksiyonlara da sahiptir. Java kütüphanesi de
Java’da oluşturulduğundan kütüphane içindeki fonksiyonlar da
platformdan bağımsızdırlar. Taşınabilirliğin ve
nesneye dayalı olmasının yanında Java’nın tasarımındaki asıl amaç
basit olmasıdır. Dolayısıyla daha kolay program yazmak, derlemek ve en
önemlisi çok kolay öğrenmek hedef alınmıştır. Java’nın çok fazla
komut içermemesi güç bulunabilecek hataların olama olasılığını
azaltır. Fakat uygun komutlardan oluşan bir dil olması sayesinde de Java
güçlü bir dil sayılır. Java C ve özellikle C++
dillerini baz almış olsa da bu dillerde mevcut olan güç kavramlar
Java’da yoktur. Örneğin Java’da pointer ve buna bağlı olarak pointer
aritmetiği yoktur. Stringler ve diziler nesne olarak tanımlanmışlardır.ayrıca
bellek yönetimi de otomatik olarak yapılır.(Grup Java,2000) Bu özelliklerin kalkması sayesinde Java çoğu programcı için kolay bir dildir. 3.2
Javaya Erişim
Java’da program yazılması
için Sun şirketinin Java geliştirme kitine (JDK) ihtiyaç vardır. JDK
Sun SPARC ortamı için Solaris 2.3 veya üstü Windows NT veya Windows
95-98 platformları için mevcuttur. Burada JDK baz alınmıştır.
JDK’ nın en son versiyonu Sun şirketinin http://www.javasoft.com/products/jdk/
sayfalarından
kopyalanabilir.
İnternet Explorer veya Java’yı destekleyen diğer
web gezginleri Java’da yazılmış veya Java’yı destekleyen diğer web
gezginleri Java’da yazılmış programların çalışmasını sağlarlar. 3.2.1
Java development kit
JAVA çalışma ortamı için
bilgisayarınıza JAVA’yı önceden yüklemeniz gerekir. Java’yı geliştiren
Sun Microsystem firmasına İnternet aracılığıyla ulaşılabilir ve JDK’
yı ağ üzerinden makinenize yükleyebilirsiniz.
Ağ tarayıcı programınız ile http://java.sun.com/
İlk web sayfasının alt bölümlerindeki
hotjava news yazısı kliklenince yeni bir web sayfası ekranda beliriyor. Şekil
3.3 www.javasoft.com/products/hotjavaviews/ Yüklenilen dosya sıkıştırılmış
olduğundan açılımından sonra bilgisayarınızın hard diski üzerinde
çeşitli çalışma alanları oluşacaktır. C:\java C:\java\Bin C:\Java\Demo C:\Java\İnclude C:\Java\Src C:\Java\Bin direktory’si
içinde en önemli dosyalar bulunmaktadır. Bunların arasında BASIC gibi
bir interpreter olan Java.exe, Java’nın derleyicisi (Compiler) olan Javac.exe
ve Appletviewer.exe bulunacaktır. Bilgisayarınızın Autoexe.bat
dosyası içindeki PATH komutunu güncelleştirmeniz gereklidir. Yapılması
gereken değişiklikler: PATH=%PATH%+C:\JAVA\BİN Set HOME=C:\ şeklindedir. Bu işlemler tamamlandıktan
sonra JAVA çalışmalarınızı yapmaya hazırsınız. Java örneklerimizden
birkaçını çalıştıralım: Appletviewer example1.html İkinci komut satırından sonra sistem WİNDOWS’a geri dönecek, ve aşağıda ki pencere açılacaktır.
Şekil
3.4 CD\JAVA\Demo\MoleculeViewer Appletviewer example1.html Appletviewer example2.html Komutlarını yazarsak şu
görüntüyü elde ederiz:
Şekil 3.5 CD\JAVA\Demo\MoleculeViewer Appletviewer
example2.html 3.3
Java İle Neler Yapılabilir?
En iyi bilinen Java programı
Java Appletlerdir. Applet, Java’yı destekleyen herhangi bir web
gezgininde çalışabilen Java programıdır. Appletlerle sadece hoş görünümlü
animasyonlar hazırlamakla kalmazsınız, aynı zamanda genel kullanım amacı
ile yüksek seviyeli bir programlama dili olduğundan güçlü yazılımlar
da geliştirebilirsiniz. Java API’ lerini kullanarak çok zengin
programlar yazılabilir. Java uygulamarı doğrudan,
Java platformlarında tek başına çalışabilen programlardır.
Uygulamaların en belirgini ise sunucu uygulamalarıdır. Servlet’ler ise appletlere benzeyen uygulamaların bir çeşididir.
Servletler web gezgininde çalışmak yerine java sunucularını konfigüre
eder ve uyarlarlar. Java API’ leri tüm bu
programları, yazılım bileşenleri olarak içeren paketler ile destekler.
Core API (öz uygulama ara yüzleri), Java platformu uygulamaları için
gerekn tüm API leri içerir. Core API aşağıdaki özellikleri sunar.
(Grup Java,2000)
·
Nesne Sıralaması : Remote Method Invocation (RMI)
ile iletişime izin verir. ·
Java Veri tabanı Ağlantısı : (JDBC) İlişkisel
veri tabanlarına erişimi sağlar. |