13 Ağustos 2014 Çarşamba

[Genel Bilgi] Web Server ile Application Server arasındaki fark nedir?

Web Server (Apache , ISS, nGix)

HTTP requestleriyle ilgilenir. Bir client'tan gelen requesti karşılar ve hazırlanan response'u client'a yollar. Web Server Request'i işlerken HTML sayfası, resim, requesti başka bir yere iletmek veya dinamik içerik üretebilen JSP, Servlet, ASP gibi teknolojileri kullanabilir. Amaçları ve ürettikleri response ne olursa olsun Web Serverlar Request işleyip Response yaratmakla sorumludur.

Web Server'ların çalışma mantıkları basittir. Bir Web Server kendine iletilen requesti kendi containerında bulunan en ve requesti en iyi işleyebilecek programa gönderir. Web Serverları bunun ötesinde kendi içlerinde herhangi bir fonksiyonalite sunmazlar. Server-side programlar ise database işlemleri, mesajlaşma ve transaction işleme gibi özelliklere sahip olabilir.

Application Server(JBOSS, MONO)

Application Serverlar ise HTTP protocolünü işleme dışında client'e bir iş mantığı(Bussiness Logic) sunarlar. Client bu iş mantığını bir class'ın methodunu çağırarak kullanabilir.

Client ile Application arasında bulunan bilgi iletişi sadece HTTP protokolüne ve Markup Language'lere bağlı değildir. Kullanıcıya geri iletilen veri sadece HTML türünde olmadığı için kullanıcı bir GUI ile bağlandığı Application Server'dan istediği bilgiyi çekebilir.

Bir çok durumda Application Server'lar bilgiyi clienta iletirken Component API kullanırlar. Facebook, Twitter, GitHub gibi bir çok internet sitesinin kendilerine özel API'leri vardır. Bu API'ler sayesinde erişebildiğimiz iş mantıklarından gerekli bilgileri çekere kendimize masaüstü veya ticari uygulamalar yazabiliriz.

Uzun lafın kısası; Web Server sadece HTTP tipi requestlerin alıp işlenip, response inşa ettinten sonra bunu client'a iletmek ile sorumlu iken Application Server bunun yanında kullanıcıya Session Management, Transaction Management, E-mail Service gibi bir çok özellik sunar. Web Server'dan sadece response alınabilirken Application Serverlardan Component API'ler sayesinde bir çok bilgi çekilebilir.

12 Ağustos 2014 Salı

[Eclipse][Ubuntu] Ubuntu(14.04)'ya Eclipse kurulumu

Merhaba arkadaşlar bu yazımda sizlere Ubuntu 14.04 Linux dağıtımına Eclipse kurmayı anlatacağım.


  1. İlk olarak bu linkten Eclipse'nin son sürümünü indiriyoruz. Bu yazının yazıldığı tarih itibariyle son sürüm Eclipse 4.4(Luna Release). İndirdiğimiz paketin işletim sistemimizle uyumlu olmasına dikkat edelim. İşletim sisteminizin 32bit veya 64bit olduğunu bilmiyorsanız.

    Control+Alt+T ile Terminal'i açtıktan sonra uname –m komutunu giriniz. Eğer çıktı i686 ise 32bit, çıktınız x86_64 ise 64bit'i seçiniz.


  2. Download işleminin bitmesinin ardından yine Terminal'i(Control+Alt+T) açıp şu komudu kopyalayıp yapıştırın. Bu kod ile beraber Downloads dizini altındaki eclipse tar.gz(Eclipse Zip'i) dosyamızı root'taki opt klasörünün altına taşıdık. OPT klasörü optional'in kısaltması olup Ubuntu sisteminde bulunması zorunlu olmayan kullanıcıların yüklediği programların bulunduğu dizindir. Eğer ubuntu'yu Türkçe kullanıyorsanız aşağıdaki komutu giriniz
    sudo mv Downloads/eclipse-* /opt/
    sudo mv Indirilenler/eclipse-* /opt/
  3. Ardından opt klasörüne taşıdığımız tar.gz dosyasını extract ediyoruz. Dosya adınızı mutlaka kendi indirdiğiniz paketle uyumlu biçimde değiştirin. -ls komutu ile beraber hangi dosyanın opt klasörü altında olduğunu bulabilirsiniz. Dosya adının belirli bir kısmını yazdıktan sonra basacağınız TAB tuşu dosya ismini tamamlayacaktır.
    cd /opt/
  4. sudo tar -xvf eclipse-standard-kepler-SR2-linux-gtk-x86_64.tar.gz
    

    4. Komutumuzu yazdıktan sonra /opt/ klasörü altında eclipse kurulumumuz gerçekleşmiştir. Klasörün içinde eclipse dosyamızı çalıştırabiliriz. Masaüstüne launcher koymak istiyorsak eğer sırasıylak omutları çalıştırın. 

           sudo gedit /usr/share/applications/eclipse.desktop
       
    5. Şimdi bir gedit dosyası açılmış olması gerekli. Bu dosyaya Desktop dosyası için gerekli olan verileri gireceğiz. Böylece launcherımız applications dizini altında oluşmuş durumda. Menülerle ilgili olarak oluşan bir bug'dan dolayı Exec satırına mutlaka benim yazdığım satırı girmek durumundasınız. Yoksa Eclipse içinde menüleriniz çalışmayabilir.
[Desktop Entry]
Name=Eclipse 
Type=Application
Exec=Exec=env UBUNTU_MENUPROXY= /opt/eclipse/eclipse
Terminal=false
Icon=/opt/eclipse/icon.xpm
Comment=Integrated Development Environment
NoDisplay=false
Categories=Development;IDE;
Name[en]=eclipse.desktop

    6. Bu launcher'ı masa üstüne taşımak(1), symlink oluşturmak (2)(3), dash'te eclipse oluşturmak içinse(4) komutu sırasıyla giriyoruz.

sudo desktop-file-install /usr/share/applications/eclipse.desktop
cd /usr/local/bin/
sudo ln -s /opt/eclipse/eclipse
sudo cp /opt/eclipse/icon.xpm /usr/share/pixmaps/eclipse.xpm

   
  Eclipse kurulumunuz gerçekleşmiştir. 5. Satı

17 Temmuz 2014 Perşembe

[Genel Bilgi] Eclipse versiyonları(Kepler,Galileo,Luna) arasındaki farklar nedir?

Yeni development'a başlayan arkadaşların genelde kafasını karıştıran sorunlardan biri Eclipse IDE kurulumu yaparken hangi paket seçecekleri olmuştur. Eclipse geliştiricilerinin genellikle kafa karıştırıcı bir biçimde kullandıkları isimlendirme gelenekleri bir çok taze programcıyı IDE kurulumu seviyesinde korkutur. Altta geçen tüm bu versiyon isimlerinin kafa karıştırcı olmaması mümkün değil.

  • Callisto
  • Europa
  • Ganymede
  • Galileo
  • Helios
  • Indigo
  • Kepler
  • Luna
Eclipse ilk olarak 28 Haziran 2004 yılında release olduğunda ilk isim olarak geleneksel versiyonlama yöntemi olan Projeİsmi/Versiyon Numarası olan Eclipse 3.0 ismiyle çıktı. Daha sonraki versiyonu ise yine aynı isimlendirme geleneğine uygun olarak Eclipse 3.1 olarak devam etti. 2006 yılına gelindiğinde ise Eclipse Geliştiricileri Simultaneous Release denilen yeni bir yayınlama stratejisine geçtiler. Bu stratejiye göre; her Eclipse yayını(release) ilk olarak Haziran'da yayınlanacak ve onu takip eden Eylül ve Şubat'ta iki Service Release'i ile desteklenecek.

Bu bilgi göz önünde bulundurulduğunda cevap karşımıza çıkıyor. Her yeni başarılı Eclipse versiyonu yeni bir isim ile ortaya çıkıyor. Yani her Eclipse isimlendirmesi yeni bir Eclipse Release'ini belirtiyor. Bu releaseler arasında ise geliştirmeler dışında hiç bir fark yok. Bu isimlendirme stratejisine göre Eclipse versiyon isimlerini, versiyon numaralarına çevirirsek karşımıza çıkan tablo şudur;

Release         Date             Platform version    Projects            
Luna            25 June 2014     4.4                 Luna Projects       
Kepler          26 June 2013     4.3                 Kepler Projects     
Juno            27 June 2012     4.2                 Juno Projects       
Indigo          June 2011        3.7                 Indigo projects     
Helios          23 June 2010     3.6                 Helios projects     
Galileo         24 June 2009     3.5                 Galileo projects    
Ganymede        25 June 2008     3.4                 Ganymede projects   
Europa          29 June 2007     3.3                 Europa projects     
Callisto        30 June 2006     3.2                 Callisto projects   
Eclipse 3.1     28 June 2005     3.1                                     
Eclipse 3.0     28 June 2004     3.0                                     
Gördüğünüz üzere releaseler arasında versiyon numaraları dışında pek bir fark yok. Kısacası indirmek istediğiniz Eclipse IDE'nin en güncel versiyon olmasını istiyorsanız Luna Release'ini kullanabilirsiniz.