Fırat Üniversitesi Yazılım Kulübü ACM Student Chapter Aylık Yazılım ve Teknoloji Dergisi
<script/>
11 2013
www.yazilimkulubu.org Kasım 2013 Ücretsizdir Sayı 4
ACM WOMEN Bilisim dünyasında kadının yeri
ROUTING ALGORITHMS Paket yönlendiricileri tarafından kullanılan bilgiler
LINUX Özgürlügün bizdeki adı
JAVA EE 7
Java’nın, yeni kurumsal yazılım platformu
BOOTSTRAP Profesyonel web siteleri olusturun
WEBSPHERE SOFTWARE Java EE uygulama sunucusu, IBM WebSphere Application Server
RÖPORTAJ
PostgreSQL efsanesi Devrim Gündüz
GÜVENLİK Kablosuz baglantılar ve güvenlik
YAZILIM KULÜBÜ ACM STUDENT CHAPTER
Çalışma Gruplarımız
II
<script/> Genel Yayın Yönetmeni Tolga ÖZER
EDİTÖRDEN
Tasarım - Mizahpaj Tolga ÖZER Barış ARIBURNU Kapak Tasarımı Batuhan ÇIKRIKCI Merhaba sayın okuyucu.
Yazarlar Gizem ERDOĞDU Batuhan ÇIKRIKCI Mehmet KAYKISIZ Oğuzhan COŞKUN Ahmet KOLCU Barış ARIBURNU Ensar YAVUZ Yönetim Kurulu Başkanı Batuhan ÇIKRIKCI İletişim
Başlığa aldanıp yazının içinde ilginç bir şey bulacağını sanıyorsan şimdiden uyarıyorum, aradığın ilginçlik editör yazımda yok. İstersen daha yolun başındayken vazgeçebilirsin. Ben şimdiden uyarıyorum ama sen yine de devam etmek istiyorsan senin tercihin… Tercihini yapıp bu cümleye geçtiğine göre her riski göze almış ve daha önemlisi zaman kaybını umursamamış yazımı okuyorsun. Bunun için öncelikle sana teşekkür etmemi; bir kurşun kalemin kırılmış ucunu keskinleştirmeye çalışan bir öğrencinin yazı yazma gerekliliği kuralıyla yerine getiriyorum. Teşekkürler… Derginin en sıkıcı ve genellikle okunmayan kısımı olmasına rağmen olmazsa olmazı olan editör yazısını yazmayı bir görev bilinciyle zorlarak yazmaya çabalıyorum, gördügün gibi.. Başlangıç kısmını gereğinden fazla abartıp da sonra dergiye dönecek olursak; dergimiz, kulübümüzün 4. sayısı olup yeni ekip olarak çıkardığımız ilk dergidir. Uzun bir süredir kulübümüzün dergi çıkaramamasından dolayı, dergi ekibi olarak toy olsakta inada bindirip 4.sayımızı sizlerin begenilerine sunuyoruz. Dergimizin 4. sayısında, kulübümüzün tanıtımıyla başlayıp, Türkiye’de kurulacak ikinci ACM -W kurullundan bahsediyoruz. İlerleyen sayfalarımızda ise daha çok dergiyi çıkarma amacımıza yönelik makalelerimiz ve PostgreSQL konusunda bir EFSANE: Devrim GÜNDÜZ röportajı bulunmaktadır. Sürç-i lisan ettiysek affola, iyi okumalar. Tolga ÖZER Başkan Yardımcısı Elektrik Elektronik Mühendisliği
I
II
Editörler Ensar YAVUZ Barış ARIBURNU Tolga ÖZER
9
İçindekiler <sciript/> Kasım 2013
1
4
20
Biz Kimiz ?
Fırat Üniversitesi Yazılım Kulübü ACM Student Chapter Ailesi Kimdir ?
2
ACM -Woman
3
Kulüpten Haberler
4
Kablosuz Bağlantılar & Güvenlik
6
Routing Algoritmaları
Türkiye’nin ikinci ACM -W Kurulunu Kuruyoruz
2013- 2014 Dönemine Hızlı Başladık.
İnternet Aleminde Ne Kadar Güvendesiniz?
Paket Yönlendiricileri
11 Java Platform Enterprise Edition 7 Kurumsal JAVA Platformu
13 Deep Web
İnternetin Karanlık Yüzü
14 PostgreSQL Efsanesi: Devrim GÜNDÜZ
2
PostgreSQL’in Türkiye’deki İsmi
21
15 Geleceğini Şimdi Yönet 16 Kısa Kısa
Teknoloji Dünyasından Kısa Haberler
18 Özgürlüğün Bizdeki Adı: LINUX
11
Linus Torvalds
19 WebSphere Application Server Java EE Uygulama Sunucusu
Kasım, 2013 © Tüm hakları saklıdır.
14 IV
Bu soruya cevap vermek zordur, kendini çok översen reklam kokar, fazla mütevazi olursan söner gidersin. Aslında en iyisi kim olduğumuzu referanslarımıza sormaktır. Biz kimiz sorusuna vereceğimiz ilk cevap Yazılım Kulübü’yüz, isminden de anlaşıldığı gibi yazılım sektörü üzerine çalışmalar yapmaktayız. Yalnızca derslere girerek meslek ve kariyer sahibi olunamayacağından dolayı, yaptığımız çalışmalar bu yöndeki eksikliği gidermeyi amaçlamaktadır. Proje yöneticisiyiz (evet, sektörel düzeyde oluşturduğumuz çalışma grupları için ortam oluşturup belli bir düzen dahilinde projelerin ortaya çıkmasına destek oluyoruz), eğitimciyiz (evet, sektör üzerine belli konular dahilinde ve belli bir süreklilikte eğitimler veriyoruz), organizatörüz (gerek teknik gerekse sosyal alanda, üniversitemiz bünyesinde bir çok organizasyon düzenliyoruz) araştırmayı, kendimizi geliştirmeyi, bir de kendi aramızda tartışmayı çok severiz. Üye kelimesini çok sevmeyiz çünkü birlikte çalıştığımız insanlar artık bizim ailemizin bir parçasıdır. İki şeyi çok seviyoruz bildiklerimizi başkaları ile paylaşmayı ve eğlenmeyi. Bizim hakkımızda daha fazla mı öğrenmek istiyorsunuz? O halde sizi kulübümüze bekliyoruz.. Fırat JUG (Java User Group) & Fırat JBUG (Jboss User Group) Fırat Üniversitesi Java platformu kullanıcılarına yönelik açılmış,ululararsı bilinirliği ve Türkiye de bulunan üç JUG dan birisi olan bu grupta; Java platformu ile yazılım geliştiren öğrencileri, akademisyenleri ve tüm Javacıları bir araya getirmek amaçlanmıştır.
Etkinliklerle ilgili olarak ilerleyen zamanlarda daha farklı konular da eklenebilecektir. Bahsi geçen tüm etkinlik ve duyurulara Fırat JUG; blog sitesinden (firatjug.blogspot. com), Facebook sayfasından (facebook.com/firatjug) ve Twitter hesabından(twitter.com/firatjug) ulaşabilirsiniz. Ayrıca grubumuza blog sitemiz üzerinden ve java.net üzerinde bulunan uluslararası JUG’lar arasında bulunan java.net JUG projelerinden FIRAT JUG projemize ücretsiz üye olabilirsiniz.
Biz Kimiz ?
Biz Kimiz ?
Uluslarası platformda tanınan diğer bir projemiz ise Red Hat Inc. bünyesinde bulunan Jboss Community tarafından desteklenen Jboss User Group projesidir. Fırat JBUG (Jboss User Group)
Uluslararsı alanda tanınan resmi Java Kullanıcı Grupları arasında yerini alan Fırat JUG aynı zmanada, Red Hat - Jboss Community tarafından yönetimi yapılan ve Jboss yazılımları konusunda ortak paylaşım altyapısı sağlayan Jboss User Groups Topluluğu'nda Türkiye de ilk ve tek olarak bulunmaktadır. Jboss User Group'ların asıl amacı; yeni teknolojiler, geliştirme metodolojileri, kullanım durumları ve diğer teknik konular üzerinde düzenli görüşmek üzere toplantılar yapmaktır. Toplum için ortak hedefleri; eğitim ve açık kaynağa teşvik etkinlikleri yapmaktır.
Yazılım Kulübü ACM Student Chapter bünyesinde belli periyotlarla ve belli Java konuları ile Fırat Teknokent sponsorluğunca düzenlediğimiz ve sürekliliği hedeflenen eğitimlere başlamış bulunmaktayız. Bu eğitimlere paralel, 1 veya 2 ay ara ile uzman kişilerce düzenlenecek 1 veya 2 günlük etkinlikler, sürekli eğitimlerden hariç farklı teknolojilerin konu olacağı ve Fırat JUG ‘un her ay düzenlemesi gereken sürekli etkinlikler olacaktır.
Batuhan ÇIKRIKÇI Yönetim Kurulu Başkanı
Yazılım Kulubu ACM Student Chapter
1
Acm -W
Gizem ERDOĞDU Mekatronik Mühendisliği / ACM -W Kurul Başkanı
Association for Computing Machinery (ACM), bilgisayar bilimi ve teknolojisiyle ilgilenen en eski ve alanında ilk kuruluşlardan biridir. Bilgisayar dünyasına yönelik dünyanın en büyük kütüphanesini üyelerine sağlar. Yayınlar, konferanslar ve kariyer kaynakları ile hizmet vermektedir.
Bu kararı verdiğinde ailesinin tepkisi “Yapamazsın! Sonra insanlar senin garip birisi olduğunu düşünecekler, evlenemeyeceksin!” Sonuçta ne mi oldu? Baum’un bu soruya cevabı: “Beni isteyen birini buldum. Evlendik, çocuklarım var ve de her şey yolunda.”
Peki ACM-W nedir?
ACM-W, bilgisayarı ve teknolojiyi sadece erkeklerin algılayabildiği kadınların anlamadığı saçmalığını ortadan kaldırmayı amaçlar.
ACM-W, bilişimde kadınlar konusunu alır. Özellikle bilgisayar dünyasında kadın kariyerinin güçlendirilmesini hedefler. Yaptığı eğitici etkinliklerle teknolojide yaratıcılık ve özgüven kavramlarını bütünleştirir.Hitap ettiği kitleye yani kadınlara bilgisayar ve bilişim dünyasının kapılarını açar. Sadece bilgisayar alanına değil mühendislik mesleğindeki cinsiyet farkını kaldırmaya yönelik çalışmalar yapar.
Mühendisliğin kadınlara göre evlenmemek için bir neden olmadığı konusunda bilinçlendirir. İleri gelen iş kadınları ile iletişim kurma, konferans düzenleme, söyleşi yapma olanağı sağlar.Bu sektörde kadınların çalışma koşullarını düzenleme, iş koşullarının iyi-leştirilmesi projeleri ile sınırları genişletmek ister.
Dünyada mühendislik sektöründe kadın nüfusu sadece %11.Dünya çapında en hızlı büyüyen teknolojiyle yakından ilgili mühendislik sektöründeki bu cinsiyet eşitsizliği uçurumunun istatiksel gözler önüne serilişi bu rakam.
Sizde teknoloji ve bilim dünyasına daha yakından dahil olarak kendinizi geliştirmek istiyor ve bu cinsiyet ayrımını ortadan kaldırmak istiyorsanız kulübümüzü tercih edebilirsiniz
Önyargılı teşvikler, toplumsal kavram kargaşası ve rol modelleri kadınları mühendislikten iter.
Son alarak bir blogda rastladığım ve çok sevdiğim bir sözü sizlerle paylaşacağım: Anything he can do, she can do too!
Bunun en bariz örneği Dr.Eleanor Baum. Baum, mühendislik okumak isterken birçok okul tarafından reddedildiği halde vazgeçmeyip ilk kadın mühendis öğrenci olmuştur.
2
<script/> Kasım 2013
Kulüpten Haberler
Kulüpten Haberler Fırat Üniversitesi Yazılım Kulübü ACM Student Chapter olarak 2013-2014 yılının ilk etkinliğini 1 Kasım da düzenlediğimiz Özgür Yazılım ve Linux Semineri ile gerçekleştirdik..
Fırat Üniversitesi Yazılım Kulübü ACM Student Chapter ailesine yeni katılan üyelerimizin tanışması ve kaynaşması için seminerden sonra eğitmenlerin de katılımıyla Beyzade Restaurant da bir akşam yemeği düzenledik.
Seminerimize Çanakkale Onsekiz Mart Üniversitesi’nde Öğretim Görevlisi Dr. Necdet Yücel ve Gamegos’da Linux System Administrator olarak görev yapan Kaan Özdinçer konuşmacı olarak katıldı.
2013-2014 döneminin startını verdiğimiz bu etkinliklerden sonra katılmak isteyen arkadaşlarımızla beraber Türkiye’de ikinci olan ACM-Woman, Basın Yayın, Dergi, Halkla İlişkiler ve Sosyal Etkinlikler, Teknik Etkinlikler ve Yarışmalar ve diğer idari kurullarımızı da belirleyerek ekiplerin koordinatörleriyle ilk toplantısını gerçekleştirmesini sağladık. Toplantılar da sene içerisinde neler yapılabileceği konusunda, ne tür etkinliklerin-seminerlerin faydalı olacağı konusunda bilgi alışverişinde bulunduk. Bu sene kulüp olarak seminerlerin, eğitimlerinin yanı sıra eğlenceli sosyal aktivitelerin de yapılması kararı alındı.
Etkinlik öğrencilerin yoğun katılımıyla Fırat Üniversitesi Bilgisayar Mühendisliği Kongre Merkezinde gerçekleştirildi.
Unutmadan! Hem eğlendiren hem öğreten bir ekip olan Yazılım Kulübü olarak eğitimlerimize başlamız bulunmaktayız.
Program Öğr. Gör. Dr. Necdet Yücel‘in konuşmasıyla başladı. Özgür yazılım hakkında şimdiye kadar merak edilen sorulara yanıt veren Yücel, yazılımı farklı yapan etkenlerin neler olduğu, Linux dağıtım şekilleri hakkındaki bilgilerini öğrencilere aktardı. Seminerin ikinci yarısında ise Gamegos’da Linux System Administrator olarak görev yapan Kaan Özdinçer konuşmacı olarak devam etti. Özgür Yazılım, web uygulamaları, yüksek yoğunluklu web uygulamalarının yönetimi konularına değinen Özdinçer, Facebook’un oyun mu yoksa web uygulaması mı olduğu sorusuna ise hem eğlenceli hem öğretici bir şekilde açıklık getirdi. Konuşmacı hocalarımızın, öğrencilerin sorularını yanıtlamasıyla etkinliğimizi sonlandırdık.
Ve son olarak Fırat Üniversitesi Yazılım Kulübü ACM Student Chapter ailesi içerisinde yer alan herkes için 2013-2014 yılının başarılılarla dolu geçmesi dileğiyle. Yazılım Kulübü ACM Student Chapter Yönetim Kurulu
Yazılım Kulubu ACM Student Chapter
3
Güvenlik
Oğuzhan ÇOŞKUN Yazılım Mühendisliği / Başkan Yardımcısı
Kablosuz Bağlantılar ve Güvenlik Çok uzun sayılmasa da bir süredir bilgi güvenliği kavramıya uğraşmaktayım. Elimden geldiğince seminer ve eğitimlere katılarak bu alanda uzmanlığımı arttırmak istiyorum. Son zamanlarda kablosuz modemlere sızma ve parola elde etmek üzerine çalışıyorum ve bu konuda bir de android rehberi yazdım. Wireless Hacking Tutorial adında uygulamam yaklaşık 2 haftadır markette. Temel bilgi olarak bu yazımda da sizlere yöntemler, teknikler hakkında teorik ve kısa da olsa teknik bilgiler vermeye çalışacağım. Kablosuz ağlar (Wireless Local Area Network) günümüz mobil ve internet dünyasında önemli bir yere sahip. Değişmeyen bir kural ise; teknoloji geliştikçe güvenlik zaafiyetleri artmaktadır.
Kablosuz ağların standart olarak kullandıkları şifreleme teknikleri vardır. Normal bir kablolu bağlantı sırasında iletim tamamen bakır kablolar üzerinden sağlanmaktadır ancak kablosuz bağlantılarda işler değişir. Kablolu bağlantıda kablonun arasına girip iletilen bilgiyi elde etmek elbette zordur. Kablosuz bağlantılarda iletim sırasında verinin güvenliğini korumak için paketi şifrelerler ve bu paketler yabancı kişilere geçse bile şifrenin kırılıp doğru bilgiye ulaşılması zordur. Kablosuz modeme bağlantı sırasında da yine bu şifreli alışveriş meydana gelir. Bu alış veriş sonucunda kablosuz ağa katılmak isteyen kişi doğru anahtarı girerse kablosuz modem bu bağlantıyı onaylar ve trafiğe izin verir. İşte cracker bu devrede işe girer.
4
<script/> Kasım 2013
Cracking, (Şifre kırma işlemi), kablosuz ağlara saldırı konusunda yazılmış araçları kullanarak şifreli paketleri elde etmek ve yine belirli araçlarla bu şifreli veriden temiz bilgiyi çıkarma işlemidir. Saldırganın dahil olmak istediği kablosuz ağa uyguladığı adımlar şöyledir; • Ağı belirleme • Keşif ve önemli bilgiler • Ağı dinleme • Yakalama • Cracking Şimdi bu adımları inceleyelim; Şimdi bu adımları inceleyelim; Ağı belirleme işlemi, saldırganın çevresindeki ağları gözetleyip kendisine en yakın olan ağlar arasında ve şifreleme türüne göre bir seçim yapma işlemidir. Şifreleme türüne göre nasıl seçim yapılır? Sorusunun cevabı ise; yeni teknoloji şifreleme türleri WPA/WPA2 gibi kırmak için uzun zaman gerektiren ve uzun hanelerden oluşan şifreleme türleridir. Örneğin; WEP şifreleme türü 64 bit şifreleme türüdür ve max. 8 karakter şifreleme içerir ancak günümüzde WEP şifreleme türünün 40 bit halini yani 5 karakter içeren türü kullanılmaktadır. Bu da saldırgan için eğer çevrede WEP ile şifrelenmiş bir kablosuz ağ trafiği görüyorsa bu trafik daha avantajlıdır. Ağa girmek kolay olacaktır. Keşif ve önemli bilgileri elde etmek için, saldırgan belirlediği ağın bu konuda uzman araçlarla bilgilerini alır. Bu bilgiler ağın fiziksel adresi, yayın yaptığı kanal, ağın görünen adı gibi bilgilerdir. Ağı dinleme işlemi, biraz sabır isteyen bir iştir. Keşif sırasında aldığımız önemli bilgileri kullanarak ağı sabırla dinlemeniz gerekmektedir. Kullandığımız araç ağı dinleyerek ağdan iletilen şifreli trafikte bu ağa ait anahtarı bulmaya çalışacaktır. Bu sırada bu verilerin hepsine ulaşmak mümkündür. Yakalama işlemi bu iş sırasında en haz verici taraftır. Artık uzun uğraşlar sonucu şifreli anahtarı elde ettik ancak bundan sonra da ayrı bir macera başlayacak. Cracking olayı..
Güvenlik
Cracking, artık anahtarı elde ettik ancak şifreli. Bu şifreli veriyi çözersek dahil olmak istediğimiz kablosuz ağın anahtar parolasını biliyoruz demektir. Bu şifreli veriyi çözmek içinde şifreleme türlerine göre metodlar vardır. Eğer şifreli veri bir WEP şifreleme ile şifrelenmişse başta da söylediğimiz gibi bu şifreyi kırmak, kullanılan araçlara göre 2 3 dakikada çözülebilir. Ancak bir WPA şifreleme türü ise bunun için çözüm olarak bir wordlist kullanmamız gerekecektir. Wordlisti kendimizde hazırlayabileceğimiz gibi farklı kaynaklardan profesyonel hazırlanmış wordlistlerde elde edebiliriz. Örnek olarak m3g9tr0n wordlisti yaklaşık 1gb boyutunda ve ihtimaller daraltılarak hazırlanmış bir wordlisttir. Buna alternatif bir çok profesyonel olarak hazırlanmış wordlistler vardır ancak bir wordlist hazırlamak tüm ihtimalleri gözettikçe boyutun terabyte lara ulaşması demektir. Bu da Büyük-küçük-rakam-işaret kullanarak ve 8 karakterden daha uzun oluşturulmuş bir parolanın elde edilmesinin sıradan bir 4 çekirdek makinayla bile aylar sürebilme ihtimalini gösterir.
Sonuç olarak güzelim ülkemin insanlarının telefona, facebooka, twitter a, modeme, kablosuz ağa sırf unutmamak için aynı şifreyi koyayım, şifre basit olsun, unuturuz sonra, samsun55, elazig23, kartal1903, gibi parolaları kullandıkları sürece bilgi güvenlikleri alt seviyede olacaktır ve saldırganlar tarafından elde edilebilecektir. Güvenlik alanında kendimi bir öğrenci olarak görüyorum ve hocalarımın sözünü iletiyorum: “Lütfen bu bilgileri insanlara, çevreye zarar vermek için kullanmayınız. Aksine bilinçlenmek ve çevrenizdekileri bilinçlendirmek için kullanınız.”
Teşekkür..
Yazılım Kulübü ACM Student Chapter olarak 2013-2014 akademik yılında başlatmış olduğumuz sürekli eğitimlere verdikleri desteklerden dolayı Fırat Teknokent Müdürü ve Bilgisayar Mühendisliği Bölüm Başkanı
Prof. Dr. Erhan AKIN ve
Fırat Teknokent A.Ş. Yönetimi’ne teşekkür ederiz.
Yazılım Kulubu ACM Student Chapter
5
Makale
Barış ARIBURNU Yazılım Mühendisliği / Başkan Yardımcısı
Routing Algoritmaları Yönlendiriciler, paketleri ‘nereye ve nasıl’ gönderecekleri ile ilgili kararları almak için ağ durumu hakkında bazı bilgilere ihtiyaç duymaktadır. Ama bu bilgileri nasıl toplamaktadır? Bu makalede, paket gönderilmesi sırasında yönlendirici tarafından kullanılan bilgileri net olarak açıklamaya çalışacağım. Temel Bilgiler Yönlendiriciler, bir hedefe giden en iyi yolu bulmak için yönlendirme algoritmalarını kullanır. En iyi yol dediğimiz zaman, atlama sayısı (Paketin, bir yönlendirici veya ara noktadan ağdaki başka bir noktaya gitmek için gereken yolculuk), zaman gecikmesi ve iletişim, paket iletim maliyetleri göz önüne alınır. Yönlendiriciler en iyi rotayı belirlemek için; ağ yapısı hakkında bilgi edinmesi ve bu bilgi analizinin nasıl yapılacağını bilmesi gerekir. Bu amaçla kullanılan iki büyük yönlendirme algoritması vardır: Global Routing Algorithms (Küresel Yönlendirme Algoritması) ve Decentralized Routing Algorithms (Merkezi Olmayan Yönlendirme Algoritması). Decentralized routing algoritmasında; her yönlendirici, kendisine doğrudan bağlı olan yönlendiriciler hakkındaki bilgilere sahiptir – ağdaki her yönlendirici hakkında bilgiye sahip değildir. Bu algoritmalar da DV (Uzaklık Vektörü) algoritmaları olarak bilinir. Global routing algoritmasında; her yönlendirici, ağdaki diğer tüm yönlendiriciler ve ağ durumu hakkında tam bilgiye sahiptir. Bu algoritmalar aynı zamanda LS (Bağlantı Durumu) algoritmaları olarak bilinir.
LS algoritmalarında, her yönlendirici şu adımları takip etmelidir.
2- Komşu yönlendiriciler için gecikme süresi (veya ağın herhangi bir önemli parametresi, ortalama trafik vs gibi) hesaplanır. Her yönlendirici, bu yankı istem paketi ile bu paketlerin cevaplarını alır.
1- Fiziksel olarak bağlı olan yönlendiriciler belirlenir ve IP adresleri alınır. Bir yönlendirici çalışmaya başladığında, ilk iş olarak ağ üzerinde ‘HELLO’ paketi gönderir. Her yönlendirici bu paketi alır ve IP adresini içeren bir mesaj ile cevap verir.
Gidiş-dönüş süresini 2’ye bölerek, yönlendiricilerin gecikme süresini hesaplayabilirsiniz. (Gidiş-dönüş süresi, bir ağ üzerinde anlık gecikme ölçüsüdür.) Bu sürenin iletim ve işlem sürelerini içerdiğini unutmayın.
LS Algoritması
6
<script/> Kasım 2013
Bu adımda, kısaca tüm yönlendiriciler bilgilerini paylaşır ve birbirlerine bilgi yayınlar. Bu şekilde, her yönlendirici ağ yapısı ve durumu hakkında bilgi sahibi olur. 4- Uygun bir algoritma kullanarak, ağın iki düğümü arasında en iyi rota belirlenebilir. Bu adımda, yönlendiriciler her düğüm için en iyi yolu seçer. Yönlendiriciler, Dijkstra Shortest Path Algorithm (Dijkstra En Kısa Yol Algoritması) olarak bilinen algoritmayı kullanır.
3- Yönlendirici, (tüm düğümler için) durum kayıt kümesinin paremetrelerini başlatır. Uzunluğunu ‘infinity’ ve etiketi ‘tentative’ olarak ayarlar. 4- Yönlendirici bir T-node ayarlar. Örneğin; V1 kaynak T-node olduysa, yönlendirici V1’in Label alanını ‘Permanent’ olarak değiştirir.
Makale
3- Diğer yönlendiriciler için ağ üzerinden bilgi yayınlanır ve diğer yönlendiricilerin bilgileri alınır.
Bir etiketi ‘Permanent’ olarak değiştirdiyse, bir daha asla değiştirmez. 5- Yönlendirici tüm geçici düğümler için belirlenen durum kayıtlarını günceller. Bu güncelleştirmeler, kaynak T-node’una doğrudan bağlıdır. 6- Yönlendirici geçici tüm düğümlere bakar ve V1 için ağırlığı en düşük olanı seçer. Bu düğüm, sonra hedef T-node’dur. 7- Bu düğüm V2 değilse (istenilen hedefe), yönlendirici 5. adıma geri gider.
Bu algoritma, yönlendirici tarafından diğer yönlendiricilerden toplanan bilgileri temel alarak çalışır. Bu graph yapısı, ağ içindeki yönlendiricilerin konumu ve bağlantılarını göstermektedir.
8- Bu düğüm V2 ise, yönlendirici durum kayıtçısı kümesinden bir önceki düğümü ayıklar ve bunu V1’e gelene kadar yapar. Bu düğüm listesi V1’den V2’ye kadar olan en iyi yolu gösterir. Dijkstra Algoritması Örnek;
Her bağlantı ağırlık veya maliyet adı verilen bir numara ile etiketlenir. Bu sayı gecikme süresi fonksiyonu, ortalama trafik ve sadece bazen düğümler arasındaki atlama sayısıdır. Örneğin; bir düğüm ve bir hedef arasında iki bağlantı varsa yönlendirici en az ağırlıkla bağlantılı olanı seçecektir. Adım Adım Dijkstra Algoritması; 1- Yönlendirici, ağın graph yapısını oluşturur. Kaynak ve hedef düğümlerini tanımlar. Örneğin; V1 ve V2 düğümü. Sonra bir matris oluşturur ve ‘Adjacency Matrix’ (Bitişiklik/Komşuluk Matrisi)’ni çağırır. Bu matris bir koordinat ağırlığını belirtir. Örneğin; [i,j], Vi ile Vj arasındaki bir bağlantı ağırlığıdır. Vi ve Vj arasında doğrudan bir bağlantı yoksa, bu ağırlık ‘infinity/sonsuz’ olarak tanımlanır. 2- Yönlendirici ağ üzerinde her düğüm için bir durum kayıtçısı oluşturur. Kayıt 3 alan içerir. - Predecessor Field / Öncül Alan; İlk alan, bir önceki düğümü gösterir. - Lenght Field / Uzunluk Alanı; İkinci alan, kaynak düğüm için ağırlıkların toplamını gösterir. - Label Field / Etiket Alanı; Son alan, düğümün durumunu gösterir. Her düğüm bir durum moduna sahip olabilir: ‘Permanent / Sürekli’ veya ‘Tentative / Geçici’
Burada A ve E arasındaki en iyi rotayı bulmak istiyoruz. A ve E arasında 6 olası yol olduğunu görebilirsiniz. (ABE, ACE, ABDE, ACDE, ABDCE, ACDBE) Burada ağırlığı en düşük olduğu için ABDE yolunun en iyi yol olduğu açıktır. Ama hayat her zaman o kadar kolay değildir. Ve bazı karmaşık durumlar var ki, biz en iyi yolu bulmak için algoritmalar kullanmak zorunda kalırız 1- İlk resimde görüldüğü gibi, kaynak düğüm (A) T-node olarak seçildi ve onun etiketi kalıcı olarak ayarlandı. Dolu daireler ile kalıcı düğümleri, --> sembolü ile de T-node’ları gösteriyoruz. 2- Sondaki adımda; durum kayıtçısında T-node’a doğrudan başlı geçici düğüm (B, C) ayarlarının değiştirildiğini görüyoruz. B düğümünün ağırlığı daha azdır. Bu yüzden B düğümü, T-node olarak değişmiştir ve etiketi kalıcı hale getirilmiştir.
Yazılım Kulubu ACM Student Chapter
7
Makale
Dv Algoritmaları DV algoritmaları, Bellman-Ford ve Ford-Fulkerson yönlendirme algoritmaları olarak da bilinir. Bu algoritmalarda, her yönlendiricinin bir yönlendirme tablosu vardır. Bu herhangi bir hedef için en iyi yolu gösterir.
3- Bu adımda, durum kayıtçısı T-node’a doğrudan bağlı olan geçici düğümleri (D,E) bulur ve değiştirir. Ayrıca ağırlığı daha az olduğu için T-node olarak değiştirir ve etiketini kalıcı hale getirilir.
4- Bu adımda da, herhangi bir geçici düğüm yoktur. Bu yüzden sadece bir sonraki T-node belirlenir. En az ağırlığa sahip olan E düğümüdür. Bu düğüm de T-node olarak değiştirilir. Son olarak E hedef olduğu için burada durur.
Tabloda görüldüğü gibi, J yönlendiricisi, D yönlendiricisindeki paketleri almak istiyorsa, paketlerin H yönlendiricisine gönderilmesi gerekir. Paketler H yönlendiricisine geldiğinde, kendi tablosunu denetler ve paketlerin D’ye nasıl gönderileceğine kadar verir. DV algoritmaları, şu yönlendirme adımlarını takip eder: 1- Bu adımda, doğrudan bağlı bağlantıların ağırlıkları sayılır ve tabloya bilgiler kayıt edilir. 2- Belirli periyotlarla, komşu yönlendiricilet (tüm yönlendiriciler için geçerli) kendi tablolarını gönderir ve komşularının her yönlendirme tablosunu alır. 3- Komşularının yönlendirme tablolarındaki bilgilere dayanarak, kendini günceller. DV algoritmaları ile ilgili en önemli sorunlardan biri ‘count to infinity / Sonsuz döngü’ denir. Bir örnek ile bu sorunu inceleyelim.
İşlemin sonuna geldik. Şimdi yol belirlemek zorundayız. E’den bir önceki düğüm D, D’den bir önceki düğüm B, B’den bir önceki düğüm A. Bu yüzden en iyi yönlenme ABDE. Bu durumda toplam ağırlık: 4 (1+2+1). Her ne kadar bu algoritma iyi çalışsa da biraz karmaşık ve yönlendirme için çok uzun zamana ihtiyaç duyabiliyor ve ağ etkinliği başarısız olabiliyor. Ayrıca, eğer bir router, diğer yönlendiriciler için yanlış bilgi verirse, tüm yönlendirme kararları etkisiz olacaktır.
8
<script/> Kasım 2013
Aşağıda gösterildiği gibi graph yapısı olan bir ağ düşünün. Bu graph’da görüldüğü gibi, A ve ağın diğer parçaları arasında tek bir bağlantı vardır. Burada graph ve tüm düğümlerin yönlendirme tablosunu görebilirsiniz:
C, A ve B arasındaki bağlantıya ne olduğunu bilmiyor ve A'ya 2 ağırlığı olan bir bağlantı olduğunu söylüyor. (C'den B'ye 1 ve B'den A'ya 1 ağırlık – B'den A'ya herhangi bir bağlantı olup olmadığını bilmiyor) B bu tabloyu alıyor ve C ile A arasında ayrı bir bağ olduğunu düşünüyor.
Ağ boyutu büyüdükçe, ağdaki yönlendirici sayısı artırılır. Sonuç olarak tablolar artar, durum böyle olunca yönlendiriciler ağ trafiliğini verimli biçimde işleyemez. Bu sorunun üstesinden gelmek için hiyerarşik yönlendirme kullanılır. Bir örnek ile bu konuyu da inceleyelim.
Makale
Şimdi A ve B arasındaki bağlantının kesildiğini düşünün. Şu anda, B kendi tablosunu düzeltir. Belirli bir zaman sonra, yönlendiriciler tablolarını değiştirir ve böylece B, C'nin yönlendirme tablosunu alır.
Bu yüzden tablosunu düzeltiyor ve sonsuz değeri, 3 ağırlık olarak değiştiriyor. (B’den C’ye 1 ve C’den A’ya 2 – C’nin söylediği gibi) Bir kez daha yönlendiriciler, tablolarını değiştirir. C, B’nin yönlendirme tablosunu aldığında, B ile A arasındaki bağlantı ağırlığının 1’den 3’e değiştiğini görür. Bu yüzden C tablosunu günceller ve A ile arasındaki ağırlığı 4 olarak değiştirir. (C’den B’ye 1 ve B’den A’ya 3 - B’nin söylediği gibi) Tüm düğümler, A’nın bağlantı ağırlığının sonsuz olduğunu öğrenene kadar bu işlemi sürdürür. Bu durum aşağıdaki tabloda gösterilmiştir. Bu şekilde, uzmanlar, DV algoritmalarının ‘slow convergence rate / yavaş yakınsama oranı’na sahip olduğunu söylüyorlar.
Düğümler arasındaki en iyi yolları bulmak için DV algoritmasını kullandık. Aşağıda gösterilen durumda, ağın her düğümü 17 kayıtlı bir yönlendirme tablosu kaydetmek zorundadır. Yanda A için bir graph ve yönlendirme tablosu var. Hiyerarşik yönlendirme, yönlendiricileri ‘regions / bölge’ olarak bilinen grupta sınıflandırır. Her yönlendiricinin sadece kendi bölgesindeki yönlendiriciler hakkında bilgisi vardır ve diğer bölgelerdeki yönlendiriciler hakkında bilgisi yoktur.
Yönlendiricilerin komşularına bilgi gönderirken yaşadıkları sorunlardan sadece biridir. Örneğin; bu durumda C, A hakkında B’ye bilgi göndermemelidir. Çünkü B, A için tek yoldur. Hiyerarşik Yönlendirme Gördüğünüz gibi, LS ve DV algoritmalarında, her yönlendirici diğer yönlendiriciler ile ilgili bazı bilgileri kaydetmek zorundadır. Bu yüzden yönlendiriciler, her bölge için kendi tablosunda sadece bir kayıt tutar. Bu örnekte, ağımızı 5 ayrı bölgeye sınıflandırdık. A, 2. bölge içerisindeki herhangi bir yönlendiriciye (D,E,F,G) paket göndermek isterse, paketi B’ye gönderir. Göndüğünüz gibi, bu tür bir yönlendirme de tablolar özetlenebilir. Bu şekilde ağ verimliliği geliştirilir.
Yazılım Kulubu ACM Student Chapter
9
Makale
Yukarıdaki örnekte 2 seviyeli hiyerarşik yönlendirme gösterilir. Ayrıca 3 veya 4 seviyeli hiyerarşik yönlendirme de uygulayabiliriz.
Hiyerarşik yönlendirme, internet yönlendirmesinde yaygın olarak kullanılır ve çeşitli yönlendirme protokolleri kullanır.
Github yapısı kullanılarak web geliştiricilerin, daha hızlı ve daha modern yapılar oluşturmasını sağlamak amacıyla ortaya çıkan (framework) kütüphanedir. Twitter tarafından Apache v2.0 lisansı ile açık kaynak hale getirilmiştir. Bootstrap, ortalama HTML ve CSS bilgisi olan herkese web sayfası tasarlama imkanı vermektedir. Bu kütüphane desteğiyle daha şık formlar, açılır menüler, butonlar, tablolar ve diğer arayüz bileşenlerini projenize ekleyebilirsiniz.
10
3 seviyeli hiyerarşik yönlendirme de, ağ ‘number of clusters / küme dizisi’ halinde sınıflandırılır. Her bir küme, bir bölge dizisi oluşturur ve her bölge bir numara veya yönlendirici içerir.
Twitter gibi dünyaca ünlü ve şimdiye kadar olumsuz tasarım eleştirisi almamış bir sistemin tasarımı alt yapı olarak alınmıştır. jQuery kütüphanesini ekleyerek .js üzerinden istediğiniz modülü çok rahat bir şekilde kullanma olanağına sahipsiniz.
Bootstrap’da IDE ihtiyacı duymazsınız. Notepad ve notepad++ gibi kelime işleme programlarını kullanarak hemen geliştirme yapmaya başlayabilirsiniz.
HTML5’in tüm özelliklerini desteklemektedir. Diğer bir deyişle, varsayılan tüm HTML kodları yeni nesil arayüzlere göre tasarlanmıştır. Tüm CSS kodları kütüphane içerisinde tanımlı olmakla birlikte, geliştiriciye tam anlamıyla CSS hakimiyeti sağlamaktadır.
Bootsrap; Chrome, Opera, Firefox 4+, Safarı ve Internet Explorer tarayıcılarının mevcut versiyonları tarafından desteklenir.
Bootstrap resmi sayfasına http://getbootstrap.com adresinden ulaşabilirsiniz. Bootstap’a örnek ise kulübümüzün web sayfasını gösterebiliriz
<script/> Kasım 2013
Java
Batuhan ÇIKRIKÇI Yazılım Mühendisliği / Yönetim Kurulu Başkanı
Java Platform Enterprise Edition 7 Java Platform Enterprise Edition (Java EE) toplum odaklı kurumsal yazılım standartıdır. Java EE; sektör uzmanları, ticari ve açık kaynak kodlu kuruluşlar, (JUG(Java User Gruops)) Java Kullanıcı Grupları ve sayısız bireyin katkılarıyla JCP(Java Community Process) bünyesinde geliştirilmiştir. Her sürüm; sanayi ihtiyaçlarına uygun yeni özelliklerle entegre olarak, uygulama taşınabilirliğini ve geliştirici verimliliğini artırarak yayınlanır. Günümüzde, JavaEE 6; 19 farklı implementasyonu ile düşük riskli ve zengin bir kurumsal yazılım platformu sunuyor. Geçtiğimiz Haziran ayında kararlı sürümü yayınlanan Java EE 7 ile HTML5 desteği, geliştirici verimliliğini artırıcı ve daha kurumsal yapıları karşılayan yeni özellikler eklenmiştir. Java EE 7 geliştiricilerin daha az klişe kodları yazması, en son web uygulamaları ve çerçeveleri için daha iyi destek, gelişmiş ölçeklenebilirlik, daha zengin ve işlevselliğe basit erişim sağlar.
Endüstri standartlarında JSON işleme ve asenkron RESTful Web Servisleri (JAX-RS 2.0) aracılığı ile çok daha fazla eşzmanlı kullanıcı destekleyenveri ayrıştırma ve değiştirme hizmeti sunar. Geliştirici verimliliğine daha fazla artış sağlamak amaçlı entegre bir platform ile basitleştirilmiş uygulama mimarisi sağlar.
Java Message Service(JMS) 2.0 güncellemeleri ile önemli mesajları göndermek ve almak, Context and Dependency Injection(CDI) bean desteği de kullanılabilirliği artırmak amaçlı tasarlanmıştır. Java EE 7’nin tüm yeni özellik ve yetenekler tam listesini aşağıda verilmiştir. Java EE 7 ile uygulama geliştirmek için kullanabileceiğiniz popüler IDE’ler arasında Netbeans 7.3.1+, Eclipse Kepler+ ve IntelliJ IDEA 13 bulunmaktadır.
Toplum odaklı yazılım geliştirme standartı Java EE 7; Java Community Process(JCP) ve GlassFish topluluğu içinde 30'dan fazla şirket ve yüzlerce mühendisin işbirliği ile inşa edilen endüstri çapında bir gelişimin sonucudur. Java EE 7 düşük gecikmeli WebSockets ile çift yönlü iletişim yanıt sürelerini azaltan, HTML5 uygulamaları oluşturmayı kolaylaştıran ölçeklenebilir bir altyapı sunar.
Application Server için Java EE 7 reference implementation olarak sunulan GlassFish 4 ve piyasada henüz Beta sürümü bulunan, 18 Aralık 2013 tarihinde karalı sürümü yayınlanacak, bir sonraki sayımızda da bahsedilecek olan, şirket adı ile karıştırılmasından dolayı yeni bir isim verilen Wildfly yani Jboss Application Server 8 mevcuttur. Java is everywhere..
Yazılım Kulubu ACM Student Chapter
11
Java
En Popüler Java EE 6 Sunucuları;
Java Gerçekleri;
Jboss AS GlassFish IBM Websphere Apache Geronimo Oracle Weblogic GlassFish
Açık kaynak ve ticari teklifler dahil olmak üzere Java EE bileşenlerinin 50 milyondan fazla indirilmesi, 18 Java EE 6 uyumlu uygulama sunucusu, dünya çapında 9 milyon geliştirici ve 3 milyardan fazla Java Teknolojileri ile çalışan cihaz vardır. Java güçleniyor...
Teknoloji
Version
JSR
Web Uygulama Teknolojileri Java API for WebSocket
JSR356
Java API for JSON Processing
JSR353
Java Servlet
3,1 JSR340
JavaServer Faces (JSF)
2,2 JSR344
Expression Language (EL)
3 JSR341
JavaServer Pages (JSP)
2,3 JSR245
JavaServer Pages Standard Tag Library (JSTL)
1,2 JSR52
Enterprise(Kurumsal) Uygulama Teknolojileri Batch Applications for the Java Platform Concurrency Utilities for Java EE
JSR352 1 JSR236
Contexts and Dependency Injection for Java Dependency Injection for Java
1,1 JSR346 1 JSR330
Bean Validation
1,1 JSR349
Enterprise JavaBeans (EJB)
3,2 JSR345
Interceptors
1,2 JSR318
Java EE Connector Architecture
1,7 JSR322
Java Persistence API (JPA)
2,1 JSR338
Common Annotations for the Java Platform
1,2 JSR250
Java Message Service API
2 JSR343
Java Transaction API (JTA)
1,2 JSR907
JavaMail API
1,5 JSR919 Web Servis Teknolojileri
Java API for RESTful Web Services (JAX-RS)
2 JSR339
Implementing Enterprise Web Services
1,3 JSR109
Java API for XML-Based Web Services (JAX-WS)
2,2 JSR224
Web Services Metadata for the Java Platform
JSR181
Java API for XML-based RPC (JAX-RPC) (Optional)
1,1 JSR101
Java APIs for XML Messaging
1,3 JSR67
Java API for XML Registries (JAXR)
1 JSR93
Yönetim ve Güvenlik Teknolojileri
12
Java Authentication Service Provider Interface for Containers
1,1 JSR196
Java Authorization Service Provider Contract for Containers
1,5 JSR115
<script/> Kasım 2013
Yazılım Mühendisliği (UOLP) / Üye
İnternette ne yapılabilir.? Mesela kendinize kiralık bir katil tutabilir misiniz.? Burada silah veya uyuşturucu ticaretinden, gizli devlet bilgilerine hatta bomba yapımına kadar her bilgi mevcut. İnternet hakkındaki tüm bildiklerinizi unutun. DeepWeb veya UnderNet olarak adlandırılan olay; bizim Google veya çeşitli arama motorlarıyla eriştiğimiz siteler dışında bize çok daha farklı bir dünya sunuyor. Mevcut sanal ortamın sadece %10’luk bir kısmını kullandığımızı bilen kaç kişiyiz.? Karanlık sanal dünya öyle bir yer ki kendilerine ait para birimleri bile var. Evet, burada kendinize bir tank bile alabilirsiniz. Bitcoin (para birimleri) Peki bu parayla ne yapılabilir.? “1 Bitcoin=218$” Eroin, kokain, değerli esrar tohumları gibi bir çok uyuşturucu madde satımı. Wikileaks’in de ulaştığı gibi aynı ortamda bulunabilen bir çok devlet sırrı. Her türlü pornografik içerik. Bir çok chat ve bilgi paylaşılan forum odası (burada masum şeyler beklemeyin) Belki size şaka gelebilir ama suikastçıların uğrak mekanı DeepWeb. Piyasasıda zenginler için 200.000$, politikacı veya haberciler için ise 150.000$ civarı bir para isteniyor. Ayrıca %50 peşin %50’si de iş bittikten sonra. Rivayete göre 5 kişilik emekli asker timi bu görevi yapıyor. İstemediğiniz kadar Hacker bu sistemde görev alıyor. Sosyal paylaşım sitelerinden 0.katmanda ki web sitelerine kadar her şeyi kırabilir veya işlemez hale getirebilirler. Ve bu bilgi ücretsizdir. Silah tüccarlarıyla çok iyi dost olabilirsiniz. Özel yapım silahlar ve ağır silahlarda burada mevcut. Ülkesel çaptaki Terörist gruplarının anlaşma ve haberleşme mekanı olarak bile kullanılıyor. Bomba, mayın gibi malzemeleri yapabileceğiniz dersler bile var. Üstelik 0.3 bitcoin. İnsanlığın utancını gösterir şekilde yapılan deneyler. Bunlar canlı, evsiz veya fakir insanlar üzerinde deneniyor.
Deep Web
Ahmet Furkan AYDOĞAN
Ve siz kataloglar ve bitcoin yardımıyla kendinize bir denek bile beğenebiliyorsunuz. Burada eski nazi veya ülke deneylerinide görebilirsiniz. Hırsızlar. Hemde videosuyla beraber istediğiniz herşeyi çalabilirler. Sahte pasaport, vize veya ehliyet. Ve bunlar sadece katman 3 ve 4’te. Bu zamana kadar ismini dahi duymadığınız bu olay otoriter sistemin bundan haberimizin olmamasını istediği içindi. Haksızda sayılmazlardı. Çoğu yasadışı veya kontrol edilemeyen içeriklere sahip milyonlarca site mevcut. Ve bu suç ortaklığına kimsenin katılma niyetide bulunmuyor. Tüm bunlara rağmen DeepWeb içeriğinde bir çok döküman, e-kitap, torrent arşivi, kişisel bilgi, fotoğraflar, forumlar bulundurmakta. Şöyle düşünün internet olarak adlandırdığımız sanal ortam 5 katmandan oluşuyor. Bizim kullandığımız katman 0’ı oluşturur. E-posta servisleri 1.katman, 2. Katman ise ftp serverlerden oluşur. Seviye 3 ise DeepWeb’ten oluşmaktadır. DeepWeb’in devamı olarak 4. katmanı düşünebilirsiniz. 5. katman ise MarianasWeb dediğimiz içerisinde ne kadar veya ne çeşit bilgilerin olduğunu bilmediğimiz bölgedir. Peki bu sitelere nasıl erişirim dediğinizi duyar gibiyim. Onların Google motoru varsa bizimde TorBrowser‘ımız var demek uygun olabilir. TorBrowser ile .onion uzantılı siteleri bulmamız gerekiyor. Ve buradaki mevcut sitelerin bulunduğu bir kütüphane haline gelmiş HiddenWiki adresini kullanabilirsiniz sanırım tam karşılığı “7jguhsfwruviatqe. onion”. Ama önce TorBrowser yükleyin. Yukarıda da gördüğünüz üzre siteler 16 harf veya harf-rakam karışık biçimde oluşur. Ve sonlarında .com veya .org değilde .onion bulunur. Son olarak şunları bir insan olarak söyleme ihtiyacı hissediyorum. Görecekleriniz bir insan için çok ağır gelebilir. Ancak bunları yapanlarında insan olduğunu unutmayalım. Siz en iyisi size gerekli yerleri alın. Sadece bilginiz olsun bu olaya daha fazla bilgi katmayın.
Yazılım Kulubu ACM Student Chapter
13
Röportaj
Mehmet KAYKISIZ Yazılım Mühendisliği / Denetleme Kurulu Üyesi
PostgreSQL Efsanesi: Devrim GÜNDÜZ Akademik Bilişim ‘13 etkinliğinden geçtiğimiz yıl geç de olsa haberimiz oldu. Hangi eğitime gitsek diye düşünürken parlak fikirli biri; ‘PostgeSQL’ diye haykırdı.. PostgreSQL özgür yazılım standartlarında bir veritabanı. Hatta daha fazlası.. Devrim Gündüz ise bu dünyanın önde gelen ismi. Bizler, Devrim Gündüz ile Özgür Yazılım Felsefesi ve Postgres üzerine çok verimli bir etkinlik yaşadık. Bu fırsatı kaçıran okurlarımız için ise Devrim Gündüz ile sohbet havasında bir röportaj gerçekleştirdik. Merhaba Devrim Bey, Öncelikle röportaj teklifimi kabul ettiğiniz için teşekkürler. Sizinle veritabanı ve PostgreSQL üzerine güzel bir roportaj yapacağız. Öncelikle okurlarımıza kendinizden bahsedebilir misiniz? Kendi web sitemde de yazdığım gibi, “Şurada doğdum.. burada bunu yaptım. Şu işlerde çalıştım.” demeyi pek sevmiyorum :) Ancak galiba arada bir bahsetmek gerekiyor! Kısaca şunu söyleyebilirim: 1976’da doğdum. İlk bilgisayarımı 1988’de elime aldım. 1989’da ve 1992’de yazılım geliştiriyordum kendi çapımda. Mustafa Akgül hocamızın desteği ile 2002’de Özgür Yazılım seminerleri vermeye başladım. 2005 sonunda Amerika’daki bir şirkette uzaktan çalışmaya başladım. 3 seneye yakın bir süredir de EnterpriseDB’de, yine uzaktan çalışıyorum.
Sektörde PostgreSQL’in kullanım oranı nedir? Türkiye’de çok ilginç bir kullanımı var PostgreSQL’in. Oracle’ın özellikle kamudaki müthiş pazarlama baskısına rağmen, çoğunu burada dillendiremeyeceğimiz önemli projelerde PostgreSQL var.. Bir oran veremeyeceğim tabii ki. Önemli kullanıcılar arasında Türksat var ilk aklıma gelen. RTÜK ve TÜBİTAK da büyük kullanıcılar arasında. Özel sektörde de birçok yerde irili ufaklı PostgreSQL sunucuları görüyoruz. Tabii ki bunları dillendirmek zor, ne yazık ki. Yurtdışında durum daha iyi. Özellikle Kuzey Amerika ve Avrupa’da, gerek kritik kamu kurumları, gerekse bankalarda önemli kurulumlar yaptık.
Sizi PostgreSQL ile tanıştıran ve onu sevdiren etkenler neler?
6 yaşında bir oğlum var ve kendisi ile metal dinlemeyi seviyorum. Araba kullanmayı ve F1’i de seviyorum. Müzik ve spor da önemli ilgi alanlarım arasında. (Kız arkadaşım da var, merhaba canım!)
14
<script/> Kasım 2013
Bu aslında komik bir öykü: 1999’da bir proje için veritabanı kullanacaktım.MySQL ile başlamak istedim; ancak bir türlü çalışmadı. Ben de ODTÜ Bilgi İşlem’den Selçuk Han Aydın’ın o zamanlardan beri kullandığı PostgreSQL’i kurdum ve anında çalıştı. Bu şekilde başladım. Sonradan öğrendim ki Red Hat’in o zamanki MySQL paketi hatalı imiş. :)
Teknik açıdan birçok artıya sahip. Aslında Oracle’ı tahtından edecek veritabanı olarak gösterilmesi de bundan dolayı. Hiçbir veritabanında olmayan özellikleri de var. Tabii ki eksileri de var; ancak geliştiriciler bu eksileri her sene daha da fazla kapatıyorlar. Bundan 10 yıl öncesi ile karşılaştırırsak, aradaki makas daralmış durumda. PostgreSQL’in GIS tarafı da çok kuvvetli. NoSQL özellikleri, MongoDB’den daha hızlı olmasını sağlıyor. Sorgu optimizasyon motoru çok zeki. Özel veri tipleri var. Saysak sanırım onlarca sayfa çıkar. Yazılım geliştiricileri için de çok önemli özellikler taşıyor bu arada PostgreSQL. En sevdiğim tarafı da bir sorunun çözümü için birden fazla alternatif sunabiliyor olması galiba. Son olarak da güvenlik ve kod kalitesi: PostgreSQL’in kod kalitesi birçok kez ilgi çekmiş durumda. Çevrede görebileceğiniz en temiz kod tabanına sahip denebilir. Güvenlik de çok önemli PostgreSQL için. Bugüne kadar en kritik seviyede sadece 1 (bir) tane güvenlik açığı çıkması da bunun göstergesi.
Peki veritabanıyla yaşayan birisi olarak, veritabanı üzerine uzmanlaşmak isteyen okurlarımıza veritabanı yöneticiliği hakkında neler söylemek istersiniz? Sabır, matematik, okumaktan vazgeçmeme ve tabii ki PostgreSQL! PostgreSQL size hayalinizden ötesini sunuyor. Hem teknik anlamda, hem de kariyer anlamında. İyi bir veritabanı yöneticisi, aynı zamanda iyi bir sistemci olmalıdır -biraz da ağ bilgisine sahip olmalıdır. Ben sistemden anlamayan birçok veritabanı yöneticisi gördüm hiçbiri başarılı olamadı. İşletim sisteminin nasıl çalıştığı, donanımla nasıl iletişime geçtiğini bilmeniz -gerekli. Yani donanım da bilmeniz gerekli! Gözünüzü korkutmasın, aslında bunların hiçbiri zor değil.
Röportaj
PostgreSQL’in diğer veritabanlarına farkla artıları neler?
Peki Postgres ile ilgilenecek arkadaşlara önerebileceğiniz kaynaklar var mı? PostgreSQL’in kendi belgeleri eşsiz. 2000+ sayfa belge! Kendi web sitemde de Türkçe/İngilizce belgeleri yayınlıyorum ayrıca.
Postgres’in Özgür yazılım olması neleri değiştiriyor? PostgreSQL aslında özgür yazılımdan daha fazlası. Bu konu tabii ki tartışılabilir; ama PostgreSQL BSD+MIT lisanslı (= PostgreSQL lisansı) bir veritabanı sunucusu. Bu lisans sayesinde kapalı kaynak kodlu ürünler de PostgreSQL temelli geliştirilebiliyor. Tartışılacak nokta tabii ki burası geliştiriciler sizi kısıtlamıyor bu konuda. Zaten ticari pazarda ilerlememizin nedeni de tamamen budur. Özgür Yazılım olması hem güvenilirliğini arttırıyor, hem de destek imkanını arttırıyor. Katkı vermek isteyenler de istedikleri şekilde katkı verebiliyorlar. Özgür yazılımdan bahsetmişken, nerelerden para kazanılabileceği de bir merak konusu. Bizimle biraz paylaşmanız mümkün mü? Bu çok sorulan bir soru: Destek, eğitim ve benzeri şeylerden para kazanabiliyorsunuz. Özelleştirme de ayrı bir gelir kapısı olabilir. Örneğin, PostgreSQL’de olmasını istedikleri bir özellik için, firmalar geliştiricilere para veriyorlar. Son 5-6 yılda PostgreSQL’in ilerilemesinin artması da zaten bu desteklerle oluyor. Destek firmaları da kurulum, yönetim ve eğitimden çok büyük paralar kazanıyorlar. Sizin için neden veritabanı? Bu soruyu kendi kendime sorduğum zaman çok oldu :-) Galiba acı çekmeyi seviyorum ;) Şaka bir yana, belki de Matematik okuduğum içindir – liseden beri matrisleri hep sevmiştim. Ayrıca, veritabanı işinde birçok alternatif işe göre çok daha fazla “müşterim” olduğunu söyleyebilirim. Her kurumun veritabanı gereksinmesi var tabii ki. ;) Bir de, veritabanı ile uğraşırken aynı zamanda sistem, donanım ve diğer bileşenlerde de uğraşmak bana ayrı bir haz veriyor.
Antalya Akdeniz Üniversitesi Akademik Bilişim’ 13
Akademik Bilişim’13’de PostgreSQL Community’de çalıştığınızdan bahsetmiştiniz, acaba şuan ki kariyerinize nasıl ulaştığınızdan ve şuan ki iş pozisyonunuzdan bahsedebilir misiniz? Aslında, bugüne kadar kariyerimi ilerletmek için yapay şekilde davranan bir insan olmadım. Bu yüzden de süreçler hep doğal gelişti. Bugüne kadar hiçbir iş görüşmesine girmedim (Google ve Facebook hariç, oradaki durum farklı idi). Bir yandan da PostgreSQL’in ana sayfasında ana katkıcılardan birisi olarak gösterilme sürecim de benzer şekilde ilerledi. 2002’de katkı vermeye başladım web ekibine. Ardından elimi taşın altına fazlası ile sokmaya başladım (sürüm yöneticilerinden birisi olmak, web sitesi, paket yapmak...). 2005 Aralık’dan beri girdiğim tüm işyerleri de beni topluluk işlerim sayesinde buldular. Kendinizi görünür kılmak çok önemli. Özgür Yazılım dünyası size bunun için önemli fırsatlar sunuyor.
Yazılım Kulubu ACM Student Chapter
15
Röportaj
Katkı yapmak için mutlaka en mükemmel yazılımcı olmanıza gerek yok. Çeviri yapmak da adınızı duyurur, tanıtım çalışmalarında olmak da. Konferans vermek, vs vs. Şu andaki işyerimdeki kontratım, zamanının %10’unu topluluğa ayırmama izin veriyor. Bu haftada yarım gün demek kabaca.Bu da önemli bir zaman aslında (kaldı ki ben 1 günden fazlasını harcıyorum). Başa dönersek, yeni mezun arkadaşlardan bazılarının “3 sene sonra yönetici, 5 sene sonra genel müdür” olma planlarını, ya da 2 senelik programlama/ sistem yöneticisi tecrübesi ile “senior” olmalarını anlamakta zorlanıyorum. Bu işler yılla olacak şeyler değildir.
Hobileriniz olmazsa, onlara vakit ayıramazsanız, akşam 6’dan sonra çalışırsanız erken yıpranırsınız. İşinizi sevmek için iş dışındaki vaktinizi nasıl geçirdiğinizin önemli olduğunu unutmayın. İşinizi sevmek istiyorsanız, iş dışındaki vaktinizi iyi geçirmeniz gerektiğinin önemli olduğunu unutmayın. Geriye dönünce anımsanacak olan anılar genelde iş anıları olmaz. Unutmayın.
Şu anda da EnterpriseDB’de “Principal Systems Engineer” pozisyonunda çalışıyorum: http://www.ehow.com/facts_ 5924679_principal-systems-engineer-job-description.html (Yakında daha iyi bir pozisyona geçeceğim galiba :) ) Sizinle iletişim kurabileceğimiz adresler nelerdir? E-posta – hiçbir zaman ölmesini istemediğim iletişim aracım (devrim@gunduz.org). Ayrıca, www.gunduz.org adresindeki sitemden de belgelerimi vakit buldukça yayınlıyorum. Son olarak okurlarımızla paylaşmak istediğiniz şeyler var mı ?
16
Buraya kadar okuduğunuz için teşekkür ederim öncelikle. Tabii ki size de bu nazik röportaj teklifiniz için de teşekkür ederim.
Bir konu da, “herşeyi yapan insanlardan” olmayın. Belirli konularda uzmanlaşın ki, bilginiz artsın.
Özgür Yazılıma inanın, ve onun için çalışın. Bilgiyi saklamayın. Kendiniz olun iş hayatınızda. Her zaman ailenize ve sevdiklerinize işten daha çok vakit ayırın.
Teklifimizi kabul ettiğiniz için FU Yazılım Kulübü ACM Student Chapter adına teşekkür ederim. Akademik Bilişim’14’de Mersin’de görüşmek üzere . . .
<script/> Kasım 2013
Makale
Ahmet KOLCU Yazılım Mühendisliği / Microsoft Proje Yöneticisi
Üç yıldır içinde bulunduğum ve onlarla birlikteyken gerçekten zevk aldığım bir ortam. Burası neresi mi? Habitat Kalkınma ve Yönetişim Derneği.. Bu kuruluşun amacından biraz bahsetmek isterim; Sürdürülebilir kalkınma ve yönetişim için kamu-özel sektör ve sivil toplum işbirlikleri geliştirerek başta gençler olmak üzere farklı sosyal grupların kapasite gelişimini destekler; bu grupların kendi aralarında ve farklı paydaşlarla ortaklıklarını geliştirir; yerel, ulusal ve uluslararası zirveleri izler ve gençlerin bu toplantılara katılımını arttırmak ve ilgi gruplarının lehine kararların çıkması için katkıda bulunur; gençler arasında gönüllülük bilincini geliştirilerek toplumsal kalkınma sürecini destekler; bilgi ve iletişim teknolojilerinin etkin kullanılmasını sağlayarak toplumun bilgiye erişimini ve etkileşimi kolaylaştırır; ağlar ve destek mekanizmaları geliştirerek girişimcilik ekosistemini destekleyen gönüllü insanlardan oluşmuş bir yapıdır. Derneğin sekreterya görevini yürüttüğü iki oluşumun içerisinde bulunuyorum. Bu oluşumlardan birisi; Ulusal Gençlik Parlementosu(UGP). UGP; Kentlerinde gençlik alanında çalışmalar yapan gençlik meclisleri, üniversite kulüpleri, gençlik sivil toplum kuruluşları, gençlik platformları, gençlik merkezleri, gençlik kültür evleri olmak üzere farklı kurum ve kuruluş temsilcilerinden oluşan iletişim ağı görevini üstlenmekte. UGP’ nin halen 65 ilden 58 Gençlik Meclisi, 34 gençlik alanında faaliyet gösteren sivil toplum Kuruluşu ve 20 Üniversite öğrenci kulübü üyesi bulunuyor. Her yıl düzenlenen bu toplulukla bir araya gelerek gençlik adına yapılabilecek bir çok karar alıyoruz. Milletvekili seçilme yaşının 25’e düşürülmesini sağlayan Ulusal Gençlik Parlementosudur. Orada siyaset yok insanların dinlerinin ırklarının bir önemi yok ülkemiz için bizim için gelecek var. Bir de sloganımız var:
Derneğin diğer oluşumunda ise bu yıl yer alma fırsatı bulduk; Ulusal Bilişim Zirvesi. Türkiye’nin Bilgi Toplumu’na dönüşüm sürecine hızlandırması hedeflenmiştir. Bu zirvede üzerinde durulan ‘geleceğini tasarla’ konusuydu. Yuvarlak masalar etrafında birçok toplantılar yaptık. Toplantıların geri dönüşleri muhteşemdi, çok iyi fikirler çıkmıştı. Şuan yapım aşamasında olan ‘www.geleceginitasarla.org’ adresini takip etmenizi şiddetle tavsiye ediyorum. Bu platformda kullanıcıların fikirlerine önem verilmekte.
Geleceğini Tasarla’dan bahsetmişken Habitat Kalkınma ve Yönetişim Derneği, Microsoft Türkiye, Birleşmiş Milletler Kalkınma Programı ve T.C. Kalkınma Bakanlığı’nın desteklemiş olduğu Bilenler Bilmeyenlere Bilgisayar Öğretiyor (BBBO) Projesinden bahsetmemek olmaz. Bu proje Türkiye’de bir çok ilden gönüllü kişilerce oluşmakta. Gönüllüler ilk olarak BBBO eğitmen eğitimi alıyorlar ve bilmeyenlere bilgisayar öğretmeye başlıyorlar. Belirli bir süre sonrada BBBO Eğitmenleri yetiştirebiliyorlar. Yazılım Kulübü ACM Student Chapter olarak BBBO eğitmen eğitimleri alıp gönüllü olarak bilmeyenlere bilgisayar öğretiyor olacağız. Bu Projenin içerisinde bulunmak isten arkadaşları da aramızda görmekten mutluluk duyarız.
‘Bizler sadece geleceğin liderleri değil, bugünün de ortaklarıyız’
Yazılım Kulubu ACM Student Chapter
17
Teknoloji
Ensar YAVUZ Elektrik Elektronik Müh. / Dergi Ekip Koordinatörü
KISA KISA IBM, insan beyninden ilham alan bir programlama dili geliştirdi. 2 yıl önce IBM, insan sinir yapısından ilham alan bir yoga geliştirdiğini duyurmuştu. Yonga, IBM'in insan beyni için kolay sayılan görevleri yapabilecek bir bilgisayar sistemi oluşturma projesi SyNAPSE kapsamında üretilmişti. IBM, geçen hafta bu yonga için uygulama tasarlamaya imkan tanıyacak yeni bir programlama mimarisi geliştirdiğini duyurdu.
Twitter Music servisi geliyor
Yonga için yeni bir programlama mimarisine ihtiyaç duyuluyor çünkü işleyişi günümüz yongalarından oldukça farklı ve hali hazırdaki FORTRAN tabanlı programlama dillerini kullanmak mümkün değil.
Temelde müzik keşfetme servisi olacak Twitter Music, kullanıcılara kendilerine uygun, dinleyebilecekleri tarzdaki şarkıları keşfetme imkanı sağlamayı hedefliyor.
IBM'in zihinsel yongası nörosinaptik çekirdeklerdek oluşuyor. Bu çekirdekler beynimizdekine benzer şekilde işlemci görevi gören 256 nöron, bellek görevi gören 256 akson ve bu ikisi arasında iletişim kuran 64 000 sinapsis'den oluşuyor. IBM ileride 100 trilyon sinapsis taşıyacak zihinsel yongalar geliştirmeyi ümit ediyor. Programlama dili corelet adı verilen ve bu nörosinaptik çekirdekleri temel alan bir yapı üzerine inşa ediliyor. Her corelet 256 çıktı ve 256 girdiye sahip. Bu girdi ve çıktılar çekirdekleri birbirine bağlıyor. Sistemin çalışma şekli ise Twitter Music bunu ya- örneğin kalabalık içerisinde bir yüzü tanımak için bir corelet'in renkleri araştırması, bir parken ise kullanıcıların corelet'in burun yapısını incelemesi, diğer corelet'in elmacık kemiğini araması şeklinde yavaş hesaplarında kimleri takip ancak paralel olarak çok sayıda işlem yapılıyor. ettiklerini ve ne gibi paylaşımlar yaptığını baz alacak. Gelecekte bu yongaları kullanan zihinsel bilgisayarlar geliştirildiğinde desen tanıma, büyük veri analizi gibi şu anki bilgisayarların çok iyi olmadığı alanlarda kullanılabilecek. Zira insan Ayrıca Twitter, bu servisi- beyninin karmaşık olaylarda kullandığı çözüm metotlarının bilişim alanına da aktarılabileceği ni hayata geçirmek için We düşünülüyor. Are Hunted isimli, müzik keşfetme servisini satın almış. LG G Flex 40kg ağırlığa dayanabilecek ve kendini onarabilecek. LG G Flex modelini ile kavisli ekranlı akıllı telefon dönemine başladı. Güney Kore'de satışa sunulmasıyla birlikte telefonlarla ilgili önemli bir özellikte gün yüzüne çıktı. LG'nin modelin lansmanında verdiği bilgiye göre G Flex modeli ekranı aşağı gelecek şekilde tutulduğunda 40 kilogramlık basınca dayanabiliyor. Kavisli ekran ve batarya sayesinde G Flex'in kazandığı bu özellik, arka cepte de cihazı herhangi bir ekran hasarı olmadan taşımaya imkan tanıyor. Modelin arka kaplaması ise küçük çaptaki çizikleri onarabiliyor. Bunun dışında G Flex modelinde hem yatay hem de dikey kullanılabilen çoklu görev penceresi modu, sinema perdesi tecrübesi sunmayı amaçlayan video oynatma arayüzü şeklinde yazılım ekstraları mevcut.
18
<script/> Kasım 2013
Biz zamanların vazgeçilmez MP3 oynatcısı Winamp 21 Aralıkta hayatımızdan çıkıyor. Müzik dinleme kavramımızı değiştiren unkown artist'i ve mp3'ü hayatımıza sokan Winamp gelecek ay yayın hayatına son veriyor. İlk olarak 1998 yılında ticari yayın hayatına başlayan Winamp 1999 yılında AOL tarafından 80 milyon dolar karşılığında satın alınmasıyla popüleritesi doruğa çıkmıştı. 2010 yılında Android için, 2011 yılında Mac için yayınlanan Winamp ; iTunes, Spotify, Deezer gibi yeni nesil müzik dinleme platformları karşısında gerilemeye başladı. Halen milyonlarca kullanıcıya sahip olan platform yıllık 6 milyon dolar gelir üretebiliyordu.
Teknoloji
Bir devrin sonu
Taht Oyunlarına Yeni Oyun The Walking Dead The Game ile oyun sektörüne damgasını vuran ve The Wolf Amon Us ile çizgisini koruyan Telltale Games'in yeni bombası Game Of Thrones olabilir . Oyun dünyasının önde gelen sitelerinden IGN'de yayınlanan haberde Telltale Games ,Game of Thrones ile 2014’e bomba gibi girmeye hazırlanıyor hazırlanıyor.
PlayStation 4 Heyecanı Başladı
Uygun fiyatlı Android telefonların kurtarıcısı KitKat 4.4
Sony'nin merakla beklenen 4. nesil oyun konsolu PlayStation Google Android 4.4 KitKat’ı resmi olarak tanıttı. 4 Kuzey Amerikada satışa sunuldu. 399 dolar fiyatı ile konsol 1 milyon barajını 24 saatte geçerek 24 saatte en çok satan konsol Google bu işletim sistemiyle özellikle giriş seviyesi cihazların ünvanını PlayStation 2 nin elinden almış oldu . Gingerbread ve Ice Cream Sandwich işletim sistemi ile piyasaya PlayStation 4'ün Türkiye'deki piyasaya çıkış tarihi ise 13 Aralık çıkmasından duyulan rahatsızlığı gidermek istiyor. olarak açıklandı. Konsolun Türkiye'deki satış fiyatı 1399 lira Android’den sorumlu kıdemli başkan yardımcısı Sundar Pichai, olacak. bu işletim sisteminin akıllı telefonları ”gelecek 1 milyar insana” Unutmadan söyleyelim PlayStation Türkiyenin uzun zaman- taşıyacak verimlilik ilkesinin üzerine kurulduğunu belirtti. dır üzerinde çalıştığı Türkçe oyunlar projesi PS4 içinde devam ediyor. Bu proje kapsamında efsane oyun Killzone: Shadow Fall Google, KitKat’ın 2014 yılında piyasaya çıkacak telefonlarda araba yarışı tutkunlarına Drive Club , Platfor oyunu sevenler yaygın olarak kullanılmasını istiyor. Knack ve beğenilen TPS oyunu Infamous: Second Son Tükçe dil ve dublaj seçeneğiyle oyun severlerin beğenisine sunulacak. Samsung’dan çocuklara özel tablet; Galaxy Tab 3 Kids Ailelerin istedikleri eğitim araçlarına ve güvenlik özelliklerine sahip, çocuklar için özel olarak geliştirilmiş bir tablet olan Samsung Galaxy Tab 3 Kids aralık ortasında şatışa sunulacak . İçinde çocuklara özel birde mağaza buluncak tablet, kullanım kolaylığı sağlamak amacıyla özel kalemiyle (C Pen) satışa sunulacak 1,2GHz çift işlemcisi ve 1GB RAM’siylede iyi bir performans hedefliyor .
Yazılım Kulubu ACM Student Chapter
19
Biyografi
Oğuzhan COŞKUN Yazılım Mühendisliği / Başkan Yardımcısı
Özgürlüğün Bizdeki Adı: LINUX Tarihte biraz seyahat edeceğiz. 80’lere, 1984’e gidiyoruz. Richard Stallman’ın canına tak eden, yazılım dünyasında kapalı kaynak kod düşüncesinin yer aldığı, lisansların paylaşılamadığı, ortak çalışmaların illegal olarak görüldüğü bir zaman. Evet Richard Stallman GNU’yu böyle başlattı. Özgür yazılımların meydana getirdiği işletim sistemi çalışmasının adı “GNU not Unix”tir. Çalışmalarını bir çatı altında toplamak için de Free Software Foundation u kurdu ve yine yazılımları korumak için General Public Licence (GPL) yazılım lisansını korudu. Tek amacı özgürlükleri korumaktı.
Peki Sonrası? Linus, dünyadadaki diğer programcılar tarafından gelen uygulamalarla Freak’ı internet üzerinden yayınladı ve o zamanlar akademik anlamda ve üst düzey olarak kullanılan UNIX yerine insanlar artık Linux’u tercih etti. Hem değiştirip, geliştirebileceklerdi, hem hatalarını tüm dünya ile paylaşıp destek alabileceklerdi. Linus’a o dönem bir çok geri dönüş oldu, sistem hakkında öneriler, hatalar, tavsiyeler geldi. Linus Torvalds Linux’u GPL ile lisansladı. Günümüzde 1000 den fazla Linux çekirdeği kullanan dağtım var. Bunlardan popüler olanları Mint, Fedora, openSuse, Debian, gibi bir çok dağıtım mevcuttur. Ya Şimdi Ne Oldu? Günümüz Türkiye’sinde özgür yazılım ve linux a bir öğrenci gözünden bakacak ve eleştirecek olursam; son yıllarda popülerliği artıyor. Özellikle üniversitelerin bilgisayarla ilgili bölümlerinde talep, eğitimler, seminerler ve bilgisayarla uğraşan öğrenci, akademisyen kitlesinin linuxa ve özgür yazılıma verdiği değer artıyor. Bizim üniversitemizde izlenim lerim biraz zıt yönde. Akademisyen bakımından özgür yazılıma destek yok. Ancak son 2 yıldır öğrenci bazında geniş bir kitleye ulaşmanın sevincindeyiz. Akademisyenlerimizi bu konuda hassassiyete davet etmek zorundayım çünkü bu konu göz ardı edilmemesi gereken bir konu.
Linus Torvalds Bunun Neresinde? Linus Torvalds Finlandİya’lı bilgisayar mühendisidir. 1991 yılında Helsinki üniversitesinde kişisel bilgisayarında geliştirmeye başladığı bir işletim sistemi çekirdeğini internet ortamında duyurusunu yaptıktan sonra bir çok programcıdan destek alarak hayata geçirmiştir. Kısa zamanda GNU için yazılmış özgür yazılımlar linux çekirdeğine uyumlu hale gelmiştir. Linux’un simgesi ise Linus Torvalds’ın küçükken penguen tarafından kovalanması sonucu Linus’un logoda pengueni kullanmasına neden olmuştur. 20
<script/> Kasım 2013
Sözlerimi toparlayacak olursam “Bilim ancak kollektif olarak gelişir ve bilgi paylaşılmalıdır” diyen Richard Stallman’dan, “Hayattaki mükemmel insanların hepsi LINUX gibidir” diyen Steve Wozniak’ a kadar bu konuda ciddi anlamda sorunların olduğunu belirtmek isterim. Yani bu alanda yaşayan, okuyan, bilgi sahibi olan insanın Linux’la tanışmaması üzücü bir durum. Bana soracak olsalar Linux’u ders olarak verirdim. İnsanların bu konuda bilinçlenmesi, Linux ve özgürlüğü tanıması gerçekten önemli. Son olarakta Linus Torvalds’ın “Siz de insanların insan olduğu ve kendi aygıt sürücülerini yazdıkları günlerin özlemini çekmiyor musunuz?” sözünü hatırlatmak istiyor ve Linux’la tanışmanızı, özgür dünyaya adım atmanızı diliyorum.
Websphere Software
Batuhan ÇIKRIKÇI Yazılım Mühendisliği / Yönetim Kurulu Başkanı
IBM WebSphere Application Server Nedir? WebSphere Application Server; Java Platform, Enterprise Editon uygulama sunucusudur.
Bunun yanında uygulama sunucuları ise size tam bir J2EE platform desteği sunar. Kısaca Application Server>Web Container.
IBM WebSphere Application Server hakkında bilgi vermeden önce genel olarak, java uygulama sunucusu ve web container kavramları hakkında bilgi vermek isterim.
Asıl konumuza dönecek olursak IBM WebSphere Application Server bahsi geçen uygulama sunucuları arasında parmakla gösterilen ve IBM yazılım ailesinden olan bir middleware ürünüdür.
Java Uygulama sunucuları; J2EE(Java Enterprise Edition) kapsamında ele alındığında J2EE teknolojileri ile geliştirilen uygulamaları çalıştırmaya yarayan yazılımlardır.
Genel olarak WebSphere Application Server hizmet odaklı bir mimari için ihtiyacınız olan güvenli, esnek ve ölçeklenebilir bir uygulama altyapısı sunar.
Çok katlı bir mimari içerisinde kullanıcı arayüzü ile veritabanı arasında bulunurlar, bu yüzden middleware (orta katman) yazılımlar olarak da anılırlar.
Kolay kullanımı, gücü ve IBM tarafından uygulanan müşteri desteği ile sektörde önde gelen uygulama platformlarında üst sıralardadır.
Uygulama sunucusu ile karıştırılabilen en önemli kavram ise Web Container(Apache Tomcat, Eclipse Jetty) kavramıdır. Web Container’lar sadece Java Servlet’lerinizi çalıştırmak için kullanılan basit web sunucu ortamlarıdır.
IBM developerWorks’ten IBM kimliğiniz ile tam ve kısıtlı sürümler olarak temin edebileceğiniz IBM WebSphere Application Server ihtiyaçlarınıza ve yeteneklerine göre aşağıda belirtildiği gibi ayrılmıştır.
Yazılım Kulubu ACM Student Chapter
21
Websphere Software
- WebSphere Application Server – Community Edition (Açık Kaynak)
- WebSphere Application Server eXtended Deployment (WebSphere Mimarisi)
- WebSphere Application Server (WebSphere Mimarisi)
WebSphere Application Server ile ilgili olarak bu ilk yazımın ardından; WebSphere Application Server sistem yönetimine teknik olarak kısaca göz attıktans sonra, kurulumu ve profiller ile çalışılmasına değinecek, bu şekilde konu konu ayırarak WebSphere Application Server yönetimi üzerine yazılarımı tamamlamaya çalışacağım.
- WebSphere Application Server Network Deployment (WebSphere Mimarisi)
Websphere Application Server - Sistem Yönetimine Genel Bakış (Bölüm-1) IBM WebSphere Application Server Sistem Yönetimi ve Sistem Yönetim Özellikleri Bir önceki yazımda kısaca; application server (uygulama sunucusu), web container ve Websphere Application Server’ın ne olduğundan bahsetmiştim. Şimdi ise WebSphere Application Server’ın sunduğu işlevselliğe ve nasıl kullanışlı hale getirildiğine; WebSphere Application Server sistem yönetimi ve sistem yönetim özellikleri ile devam edeceğim. Uygulama olarak bundan sonraki süreçte önceki yazıda bahsetmiş olduğum WebSphere Application Server sürümlerinden WebSphere Application Server v8.5 for Network Deployment kullanacağım. WebSphere Application Server, kullanımını kolay anlamak ve sistem yönetimini basit hale getirmek için yönetim araçları ve güçlü özellikler sunmuştur. Sistem yönetim işlevselliği tamamiyle Java Management Extensions (JMX) teknolojisinin kullanımına dayanır. WebSphere Application Server sisteminde geçen ve sistem yönetiminde sıkça karşılaşılacak olan; Profiles, Application Server, Node, Deployment Manager, Node Agent, Cell, Administrative Agent ve Job Manager gibi bazı temel kavramlar vardır. Bunları sırası ile kısaca açıklamak gerekirse;
22
<script/> Kasım 2013
Profiles: WebSphere Application Server’da farklı, çalışma zamanı türleri oluştumak ve WebSphere core ürün dosyalarını yüklemek için oluşturulan yapılandırma kümelerine denir. Application Server: Java programlama dili ile oluşturulan uygulamaları çalıştırmaya yarayan platformdur. Node: Sistem içinde konfigürasyon ve operasyon yönetimi için, uygulama sunucusu yönetim gruplarına verilen isimdir. Deployment Manager: Dağıtık sunucular içinde oluşan çoklu node ve node gruplarındaki hücrenin merkezi yönetim noktalarına denir. Node Agent: Dağıtık sunucu yapılandırmalarında; her node, yönetim süreçlerini yönetmek için deployment manager ile çalışan bir node agent’a sahiptir. Cell: Node gruplarındaki tekil yönetim alanlarına denir. Administrative Agent: Stand-Alone uygulama sunucuları için gelişmiş yönetim becerileri sağlayan bileşene denir. Job Manager: Birden fazla stand-alone uygulama suncusu, administrative agent ve deployment manager için yönetim yetenekleri sağlayan bileşendir.
Comman-Line utilies yalnızca local uygulama sunucuları, node ve deployment manager’lar ile çalışır.
Kavram açıklamalarından sonra WebSphere Application Server; sistemi yönetmek ve çalışma zamanı ortamı ayarlamak için WebSphere Customization Toolbox gibi birtakım yönetim araçları sunar.Bunlar:
WebSphere Application Server sistem yönetim özelliklerine elimden geldiğince değindim. Bundan sonraki yazımda Java Management Extensions teknolojisine değinip, WebSphere Application Server üzerinden devam edeceğim.
WebSphere Customization Toolbox: WebSphere Application Server ortamını özelleştirmek için; Web Server Plug in Configuration Tool, Profile Management Tool ve z/OS Migration Tool gibi araçlar sunar.
Java Management Extension (JMX)
Integrated Solutions Console(Administrative Console): Yönetim konsolunda web container üzerinde çalışan web tabanlı bir uygulamadır ve aynı zamanda uzaktan yönetim erişimide sağlar. WebSphere Scripting Client (wsadmin): Grafiksiz bir arayüz ile WebSphere Applcation Server’ı komut satırı istemine göre yönetmek için kullanılır. Bean Scripting framework (BSF) kullanır ve çeşitli script dillerini destekler. Uzaktan yönetim erişimi sağlanabilir. Another Neat Tool (ANT): Görev otomasyonu için kullanılır. WebSphere Applicaiton Server üzerinde script oluşturabilir, derleyebilir, paketleyebilir ve test uygulamaları yapabilirsiniz. Administrative Applications: WebSphere application programming interface(API) üzerinde Java Management Extensions esas alınarak özel Java uygulamaları geliştirebilsiniz. Command-line Utilities: Bu yönetim aracı WebSphere Application Server ortamını yönetmeye yardımcı olur ve komut satırında çalışan; sunucuyu başlatma, durdurma ve yedekleme gibi ortak görevleri gerçekleştirmek için kullanılır.
Java Management Extension (JMX); Java uygulama ve araçları için yönetim arabirimleri uygulanmasında; uygulamaları, sistem nesnelerini, aygıtları ve sunucu odaklı ağları yönetmek ve izlemek için standartlar tanımlar. Uygulama ve ağ yönetimi için mimari, tasarım desenleri, uygulama programlama arabirimleri ve hizmetlerden oluşur. JMX teknolojisi Java tabanlı uygulamalar ve Java programlama diline özgüdür. JMX, Java uygulamaları ve ağ hizmetleri için son teknoloji yönetim ürünleri sağlar. JMX mimarisi üç düzeye ayrılır:
Websphere Software
Bahsedilen bu uygulama ve araçlar sonuçta, sizin çalıştığınız ortamın büyüklüğü ve karmaşıklığına göre değişir.
1. Seviye: Bu seviye araştırma seviyesi olarak adlandırılır. Araçlar ile Managed Bean’lerden oluşur ve esas olarak araç/alet seviyesi olarak bilinir çünkü temelde kaynakların parçaları ile ilgilenir. 2.Seviye: Temsilci seviyesi olarak bilinir. Managed Bean’ler ve Java uygulamaları arasında bir aracı görevi görür. 3.Seviye: Uzaktan yönetim seviyesi olarak bilinir. Herhangi bir istemciden bağlantı protokolü ve adaptörler yardımıyla Managed Bean Server’ a bağlanmayı sağlar. JMX teknolojisi mevcut yönetim çözümlerinin entegrasyonu sağlar. JVM (Java Virtual Machine)’i yönetmek ve izlemek için, ayrıca JMX uygulama davranış istatistiklerinin toplanmasında, uygulamaların yapısını değiştirilmesinde, hata ve durum değişikliği bildirimleri için kullanılır.
Yazılım Kulubu ACM Student Chapter
23