1 · web viewjava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin...

84
1. GİRİŞ 1.1. Java nedir? Java ,2000’li yılların programlama dili ve merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı. Java’nın yükselişi ile ağ programcılığıda kolaylaştı ve yaygınlaştı. Java’nın en önemli özelliklerinden biri ağ desteğidir. Java ,düşük seviyeli TCP/IP bağlantıları ve yüksek seviyeli www kaynaklarına erişim sağlayan sınıflar içerir. İstemci/sunucu teknolojileri için önemli bir platformdur. 1.2. Java ile İlgili Genel Bilgi Java, özellikle ağ ve internet uygulamaları için geliştirilmiş bir programlama dilidir. Platform bağımsızdır ve her bilgisayarda, ağ üzerindeki her yerde çalışır. Web gözatıcıları (browser) java kodlarını çalıştırmak için, kendi içlerinde bir "Java Virtual Machine" içerirler. Öncelikle Java programlama dili C++ gibi nesneye dayalı (Object Oriented ) bir dildir. Bu sayede nesneye dayalı analiz ve tasarım çalışmaları sonucunda oluşturulacak olan sistemin gerçekleştirilmesi ( implementation ) için oldukça uygun bir dil olarak karşımıza çıkmaktadır. Aynı zamanda Java oldukça güvenli ve sağlam bir ortamı da yazılım geliştiricilere sunmaktadır. Günümüzde Java, sadece bilgisayar ve internet uygulamalarında değil; bilgisayar teknolojilerinin kullanıldığı diğer alanlarda da (akıllı kart, ev teknolojisi ürünleri -beyaz eşyalar vb- gibi ) programlama ve kontrol aracı olarak kullanılmaktadır. Önümüzdeki dönemlerde, aynı ortak platformu kullanan ama birbirinden farklı gibi görünen cihazların (bilgisayar, elektronik sistemler, elektrikli/elektronik ev eşyaları gibi) bu teknoloji yardımıyla aynı ağ üzerinde bulunacağını ve söz gelimi bilgisayarımızdan evinizdeki birtakım elektronik/elektrikli eşyaları kontrol edebileceğimizi düşünebiliriz. 1

Upload: others

Post on 13-Jan-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

1. GİRİŞ

1.1. Java nedir?

Java ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı. Java’nın yükselişi ile ağ programcılığıda kolaylaştı ve yaygınlaştı. Java’nın en önemli özelliklerinden biri ağ desteğidir. Java ,düşük seviyeli TCP/IP bağlantıları ve yüksek seviyeli www kaynaklarına erişim sağlayan sınıflar içerir. İstemci/sunucu teknolojileri için önemli bir platformdur.

1.2. Java ile İlgili Genel Bilgi

Java, özellikle ağ ve internet uygulamaları için geliştirilmiş bir programlama dilidir. Platform bağımsızdır ve her bilgisayarda, ağ üzerindeki her yerde çalışır. Web gözatıcıları (browser) java kodlarını çalıştırmak için, kendi içlerinde bir "Java Virtual Machine" içerirler.

Öncelikle Java programlama dili C++ gibi nesneye dayalı (Object Oriented ) bir dildir. Bu sayede nesneye dayalı analiz ve tasarım çalışmaları sonucunda oluşturulacak olan sistemin gerçekleştirilmesi ( implementation ) için oldukça uygun bir dil olarak karşımıza çıkmaktadır. Aynı zamanda Java oldukça güvenli ve sağlam bir ortamı da yazılım geliştiricilere sunmaktadır.

Günümüzde Java, sadece bilgisayar ve internet uygulamalarında değil; bilgisayar teknolojilerinin kullanıldığı diğer alanlarda da (akıllı kart, ev teknolojisi ürünleri -beyaz eşyalar vb- gibi ) programlama ve kontrol aracı olarak kullanılmaktadır. Önümüzdeki dönemlerde, aynı ortak platformu kullanan ama birbirinden farklı gibi görünen cihazların (bilgisayar, elektronik sistemler, elektrikli/elektronik ev eşyaları gibi) bu teknoloji yardımıyla aynı ağ üzerinde bulunacağını ve söz gelimi bilgisayarımızdan evinizdeki birtakım elektronik/elektrikli eşyaları kontrol edebileceğimizi düşünebiliriz.

Bir Java programı, hiçbir değişiklik yapılmadan, desteklenen tüm sistemlerde çalışır. Ayrıca C++ 'da bazı belirsizlik arz eden tanımlar temizlenmiştir. Bu tanımlar değişik sistem ve derleyicilerde, değişik biçimlerde kabul ediliyorlardı. Örneğin C++ 'da hiçbir zaman bir tamsayının (integer) kaç byte olduğu bilinemiyordu. Java'da bir tamsayı herzaman (Hangi sistemde olursa olsun ) 4 Byte dır. Böylece program geliştiriciler çok sofistike uygulamaları, Windows, UNIX veya Macintosh gibi farklı platformlar için tekrar planlanmasına gerek kalmadan yazmaya başladılar. Java Teknolijisinin ilk duyurumundan bu yana Java 2 yazılımı 4 milyon kişi tarafından yüklenmiştir.

Java programları direkt işlemci tarafından yorumlanmaz. Özel bir program tarafından yorumlanırlar (Yorumlayıcı = Interpreter ). Bunun avantaj ve dezavantajları vardır : Programı geliştirirken bazı adımlardan kurtulursunuz. Örneğin bazı program parçacıklarına bağlantı kurmaktan (Link). Dezavantajı ise tüm desteklemelere rağmen, programın çalışmasının yavaş oluşu. Sun firması bir ara katman oluşturdu. Java bir önyorumlayıcı tarafından byte koduna (bytecode) çevrilir. Çok büyük avantaj olan, bazı küçük değiştirmelerde derleyemeye gerek kalmaması, bununla yok oluyor.

Fakat bu "bytecode" makina diline çok yakındır. Bundan dolayıdır ki çok hızlı bir kod oluşturulmuş olunur.

1

Page 2: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

2 GÜVENLİK NEDİR?

Güvenlik; toplum yaşamında yasal düzenin aksamadan yürütülmesi, kişilerin korkusuzca yaşayabilmesi durumudur.

2.1 GÜVENLİĞİN AMACI VE ÖNEMİ:

Güvenliğin amacı; kişi ve kurumların karşılaşabilecekleri tehdit ve tehlikelerin daha önceden analizlerinin yapılarak gerekli önlemlerin alınmasını sağlamaktır.

Güvenliğin önemini aşağıdaki gibi sıralayabiliriz:

Hem kişisel hem de kurumsal kayıpları önlemek Lüzumsuz zaman kaybını önlemek Maliyeti düşürmek

2.2 ELEKTRONİK GÜVENLİK SEKTÖRÜNÜN HAYATIMIZDAKİ YERİ:

Bir iş yeri, apartman dairesi, bağımsız bir ev veya site içinde bir villa... Hepimiz, geceleri sevdiklerimizle birlikte huzur içinde uyuyabilmek veya kapımızı kilitleyip çıktığımızda evimizin ya da iş yerimizin güven içinde olduğundan emin olmak isteriz.

Son yıllarda artış gösteren hırsızlık vakalarının günümüzde caydırıcı ve önleyici en önemli  unsuru, kuşkusuz elektronik güvenlik sistemleridir.

Tüm dünyada elektronik güvenlik sistemleri birinci derecede önemli olmaya devam ederek, bu sektörün daha da çok gelişeceğini, Güvenlik sistemlerinin neredeyse her eve ve işyerine gireceği sinyallerini vermektedir.

3 ALARM SİSTEMLERİ:

3.1 NEDEN ALARM SİSTEMİ:

İlk çağlardan bu yana insanlar sürekli korunmak ihtiyacındadırlar. Son yıllarda yaşanan olaylar gösterdi ki soygun ihbar ve alarm sistemleri ne ihtiyaç artarak devam edecektir. İş yeriniz, deponuz, eviniz, villanız, v.b maddi ve manevi değeri olan mallarınızı hırsızlık ve yangına karşı korumak en doğal ihtiyacınızdır.

Yıllar boyu yoğun çalışmalar sonucunda elde edilmiş sermayenin bir günde kaybedilmesi, insanın aklına dahi getirmek istemediği korkunç bir olaydır. Soygun ihbar, hırsızlık alarm sistemleri olaya caydırıcılık getirmekte, bütün olayları derhal Alarm Haberalma Merkezine bildirmektedir. Alarm Haber Alma Merkezi olayın doğruluk testini yaptıktan sonra ilgililere haber vererek; jandarma, polis, itfaiye, ve işyeri sahipleri'ne ihbar ederek gereken önlemlerin hızla alınmasını sağlamaktadır. Böylece riskleri en aza indirmek mümkün olmaktadır.

2

Page 3: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

3.2 PROJEDE KULLANILAN ALARM SİSTEMİNİN TEKNİK ÖZELLİKLERİ

VAP-304 ALARM KONTROL PANELİNİN TEKNİK ÖZELLİKLERİ 

4 zon •NC, NO, tek EOL veya çift EOL dirençli kullanılabilir. •Kapı, pencere, dahili, harici, 24 saat, yangın, tamper, panik vs. olarak seçilebilir. •Takipçi zon olarak ayarlanabilir. •Giriş-çıkış zonları belirtilerek, çıkış kapısından çıkıldığında gecikme süresi sıfırlanarak panelin derhal kurulması sağlanılabilir. •İstenilen zonlar key giriş olarak ayarlanıp paneli kurma/çözme işi için kullanılabilir. •Özel zon yapılıp, alarm çaldırmadan haber alma merkezine istenilen kodun gönderilmesi sağlanabilir. (Kaçak gaz dedektörü, su basma dedektörü vs. gibi dedektörler için)

 1 siren çıkışı

3

Page 4: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

 •Negatif veya pozitif tetikleme •Çalma süresi 0-99 dakika arasında ayarlanılabilir.

 1 pgm çıkışı •Siren çıkışı olarak •Arm çıkışı olarak •Yangın sireni çıkışı olarak •Yangın dedektörü besleme çıkışı olarak,  •Belli zonlarda hareket olduğunda aktif olacak, •Ayarlanan saatlerde aktif olacak şekilde ayarlanabilir.

 Besleme katı •Dedektör beslemeleri için kısa devre korumalı besleme çıkışı •Siren için ayrı besleme çıkışı •Keypad için ayrı besleme çıkışı •Akım sınırlamalı akü şarj devresi •Sürekli şebeke gerilimi kontrolü •Düşük akü seviyesi ve akünün takılı olup olmadığını denetleyen sistem  •256 adet tarih ve saatli olay hafızası

 Kominikatör •Contact ID formatı •Ayarlanılabilir arama deneme sayısı •5 adet kişisel telefon numarası hafızası; istenilen olaylar  istenilen telefona yönlendirilebilir. •2 ayrı haber alma merkezi numarası, istenilen olaylar istenilen merkeze yönlendirilebilir. •Kişisel numaralarda tek tuşla mesaj alındı onayı

  Kullanıcılar •1 adet mühendis şifresi: Ayarların pek çoğuna ulaşabilir. •1 adet master kullanıcı şifresi: Kullanıcıyı ilgilendiren ayarlara ulaşabilir. (şifre verme, değiştirme, saat ayarı yapma vs.) •5 adet kullanıcı şifresi: Sadece kurma ve devre dışı bırakma yapabilir, gün ve saat sınırlaması getirilebilir. •1 adet geçici şifre (misafir şifresi): 1 gün süre ile normal  kullanıcı haklarına sahip, gün ve saat sınırlaması  getirilebilir. •1 adet tehdit şifresi: Sadece paneli devre dışı bırakır,  haber alma merkezini uyarır.  Farklı kurma devre dışı bırakma seçenekleri: •Otomatik kurma: İstenilen saatte kurma veya devre dışı bırakma (Yapılması istenen günler ayrı ayrı seçilebilir. Örneğin sadece hafta içi farklı, hafta sonu farklı saat uygulaması yapılabilir.) •Hareketsiz kurma: Belli bir süre hareket olmaması durumunda panelin kendi kendine kurulması sağlanabilir. •Haricen bağlanacak uzaktan kumanda modülü ile veya buton, anahtar gibi sistemler ile •Kullanıcı şifresi girilerek

  Farklı bypass seçenekleri: •Otomatik bypass: Kurma işleminde açık zonlar varsa otomatik olarak devre dışı bırakılırlar, normale döndüklerinde tekrar devreye alınarak alarm sistemine    dahil edilirler.

4

Page 5: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

 •Manuel bypass: kurma işleminden önce bypass edilecek    zonlar bildirilir. Bu zonlar tamamen devre dışı bırakılır.   2 adet haftalık timer: •Pgm´i kumanda etmek için kullanılabilir •Kurma devre dışı bırakma için kullanılabilir.

 Genişleme ve ilave modüller •VAG-204 4 zon ilave modülü •VAV-210 Ses kayıt modülü •VAR-144 4 butonlu (panik, arm, disarm) uzaktan kumanda modülü •VAV-218 8 mesajlı ses kayıt modülü •VPL-232 PC bağlantı modülü •VAPMAN alarm paneli kontrol yazılımı.

 Kullanıcı yetki sınırlandırma özelliği •İstenilen kullanıcıların sadece belli günlerde, belli saat aralığında, kurup devre dışı bırakabilmelerine izin verir.

3.3 PGM ÇIKIŞ AYARLARI

PGM için bir kullanım tipi adresi bir de o tipe göre anlam kazandıran parametre adresi vardır. PGM’in istenildiği gibi çalışması için hem kullanım tipinin hem de parametresinin ayarlanması gerekir. Tabloda kullanım tipleri ve açıklamaları verilmektedir.

Kullanım Tipi Kullanım Tipi Açıklaması Parametresi

0 Kapalı 0

1 Seçilen zonlar hareket halinde olnca PGM aktif olacak

Zonlar

2 Kullanılmaz

3 Alarm kurulunca PGM aktif Değer girilmez

4 Yangında PGM aktif Değer girilmez

5 Yangın dedktörü PGMe bağlı, PGM dedektörü resetleyecek

1-255sn dedektör reset süresi

6 PGM’e ek siren bağlayacak,gelen alarmda çalacak

Değer girilmez

7 Seçilen hatalarda PGM aktif Hatalar

8 Kulanılmaz

9 Timer1 ve Timer2 ayarı 0-255 dk cinsinden çalışma süresi

3 no’lu kullanım tüpü uyarlanarak alarm çaldığında PGM girişinin aktif olması sağlanır.

5

Page 6: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

4. İNTERNET

4.1 İNTERNET NEDİR?

İki bilgisayarı birbirine bağlarsak, basit bir ağ (network) elde ederiz. Birkaç ağı bir birine bağlarsak bu da WAN(Wide Area Network) adını alır. Dünyanın en büyük WAN’ı ise Internettir. Internet için “Ağların ağıdır.”diyebiliriz. Daha genel bir cümle kullanacak olursa Internet: “Dünyanın en büyük iletişim ağıdır.” Internet ile 110 ülkeden toplam 2.000.000’dan fazla bilgisayar ve 5000’den fazla ağ birbirine bağlanmaktadır.

Kuruluşlar İnternet'e iki ana nedenden dolayı bağlanmaktadırlar. Birincisi, İnternet yararlı bilgilere dünya capinda bir bağlanabilirlik ve erişim sağlar. İkincisi, Internet'e bağlanmak, kuruluşlara özel bir geniş bölge ağı kurmaktan daha ucuza mal olmaktadır. Amerika Birleşik Devletleri'nde Internet'in işletimi federal yönetimlerce vergi mükelleflerinin vergilerinden karşılanmaktadır. Internet'in kullanımı bir zamanlar araştırma, eğitim ve devlet kuruluşlarının etkinlikleriyle sınırlandırıldıysa da, son zamanlarda ticari kullanımı büyük oranda artmıştır. Bu gelişmeler, bazı gözlemcileri Internet'in yakın gelecekte tamamıyla özelleştirileceği yolunda spekülasyonlara itmektedir. Böyle bir durumda İnternet kaynaklarına ulaşım kullanım fiyatlarına göre belirlenebilecektir.

4.2 Tarihçe

Amerikan Savunma Bakanlığı tarafından 1969 tarihinde ARPANET isimli bir proje ile başlar. Bu projenin amacı Hem silahlı kuvvetleri bir güvenli ağ ile birbirine bağlamak hem de üniversiteler,silahlı kuvvetler, araştırma kuruları gibi organizasyonlar arasında bilgi alışverişini güvenli, ucuz ve hızlı bir yoldan sağlamaktı. Arpanet ilk kurulduğunda California’da ki üç bilgisayar ile Utah’ta ki bir bilgisayarı birbirine bağlıyordu. Bu proje başarıya ulaştığında Amerika kıtasındaki tüm bilgisayarları birbirine bağlamak için yeni bir projeye girişildi.

ARPANET’in beklenenden daha fazla büyümesi sonucunda askeri bölümün ayrılması düşünüldü ve MILNET denilen bir bölüm ayrıldı. Tüm bu bölümler sonucunda birbirinden ayrı fakat aralarında bilgi alışverişi süren bir sistem düşünüldü. Ve böylece 1983 yılında IP(Internet Protocol) kabul edildi. Internete bağlanan her bilgisayar bu protokolü kullanmak

6

Page 7: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

zorundaydı. Bu protokol Amerikan Savunma Bakanlığı tarafında standart haline getirildi. Bu protokol sayesinde istenilen her bilgisayar IP protokolü sayesinde Internete bağlanabiliyordu.

ARPANET’e giderek küçük ağların ve diğer kullanıcıların da bağlanması sonucu zaten artık kontrol edilemez büyüme iyice arttı. Artık insanlar daha fazlasını istiyordu. Bunun üzerine NSF(National Science Foundation) duruma el attı ve Internet’te kamu kullanımı için beş süper bilgisayarı devreye soktu. Bu bilgisayarlar kullanıcıların isteklerini alıyor, bu bilgileri kullanıcılar için araştırıyor ve bulduğu bilgileri tekrar kullanıcılara geri aktarıyordu. Bu bilgisayarlar zamanın en gelişmiş bilgisayarları idi, fakat bir süre sonra bu bilgisayarlar da yetersiz gelmeye başladı. NSF bunun üzerine yeni bir ağ kurmaya karar verdi. Bu yeni ağın adı NSFNET idi. NSFNET uzun bir müddet Amerika’da kullanıldı ve giderek büyüdü. ARPANET’in bütün bağlantıları NSFNET’e bağlandı. Haziran 1990 ’da ARPANET resmen kullanımdan kaldırıldı.

Sonunda da tüm dünyadaki sayısız kullanıcıyı birbirine bağladı. Bu gün internet üzerinde tavla,satranç,go,poker gibi oyunlar oynanıyor; İnsanlar hem sesli hem görüntülü olarak birbirlerine mesajlar yolluyor; Televizyon seyredip radyo dinlenebiliyor, Alışveriş yapılabiliyor; hatta üniversite okuyup diploma alınabiliyor.

5. OSI MODELİ

5.1 Protokol nedir?

7

Page 8: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Veri paketleri bir ağ üzerinde kaynaktan hedefe doğru ilerlerken ağ üzerindeki tüm cihazların aynı dili ya da protokolü konuşması çok önemlidir. Kısaca protokol, ağ üzerindeki iletişimi daha etkin kılmayı sağlayan bir kurallar kümesidir. Bunu sürücülerin uyması gereken trafik kuralları, ya da pilotların uçak kullanırken diğer pilotlarla ve kontrol kulesiyle görüşürken uyduğu özel kurallara benzetmek mümkün.

Teknik bir tanım yapmak gerekirse protokol; verinin biçimini ve iletim şeklini belirleyen bir kurallar kümesi veya bir anlaşmadır. Bir bilgisayardaki n katmanı diğer bilgisayardaki n katmanı ile konuşur. Bu iletişimde kullanılan tüm kuralların tamamına n katmanı protokolü adı verilir.

5.2 Katmanlı Ağ Modeli: OSI referans modeli

Ağ modelleri, fonksiyonları sadeleştirmek ve anlaşılır kılmak amacıyla katmanlar kullanır. OSI referans modeli ağ iletişimi için en temel modeldir. Başka bir deyişle OSI referans modeli bilginin ağ üzerinde nasıl seyahat ettiğini anlamamızı sağlayacak bir iskelettir.

OSI referans modelinde her biri farklı ağ fonksiyonunu açıklayan 7 adet katman bulunur. Bu fonksiyonlara ayırma işlemine katmanlama adı verilmektedir. Katmanlama işleminin sağladığı bazı avantajlar şunlardır:

Ağ işlemleri daha küçük ve basit anlaşılır parçalara bölünmüş olur.

Bir katmandaki değişikliklerin ve hataların diğer katmanları etkilemesi engellenir. Değişik tipteki harware ve software network elemanlarının birlikte çalışmasını sağlar. Network elemanlarını standart hale getirerek çeşitli üreticilere imkan verilmiş olur.

8

Page 9: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

5.3 OSI Modeli Katmanları

OSI modelindeki 7 katmanın her biri ayrı fonksiyonlara hizmet etmektedir.

Uygulama Katmanı (Application Layer)

Bu katman son kullanıcıya en yakın katmandır. Uygulama katmanı diğer OSI katmanlarına servis vermez, aksine OSI modelinin dışında bulunan kullanıcı uygulamalarına servis verir. Bu uygulamalar data iletişimini başlatan uygulamalardır. Bu uygulamalara örnek olarak kelime işleme programları, banka terminal programları verebiliriz. Ayrıca telnet, ftp, e-mail, www gibi ağ uygulamalrı da bu katmanda çalışmaktadır.

Sunum Katmanı (Presentation Layer)

Bu katman datanın formatı ve gösterilimi ile ilgilenmektedir. Ayrıca gerekli olduğu yerlerde farklı data formatları arasında çeviri de yapabilir. Kısaca bu katman, gelen datanın uygulama tarafından anlaşılacak biçime getirilmesinden sorumludur. Bu katmanda yapılan işlemlerden bazıları biçimlendirme, şifreleme (ya da şifre), sıkıştırma olarak sayılabilir.

Oturum Katmanı (Session Layer)

Uygulamalar arasında kurulan oturumların yönetimi bu katmanda yapılır. Yani birbiriyle iletişime geçen iki host arasındaki diyalog bu katman sayesinde başlatılır, senkronu sağlanır ve sonlandırılır.

Taşıma Katmanı (Transport Layer)

Bu katmanın başlıca görevleri bilginin kaynaktan hedefe kadar güvenli ve doğru şekilde taşınması ve düzenlemesidir. Burada gönderilecek data parçalara ayırılır ve alıcı tarafta bu parçalar tekrar düzgün şekilde birleştirilir. Kısaca iki host arasında data taşıma işleminin kalitesi ve güvenilirliğinden sorumludur.

Ağ Katmanı (Network Layer)

Bu katman datanın ağ üzerinde yönlendirilmesinden sorumludur. Ağ üzerinde kaynaktan hedefe doğru olan yolları belirleyerek en iyi yolu seçmek bu katmanın görevidir. Routerlar bu katmanda görev yaparlar.

Veri Bağlantı Katmanı (Data Link Layer)

Bu katman verinin media üzerinden hatasız akışından sorumludur. Bu katmanda oluşturulan paketler sayesinde hata bildirimi, ağ yapısı ve akış kontrolü sağlanır.

Fiziksel Katman (Physical Layer)

9

Page 10: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Bu katmanın görevi kaynak ve hedef arasında verinin elektriksel işaretler ile taşınmasını sağlamaktır.

5.4 Data Encapsulation

Ağ üzerinde taşınan bilgi data ya da data paketleri adını alır. Ağ üzerindeki herhangi bir noktadan diğerine veri gönderilmek istendiğinde, veri encapsulation adı verilen bir çeşit paketleme işleminden geçirilir. Bu işlem sırasında gerekli bazı protokol bilgileri veriye eklenir ve dolayısıyla yeni bir paket oluşur.

Host A, Host B’ye bir e-mail göndermek istediğinde data encapsulation 5 adımdan oluşur:

1. Kullanıcının yazdığı e-posta mesajı sistemin anlayabileceği şekile dönüştürülür. Bu dönüşüm sonucu artık elimizde data vardır.

2. Üst katmanlardan alınan data taşıma katmanı tarafından segment adı verilen birimlere ayrılır. Ayrıca her bir segmente birer sıra numarası verilir böylece data alıcı hostta tekrar biraraya getirilirken doğru sıralanması sağlanmış olur.

3. Ağ katmanına gelen data artık segmentler şeklindedir. Bu segmentelere adres bilgileri eklenir. Bu bilgiler hem kaynak hem de hedef makinenin mantıksal adreslerini içermektedir. Eklenen bu bilgiye header adı verilir. Yeni bilgiler eklenmesiyle (encapsulation) segmentler artık paket (veya datagram) haline gelmiştir.

4. Data-link katmanına paketler halinde ulaşan datamız burada bir encapsulation daha geçirir. Paketlere kaynak ve hedef lokal (MAC) adresleri eklenir. Paketler son işlemin ardından frame haline dönüşmüştür.

10

Page 11: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

5. Frame 1 ve 0 lardan oluşan bir bit dizisine dönüştürülerek iletime hazır hale gelir.

5.5 PEER-TO-PEER İLETİŞİM

Data paketlerinin kaynaktan hedefe yolculuğu sırasında kaynak makinedeki OSI modelinin her katmanı hedef makinede kendi eş katmanıyla konuşur. Bu tip iletişime peer-to-peer iletişim denmektedir. Bu sırada her katmanın protokolü kendi eş katmanıyla bilgi alışverişinde bulunur. Bu bilgilere protokol data units (PDU) adı verilir. Özetle kaynaktaki her katman hedefteki eş katmanıyla PDUlar aracılığıyla konuşur.

OSI modelinde, her katman kendi üstündeki katmana servis vermekle yükümlüdür. Bu servisi sağlamak için alttaki katman üst katmandan gelen datayı encapsulation işleminden geçirir.

Bir katman, üst katmandan gelen PDU yu data alanına yerleştirir, kendi protokolüne ait bilgileri (header, trailer) ekler ve yeni oluşan PDU yu bir alt katmana gönderir. Bu işlem her katmanda

tekrarlanır. Yani data katmanlar arasında aşağı doğru ilerlerken her katmanda yeni header ve trailer eklenir. 4.katmandan itibaren PDU lara özel isimler verilir. 4. katmanda PDU segment, 3.katmanda paket, 2.katmanda ise frame adını alır.

5.6 TCP/IP NEDİR?

TCP/IP internette veri transferi için kullanılan iki protokolü temsil eder. Bunlar Transmission Control Protokol (TCP) ve Internet Protocol (IP). Ve bu protokoller de daha geniş olan TCP/IP protokol grubuna aittir. TCP/IP'de bulunan protokoller internette veri transferi için kullanılır ve internette kullanılan her türlü servisi sağlarlar. Bunlarin arasında elektronik posta transferi, dosya transferi, haber grupları, WWW erişimi gibi servisler TCP/IP sayesinde kullanıcılara sunulmaktadır.

   TCP/IP protokol grubunu aĞ seviyesi protokolleri ve uygulama seviyesi protokolleri olarak iki gruba ayırabiliriz. 

Ağ seviyesindeki protokoller genellikle kullanıcıya görünmeden sistemin alt seviyelerinde çalışırlar. Örnek olarak IP protokolü kullanıcıyla uzak bir makine arasındaki paket iletimini sağlar. IP ağ seviyesinde diğer protokollerle etkileşimli olarak çalışarak

11

Page 12: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

paketlerin hedef adrese gönderilmesini sağlar. Çeşitli ağ araçları kullanmadığınız sürece sistemdeki IP trafiğini ve neler dönüp bittiğini anlayamazsınız. Bu araçlar ağda gidip gelen IP paketlerini yakalayabilen sniffer'lardır. Sniffer'lar konusuna ileriki konularda ayrıntıyla değineceğiz. 

Uygulama seviyesi protokolleri sistemde daha üst düzeyde çalışırlar ve kullanıcıya görünürler. Örnek olarak Dosya Transfer Protokolünü (FTP) verebiliriz. Kullanıcı istediği bir bilgisayara bağlantı isteğinde bulunur ve bağlantı yapıldıktan sonra dosya transferi işlemini gerçekleştirir. Ve bu karşılıklı transfer işlemleri kullanıcıya belli bir seviyede görünür, giden gelen byte sayısı, meydana gelen hata mesajları... gibi.

Kısaca TCP/IP internette veri transferini sağlayan protokoller grubudur.

Günümüzde artık TCP/IP sadece internet değil bir çok alanda kullanılıyor. Intranet'ler mesela TCP/IP kullanılarak oluşturulmaktadır. Bu tip bir sistemde TCP/IP'yi kullanmak diğer protokollere göre avantajlar içerir. En basitinden TCP/IP hemen hemen her türlü sistemde desteklendiği için çok kolay bir şekilde heterojen sistemler kurulabilir. İnternette tamamen heterojen bir sistem olduğu için TCP/IP en uygun protokoldür.

TCP/IP protokolü günümüzde artık hemen hemen tüm işletim sistemlerinde desteklenmektedir. UNIX, DOS (Piper/IP ile), Windows (TCPMAN ile), Windows 95/98/2000/Me, Windows NT, Machintosh (MacTCP), OS/2, AS/400 OS/400 sistemlerinde TCP/IP desteği gelmektedir. Tabi her sistemin TCP/IP gerçeklemesi farklı olduğundan servis kalitesi de farklılıklar gösterebilir. Ancak temel olarak sunulan servisler aynıdır ve birbiriyle uyumlu olarak çalışırlar.

5.6.1 TCP/IP'nin İsleyişi

TCP/IP protokol yığınını kullanarak çalışır. (TCP/IP Stack) Bu yığın iki makine arasındaki veri transferini sağlamak için gereken tüm protokollerin birleşmiş bir halidir. Bu yığın en üstte "uygulama seviyesi", daha sonra "transport seviyesi", "ag seviyesi", "datalink seviyesi" ve "fiziksel seviye"'lerden meydana gelir. Bu seviyelerde en üstte yakın olan seviyeler kullanıcıya daha yakındır, alta yakın olan seviyeler ise kullanıcıdan habersiz olarak çalışan seviyelerdir. Örnek olarak en üst düzey olan uygulama seviyesinde FTP, Telnet gibi programları örnek verebiliriz. Bu programları çalıştırdığınızda diğer sisteme bir bağlantı kurulur ve veri transferi yapılır. Sadece yapılan işlemlerle ilgili sonuçları ve olayları görürüz ancak bir veri gönderdiğinizde bu veri ilk önce sizin bilgisayarınızdaki bu TCP/IP protokol yığınında aşağıya doğru inmek zorundadır. Yani uygulama seviyesinden, ftpde verdiğiniz bir komut mesela, transport seviyesine, oradan ağ seviyesine ve en sonunda fiziksel seviyeye iner ve artık diğer bilgisayara ulaşmak üzere internet ağında yada yerel bir ağda uzun yolculuğuna baslar. Gideceği makinenin fiziksel seviyesine ulasana kadar veriler genellikle bir yada daha fazla ağ geçidinden geçerler. (tracert komutu belirli bir hedefe hangi geçitlerden geçerek gidileceğini veren komuttur) En sonunda diğer makineye ulaşınca yine uygulama seviyesine ulaşıncaya kadar, bu sefer karşıda çalışan ftp sunucusuna, yine bu TCP/IP protokol seviyelerini bir bir yukarı doğru asmak zorundadır.

Ancak bu seviyelerin her biri değişik bir görevi üstlenmektedir. Bir seviye fiziksel olarak verilerin gönderilmesi isini yaparken başka bir seviye verileri ufak paket dediğimiz parçacıklara bölerek iletişim isini üstlenir, başka bir seviye ise iletişimde meydana gelebilecek hataları tespit eder. Bu şekilde tüm seviyeler bir uyum içinde çalışırsa ve her seviye karşı

12

Page 13: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

tarafta bulunan yine kendi seviyesindeki protokolle karşılıklı iletişim içindedir. Daha yukarıda yada daha aşağıdaki bir seviyede ne gibi bir işin yapıldığına ve sonuçlarıyla ilgilenmez.

  5.6.2 Protokoller

Kısaca TCP/IP protokol yığının nasıl çalıştığını gördük ve simdi kullanılan protokoller aşağıdadır. 

Ağ seviyesi protokolleri

Ağ seviyesi protokolleri veri transferi işlemini kullanıcıdan gizli olarak yaparlar ve bazı ağ araçları kullanılmadan farkedilemezler. Bu araçlar Sniffer'lardir. Sniffer bir cihaz yada bir yazilim olabilir ve ag üzerindeki tüm veri iletişimini izlemeye yarar. Bu araçların kullanılış maksadı ağda meydana gelebilecek hataları tespit etmek ve çözmektir. Ancak ileride de görecegimiz gibi sniffer'lar da hacker ve cracker'lar tarafından kullanılan ölümcül makineler haline gelmiştir.

Ağ protokolleri arasında önemli olarak Adres Çözümleme Protokolü (ARP), Internet Mesaj Kontrol Protokolü (ICMP), Internet Protokolü (IP) ve Transfer Kontrol Protokolü (TCP) protokollerini verebiliriz.

  ARP protokolü: internet adreslerini fiziksel adrese dönüştürmek için kullanılır. Bir paketin bir bilgisayardan çıktığında nereye gideceğini IP numarası değil gideceği bilgisayarın fiziksel adresi belirler. İşte bu adreste paketin gideceği ip numarası kullanılarak elde edilir. Ve bu işlemden sonra paket hedef ip adresine sahip bilgisayara gitmek için gerekli yönlendirmelerle yolculuğuna baslar. Bilgisayara takılı olan ethernet kartlarının bir ethernet adresi vardır. Ve bu adres IP adresinden farklıdır. Bir paket makineden çıktığı anda gideceği adres diğer bir makinenin ağ kartıdır ve bu ağ kartı ile IP numarası arasında bir bağ yoktur. Paket bu karta gidebilmesi için kartın fiziksel numarasını bilmek durumundadır. ARP adres çözümlemek istediği zaman tüm ağa bir ARP istek mesajı gönderir ve bu IP adresini gören yada bu IP adresine giden yol üzerinde bulunan makine bu isteğe cevap verir ve kendi fiziksel adresini gönderir. ARP isteğinde bulunan makine bu adresi alarak verileri artık bu makineye gönderir.

Internet mesaj kontrol protokolü: ICMP protokolü iki yada daha fazla bilgisayar arasında veri transferi sırasında meydana gelebilecek hataları ve kontrol mesajlarını idare eder. Bu nedenle ICMP ağ problemlerini tespit etmek için çok önemli bir protokoldür. ICMP protokolü kullanılarak elde edebileceğimiz bazı sorunlar: bir bilgisayarın ayakta olup olmadığını kontrol etmek, ağ geçitlerinin tıkanık olup olmadığını kontrol etmek gibi.

ICMP protokolünde bilinen en yaygın ağ aracı ping'dir. ping programı karşıdaki bir bilgisayarın çalışır durumda olup olmadığını kontrol etmek için kullanılır. Çalışma mantığı çok basittir, karşı bilgisayara echo paketleri gönderir ve geri gelmesini bekler. Eğer paketler geri gelmezse ping hata mesajı verir ve karşı bilgisayarın ağa bağlı ve çalışır durumda olmadığı anlaşılır.

Internet protokolü: IP protokolü TCP/IP protokol yığınında ağ seviyesine aittir ve tüm TCP/IP protokol takımının paket iletimi işlemini sağlar. IP verilerin internetteki iletişiminin kalbini oluşturan protokoldür. IP paketi çeşitli kısımlardan oluşmaktadır. Paketin en başında bir paket başlığı vardır ve gönderilecek olan veriyle ilgili olarak gideceği adres, gönderen adres gibi bilgileri içermektedir. Paketin geri kalan kısmı ise gönderilecek veriyi içerir.

13

Page 14: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

IP paketleriyle ilgili en ilginç şey bu paketler yolculuğu sırasında daha ufak paket boyutları kullanan ağlara rast geldiğinde daha küçük parçalara bölünebilmesi ve karsı tarafta tekrar birleştirilmesidir.

Transfer kontrol protokolü: TCP protokolü internette kullanılan ana protokoldür. Dosya transferi ve uzak oturumlar gibi kritik isleri sağlar. TCP diğer protokollerden farklıdır. Güvensiz bir iletişim ortamında verilerin ayni şekilde hedefe ulaşacağından emin olunmaz. Ancak TCP gönderilen verilerin gönderildiği sırayla karşı tarafa ulaşmasını sağlayarak güvenli veri iletimini sağlar.

TCP iki makine arasında kurulan sanal bir bağlantı üzerinden çalışır. Üç kısımlı bir işlemden oluşur bu bağlantı ve three-part handshake olarak bilinir. (TCP/IP three way handshake) TCP/IP üzerinde yapılan bazı saldırı tekniklerini iyi anlayabilmek için TCP'nin çalışma mantığını iyi anlamak gerekmektedir.

Three-way handshake işleminde öncelikle istemci sunucuya port numarasıyla birlikte bir bağlantı isteği gönderir. İsteği alan sunucu bu isteğe bir onay gönderir. En sonunda da istemci makine sunucuya bir onay gönderir ve bağlantı sağlanmış olur. Bağlantı yapıldıktan sonra veri akışı her iki yönde de yapılabilmektedir. Buna genellikle full-duplex iletişim denmektedir.

TCP ayni zamanda hata kontrol mekanizması da sağlıyor. Gönderilen her veri bloğu için bir numara üretilmektedir. Ve karşılıklı iki makine de bu numarayı kullanarak transfer edilen blokları tanımaktadırlar. Basarili olarak gönderilen her blok için alici makine gönderici makineye bir onay mesajı gönderir. Ancak transfer sırasında hata olursa alici makine ye hata mesajları alır yada hiç bir mesaj almaz. Hata oluştuğu durumlarda, oturum kapanmadığı sürece, veriler tekrar gönderilir.

TCP protokolü ile verinin iki makine arasında nasıl transfer edildiğini gördük. Simdi istemcinin isteğinin karsı tarafa ulaştığında ne olup bittiğine bakalım. Bir makine başka bir makineye bağlantı isteği gönderdiği zaman belli bir hedef adresi belirtir. Bu adres bir IP adresi ve fiziksel adrestir. Ancak sadece bu adreste yeterli değildir, istemci karşı makinede hangi uygulamayla konuşmak istediğini de belirtmek durumundadır. Örnek olarak eğer bir sayfaya bağlanmak istediğinizde URL adres kısmına www.bilgisayaraglari.com adresini yazıp bağlan denilirse anda browser bu adresteki bilgisayara bir bağlantı isteği gönderir ve o makinede bulunan HTTP uygulamasıyla konuşmak istediğini de belirtir.

5.7 TCP/IP REFERANS MODELİ

OSI modelinin tüm dünyada gördüğü genel kabule rağmen Internet’in kullandığı model TCP/IP dir.(Transmission Control Protocol/Internet Protocol ) TCP/IP referans modeli dünyanın neresinde olursa olsun iki bilgisayarın neredeyse ışık hızında haberleşmesini sağlar.

TCP/IP modeli de tıpkı OSI modelinde olduğu gibi katmanlı bir yapıya sahiptir. Modelin 4 katmanı vardır: Uygulama (application), Taşıma (transport), Internet, Ağ (network).

14

Page 15: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Görüldüğü gibi bazı katmanlar OSI modelindeki katmanlarla aynı ismi taşıyor. Ancak bu gözardı edilmeli ve iki modelin katmanları birbirine karıştırılmamalıdır. Çünkü katmanların ismi aynı olsa bile yapılan işler farklılık göstermektedir.

5.7.1 Uygulama Katmanı (Application Layer)

TCP/IP modeli tasarlanırken uygulamaya dayalı tüm önemli noktaların tek bir katmanda toplanması uygun görülmüş, sunum(presentation) ve oturum(session) katmanları uygulama katmanı içine alınmıştır. OSI modelindeki uygulama katmanından farkı budur.

5.7.2 Taşıma Katmanı (Transport Layer)

Taşıma katmanı güvenlik, hata kontrolü, veri akışı gibi servis kalitesinin sağlanmasından sorumludur. Bu katmanın protokollerinden biri olan TCP (Transmission Control Protocol) bu kaliteyi sağlamak için çok iyi ve esnek yollara sahiptir.

TCP bağlantılı (connection-oriented) bir protokoldür. Uygulama katmanından gelen bilgiyi segment adı verilen birimlere bölerken kaynak ve hedef arasında bir dialog kurulur. Bağlantılı demek, kaynak ve hedef arasında direk fiziksel bir bağlantı (circuit) olması demek değildir. Bağlantılı protokolde kaynak ve hedef arasında mantıksal bir bağlantı kurulur. Ve kurulan bu bağlantının ayakta olup olmadığı her iki host arasında gidip gelen segmentlerle kontrol edilir. Böylece bir paket gönderilmeden önce hedefe ulaşacağından emin olmak istenir. Bağlantısız (connectionless) protokollerde ise bu kontrol amaçlı dialog kurulmadan paketler gönderilir.Yani mantıksal bağlantı da kurulmaz. Ancak paketlerin hedefe vardığından emin olunamaz. Buna örnek olarak UDP (User Datagram Protocol) verilebilir.

Ayrıca kaynak ve hedef arasında fiziksel bağlantının kurulduğu duruma devre-anahtarlama (circuit-switching) adı verilir. Örneğin telefon sistemi... Paket-anahtarlama (packet-switching) iki uç arasında fiziksel bir bağlantı kurulmaz. Örneğin IP,X.25, ATM...

5.7.3 Internet Katmanı (Internet Layer)

Bu katmanın görevi herhangi bir networkten gelen kaynak paketlerinin göndermek ve paketlerin izlediği yol ya da taşındığı networklerden bağımsız olarak hedefe erişmesini sağlamaktır. IP (Internet Protokol) bu katmanı yöneten özel bir protokoldür. Hdefe doğru en iyi yolun seçilmesi ve paketlerin bu yolu izlemesinin sağlanması bu katman tarafından yapılır.

5.7.4 Ağ Katmanı ( Network Layer)

Bu katmanın adı aslında olukça geniş ve karmaşık bir anlam içeriyor. Bu katmana ayrıca host-to-network adı da verilebilir. Kısaca; IP paketlerinin ihtiyacı olan fiziksel bağlantıları kurmak için gereken her türlü şeyi karşılayan bir katmandır.

15

Page 16: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

5.8 TCP/IP MODELİNİN OSI MODELİYLE KARŞILAŞTIRILMASI

Benzerlikler

Her ikisi de katmanlı yapıdadır. Her ikisi de içerik bakımından farklı da olsa uygulama katmanına sahiptir. Her ikisi de devre-anahtarlamalı teknolojiyi benimsemiştir. Her ikisinde de karşılaştırılabilir taşıma ve ağ katmanları vardır.

Farklar

TCP/IP sunum ve oturum katmanlarını uygulama katmanı içine almıştır. TCP/IP, OSI’deki fiziksel ve data-bağlantı katmanlarını tek katman içine almıştır. TCP/IP daha az katmana sahip olduğu için daha basit görünmektedir. Internet TCP/IP modeli kurulumuştur. Dolayısıyla denenmiş ve övgü almış bir modeldir.

Ancak OSI modeline göre kurulmuş bir protokol yoktur. Ancak hemen hemen hepsi OSI modelinden ilham almaktadır.

FTP : File Transfer Protocol HTTP : Hypertext Transfer Protocol SMTP : Simple Mail Transfer Protocol DNS : Domain Name System TFTP : Trivial File Transfer Protocol (Konfigürasyon dosyaları alıp gönderir.) TCP : Transmission Control Protocol UDP : User Datagram Protocol

  TCP/IP ile OSI'nin KARŞILAŞTIRILMASI

16

Page 17: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

                                                         

TCP/IP Modelinde Application ve Transport Layer’lar Protocol’leri oluşturmaktadırlar. Internet ve Network Access Layer’lar ise Network’ü oluşturur.

OSI Modelinde ise; Application, Presentation ve Session Layer’lar Application Layer yani Uygulama katmanı olarak bilinirler. Diğer 4 katman olan Transport, Network, Data Link ve Physical ise Data Flow Layet yani Data İletim, akım katmanlarıdır.

6. SUNUCU

6.1 Sunucu Nedir?

Sunucu (söylemeye alışık olduğumz şekliyle: Server), herhangi bir ağ üzerinde bir programı veya bir bilgiyi farklı

kullanıcılara/sistemlere paylaştıran/dağıtan donanım veya yazılıma verilen genel isimdir. Burada temel nokta, sunucuların bir bilgisayar ağına bağlı olmasıdır.Genellikle tüm

17

Page 18: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

bilgiler bu bilgisayarda bulunur ve paylaşımlı olarak diğer bilgisayarlar tarafından kullanılırlar. Internet üzerinde gezerken bağlanılan web siteleri de sürekli olarak çalışan Sunucu bilgisayarlar üzerinde bulunur. Hazırladığınız bir web sitesini Internet üzerinde kullanılabilir hale getirmek için öncelikle bir sunucu bilgisayar üzerine kaydetmeniz gerekir.

Donanımsal olarak sunucuların, sorunsuz çalışmak üzere inşaa edilmiş, güvenilir, çoklu kullanıcıya hizmet eden bilgisayar sistem(ler)i olduğunu söyleyebiliriz. Örneğin, PC Labs'ın bulunduğu bilgisayar sistemi bir sunucudur ve bu bilgiler Internet aracılığı ile siteyi ziyaret edenlere bilgiler dağıtılır/paylaşılır. Bilgisayar sunucularının yanında, yazılım sunucuları da mevcut. Örneğin, MySQL Server bir veritabanı sunucu yazılımıdır ve bunu bir sunucuya yüklediğimiz zaman bu sunucuya genellikle database server (veritabanı sunucusu) denir.

6.2 NEDEN SUNUCULARA İHTİYAÇ DUYULUR?

Sunuculara olan ihtiyaç, işlerimizi bilgisayar sistemleri vasıtasıyla yaptığımız ve bilgileri bu sistemlere depoladığımız zamanlarda ortaya çıkıyor. Günümüzde bilgisayar sistemlerinin kullanımını tartışmamıza bile gerek yok. Artık bir çok işletme bilgilerini merkezi noktada saklıyor ve bilgileri şubelerine/müşterilerine bu merkezden dağıtıyor. Merkezde bu bilgi saklama görevini yapan, sürekli çalışır halde olması gereken bilgisayar sistemi sunucudur.

Günümüzde, bilgisayar sistemlerinin sürekli çalışmasının çok önemli olduğu finans, sağlık, eğitim gibi sektörler var. Bu sektörlerde çok ufak zaman kayıpları, inanılmaz boyutta iş ve para kaybını beraberinde getirebiliyor. Hele bilgileri bütünlüğü ve sorunsuz bir şekilde saklanabilmesi firmalar için çok daha önemli hale geldi. Bir bankanın son 1 saat içerisinde yapılan işlemleri sunucu arızası nedeniyle kaybettiğini düşündüğünüzde, ortadaki kaybı görmek oldukça kolay olacaktır. Düzgün işlemeyen bilgisayar sistemlerinin bile çok para ve iş kaybına neden olduğunu zaman zaman canlı örnekleriyle görüyoruz. Örneğin Ziraat Bankası, yaptığı yazılımsal değişikliği nedeniyle geçtiğimiz aylarda çok büyük sorunlar yaşamış, bankanın müşterileri mağdur olmuştu.

Sunuculara olan ihtiyacımız işte burada ortaya çıkıyor. Yaptığımız işte, zaman, iş ve bilgi kaybı olmasını istemiyorsak sunucu sistemler işin içerisine giriyor. Sunucular, genelde yedekli yapılarla çalıştığı için, çalışmalarınız çok az durumda aksıyor. Örneğin, güç kaynağı arızasında ikinci güç kaynağı hemen devreye girerek durumu telafi ediyor veya herhangi bir disk arızasında diğer diskler veri kaybını engelliyor ve çalışmaya devam edilebiliyor.

6.3 ESKİ SUNUCULAR

Aslında sunucu deyince geçmiş dönemlerde akıllara ilk olarak Mainframe'ler gelirdi. Mainframe, mini-bilgisayarların (yani günümüz masaüstü bilgisayarlarının) bağlandığı çok geniş bilgisayar sistemlerine verilen isimdir. Mainframe'i klasik bilgisayar sistemlerinden ayıran özelliği, kabaca, paralel olarak işleyen "bilgisayarcıklardan" oluşmasıdır. Örneğin, Mainframe'e has olan I/O kanalına takılacak her kontrolcü, kendisine ait disk, ethernet kartı, belleği kontrol edip, her kontrolcü farklı bir işletim sistemi

18

Page 19: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

çalıştırabiliyor. güçlü kılan özelliği de bu. Mainframe'lerin eski yazılımlarla uyumlu olabilmesi, herhangi bir aksaklıkta hemen paralel sistemin devreye girerek hata oluşmasını engellemesi ve sistem çalışırken bile donanımları takıp çıkartabilme özelliği, sistem kaynaklarını paylaşabilen birbirinden tamamen izole şekilde çalışabilen sanal bölümleri, onun esas özelliklerini oluşturuyor.

Ancak Mainframe'ler bu kadar esnekliğin ve özelliğin yanında çok yüksek maliyet getiriyordu. Özellikle küçük ve orta ölçekli şirketler için uygulaması ve kullanılması zor olan Mainframe'ler yerine, mini-bilgisayar olarak adlandırılan aslında masaüstü farkı olmayan bilgisayarlara Mainframe'in yapabildiği bazı özellikler kazandırılarak "sunucu" görevi yapmaya başladı. Bizim alışık olduğumuz "sunucu" ifadesi de buna tekabül ediyor. Mainframe'ler halen büyük organizasyonlar tarafından kullanılıyor (örneğin finans sektörü) ancak artık sunucu deyince aklımıza, sunucu işlevi yapmak üzere geliştirilmiş donanımları taşıyan mini-bilgisayarlar geliyor. Artık bildiğimiz sunucular aynı anda yüzlerce kullanıcıya hizmete edecek kadar güçlüler. Mainframe'in yaptığı birçok işi çok daha ucuza yapabiliyor ve günümüzde çok popülerler.

Klasik bilgisayarların da güçlendirilerek sunucu görevi görmesinde, hızlanan sistemlerin oldukça büyük payı var. Artık istemci sistemler (sunucuya bağlı olan bilgisayarlar), sunucu ile eş zamanlı olarak çalışıyor ve gerekli komutların işletilmesinde sunucuya yardımcı oluyor. Örneğin, istemci bilgisayardan çalışan muhasebe yazılımından rapor alacağız. Veritabanı sunucusuna komutlar gönderilerek, veritabanında bilgiler sunucunun işlem gücüyle gerçekleştiriliyor. Sunucudan alınan ham bilgiler, istemci bilgisayar tarafından tekrar işleme konup istenen rapor elde ediliyor. Tüm bu işlemler sadece sunucuya yaptırılacak olsaydı kuşkusuz daha güçlü sunuculara ihtiyaç olacaktı. Veya web sunuculardan bir örnek verelim. ASP, PHP veya JSP gibi kodlar web sunucusu tarafından işleme konurken, Javascript kodları veya sayfaların gösterilmesi istemci tarafından yapılıyor. Bir nevi iş paylaşımına gidiliyor.

5-10 yıl öncesinde sunucu belki de sistem belleği artırılmış bilgisayar gibiydi ama yeni donanımlarla birlikte güvenirlikte işin içine girdi. Zira sunucularda artık aranan esas özellikler, güvenilirlik ve sorunsuz çalışabilmesi.

6.4 İSTEMCİ (CLIENT) NEDİR?

Bir ağ üzerinde, sunucu bilgisayarlardan hizmet alan kullanıcı bilgisayarlarıdır. Bilgiye erişim yetkileri sunucu tarafından belirlenir. Eğer bir bilgisayardan Internete bağlanılarak web siteleri ziyaret ediliyorsa o bilgisayar İstemci(Client) bilgisayardır. Yani İstemci bilgisayarlar Sunucu bilgisayarlara bağlanarak onlardan bilgi alırlar.

19

Page 20: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

6.5 IP NUMARASI NEDİR?

Internet’e bağlı her bilgisayar, Internet Protokol Numarası adı verilen dört gruptan oluşan bir sayı ile isimlendirilir (194.27.33.32 gibi).Her bir bilgisayarın IP numarası farklıdır. Bilgisayarlar Internet üzerinde IP numarası ile iletişim kurarlar. İstemci bilgisayar için Internet’e her girişte IP numarası değişir. Sunucu bilgisayarların IP numarası ise sabittir değişmez.

6.6 INTERNET’E BAĞLANMAK İÇİN NELER GEREKLİDİR?

Internet’e bağlanmak için aşağıdakiler gereklidir:

1. Telefon Hattı: Bilindiği gibi internet bir geniş alan ağıdır. Geniş alan ağındaki bilgisayarlarda birbirleriyle telefon hattı vasıtasıyla iletişim kurarlar. Bu yüzden Internete bağlanmak için mutlaka telefon hattı olmalıdır.

2. Modem: Modem Internet’e bağlanmak için gerekli olan bir donanımdır. Modem olmadan kesinlikle internet ortamına giriş yapılamaz. Bilgisayar sinyalleri ile telefon hattı üzerindeki sinyaller birbiriyle uyuşmaz. Bu yüzden modem telefon hattı ile bilgisayar arasındaki sinyal dönüşümünü sağlar. Çift yönlü çalışır. Bilgisayardaki sinyalleri telefon sinyallerine dönüştürdüğü gibi ters işlem yaparak telefon sinyallerini de bilgisayar sinyallerine dönüştürebilir. Bu işlemi aşağıdaki şekli inceleyerek daha iyi anlayabilirsiniz.

Modem Telefon Hattı Modem

3. Internet Servis Sağlayıcı: Internet’e bağlanmak için mutlaka bir servis sağlayıcıdan internet paketi alınması gerekir. Bu paket içinde kullanıcı adı(User name), şifre(Password) ve birde telefon numarası bulunur. Internet bağlantı hizmeti veren çeşitli servis sağlayıcılar vardır. Superonline, Ixir, TTnet, E-Kolay bunlardan bazılarıdır.

20

Bilgisayar A

Bilgisayar A A » » A

» »

Page 21: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

7. GPRS

21

Page 22: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

GPRS (General Packet Radio Service), GSM şebekesi üzerinde kurulan ve GSM ile aynı radyo kaynaklarını kullanıp data komünikasyonunu paket anahtarlama yöntemiyle sağlayan bir sistemdir.

7.1 GSM ŞEBEKESİNİN GELİŞİMİ

Mevcut dijital radyo standartlarında kapasite, kapsama, kalite ve data hızları arttırıcı yönde geliştirilmeye devam edilecektir. Şekil 7-1’de görüldüğü gibi data hızını arttırmak için geliştirilen ilk sistem High-Speed Circuit-Switched Data (HSCSD) olup, bir sonrası daha esnek olan GPRS’tir. Enhanced Data rates for GSM Evolution (EDGE) teknolojisi ile gelişmiş modülasyonlar ve ilgili teknikler kullanılacaktır. Universal Mobile Telecommunications System (UMTS) yüksek data transfer hızlarındaki ikinci ve üçüncü nesil servisleri ve daha ilerde multimedia servislerini içerir.

22

Page 23: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Şekil 7-1 GSM Data servislerinin gelişimi

7.2 GPRS SİSTEMİ

23

Page 24: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

GPRS, MS (Mobile Stations) ile Internet sunucuları veya birleşik LAN arasında IP (Internet Protocol) bağlantılarını sağlayan bir sistem olup, bunu aşağıda belirtilen şekilde yapar:

Az miktardaki radyo kaynaklarının etkin kullanılması

Esnek bir servis, miktar tabanlı ücretlendirme.

GSM şebekesinde paketlerin hızlı ve verimli bir şekilde taşınması.

GSM ve GPRS’in birbirlerini etkilemeden eşzamanlı iç içe çalışması.

IP kullanılarak diğer dış data şebekelerine bağlanılması.

7.3 DATA İLETİŞİMİN ÖZELLİKLERİ

Data iletimi için iki çeşit yol vardır: Circuit-Switched (CS) (Devre Anahtarlamalı) ve Paket-Switched (PS) (Paket Anahtarlamalı) data iletişimi.

Şekil 7-2’de data iletişim çeşitleri için gerekli data hızları ve bant genişlikleri verilmiştir. Bir uygulama için iletişim şekli seçilirken ücretlendirme en önemli faktördür.

Şekil 7-2 Data iletişim çeşitleri için gerekli data hızları ve bant genişlikleri

Şekil 7-3 devre-anahtarlamalı ve paket anahtarlamalı data iletişim arasındaki ana farkı gösterir. Devre anahtarlamalı her zaman tüm yönlerde bağlı iken paket anahtarlamalı kısmi zamanlarda kısmi bağlantılıdır.

24

Page 25: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Şekil 7-3 Devre anahtarlamalı iletişimin paket anahtarlamalı iletişim ile karşılaştırılması.

7.3.1 Devre-Anahtarlamalı İletişim

Devre anahtarlamalı iletişimde; data transfer edileceği zaman şebeke MS’e bir radyo kanalı atayarak bir air interface bağlantı kurar. Çok küçük bir miktarda data transfer edilse bile bağlantı zamanınca radyo kanalı MS tarafından tutulur. Kullanıcı toplam bağlantı zamanı için ücret öder. Devre anahtarlamalı iletişim aşağıdaki durumlarda data trafiği için uygundur;

Sabit bant genişliğinde data transferi yapılıyorsa,

Transfer edilecek data bağlantı esnasında olabilecek küçük gecikmelere karşı

hassas ise.

Örneğin video konferans ve bilgilendirme yapılacak ise devre-anahtarlamalı iletişim seçilmelidir. Çünkü bunlar bağlantı esnasında olabilecek gecikmelere karşı hassas ve neredeyse sabit bant genişliklerine sahiptirler.

7.3.2 Paket-Anahtarlamalı İletişim

25

Page 26: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Paket-anahtarlamalı iletişimde; ihtiyaç duyulduğunda şebeke dataları paket şeklinde dağıtır. Böylece air interface’de bir radyo kanalı bir kaç MS tarafından aynı anda kullanılabilir. Ayrıca bir MS aynı anda 8 radyo kanalını birden kullanabilir. MS bir data paketi gönderdiği zaman şebeke bu paketi ilk uygun radyo kanalı üzerinden adresine gönderir. Data trafiği parçalı data şeklinde olduğu için radyo kanalları daha etkin bir şekilde kullanılır. Adres bilgileri, paketlerin adreslerine ulaşabilmeleri için her pakette bulunmaktadır.

Paket-anahtarlamalı iletişim aşağıdaki durumlarda data trafiği için uygundur;

Data parçalı şekilde gönderiliyorsa,

Data hatalara karşı hassas ise.

Örneğin telemetry uygulamaları, dosya transferi ve e-mail uygulamalarında paket-anahtarlamalı iletişim seçilmelidir. Çünkü bunlar hatalara karşı hassas ve data burst şeklinde (parça parça) gönderilmektedir.

Şekil 7-4 Paket ve devre anahtarlamalı sistem

7.4.1 Paket Data Uygulamaları

GPRS sistemi mobil telefonlar vasıtasıyla GSM/DCS (Dijital Communication System)/PCS (Personel Communication System) kullanılarak İnternet veya intranete bağlanılmayı sağlar. Uygulama yatay veya dikey olabilir.

7.4.1.a Yatay Uygulamalar

Yatay uygulamalar kişiden kişiye olan iletişimler için kullanılır. Bu uygulamalara örnek olarak genel ofis uygulamaları;

E-mail

World Wide Web (WWW) browser

Internet chat

File transfer using the File Transfer Protocol (FTP)

Satış noktaları (Kredi kartı okuyucuları)

26

Page 27: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Database araştırmaları

İki yönlü mesajlaşma

7.4.1.b Dikey Uygulamalar

Yatay uygulamalar şirketlere özgü özel data iletişimleri için kullanılır. Bu uygulamalara örnek;

Banka uygulamaları

Telemetry uygulamaları (satış makineleri, power metre okuyucuları)

Sevk etme servisleri (polis, taşıma, taksi vb.)

7.5 GPRS SİSTEMİNİN ÖZELLİKLERİGPRS sistemi kullanıcıların MS kullanarak Internet’e veya İntranete bağlanmalarını

sağlayan bir sistemdir. MS, GSM telefonu olan bir Mobil Terminal (MT) ve MT’ye bağlanan bir bilgisayar olan Terminal Equipment (TE)’den veya tek bir parçada birleştirilmiş MT ve TE den oluşabilir.

GPRS data transferi Internet Protokolü (IP) üzerine kurulmuştur. Bu nedenle data transferi air interface’i kapsayan end-to-end (sondan sona) temeline göre çalışmaktadır.

GSM sistemi telefon için devre anahtarlamalı air interface kullanırken, GPRS sistemi GSM standartlarına uygun paket anahtarlamalı air interface kullanmaktadır. Bir GPRS şebekesi GSM şebekesinin bir ilavesi olarak gözükmekte ve GPRS şebekesine ait bir kaç özel ilave gerektirmektedir. GPRS sisteminin GSM’ e ilave edilmesiyle mobil aboneler için attach, authenticate, aboneye özgü servisler, data transferi gibi işlemler hem devre-anahtarlamalı hem de paket-anahtarlamalı iletişimde birlikte yapılır.

Paket data özellikleri devre anahtarlamalı servislerden etkilenmez. GPRS sistemi bir radyo kanalının birden fazla MS’ler tarafından paylaşılması üzerine karakterize edilmiştir. MS’e atanmış sabit bir radyo kanalı yoktur. MS bir data paketi gönderdiği zaman şebeke bu paketi ilk uygun radyo kanalı üzerinden adresine gönderir. Daha önce bahsedildiği gibi MS aynı anda 8 tane time slot kullanabilir. Bir mesaj çok fazla miktarda transfer edilecek bilgiden oluşursa bir kaç parçaya bölünür. Bu paketler adrese ulaştığı zaman orijinal mesajı oluşturmak için tekrar birleştirilirler. Ulaşan bütün paketler data buffer’da saklanır. MS data transferi sırasında farklı paketler için farklı radyo kanallarını kullanabilir.

27

Page 28: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Şekil 7.5

7.6 GPRS SİSTEMİNE GENEL BAKIŞ

28

Page 29: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Paket data anahtarlamasını kontrol eden ve yöneten parçalar; SGSN (Serving GPRS Support Node) ve GGSN (Gateway GPRS Support Node) olup, SGSN coğrafi SGSN servis sahasından gelen/sahasına giden paketler için yönlendirmeleri yapar. GGSN ise dış IP şebekelerine doğru olan bir ara yüzdür. SGSN/GGSN fiziksel olarak Ericsson GSM sisteminin devre-anahtarlamalı kısmından ayrılmıştır. GPRS’in diğer kısımları mevcut GSM şebekesi içinde yer almaktadır.

Devre anahtarlamalı GSM şebekesine entegre edilen GPRS bileşenleri aşağıda görülmektedir.

Şekil 7-6 GPRS Yapısı

29

Page 30: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Şekil 7-7Arayüzler

7.6.1 Terminal Equipment (TE)

GPRS sisteminde data transferi için kullanılan bilgisayar terminalidir. Örneğin, bir laptop olabilir. GPRS ile TE ve Internet Servis sağlayıcıları veya birleşik LAN (Local Area Network) arasında IP bağlantısı sağlanır.

7.6.2 Mobile Terminal (MT)

MT TE ile ve hava üzerinden BTS ile haberleşir. MT GPRS özelliklerini destekleyebilmesi için GPRS destekleyen software’e sahip olmalıdır. MT SGSN’le bir link kurar. TE ile SGSN arasındaki IP bağlantısı statik olup, MT detach olana kadar TE bunun bir mobil olduğunu bilmez ve atanmış IP adresini bırakmaz.

7.6.3 Mobile Station (MS)

Daha önce bahsedildiği gibi MS TE ve MT’nin birleşimidir. Bu bileşim bir parça içerisinde de olabilir. MS ve şebekeye bağlı olmak üzere, GPRS MS’leri üç çeşit modda çalışırlar.

Class A çalışma modunda MS aynı anda hem devre-anahtarlamalı bağlantı

yapabilir hem de paket transferi yapabilir.

30

Page 31: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Class B çalışma modunda MS hem CS hem de PS’e bağlanabilir fakat her iki

servisi birden aynı anda kullanamaz. Eğer paket transferi yapan bir MS devre-

anahtarlamalı bir çağrı alırsa paket transferini devre-anahtarlamalı bağlantı

süresince askıya alır, bittiğinde ise tekrar paket transferine devam eder.

Class C çalışma modunda ise MS sadece bir servise bağlantı yapabilir. Yani

hangi servis kullanılacaksa ona bağlanmak gerekiyor. Bir servise bağlandıktan

sonra diğer servis kullanılamaz. Sadece GPRS destekli ve konuşma yapmayı

desteklemeyen MS’ler bu modda çalışırlar.

7.6.4 Base Station System (BSS)

BSS; BSC (Base Station Controller) ve BTS (Base Transceiver Station)’den oluşur. BTS bir radyo cihazı olup, MS’lerin BSC ile iletişim kurmalarını sağlar. BTS’ler BSC tarafından kontrol edilir. BTS’ de GPRS destekleyen software olmak zorundadır. BSC’ de radyo ile ilgili tüm fonksiyonlar sağlanır. BSC tüm devre-anahtarlamalı ve paket anahtarlamalı bağlantıları kurar, denetler ve koparabilir. Yüksek kapasiteli bir switch olup, handover, cell data konfigürasyonu ve kanal atama işlemlerini yapar.

Eğer bir BSC’ de GPRS kullanılacaksa BSC’ de GPRS hardware ve software olmak zorunludur. Bir veya birden fazla BSC bir SGSN tarafından kontrol edilir. BSC CS bağlantıları MSC/VLR’ a veya PS bağlantıları SGSN’ e yönlendirmeden önce BTS MS-originated devre-anahtarlamalı çağrıları paket data iletişiminden ayırır. İstenilen uyumluluğun elde edilebilmesi için BSC’ de Standart GSM protokolü kullanılmıştır.

7.6.5 Mobile Services Switching Center (MSC)

MSC; GSM devre anahtarlamalı sistemde telefon anahtarlama fonksiyonlarını yapar. Tıpkı SGSN GSM paket anahtarlamasını yaptığı gibi. Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), Public Land Mobile Network (PLMN), Public Data Networks ve bazı özel şebekelerden gelen ve giden çağrıları kontrol eder.

SGSN Routing Area (RA) MSC (CS) Location Area (LA) ‘ların bir alt grubudur. Bir grup hücrenin birleşmesiyle bir MSC LA oluşur. Bir veya birkaç LA’ nın birleşmesinden bir MSC/VLR service area (SA) oluşur ve SA şebekenin bir parçası olup bir MSC tarafından kontrol edilir.

7.6.6 Gateway Mobile Services Switching Center (GMSC)

GMSC devre-anahtarlamalı çağrıları GSM devre-anahtarlamalı şebeke içinde ve PSTN veya diğer şebekelerden den gelen/giden çağrıları yönlendirir. MSC/VLR ile birlikte veya ayrı bir switch olabilir.

7.6.7 Home Location Register (HLR)

HLR; bir database olup, abonelerin abonelik bilgilerinin saklı olduğu yerdir. HLR’ da CS ve PS iletişim için gerekli bilgiler bulunur. Bu bilgiler; ek servisler, authentication bilgileri,

31

Page 32: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Access Point Name (APN) (Aboneler için Internet Servis sağlayıcı) ve MS’ e bir statik IP tahsis edilip edilmediği bilgisi. Ayrıca HLR da abonenin yer bilgisi de bulunur.

7.6.8 Visitor Location Register (VLR)

VLR bir database olup; MSC LA’da veya SGSN RA’da bulunan tüm MS’ler hakkında gerekli bilgileri bulundurur. SGSN paket-anahtarlamalı iletişim için VLR fonksiyonuna sahip olup, devre-anahtarlamalı VLR Ericsson MSC’ lerinde birleşiktir.

Gerekli servislerin sağlanabilmesi için MSC veya SGSN tarafından ihtiyaç duyulan geçici abonelik bilgileri VLR’da bulunur. Bir MS yeni bir MSC LA’ya veya SGSN RA’ya girdiğinde o MSC’nin veya SGSN’nin VLR’ı HLR’dan MS hakkında bilgi ister ve bu bilgileri saklar. Eğer MS bir çağrı yaparsa o çağrı için gerekli olan bilgiler anında mevcut olmuş olacaktır.

GPRS (PS) ve GSM (CS) destekli mobiller için MS birleşik-bağlantı (CS ve PS attach) yaptığında hem SGSN hem de MSC, HLR’ dan yer bilgisini alır. SGSN, MSC/VLR’dan gelen CS sistem paging’lerini alıp işleyebilir.

GPRS VLR SGSN’de sofware olup, kullanılan SGSN hakkında bilgi bulundurur. GPRS sisteminde MS authentication için CS’de olan MSC/VLR yerine HLR direkt olarak kullanılır. Böylece SGSN HLR’dan authentication tripletlerini alır.

MSC/VLR Gs interface ile direkt olarak ve A ve Gb interface ile BSS üzerinden dolaylı olarak SGSN’e bağlanmıştır.

Gs interface hem CS hem de PS bağlantı yapmış terminaller için kullanılmaktadır. Gs interface MSC/VLR ve SGSN’de bulunan databaseleri birbirine bağlar ve bunların ortaklaşa çalışmasını sağlar. Gs interface ayrıca bazı CS prosedürlerinin SGSN tarafından yapılmasını sağlar. Örneğin; eğer bir Gs interface varsa, class-A ve class-B MS’ler, birleşik CS ve PS Mobility Management prosedürleri kullanılarak SGSN üzerinden MSC/VLR’ a bağlanırlar.

7.6.9 Serving GPRS Support Node (SGSN)

SGSN, GPRS kullanılan GSM şebekesinde temel ve en önemli unsur olup, MS’den gelen veya giden paket dataları yönlendirir. Fiziksel olarak SGSN servis sahasında bulunan tüm GPRS abonelerine servis verir. SGSN üzerinden BSC’ye yönlendirilen trafik BTS vasıtasıyla MS’e ulaşır.

SGSN ayrıca aşağıdaki işlemleri yapar:

Ciphering ve authentication

Session management

Mobility management

MS’e doğru Logical link management

HLR, MSC, BSC, GGSN ve diğer santrallere olan bağlantı.

Ücretlendirme bilgisi için gerekli çıktılar.

32

Page 33: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Kullanılan radyo şebekesiyle ilgili her MS’den ücretlendirme bilgileri SGSN tarafından toplanır. Aynı şekilde GGSN tarafında da bu ücretlendirme bilgileri toplanır.

7.6.10 Gateway GPRS Support Node (GGSN)

SGSN gibi GGSN’de GPRS kullanılan GSM şebekesinde en önemli unsur olup, aşağıdaki işlemleri gerçekleştirir.

Dış IP paket şebekelerine doğru bir ara yüz. Bu sebeple güvenlik amacıyla

kullanılan ve ISP (Internet Service Provider)’lere interface olan router ve

RADIUS (Remote Access Dial-In User Service)’larda bulunan özelliklere

sahiptir.

Dış IP şebekelerinden bakıldığında GGSN, GPRS şebekesinden servis alan

tüm aboneler için bir router gibi davranır.

GPRS Session management, dış şebekelere doğru iletişim kurmak.

Ücretlendirme bilgisi için gerekli çıktılar.

8. SERİ PORT

8.1 SERİ HABERLEŞME NEDİR?

Bilgisayarlar veya türevleri cihazların birbirleri arasında haberleşmeleri bu sihirli dünyanın minik büyülerinden birisidir.Bu işin baş aktörleri arasında da seri port gelmektedir. Seri iletişim portu tamamen bu iş için dizayn edilmiş bir sistemdir. Çok basitçe Seri port üzerinden haberleşmeyi "UART" dediğimiz bir çip yapar. Seri portta bu çipin dış dünyaya açılan bir kapısıdır. "UART" çiplerimiz sadece bilgisayarlar arasında haberleşmek için kullanılmaz. Haberleşme yapılması istenen ( Seri haberleşme ) her elektronik cihazda bu çipler ve türevleri kullanılır.

33

Page 34: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Bu tarz bir iletişimde haberleşmede bilgisayarların temeli olan 1 ve 0’lar vasıtasıyla olur. Seri port üzerinden bir bilgi karakter ya da sözcük gönderildiğinde bu kelime ya da karakter bitlere ayrılır (yani bir ve sıfır haline döner) ondan sonra bir seferde bir bit alınır veya gönderilir. Seri iletişimde hız iki ölçü birimiyle ifade edilir. Bunlardan birincisi "bps" denilen "Bits Per Second" (Saniyede gönderilen bit sayısı) ya da "Baudot Rate" denilen "Baud" olarak ifade edilir. Örneğin Seri portun hızı 9600 Baud olarak kabul edilsin. Bu da demek oluyor ki, seri port bir saniye aralığında 9600 bit gönderebiliyor.

İşin tekniğinde bu seri porta "Data Communications Equipment" ya da "Data Terminal Equipment" de denilir. Bunlar arasındaki fark aslında çok ince bir çizgiyle ayrılıyor. İki bilgisayarımız olduğunu var sayıyoruz. Bunlardan birinci bilgisayarımız veri göndersin. Bu Data Terminal Equipment ve diğeri bu veriyi alan da Data Communications Equipment oluyor.

8.2 RS-232 NEDİR?

Kısaca RS-232’nin tanımı Elektronik Endüstrisi Birliği (Electronic Industries Association (EIA) tarafından tanımlanmış elektriksel iletişim için seri bağlantı standartıdır. Yani Seri iletişimin bir standartı vardır ve buda değişmez. RS-232 standartı da kendi arasında 3 gruba ayrılır:(RS-232A,RS-232B,RS-232C). Bunların arasındaki fark herbirinin çıkış ve giriş voltajlarının ( Yani 1 ve 0 voltajlarının) farklı olmasıdır. Ancak günümüzde en çok kullanılan RS-232 cinsi RS-232C'dir. Bu RS-232 cinsinin voltajları:

Off (Yani 0) -3,-12V On (Yani 1) +3,+12V

aralığındadır. RS-232C, 8m'ye kadar arada herhangi bir dönüştürücü ya da akım yükselteç devresi olmadan veriyi karşı tarafa sorunsuz olarak iletebilir. Ancak bu metreden sonrasında mesafe uzadıkça gerilim düşeceğinden RS-232C de 8 m'den sonrası karşı tarafa gelecek gerilim -3,-,12,+3,+12 V aralığından düşük olacağından veri iletilemeyecek, iletilse bile karşı cihaz bu düşük gerilim aralığını algılayamayacağından herhangi bir tepki vermeyecektir.

Bilgisayarlarda standart olarak bulunan RS-232 9 pinli seri portun basitçe elektriksel yapısının yanında bir de RS-422 ve RS-574 standartındaki seri portlar vardır. Bu portların hem şekil itibariyle hem çalışma voltajları hem de pin sayısı açısından farklılık gösterdiklerinden daha özel uygulamalar için kullanılırlar. Seri portun (RS-232) 9 adet pini vardır.

Pin Numarası Açıklama Pin

Numarası Açıklama

1 DCD (Karşı Cihaz Hazır 6 DSR (Veri Set'i Hazır

34

Page 35: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

mı?) Sinyalı)

2 RXD (Alınan Veri) 7 RTS (Gönderme isteği sinyali)

3 TXD (Gönderilen Veri) 8 CTS (Gönderileni bellekten sil)

4 DTR (Veri Teriminalı hazır sinyalı) 9 Zil Kontolü

5 GND (Mantıksal Toprak)

9'pinli seri port ile veri iletişimi sadece 2 pin üzerinden oluyor.Bunlar TXD ve RXD’dir. Aşağıda bu tüm pinlerin açıklamaları bulunmaktadır.

8.2.1 DCD (Data Carrier Detect)

Yukarıdaki tabloda da belirtildiği gibi DCD pini bağlantı yapılacak olan cihazın veri iletişimine hazır olup olmadığını ya da bu cihazın iletişim için çalışıp çalışmadığını anlamamıza yarar. Bu sinyal iletişim yapılacak cihaz tarafından bize gönderilir. Eğer buradan gelen voltaj OFF değerinde ise karşı taraf hatta ve veri iletişimine hazır olduğunun göstergesidir. Burada bir ek yapalım. Bu sinyal veri iletişiminde her zaman gönderilen bir bilgi değildir. Bu cihaz tarafından ya da sizin programınızın özelliğine göre sizin belirlediğiniz zamanlarda gönderilir. Kısaca cihazımızın karşıda olup olmadığını 1. Numaralı pin olan DCD'nin durumu ile öğreniriz.

8.2.2 RXD (Receive Data) , TXD (Transmitted Data)

Bu pinler üzerinden karşı bilgisayardan veri alınır ya da iletilir. RXD ve TXD pinleri kardeş pinlerdir. TXD pini ise karşı cihaza verinin gönderilmesine yarar.RXD ise verinin alınmasını sağlar. Bu pinlerin voltaj aralıkları gönderilecek karakterin ya da bilginin cinsine göre 1 ya da sıfır olur. Örneğin Göndermek istediğimiz veri "A" ise bu karakterin binary 1100101 olacaktır. RXD pinin de veriyi alırken de aynı bu şekilde alırız.

8.2.3 DTR (Data Terminal Ready)

Bu pin veri iletimini için hazır olunduğunu karşı tarafa bildiren pindir. ‘Off’ değeri veri iletişimine hazır olunduğunu ‘On’ değeri ise veri iletişimine hazır olunmadığını belirtir.

8.2.4 DSR (Data Set Ready)

Modemin haberleşme kanalına bağlandığını ve data gönderimine veya alımına hazır

olduğunu lojik 1 iken bildirir.

8.2.5 GND (Logical Ground)

Teknik olarak GND pinine ait olan sinyal bir sinyal ya da bir voltaj değildir fakat diğer pinlerdeki işletilecek sinyallerde bu pin (Yani Mantıksal Toprak) olmadan işletilemezler. Basit olarak GND pini hangi voltajın negatif hangi voltajın pozitif olacağını belirlemede bir referans noktasıdır.

35

Page 36: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

8.2.6 RTS (Request To Send)

Bir anda sadece bir bit lik veri kümesi gönderilebilir. Bu pin ise gönderilecek olan verilerin daha olduğunu belirterek diğer veriler için karşı cihazın kendini hazırlaması gerektiğini bildiren sinyali yollar. Bu sinyal genelde off durumundadır.

8.2.7 CTS (Clear To Send)

Bu pine sinyal karşı cihazdan gelir. Off pozisyonu cihazdan karşı cihaza gönderilecek verinin devamının olduğunu belirtir.

RTS ve CTS sinyalleri cihazların veri iletişiminin düzgün olmasını sağlar. Çoğu cihazda RTS ve CTS sinyalleri otomatik olarak Off pozisyonundadır.

RTS ve CTS sinyalleri ilk başta half duplex modemler için amaçlanmıştır. Şimdi ise half duplex modemlerinin kullanımının azalmasından dolayı hardware handshaking için kullanılmaya başlanmıştır.

Yukarıdaki şekilde iki bilgisayarın, iki modem ve bir de telefon hattıyla bağlantısı gözükmektedir. Yukarıda half dublex bağlantı kullanılmıştır. Şimdi data iletimini kısaca anlatalım.

Önce 1. bilgisayar tarafından 1. modeme bir veri gönderme isteği olduğunu belirtmek için RTS sinyali gönderilir. bunu alan 1. Modem 2. Modeme bu sinyali aldığını bildirir. Bunun üzerine 2. Modem 2. Bilgisayara DCD sinyalini yollayarak data yollanmak üzere olduğu bildirilir. Bunun amacı ise, 1. Bilgisayar veri gönderirken 2. Bilgisayarın da veri göndermesini önlemektir. Zaten half dublex bir hatta, önce bi kısım veri gönderir, göndermesi bittikten sonra da ikinci kısım veri gönderir. Aynı anda veri gönderemezler. Daha sonra 1. Modem 1. Bilgisayarın veri gönderebileceğini CTS sinyalini 1. Bilgisayara göndererek bildirir. Böylece veri iletimi gerçekleştirilebilir. Veri yollanması tamamlandıktan sonra 1. Bilgisayar RTS sinyalini 1. Modeme göndermeyi keser. Diğer taraftaki 2. Modem de DCD sinyalini 2. Bilgisayara yollamayı keser. Bundan sonra iki DTE'den biri veri göndermek istediğinde RTS sinyalini kendi modemine vererek iletişim hattını kullanabilir.

RTS, CTS ve DCD sinyalleri, lojik 1 seviyesinde ise iletim gerçekleştirilebilir. Örneğin veri gönderen bilgisayardan modeme veri beslenebilmesi, hem RTS sinyalinin hem de CTS sinyalinin lojik seviyesinde yani +12V civarında olması gerekir.

8.3 Projede Seri Port – DSR Pini Kontrolü

Projede kullanılan alarm panelinin çeşitli çıkışları vardır. Önceki bölümde anlatıldığı gibi PGM çıkışı bize alarm hakkında gerekli bilgiyi verecektir. PGM çıkışı alarm geldiğinde 8V, alarm yok iken, 0V verecek şekilde ayarlanmıştır. Bu yüzden alarm ile seri portu birleştirebilmek için, elimizdeki datamızı (0V - 8V) RS-232 formatının anlayacağı şekle

36

Page 37: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

getirmek gereklidir. Bunun için ufak bir devre tasarlanmış ve gerçekleştirilmiştir. Devrenin MULTISIM programındaki çizimi aşağıda verilmektedir:

8.3.1 Devrenin Amacı ve İşleyişi

Devrenin girişine alarm panelinin PGM çıkışından 8V ve 0V uygulanmaktadır. Bu gerilim düzeylerini seri portun anlayabileceği bir formata getirebilmek için, yani RS-232 formatına uygun hale getirilebilmesi için MAX232 entegresi kullanılacaktır. Aşağıda ise bu entegrenin kataloğundan alınmış bir uygulaması bulunmaktadır.

37

Page 38: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Girişimiz TTL seviyesinde olacağından bizim 8V’u TTL için lojik 1 seviye olan 5V’a indirmemiz gereklidir. Bunun için ise zener diyot kullanılmıştır ve gerilim düşürülmüştür. B TTL seviyesindeki giriş bilgimiz ise, 11 no’lu bacaktan “From TTL” girilmiştir. Çıkış ise 14 no’lu bacaktan “EIA-232 Output” alınacaktır. Bu çıkışa göre

TTL 0V -3, -12TTL 5V +3,+12olacaktır ve bu bilgi seri portumuz için anlamlı olacaktır.

Bu RS-232 bilgisi seri portumuzun DSR (6 no’lu pin) pinimize girecektir ve bu bilginin devamlı kontrol edilmesi gereklidir. Bilgisayarımıza da çalışan programımız ise devamlı seri port kontrolü yapacaktır ve DSR pininin durumu hakkında bilgi verecektir. Eğer alarm durumu oluşursa, PGM çıkışı 8V olacaktır ve TTL girişimiz lojik 1 olacak fakat RS232 çıkışımız ise -9V olacaktır. Bu da RS232’de “FALSE” durumuna denk düşer. Eğer alarm durumu almaz ise, PGM çıkışı 0V, TTL girişimiz de 0V olacaktır. Buna bağlı olarak da, RS232 çıkışımız ise 6V vermiştir bu da lojik olarak “TRUE” olacaktır. Bu şekilde alarm bilgisini programımızla tümleşik hale getirebiliriz. Çeşitli değişimleri algılayıp, alarm bilgisine erişip, alarm durumunda olmasını istediklerimizi gerçekleyebiliriz.

8.4SERİ PORT KONTROLÜ YAPAN KODLARIMIZ

38

Page 39: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

import javax.comm.*;

public class ComControl implements Runnable {

static CommPortIdentifier portId; SerialPort serialPort; static String TimeStamp; public static void main(String[] args) {

try { portId = CommPortIdentifier.getPortIdentifier("COM5"); ComControl reader = new ComControl( ); }//try

catch(Exception e) { TimeStamp = new java.util.Date( ).toString( ); System.out.println(TimeStamp + ": COM5 " + portId); System.out.println(TimeStamp + ": msg1 - " + e); }//catch

}//main

public ComControl( ) { try { TimeStamp = new java.util.Date().toString(); serialPort = (SerialPort) portId.open("ComControl", 2000); System.out.println(TimeStamp + ": " + portId.getName( ) + " portumuz acildi deger bekleniyor…."); } catch (PortInUseException e) { } try { serialPort1.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); serialPort.setRTS(false);

while(true){ if(serialPort.isDSR( )==false)

{System.out.println("false"); continue;} else

{System.out.println("true"); FrameGrab f=new FrameGrab();

break;}}//while

}//trycatch(UnsupportedCommOperationException e) {}

}//ComControl( )

39

Page 40: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

public void run( ) { try

{ Thread.sleep(100); }//try catch (InterruptedException e) { } } //run( )

}//ComControl class

Öncelikle programımızda kullanacağımız bazı sınıfları tanımlayabilmek için onların paketlerini yüklememiz gereklidir:

import javax.comm.*;

Böylece artık javax.comm paketindeki tüm sınıfları kullanabilme olanağına sahip oluruz. Daha sonra programımızın başında belirli sabitler için tanımlamalar yapılmalıdır:

static CommPortIdentifier portId; SerialPort serialPort; static String TimeStamp;

“CommPortIdentifier” sınıfının “getPortIdentifiers(“COMX”)” metodu ile COMX hakkında bilgiler elde edilir.Bu işlem “try – catch” yapısı içinde yazılır ki, eğer port açık değilse ve bir hata varsa exceptiona düşmesi durumunda bu bilgiye rahatça erişebilelim.

serialPort = (SerialPort) portId.open("ComControl", 2000);

Bu komut ile, seriport açılmış bulunur.Buradaki open( ) metodunun constructorı: Open(java.lang.String appname,int timeout ) Appname= Kod sahibi tarafından yazılan bir tanımlamadır.Timeout= Portun açılması için beklenen süredir.

Eğer hiçbir hataya düşmez ise, port açılır ve bunu aşağıdaki komutu çalıştırarak kullanıcıya gösterir:

System.out.println(TimeStamp + ": " + portId.getName() + "portumuz acildi deger bekleniyor….");

Daha sonra portumuzun port standartlarında çalışması için aşağıdaki ayarları yapmamız gereklidir:

serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1,

40

Page 41: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

SerialPort.PARITY_NONE);

Alarm devreye girmeden önce DSR ucumuz “false” değerini gösterir. Alarm geldiğinde ise DSR ucuna, alarm panelinden çıkan ve RS232 dönüştürücü devremize girip oradan da RS232 formatında çevrilen ucumuz bağlanır. Bu ucun ne zaman “true” olup yada olmadığı hakkında bilgi edinmek için bir sonsuz döngü içine konmalıdır ve devamlı DSR ucu kontrol edilmelidir.

Aşağıdaki kod parçacığında ise; “false” durumunda aramaya devam ediyor ama “true” olduğu anda döngüden çıkıyor. Biz ise buradaki kod parçacığına “true” olduğu anda webcamden görüntü alan kod parçacığımızı; yani ResimCek sınıfımızdan bir nesne oluşturacağız.

while(true){ if(serialPort.isDSR( )==false)

{System.out.println("false"); continue;} else

{System.out.println("true");FrameGrab f=new FrameGrab( ); break; }

}//while

run( ) metodu çalıştırılır ve arka tarafta override edilir ve böylece programımız son bulur:

public void run( ) { try { Thread.sleep(100); }

catch (InterruptedException e) {} } //run( )

Özet olarak bu programa göre ilk önce seri port için “COM5” ayarlanıyor. Bu değer portID’ye atanıyor. Daha sonra bir “ComControl” nesnesi oluşturularak, seri portun açılması sağlanıp bu port üzerindeki herhangi bir değişiklik ya da herhangi bir değeri okuyabiliriz.

Programda yapılan kontroller, try-catch yapısı içinde yazılmıştır. Eğer portun açık olmama durum vs gibi durumlar söz konusu olursa bunu catch’e düşerek ve ekrana düşme sebebi olan hatayı yazdırarak, bizim sorun hakkında bilgilendirmemizi sağlar. Örneğin bir port kullanılıyorsa ve biz bu portu kullanmak istersek “PortInUseException” hatasına düşecektir.

Daha sonra seri portun belirli başlangıç değerlerine getirilmesi gereklidir. Bunun için ise, setSerialPortParams( ) fonksiyonu kullanılır.

Kontrol mekanizması ile DSR ucu kontrol edilir ve “true” bilgisi gelince webcamden görüntü alan FrameGrab sınıfımızdan bir nesne oluşturularak, hırsızın fotoğrafını çekebiliriz.

9. JAVA MEDİA FRAMEWORK (JMF)

9.1 GİRİŞ

41

Page 42: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

JMF java programlarında media akışını işlemek için bir kullanılan yapıdır.JMF Java 2

standard platformunda seçmeli pakettir. Java Media Framework (JMF)zaman tabanlı mediayı

java uygulamaları ve appletleriyle birleştiren arayüz uygulama programıdır . JMF birleşmiş

mimari ve mesajlaşma protokolü sağlar , JMF :

Multimedia içeriklerini gösterir,

Mikrofon ve kameradan veriyi yakalar ,

Internet üzerinden gercek zamanlı media akışı sağlar,

Mediayı işler(media formatını değiştirir, özel etkiler katar),

Dosyaya kaydeder.

9.2 JMF MODELİ

JMF mediayı işleyen tüketici elektronik endüstrisi ile aynı modeli kullanır. JMF

modeline göre medianın yaşam döngüsü media kaynağından başlar, media alıcı ile biter.

Arada media işleyiciler ile işlenir. Media kaynağı yakalama aleti(mikrofon veya webcam),

veya network üzerinden gerçek zamanlı media akışı olabilir. Media işleme donanım ile

gerçekleştirilebilir fakat çoğunlukla yazılım ile yapılır.

VSR gibi aletler zaman tabanlı medyayı işleme ,kaydetme, gösterme için benzer model

sağlarlar. VSR kullarak film açıldığında video kaseti ile media akışı sağlanır. VSR kasetteki

veriyi okur ve yorumlayarak televizyona ve dinleyiciye gönderir. JMF aynı temel modeli

kullanır. Data source video kaseti gibi media akışını sarmalar ve player VSR gibi ses ve

görüntüyü işleme ve kontrol mekanizması sağlar. Data source media akışını playera iletir. Ses

ve görüntüyü yakalama ve oynatma için JMF, mikrofon,kamera ve monitor gibi giriş cıkış

aletlerine gereksinim duyar.

42

Page 43: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Şekil 9.1-JMF modeli

9.3 JMF ÖZELLİKLERİ

JMF JPEG, MPEG-1, MPEG-2, QuickTime, AVI, WAV, MP3, GSM, G723, H263, ve

MIDI media formatlarını destekler ve HTTP, HTTPS, FTP, RTP ve RTSP media erişim

protokollerini destekler. JMF “gözlemci” tasarım modelini izleyen iyi tanımlanmış olay rapor

mekanizmasını kullanır . JMF nesnelerini yaratan “üretimlik” tasarım modelini kullanır.

Real-time Transport Protocol (RTP) kullanarak media akışını ve RTP oturumlarının

yönetimini destekler. JMF karşılıklı farklı media data tipleri, protokolleri ve teslim

mekanizmasını ölçekler. İsteğe göre uyarlamaya ve genişletmeye uyumlu bir mimari sağlar.

Teknoloji sağlayıcıları JMF’i ilave media formatını desteklemesi için genişletebilir.

Donanım hızlandırıcı olarak kullanılan yüksek performans özel media player uygulaması ,

veya kodları JMF ile entegre edilebilir ve tanınabilir .

JMF API JMF nesnelerinin özelliklerini kontrol edebilmemiz için bazı arayüzler sağlar.

Player, Processor, DataSource gibi... Örnegin GainControl nesnesi Playerın ses denetimini

kontrol eder.

Manager sınıfı DataSource, DataSink, Player, Processor, cloneableDataSource, ve

MergedDataSource gibi JMF nesnelerini yaratmak için kullanılır.

Ses ve görüntü yakalama aletleri kameralar ve ses kartlarını içerir. Bütün ses ve görüntü

yakalama aletleri CaptureDeviceManager ile saklanır, JMF ile onları kullanmak için.

43

Page 44: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

CaptureDeviceManagerı verilen çıkış formatında desteklenen ses ve görüntü yakalama

aletlerinin listesi için sorgulanabilir .

JMF PlugIn arayüzünü media-işleme aşamasını temsil etmek için kullanır. PlugIn

tipleri;

Multıplexer

Demultıplxer

Codec

Effect

Renderer.

Processor media işleme soyut sınıfıdır. Playerı genişletir ve programsal kontrole media

işleme aşamaları açısından izin verir .

Şekil 9.2. a) player modeli

Şekil 9.2. b) processer modeli

Bütün multimedia içerikleri çeşitli standard formatlar kullanılarak sıkıştırılmış biçimde

saklanır. Her format temel olarak media kodlama kullanan methodu tanımlar. Bu yüzden

multimedia içeriklerinin formatını tanımlayan sınıfa gereksinim duyulur. JMF uygun media

Format özelliklerini belirten Format sınıfını tanımlar. Format sınıfı AudioFormat ve

VideoFormat sınıfları olarak özelleştirilir.

Java , java.net.URL sınıfı ile Internetdeki kaynakları tanımlamayı sağlar. URL nesnesini

kullanarak media kaynağını belirtilebilir. JMF , media kaynağının yerini belirtmek için

MediaLocator sınıfını tanımlar. MediaLocator sınıfı kaynağı tanımlayan “Locator string”

44

Page 45: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

kullanarak veya URL kullanarak yapılandırılabilir. JMF sınıfı “DataSource” media

kaynağını soyutlar ve media bilgisine ulaşmak için bağlantı protokolü sunar.

DataSink media hedefinin yerini soyutlar ve hedefe Media sunma protokolü sağlar.

DataSink DataSource’den mediayı okur ve dosyaya veya streame sunar.

9.4 JMF RTP API

JMF , gerçek zamanlı iletim protokolünü (RTP) media iletimi ve alımı için

destekler.RTP taşıma katmanı protokolüdür ve UDP katmanında kullanılır. RTP paketleri

paket teslimini sunmak için dizi numaraları kullanılır,

media kaynağı tanımlama,

media format tanımlama,

özelliklerine sahiptir.

RTP oturumu RTP kullanarak media yer değişikliği hazırlığı uygulamalarını içerir. Bu

uygulamaların her biri katılımcı olarak adlandırılır. Her katılımcı RTP oturumlarını

düzenlemek için RTPManager nesnesini kullanır. RTP oturumunda yer değiştiren media

akışı RTPStream olarak adlandırılır. RTPStream iki biçimde olabilir, sendStream ve

ReceiveStream.

9.5 JMStudio

JMStudio media iletmek veya almak,kaydetmek,yeniden oynatmak veya media

yakalamak için önemli bir araçtır.. JMF indirildiğinde JMStudio simgesi otomatik olarak

oluşur.

9.6 WEBCAM’DEN GÖRÜNTÜ ALAN KODLAR

45

Page 46: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

import javax.media.util.*;

import java.awt.*;

import java.io.*;

import java.util.*;

import java.awt.image.*;

import javax.imageio.*;

import javax.media.*;

import javax.media.control.*;

import javax.media.format.*;

import javax.media.util.*;

public class FrameGrab

{

public static void main(String arg[])throws Exception

{

try {

// Create capture device

CaptureDeviceInfo deviceInfo =

CaptureDeviceManager.getDevice("vfw:Microsoft WDM Image Capture

(Win32):0");

Player player = Manager.createRealizedPlayer(deviceInfo.getLocator());

player.start();

// Wait a few seconds for camera to initialise (otherwise img==null)

Thread.sleep(2500);

// Grab a frame from the capture device

FrameGrabbingControl frameGrabber =

(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingContr

ol");

Buffer buf = frameGrabber.grabFrame();

46

Page 47: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

// Convert frame to an buffered image so it can be processed and saved

Image img = (new

BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));

BufferedImage buffImg = new BufferedImage(img.getWidth(null),

img.getHeight(null), BufferedImage.TYPE_INT_RGB);

Graphics2D g = buffImg.createGraphics();

g.drawImage(img, null, null);

// Overlay curent time on image

g.setColor(Color.RED);

g.setFont(new Font("Verdana", Font.BOLD, 16));

g.drawString((new Date()).toString(), 10, 25);

// Save image to disk as PNG

ImageIO.write(buffImg, "jpeg", new File("c:\\webcamy.jpeg"));

// Stop using webcam

player.close();

}

catch (Exception exce) { }

}

}

9.6.1 Kodun Açıklaması

Tüm kod bir sınıf içinde yazılmıştır. Biz daha sonra ana programımızda bu sınıftan

oluşan bir nesne oluşturup bu kodlara erişebilip webcamden görüntü alabileceğiz.

Sınıfımızın adı “FrameGrab”tir.

public class FrameGrab{} şeklinde tanımlamamızı yaparız. Süslü parantezler içine ise bu

nesne oluşturulduğunda olmasını istediğimiz olayların gerçekleşmesi için gereken kodları

yazarız. Her şey “try - catch” blokları içersinde yazılmalıdır. “Catch” bloğuna düşmesi

47

Page 48: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

demek, programın yanlış çalışması bir donanım ya da yazılım hatası alması demektir. Bu

hatanın kaynağını öğrenmek için ise;

try{

//

}catch(Exception e){ System.out.println(e);} denilmelidir.

Daha sonra webcamimizi bilgisayarımıza tanıtmak için “CaptureDeviceInfo” sınıfından

“deviceInfo” adlı bir nesne oluşturulur. Bilgisayarımızın webcami tanıması için

CaptureDeviceInfo deviceInfo= captureDeviceManager.getDevice(“vfw:Microsoft WDM

Image Capture (Win32):0"); komutu girilmelidir.

Daha sonra bu webcam bilgisini kullanabilmek için bir player yaratılmalıdır.

Player.start(); diyerek webcam’in çalıştırılması sağlanır.

Webcamden görüntü almak için bir süre beklenmelidir. Bu yüzden “Thread” mekanizması

kullanır.

Thread.sleep(2500);

Webcam’den görüntü alabilmek için yani resim yakalamak için ise aşağıdaki komut

uygulanır:

FrameGrabbingControl frameGrabber =

(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");

Yakalanan obje FrameGrabbingControl sınıfına ait bir nesnedir. Bu nesnenin bir image’a

dönüştürülmesi için ilk önce Buffer sınıfına ait bir nesne oluşturulmalı ve sonra bu nesne

“Image” sınıfına ait nesneye dönüştürülmelidir.

Buffer buf = frameGrabber.grabFrame(); //Buffer sınıfına ait bir nesneye çevrildi

Image img = (new BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));

Image sınıfına çevrildi. Bufferdaki img nesnesini çizdirebilmek için onu BufferedImage

nesnesine çevirmek gerekir. BufferedImage sınıfının createGraphics() metodu kullanılarak bir

“Graphics2D” sınıfına ait “g” nesnesi oluşturuldu.

drawImage() metodu ile “g” nesnesine bizim img Image’ımız verildi.

g.setColor(Color.RED);

g.setFont(new Font("Verdana", Font.BOLD, 16));

g.drawString((new Date()).toString(), 10, 25);

48

Page 49: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Olmasını istediğimiz renk, font ayarları yapıldı. Ayrıca resmin üstüne Date sınıfını kullanarak

(java.util paketinden) tarih de yazdırıldı. Böylece hırsızın içeriye girdiği andaki tarih ve saat

de belirlenmiş oldu.

Bu resmi harddisk’e kaydetmek için ise;

ImageIO.write(buffImg, "jpeg", new File("c:\\webcam.jpeg"));

denilerek, C dizini altına webcam adında ve jpeg formatında kaydedecektir.

Son olarak da player’ımızı kapatmamız gereklidir:

player.close();

Komutu ile player kapatılır.

49

Page 50: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

10. XML

10.1 MARKUP DİLİ NE DEMEKTİR?

XML dil olarak markup dili yaratmaya yarar. Markup dillerine örnek olarak HTML,WML vs. verilebilir. Bu dillerde veriler bazı işaretlerle (etiket) işaretlenirler. Örneğin bir HTML kodunda bir başlık yazısı <h1> etiketi ile işaretlenir. Sonuç olarak bir belgedeki verileri işaretlemeye yarayan dillere markup dilleri denir.

10.2 HTML NEDİR?

        HTML (HyperText Markup Language / Hareketli-Metin İşaretleme Dili) basitçe, browserlarla görebileceğimiz, internet dökümanları oluşturmaya yarayan bir çeşit dildir. HTML'e genel bakış Programlama dili gibi görülse de, görülmese de, bugün Internet'in de intranet'lerin de ortak dili, HTML'dir. Bir Web sayfasında yer alan belgenin içindeki bazı kelimeler, simgeler, fotoğraflar, grafik unsurlar veya bunların parçaları bir başka sayfa ile hiper-link kurularak, bağlanmışlardır. Kullanıcı, hiç bir komut öğrenmek zorunda kalmadan, hiç bir bağlantının Internet'teki adresini bilmek zorunluluğu olmadan bu sayfalardaki bağlantıları tıklayarak, yazıdan yazıya, şekilden şekilde, gidebilir. Ta ki, arzu ettiği bilgiyi bulup, okuyuncaya, kendi diskine veya disketine kopya edinceye veya yazıcısında basıncaya kadar. HTML'in başlıca özelliklerini şöyle sıralayabiliriz:

1. HTML, Web tasarımcısına, belgelerini ziyaretçinin ekranında nasıl oluşmasını istiyorsa öyle şekillendirme imkanı verir. Bununla birlikte tarayıcı programlarının (Netscape Navigator veya Internet Explorer) HTML komutlarını yorumlayışlarında az da olsa fark vardır ve bu fark sayfalarınızın bir ziyaretçinin bilgisayarında başta, diğerinin bilgisayarında başka gösterilmesine yol açabilir. Ayrıca ziyaretçileriniz, tarayıcı programlara verdikleri komutlarla, aldıkları sayfalarda genel değişiklik veya kısıtlamalar yapabilirler. Siz sayfanızda ne tür harf türü (font) kullanmış olursanız olun, ziyaretçiniz tarayıcı programa "Sadece Times fontları kullan" demiş ise, sayfanız bu ziyaretçinin ekranında sizin istediğinizden farklı biçimde görülecektir. Ziyaretçi tarayıcı programına "Grafik unsurları gösterme!" demiş ise, sayfalarınız ve tabiî vermek istediğiniz görsel mesaj tamamen farklı bir nitelik kazanacaktır. Bu duruma rağmen, bugünkü şekliyle HTML, Web tasarımcısına adeta bir gazete ya da dergi sayfası tasarlarcasına, oluşturmak istediği görsel etkiyi sağlamasına yeterli tasarım araçları sunmaktadır.

2. Bugünkü imkanlarıyla HTML, Web sayfası terimine yeni bir anlam kazandırmış bulunuyor. "Web sayfası" terimi bile, eski, yani yedi-sekiz yıl öncesinin Web sayfaları, içi bir örnek harflerden oluşan yazılarla dolu, durağan belgelerden ibaret bulunduğu için ortaya atılmıştı. Bugünkü Web sayfalarının "sayfa" kavramı ile dahi ilgisi kalmadı. Bugün sadece HTML öğeleri kullanılarak, ziyaretçinin ekranında adeta bir televizyon programının grafik etkisini sağlamak mümkün. Bununla birlikte HTML, bir kelime işlem ya da masaüstü yayıncılık programının oluşturabileceği görsel özelliklere sahip sayfalar oluşturamaz. Bu kısaltmalara, Internet'i tasarlayan uzmanların, platformlar (Windows 3.x, Windows 95/98/2000, Windows NT, Unix, MacOS), donanımlar (Macintosh, PC, Sun) ve tarayıcı programlar arasındaki farkların, sunulacak malzemenin tasarımcının kastettiğinden tamamen farklı bir şekilde sunulmasına yol açmasını önleme arzusu neden oluyor. HTML, örneğin bir masaüstü yayın programı kadar hassas ölçmelere ve biçimlendirmelere izin verse idi, bu ancak belirli bir platformda, belirli bir program kullanmayı gerektirirdi. Oysa Internet'i

50

Page 51: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Internet yapan unsurların başında, hemen her şeyin ekranda ve kağıt üzerinde, ortak denilebilecek şekilde oluşturulması geliyor.

3. HTML ile oluşturulacak statik alanların içine dinamik sonuçlar doğuracak programlar konulabilir.                                                                   

10.3 XML NEDİR?

XML (Genişletilebilir İşaretleme Dili) web in işlevselliğini geliştirmek için dizayn edilmiş esnek ve uygulanabilir bilgi tanımlama dilidir.HTML gibi statik ve önceden tanımlanmış bir forma sahip olmayan XML , diğer dillerin tanımlanabildiği bir meta-dildir.Bu sayede değişik tipte dokümanlar için kendi işaretleme dilinizi geliştirebilirsiniz.

Bağımsız bir kuruluş olan W3C (World Wide Web Consortium) organizasyonu tarafından tasarlanan ve herhangi bir kurumun tekelinde bulunmayan XML (eXtensible Markup Language), kişilerin kendi sistemlerini oluşturabilecekleri, kendi etiketlerini tanımlayarak çok daha rahat ve etkin programlama yapabilecekleri ve bu belirlenen etiketleri kendi yapıları içerisinde standardize edebilecekleri esnek, genişleyebilir ve kolay uygulanabilir bir meta dildir.  

Çok farklı tipteki verileri orjinal formatlarında tek bir havuzda tutabilen XML, bilgiye hızlı, kolay ve ortamdan bağımsız olarak erişebilme imkanı sunar. Günlük yaşantımızda kullanmakta olduğumuz verilerin %80'ini oluşturan ve "unstructured" olma özellikleri nedeniyle kendi bulundukları medya dışında veri özelliklerini koruyamayan (kelime işlem, elektronik tablo çıktıları, PDF dokümanları, ses,resim vb) farklı tipteki verilerin, oryantasyona gerek duymadan hiyerarşik bir yapıda kullanılabilmelerine olanak vermekte ve bu verilerin hızlı bir şekilde sorgulanabilmelerini sağlamaktadır. Öncelikle veri transferinin kolaylaşmasını ve verinin içerik bilgisiyle saklanabilmesini hedefleyen XML, içerik ve sunum bilgilerini birbirinden ayırır. Bu özelliği ile de HTML'den farklılaşır.

XML bir belgenin yapısını ve görünümünü tanımlamak için kullanılan uluslararası bir standarttır.

XML (Extensible Markup Language - Genişletilebilir İşaretleme Dili) yapılandırılmış belge ve verilerin evrensel formatıdır.

XML tekst tabanlı markup dilidir ve data alış verişinde kullanılan bir standarttır. XML bilginin yapısını tanımlamak için kullanılan bir teknolojidir. XML bilgiyi tanımlayan ve web'te bilgi alış verişi için kullanılan standart bir biçimdir. XML markup dillerini tanımlayan bir meta dilidir. XML verinin yapılandırılması ve tanımlanması için kullanılan bir teknolojidir. XML herhangi bir verinin biçimlenmesi,tanımlanması için kullanılan bir teknolojidir.

Yukarıdaki tanımlar birbirine benzemektedir. Bazı kelimeler veri, tanımlama,standart vs. gibi çok fazla kullanılmış. Tanımlardaki bir farklılık XML'in hem bir teknoloji hem de bir dil olmasından doğmaktadır. Bazı tanımlar sadece XML teknolojisini tanımlarken bazıları dil olarak XML'i tanımlamışlar.

Bütün bu tanımlardan şu sonuçlar çıkarılabilir:

XML hem bir teknolojidir hem de bir dildir. XML dil olarak markup dilleri yaratmaya yarar. XML verileri tanımlamak için kullanılan bir teknolojidir. XML verileri tanımlamak için bir standart oluşturmak için yaratılmıştır.

51

Page 52: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

XML verileri standart bir şekilde tanımladığından webte veya herhangi iki program arasında veri alış verişi kolaylaştırmaktadır.

        "Önce kendi tag'ini yarat, sonra kullan" diye bilinen XML, aslında web tasarımından çok daha fazlasını sunan bir dil. eXtensible Markup Language, Genişletilebilir Anlamlandırma Dili anlamına geliyor. XML(Extensible Markup Language) HTML ile pek çok açıdan benzerlik gösteren bir markup dilidir.Verinin tanımlanması ve tarif edilmesi için kullanılır.HTML'deki yapinin aksine XML'de kullanılacak olan tag'ler önceden tanımlı değildir.Yani bir XML dokümanının yapısı tamamen kullanıcı tarafından oluşturulur.Verinin tarif edilmesi için DTD adi verilen yapılar kullanılmaktadır.XML ve DTD'nin birlikte kullanılması ile dokümanlar kendini tarif eden bir yapı halini alırlar.

XML ve HTML arasındaki en belirgin fark XML'in verinin kendisiyle ilgilenmesi HTML'in ise verinin sunumuyla ilgilenmesidir.Buna bağlı olarak HTML dokümanları veriye ilişkin şekillendirme bilgilerini içerirken XML dokümanları ise verinin tanım bilgilerini içermektedir. XML'in tasarım amaçlarından biri de verinin taşınmasıdır. XML hakkında bilinmesi gereken en önemli nokta bu dilin veriyi taşımak amacıyla tasarlanmış olusudur. XML ile veriler yapı bakımından modülerlik kazanmaktadır. Bahsettildiği gibi XML dokümanları verinin içeriğiyle ilgilenmektedirler.Bu sayede verilerin içerik,yapı ve sunum kısımları ayrı modüller halinde farklı XML dokümanlarında tutulmaktadır. XML dokümanları Veri Adaları (Data Islands) adi verilen teknik sayesinde HTML sayfaları içerisinde de depolanabilmektedir.Bu teknik sayesinde verinizin sadece sunumuyla ilgilenilmektedir XML ile verinin alışveriş işlemi gerçekleştirilir.XML,yapısının esnekliği sayesinde birbirine uyumlu olmayan sistemler arasında veri alışverişini rahatlıkla gerçekleştirmektedir.

Günümüz bilişim dünyasında bilgisayar sistemleri ve veritabanlarının genellikle birbirine uyumsuz sistemler içerebildiklerini görmekteyiz.Bundan dolayı uygulama geliştiriciler Internet üzerinden bu tip uyumsuz verilerin alışveriş işlemini gerçekleştirmek zorundadırlar. Verinin XML formatına çevrilmesi ile farklı sistemler ve uygulamalardaki verilerin karmaşıklık derecesi indirgenerek alışveriş işleminin kolaylaştırılması sağlanır. XML ile finansal bilgilerin Internet üzerinden alışverişi sağlanmaktadır.

Günümüzde artık hepimizin sıklıkla duyduğu elektronik is kavramı açısından incelenecek olduğunda XML'in önemli fonksiyonları yerine getirdiği görülmektedir.Bahsedilen bu fonksiyonları ile XML geleceğin Elektronik Is dili olarak da yeni bir misyonu üstlenmektedir. XML ile verinin paylaşımı kolaylaştırılır. XML,veriyi düz metin (plain text) formatında saklamasından dolayı veriyi paylaştırma konusunda da hem yazılım hem de donanımdan bağımsız hareket edebilme imkanını sunmuştur. Bu sayede farklı uygulamalarda hareket eden farklı veri tipleriyle çalışmak daha da kolaylaşır.Ayrıca işletim sistemlerinin yükseltilmesi,sunucu,uygulama vb. dışsal faktörlerin yenilenmesi gibi dışsal faktörlerden de asgari ölçüde etkilenilmiş olunur. XML ile verinin depolanması sağlanır. XML, verinin dosyalarda veya veritabanlarında saklanması için de kullanılabilir. XML,yazılım,donanım ve uygulamalardan bağımsız olduğu için verinin daha elverişli olarak kullanımını sağlamaktadır.Yani başka istemci(client) veya uygulamalar tıpkı veri kaynaklarına erişiyormuş gibi XML dosyalarına rahatlıkla erişebilirler. XML,esnek yapısı nedeniyle başka dillerin de oluşturulabilmesine olanak tanır.Wireless Markup Language(WML) mobil cihazları için kullanılan WAP ortamlarının dilidir.

10.3.1 XML Ne İçin Kullanılır?

52

Page 53: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

XML , SGML in web üzerinde kolayca kullanılması için geliştirilmiştir.Doküman türlerinin kolayca tanımlanmasında , SGML tanımlı dokümanların kolay yönetimi ve yazımı ve web üzerinden kolay transferi için bulunmaktadır.XML herhangi yapısal bilginin saklanmasında ve farklı işleme ortamlarında bilginin transferinin mümkün olmadığı koşullarda bilginin evrensel yapılandırılması için kullanılmaktadır.

10.3.2 SGML Nedir?

SGML farklı türdeki ve yapıdaki dokümanların tanımlanması için kullanılan uluslararası bir standarttır. (ISO8879:1985).

SGML , insan aktivitelerinin bulunduğu tüm farklı doküman türlerinde gerçek konuşma dili ile yazılmış , eski Mısır dilindeki inşa tanımlarından günümüzdeki hayalet uçak teknik dokümantasyonuna; bir hastanın klinik raporundan bir müziğin notasına kadar doküman içeriğinin belirlenmesinde kullanılmaktadır.

SGML çok büyük,güçlü ve karmaşıktır.Son yıllarda endüstriyel ve ticari kullanımda olmasına karşın SGML kullanımı uzmanlık ve kendisini kullanabilecek programların detaylı olmasını gerektirmektedir.XML , SGML in küçültülmüş bir versiyonu olmakla beraber web ortamında implemente edilmesi çok zor olan SGML özelliklerini ortadan kaldırmıştır.

SGML i doküman tanımlamak için izleyen ilk işaretleme dili HTML olmuştur.Basit yapısı , HTML in çok popular hale gelmesine yol açmış ve bu sayede HTML , web in temelini oluşturmaya başlamıştır.

HTML yi izleyen ve bilginin temsil edilmesi için farklı doküman tanımlama ve veri yapısı oluşturma metodolojisi , HTML in bu çok basit yapısının yetersizliğinden kaynaklanmaktadır. HTML yi izleyen yıllarda Java ve Javascriptin uygulamaları , sunucu taraflı dinamik HTML sayfaları oluşturan CGI programları ve CSS ve DHTML gibi teknolojiler geliştirildi.Bu teknolojiler HTML in yeteneklerini geliştirmek için geliştirilmiş olsa da bu yöndeki sıkıntıyı daha da açığa çıkardılar.Sonuçta XML geliştirildi.

10.3.3 XML Yapısı

XML , yapısının tamamen kullanıcı tarafından oluşturulduğu ve verinin tanımı için DTD(Doküman Tipi Tanımı) yapıları ile içerisinde kullanılacak verinin ve yapısının yapıldığı işaretleme dilidir.

Mesela günümüzde cep telefonlarında kullanılan WAP sayfalarının tanımları , XML meta dilinden türetilmiş olan WML dili ile yazılmaktadır.

10.3.4 XML Kullanımı ve işleme

XML in kullanımı için çok sayıda teknik bulunmaktadır.Buna bir giriş yapmak için XML veri adaları ile başlayalım. XML Veri Adaları , bir HTML sayfasında xml ile yapılan veri tanımının gömülü olması demektir.XML deklarasyonu

Kod:

53

Page 54: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

<XML ID=’XXX’>      Tanım ….</XML>

şeklinde bir tek değer bağlayıcısı ile yapılarak daha sonra HTML belgeisi içerisinde XML tanımının tanımlayıcısı referans gösterilerek , HTML belgesinden XML verisinin kullanımı gerçekleştirilebilir.

Kod:<XML ID = ‘XXX’  SRC=’XML dokümanının ismi’></XML>

XML içeriğinde kullanılan elemanlar ve özelliklerinin kullanımlarından once tanımlanmış olmaları gerekmektedir. Ayrıca doğruluk denetimleri ve XML belgesinin bu doğruluk denetimlerine uygunluğu ve geçerlilik koşulları da bulunmaktadır.

10.3.5 DTD (Doküman tipi tanımı)

DTD , XML belgelerinde kullanılan elemanların uygulamadan uygulamaya fark gösterebilmesi nedeniyle önceden tanımlanması için kullanılan standarttır.DTD , XML dosyasının içerisinde ya da bulunduğu yerin adresinin belirtilmesi yolu ile harici olarak XML belgesi ile ilişkilendirilebilir.

Kod:<?XML version=”1.0”?><!DOCTYPE ucak SYSTEM “ucak.dtd”><ucak><motor> Jet </motor><tip> A130 </tip></ucak>

Kullanılan herhangi bir XML Parser(XML Ayrıştırıcı) yukarıdaki gibi bir doküman ile karşılaştığında , tanımların belirlenen ucak.dtd içerisinde yapıldığını anlamaktadır.

Yukarıdaki örneğin DTD tanımı izleyen şekilde yapılabilir.Bu tanımların oluşturulma yapıları daha sonar XML grameri bölümlerinde ayrıntılı bir şekilde işlenecektir.

Kod:

<!ELEMENT ucak(motor,tip)><!ELEMENT motor (#PCDATA)><!ELEMENT tip (#PCDATA)>

54

Page 55: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Yukarıda sözü geçen kavramların işlenmesi:

İŞLEME - > XML Belgesi - > XML PARSER - >XML DTD Belgesi - > StyleSheet(CSS) - > StyleSheet

Şeklinde gerçekleştirilmektedir.

10.4 WAP NEDİR?

Bugünkü haliyle bazı Web siteleri, durağan HTML sayfalarının birbirlerine köprülerle bağlanması ve ziyaretçinin bu köprüleri tıklayarak, sayfadan sayfaya gitmesi anlamına geliyor. Bu sistemin bir zararı yok: eğer elinizde yeteri kadar HTML kodlayıcısı varsa, aklınıza gelen her şeyi HTML’e çevirebilirsiniz. Sinema listesinden, borsa rakamlarına kadar. Her saniye değişen borsa rakamlarını kaç bir kodlayıcı ile "anında" HTML’e çevirerek Internet’e yetiştirebilirsiniz? Orası sizin bileceğiniz iş. Oysa, ASP, ColdFusion, PHP ve benzeri bir çok çözüm Web sitelerini veri ile yönlendirilen, gerçekten dinamik ve dolayısıyla "program gibi" uygulamalar haline getirdi. Bu "uygulama programları" şeklindeki sitelerin, bir de telsiz olarak Web-yetenekli cihazlara aktarılması Web tasarımcılarının karşısına yeni sorunlar çıkarttı. Bunların başında mini-mini cep telefonu veya biraz büyükçe PDA ekranına uygun Web sayfası yapmak; bunu 14.4k’dan bile düşük bir hızda bu araçlara ulaştırmak; ve Web’de olandan daha üstün bir güvenlik şeması uygulamak.

Bu uğraşların sonucu ise yeni bir Web protokolü oldu.

WAP protokolü ile alınıp verilecek Web siteleri ve diğer uygulamalar, özel bir dille yazılıyor. Bu, XML diliyle geliştirilmiş WML dilidir. Bugün, Web’in ortak dili HTML’in de içinden türetildiği SGML dilinin HTML’den daha kullanışlı ve daha esnek türevi olan XML diliyle istediğiniz kadar 'özel dil' üretebilirsiniz. Örneğin matematikçilerin, bilimsel notasyon ağırlıklı Web siteleri tasarımda kullandıkları MXL böyle bir dildir.

WAP, aslında TCP/IP yoluyla alınıp verilen sayfaların protokolü olan HTTP’den farklı bir Web Server gerektirmiyor. Ancak cep telefonu işletmecilerini düşündüren bir nokta var: o da "para" meselesi. Siz bugün ISS’inizi aradığınız zaman, ulaşacağınız Internet hizmetlerinin hemen hemen hepsinin bedeli, ziyaret ettiğiniz Portal sitelerdeki reklam gelirleriyle ödeniyor. Bunu 640’a 480 piksel genişlikte ve 256 renk derinliğinde bir ekranda, 400 MHz hızında bir işlemciyle ve 128 MB bellekle ve yüz-küsur tuşu olan koca bir klavye yapmak kolay.

Web ziyaretçilerine Web’de alıştıkları türden bir hizmet sunabilmek için, düşük güçtü CPU, sınırlı ROM ve RAM, sınırlı güç kaynağı, örneğin bir cep telefonunun tuşlarından ibaret klavye ve küçücük (ve şimdilik tek renkli) bir ekranla aynı işi yapmak kolay değil.

Zorlukların başında sizin Web gezintinizin bedelini ödeyecek bir kaynak bulmak geliyor. Eğer minicik cep telefonu ekranında reklam görmek istemiyorsanız, bu bedeli ödeyecek olan siz olmalısınız. Başka bir ifade ile PC’ de yaptığınız Internet surfing bedava iken cep telefonundan yapacağınız surfing paralı olmalı. Bunu çoğu kişinin kabul etmeyeceği açık.

55

Page 56: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

Bir diğer yol, cep telefonlarına veya Web-yetenekli diğer seyyar araçlara Internet hizmeti sunacak olan seyyar telefon ağı işletmecisinin (bizim örneğimizde Turkcell veya Telsim ve daha sonra hayata atılacak olan diğer firmalar) sizin adınıza bu parayı içerik sağlayıcıdan alması olabilir.

Bu fikir, WAB-Web’in bugünkü Internet’ten farklı olacağı ve eğlence amacıyla değil daha çok pratik kullanım amacına yönelik olarak yararlanılacağı fikrine dayanıyor. Fakat burada dikkat edilmesi gereken nokta 'eğlence' kavramının tanımı. Örneğin WAB-Web ile o anda gidebileceğiniz sinemayı belirleyeceğiniz varsayılıyor. Dolayısıyla sizin bu sinemayı belirlemek ve filmi seçmek için yapacağınız surfing’in bedelini size sinemaların listesini sunan firma ödeyebilir.

Bunun bir sonucu, WAB-yetenekli Web Server hizmetini, cep telefonu işletmecilerinin kurup işletmesi ve içerik sunuculardan parayı doğrudan tahsil etmesi oldu. Fakat daha WAP-Web başlamadan bu metodun işleyeceği anlaşıldı; çünkü klasik HTTP Server’ları işletenler, hatta ücretsiz Web sitesi alanı veren firmalar bile isteyene WAP-yetenekli site açma olanağı tanıdılar. (Örnek olarak, http://www.tagtag.com, http://www.hoiley.com , http://WAPpy.to , ve http://www.WAPdrive.net alanlarına bakabilirsiniz.) İlerde, yani WAP-Web’ler, klasik Web siteleri gibi yaygın hale geldiğinde cep telefonu işletmeciniz (veya ISS’iniz) size cep telefonu işletmecisinin (örneğin Turkcell ile Telsim) onaylamadığı bir Server’a bağlanma imkanı verecek midir? Yerli-yabancı, cep telefonu işletmecilerinin bugünkü tutumuna bakarsanız, verecek gibi görünüyorlar.

WAP, Internet’in cebe girmesini sağlayan protokole verilen isimdir. Normal Internet standartlarını kablosuz cihazlar için de kullanmak varken yepyeni bir standarda ihtiyaç duyulmasının başlıca sebebi seyyar cihazların sınırlı olanaklara sahip olmasıdır. Ayrıca 3G cihazların gerçekte bir telefon olması, bu özel Web’de bir köprüye tıklandığında bir telefon numarasının çevrilmesini mümkün kılabilmeli. Bununla birlikte WAP birçok yönden HTTP protokolüne benzemektedir. WAP’ ın temeli de Web'de olduğu gibi kullanıcının İstem’i (Request) vasıtasıyla veriye ulaşması şeklindedir. WAP cihazlarının veriye ulaşması iki şekilde olabilir: Cihaz doğrudan WAP Server'a bağlanabilir; ya da veriye bir Geçit (Gateway) aracılığıyla ulaşabilir.

Klasik Web modelinde İstemci görüntülenmesini istediği sayfa veya multimedya unsurunun adresini URL kodunda Server’a gönderir. Server, bu İstem’i gerekiyorsa CGI programlarından geçirerek karşılar ve içeriği karşılık olarak verir.

WAP modelinde İstemci cihaz-program grubuna WAE (Wireless Application Environment/Telsiz Uygulama Ortamı) denir. Buradan yola çıkan İstem, URL’den farklı biçimde kodlanır ve Web Server ile WAE arasında aracılık yapan Geçit’e gider. Buradaki kod çözücü program, İstem’i Web Server’ın anlayacağı şekle sokarak yoluna devamını sağlar. Server, İstem’in gerektirdiği işlemleri yapar ve talep edileni Geçit’e gönderir. Geçit bu kez içeriği kodlar ve mobil cihaza gönderir.

WAP içeriği ise Web'de olduğu gibi bir Markup (İşaretleme) diliyle yazılır. XML’den türetilmiş olan bu dile WML (Wireless Markup Language) denir. Bu dilin mantığı da HTML'de olduğu gibi etiketler ve bu etiketlerin eklentileriyle metin, grafik ve diğer nesnelerin tanımlanması şeklindedir. WML’in birçok etiketi HTML etiketlerinden ibarettir; yani HTML bilen kişi kolayca WML öğrenebilir. WML ile formlar, düğmeler, seçme listeleri oluşturmak mümkündür. Cihazlarda bu formların kullanılış biçimi ise cihazın üreticisine bırakılmıştır. WAP da CGI, ASP gibi Web teknolojilerinden faydalanabilir. Ancak HTTP ile

56

Page 57: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

WAP arasında önemli farklılıklar da vardır. Önce, WAP sayfasına, Web’de olduğu gibi 'sayfa' değil 'kart' denir; Site de 'deste' diye adlandırılır. WAP'ta 'sayfa' gönderme işlemini etkin hale getirmek için kartlar tek tek değil, deste halinde gönderilir. Bunu bugünkü Web’de bir siteye girdiğiniz zaman sitedeki bütün sayfaların bir anda bilgisayarınıza gönderilmesi şeklinde düşünebilirsiniz. Böylece kartlar arasında offline gezinti yaparak hız sağlanmış olacaktır. WML’in de kendi Script dili vardır; WMLScript adı verilen bu dil Javascript'e çok benzer. WAP’ ın Web’den bir diğer farkı ise telefon fonksiyonlarını kullanmayı sağlamasıdır. Unutmayın; telefon bilgisayarınıza sonradan Modem’le bağlanırken, WAP’da Browser gerçekte bir telefon cihazından ibaret.

57

Page 58: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

BÖLÜM 11: WML(WIRELESS MARKUP LANGUAGE)

WAP(Wireless Application Protocol- Kablosuz Uygulama Protokolü):

İnsanlar, tarihin her döneminde iletişim için çeşitli yöntemler kullandılar. Dumanla, işaretle, güvercinlerle. Bunlar yazının bulunmasıyla yerini kil tabletler ve papirüslere bıraktı. Sonra iletişimin evreleri yine devam etti. Telgraf, mektup, telefon, fax ve ardından da Internet geldi gündeme. Ve sonra insanlık tarihi, araç telefonları ile kablosuz iletişimi başlattı. Son olarak GSM teknolojisiyle dijital, kaliteli, anında, her zaman, her yerde sesli iletişim imkânı oluştu. Şimdi bu teknoloji ile dünyayı cebimizde taşıyoruz.

Wireless Application Protocol(WAP) yani 'Kablosuz Uygulama Protokolü' yeni gelişmekte olan bir teknolojidir. İletişim alanını genişletmek ve kolaylaştırmak amacıyla düşünülen WAP uygulama protokolü, 90'lı yılların sonunda standard halini aldı. Ve şimdi, geliştirilen programlar sayesinde dünyanın bir çok yerinde uygulamaya geçti.Cep telefonuyla iletişimin çıkmasıyla haberleşme büyük oranda kolaylaştı. GSM Mobil aboneleri, dünyanın neresinde olurlarsa olsunlar GSM kapsam alanı içinde bulundukları sürece dünyanın herhangi bir yeri ile sesli iletişime girebiliyorlar. Ve bu durum iletişim için büyük kolaylık sağlıyordu. Fakat bilgi iletişiminin büyük oranda kablolar üzerinden ve bilgisayara bağımlı kalınarak yapılıyor olması akla kablosuz iletişimi getirdi. Ve böylece cep telefonu için kurulan iletişim ağları üzerinden çalışan bir bilgi akışı sistemi tasarlandı.

Wap (Wireless Application Protocol – Kablosuz Uygulama Protokolü); mobil kullanıcıların, kablosuz mobil cihazlar üzerinden internete erişimlerini sağlayan kablosuz iletişim standardıdır. Yani cep telefona özel Internet’tir. Kablosuz cihazlar ile iletişimde WAP, bilinen XML, UDP ve IP gibi Internet standartlarını kullanır. WAP kablosuz iletişim protokolleri HTTP ve TLS gibi Internet standartları bazında tasarlanmıştır, fakat elde taşınan kablosuz cihazların kısıtlı işlem kapasitelerinin en verimli şekilde kullanılmasını sağlar.

WAP, mobil telefon kullanıcılarının,telefon ya da avuçiçi bilgisayar gibi mobil iletişim cihazlarının ekranları üzerinden internete erişebilmelerini sağlayabilmek için “WAP Forum” tarafından geliştirilen bir kablosuz veri iletişimi (wireless datacom) standardıdır. Wap Forum sadece bir firmaya ait değildir. www.wapforum.com ; Nokia Ericsson ve Motorola gibi şirketlerin öncülüğünde 1997 yılında kuruldu. WAP Forum’ a üye olan kurumların listesine http://www.wapforum.org/who/members.htm adresinden bakabilirsiniz.

Mobil telefonlar gibi kablosuz cihazların sınırlı işlem kapasitesi, HTML sayfaları gibi yüklü bilgilerin ekranlarına taşınamaması, kablosuz iletişim servis ağlarının kapsama alanı problemleri ve sürekli bağlantı sağlanamaması, sınırlı dalga boyunun getirdiği kısıtlamalar gibi problemler bugüne kadar kablosuz iletişimde Internet servislerini mümkün kılmamıştır. Bütün bu problemlerin çözümü olarak geliştirilen WAP, kesintili kapsama alanlarında, çeşitli kablosuz iletişim standartları ile mümkün olduğu yerde IP, yoksa diğer protokolleri kullanarak, kullanıcılara sanal kesintisiz bağlantı sağlar.

Wap; internet haberleşmesinin, çeşitli bilgi ve hizmetlerin WML dilinde yazılmış sayfalar halinde mobil kullanıcılara kolayca ulaşmasını sağlar.

WML(Web Maker Language/Wireless Markup Language):

WAP içerikleri için geliştirilen WML programlama dili, kablosuz iletişim terminallerinin ufak ekranlarına gerekli bilgiyi en verimli şekilde sığdırabilmekte ve klavye olmadan tek el ile bilgi taramasını mümkün kılmaktadır. WML, Wap sitelerinin oluşturulmasını sağlayan XML tabanlı bir dildir. WML kodlarıyla yapılan sitelere; gprs, wap uyumlu cep telefonlarından ve palm’lerden erişilebilirler.

Genel olarak WAP için kablosuz uygulama ortamı(WAE) ve kablosuz uygulama protokolü(WAP) tanımlanmıştır.Kablosuz uygulama ortamı(WAE) iki kısımdan oluşur;

58

Page 59: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

WML, kullanıcıların uygulama geliştirmesi için kullanılacak programlama dili, ve WMLScript, programcıların daha gelişmiş uygulamalar geliştirmesi için kullanılacak programlama dili. Bu programlama dilleri kulanılarak geliştirilen uygulamalar genel kablosuz yapı üzerinden cep telefonlarına ulaşacak. Bu noktada cep telefonları internette kullandığımız web browser görevi görecektir.Sayfaların cep telefonundan görülebilmesi için WML dili ile yazılmış olması gerekmektedir. WML dili küçük cep telefonu ekranına göre sayfa dizayn etmeyi kolaylaştıran ve klasik web sayfalarının dizaynı için kullanılan HTML diline çok benzeyen bir programlama dilidir. Kablosuz uygulama protokolü(WAP) internetin varolan mimarisine benzer olarak katmanlı bir mimariye sahiptir. Katmanlı mimari farklı amaçlı uygulamaların düzenli hale getirilmesini sağlar. Mesela güvenlikle ilgili işler bir katmanda yapılıyorken, bilginin iletimi başka bir katmanda yapılmaktadır.

WAP’TAN ERİŞİLECEK ADRESİN WML KULLANILARAK OLUŞTURULMASI:

Webcam’den alınan görüntünün , mobil telefondan WAP aracılığıyla görülmesi için WML kullanılarak aşağıda belirtilen kod yazıldı. Bu kodda; “HIRSIZ VAR!” link’ine, resmin bulunduğu server’a ait ……………………IP adresinin ……… numaralı Port’undaki “2.jpeg” dosyası atandı. Böylece mobil telefonun WAP erişimi kullanılarak http://........ adresine erişim sağlandı.

WML kullanılarak hazırlanan kod şu şekildedir:

<?xml version="1.0"?><wml><card id="MainCard" title="hirsiz"><p align="center"><center><img src="2.jpeg"<br/><br/><br/><br/><br/><br/><a href="2.jpeg">HIRSIZ VARR!!</a></center></p></card></wml>

1. satırda kartın bir xml türevi olan "wap kartı" olduğu bildirildi.2. satırda wml’e başlandı.3. satırda karta başlık verildi4. satırda paragraf açıldı. Buna bir id atandı.5. satırda açıklama yapıldı.6. satırda siteye girildiğinde ekranda çıkması istenilen yazı girildi.7. satırda bir link yapıldı.8. satırda paragraf kapatıldı.9. satırda kart kapatıldı.10. satırda ise wml kodunun bittiği bildiriliyor.

Yazılan kod, “index.wml” olarak Easy PHP Server’ın “www” klasörüne kaydedildi.

59

Page 60: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

12. SONUÇ

Projenin yapılma amacı; elektronik güvenlik sektörüne yenilikler getirmektir. Bu

projede; mobil telefon ve alarm sistemi birleştirilerek güvenlik sistemi dünyasına

yeniliklerin katılması amaçlanmıştır.

Projede donanımsal olarak; Intruder alarm paneli, dış etkiler karşısında hareletsiz

kalan kızılötesi dedektör, webcam ve GPRS modem (veya GPRS modem olarak

kullanılacak olan başka bir donanım, mobil telefon gibi) kullanılmıştır.

Alarm bölgesi, bir davetsiz misafir (hırsız) tarafından uyarılır. Burada hareketi PIR dedektör tetikler ve alarm bölgesi aktif hale gelir.Bilgisayara seri port ile bağlı olan panel, alarm bilgilerini bilgisayara gönderir. Seri porttan alarm bilgileri alındığında; Java ile yazılan program ve yüklenilen Java Media Framework (JMF) aracılığıyla, webcam devreye girer ve görüntü alınır. Alınan görüntü programda belirtilen, harddiskin belirli bir bölgesine kaydedilir. Görüntü alma işlemi yapıldığı sırada, alarm paneli mobil telefonu arar. Çağrıyı gören mobil telefon kullanıcısı WAP uyumlu bir mobil telefonun “Tarayıcılar” kısmındaki “Yeni URL Giriniz:” bölgesine http://81.213.189.201:8080/2.jpeg adresini girerek alarm panelinin bulunduğu yerden alınan görüntüye erişebilir. Bu sayede kişi, alarm yanlışlıkla çaldığında alarmın takılı olduğu yere gitmek zorunda kalmaz. Sonuç olarak çeşitli metodlar kullanılarak .jpeg uzantılı bir dosya mobil telefona transfer edilmiş oldu. Bu projenin yardımıyla, alarm kuşağındaki bilgiler mobil iletişim hayatına aktarılmıştır.

60

Page 61: 1 · Web viewJava ,2000’li yılların programlama dili ve ağ merkezli sistemlerin geliştirilmesi için yeni bir platform olarak bilgisayar bilimlerinde önemli bir çağı başlattı

EK 1 KAYNAKLAR

1- www.apache.com

2- www.java.sun.com

3- www.bilgielektronik.com

4- www.akgunguvenlik.com

5- www.gizlikamera.com

6- www.bilişimrehber.com

7- www.datasheetcatalog.com

8- www.turkcell.com

9- www.wirelessdevnet.com

10- www.wapshareware.com

11-Altuğ Altınbaş Java Programlama Dili

61