Java ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006



Benzer belgeler
Neden Linux ve Java Birlikte İyi Gidiyor? Bora Güngören Portakal Teknoloji Akademik Bilişim 07, Kütahya

Java Temel Özellikleri

ÖZGÜR YAZILIMLAR İLE J2EE

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

Tekir (Ön Muhasebe Yazılımı)

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

Linux'ta Kabuk ve Kabuk Programlama

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

1.PROGRAMLAMAYA GİRİŞ

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Tomcat Uygulama Sunucusunun Kurulumu. İlk olarak adresine gidiyoruz.

Linux ve Windows Üzerinde C ve C++ Kullanımı

LKD Kendi İlacını Kullanıyor

EYLÜL 2012 İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Veri Tabanı Yönetim Sistemleri Bölüm - 02

PHP 1. Hafta 1. Sunum

PHP ile İnternet Programlama

Veritabanı Uygulamaları Tasarımı

Özgür ve Açık Kaynak Kodlu Yazılımlar Kullanılarak Merkezi Servisler Nasıl Verilebilir?

AÇIK KAYNAK KODLU İŞLETİM SİSTEMLERİ DERS NOTLARI 1-İşletim Sisteminin görevi nedir? En çok kullanılan işletim sistemleri nelerdir?

YRD. DOÇ. DR. AGÂH TUĞRUL KORUCU Kernel çeşitleri

Linux İşletim Sistemi Tanıtımı

SUBVERSION VE TRAC A GİRİŞ

Spring Giriş Eğitimi

İşletim Sistemleri; İÇERİK. Yazılım BİLGİ TEKNOLOJİLERİ VE UYGULAMALARI Yazılım Türleri

Ünite-3 Bilgisayar Yazılımı.

BİL 542 Paralel Hesaplama. Dersi Projesi. MPJ Express Java Paralel Programlama

KURUM İÇ DEĞERLENDİRME RAPORU HAZIRLAMA KILAVUZU

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzmanı Görev Tanımı

Open Source Coding: Python

CEO - Yönetim Raporlama Sistemi

Java EE 5 Teknolojileri Jboss Seam

TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS

Nasıl Pardus Geliştiricisi Olunur?

GittiGidiyor ve Açık Kaynak Kodlu Yazılımlar

Şişli Mesleki ve Teknik Anadolu Lisesi Web Programcılığı Dalı 2014 WEB PROGRAMCILIĞI DALI

Atılım Üniversitesi Bilgi & Đletişim Teknolojileri Müdürlüğü Sistem Yönetim Uzman Yardımcısı Görev Tanımı

Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Hızlı Başlangıç Kılavuzu

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

BİLİŞİM SUÇLARIYLA MÜCADELEDE ÜNİVERSİTE VE EMNİYET İŞBİRLİĞİ: BİR EĞİTİM SÜRECİ

Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların

İŞLETİM SİSTEMLERİ. Enformatik Bölümü

Dil değiştiği andan itibaren bilgisayar yeniden başlatılmalıdır.

TCMB Deneyim Raporu. Kurumsal Java Uygulama Platformu. Sacit Uluırmak. Türkiye Cumhuriyet Merkez Bankası Sistem Araştırma ve Planlama Müdürlüğü

Veri Tabanı Yönetim Sistemleri Bölüm - 3

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

Linux Sistem Altyapı Araçları. Özgür Yazılım A.Ş.

Özgür Yazılım Lisansları

Kurumsal Ağlarda Web Sistem Güvenliği

PostgreSQL ve JBoss ile Java Kurumsal Çözümler. Nicolai Tufar

SİGORTACILIKTA PERFORMANS: WEBLOGIC COHERENCE, EXADATA

Linux Kurulumu (Sürüm 1.52) İçindekiler

Java JDK (Java Development Kit) Kurulumu:

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

Finans Dünyasında Linux ve Özgür Yazılımlar

Özgür Yazılım Eğitim Yönetim Sistemleri

İNTERNET PROGRAMCILIĞI - II

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

Bilgisayar Yazılımları

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Veritabanı. Ders 2 VERİTABANI

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

1C:İŞLETME Platformu ÜRETİM - TİCARET - MUHASEBE

Java Programlama Giriş

Çomar Sistem Yerleşimi ÇOMAR

IPCop ile Ağ Güvenliği ve Yönlendirme. Kerem Can Karakaş.

USE IMPROVE EVANGELIZE. OpenSolaris. Afşin TAŞKIRAN EnderUNIX Yazılım Geliştirme Ekibi Türkiye OpenSolaris Kullanıcıları Grubu afsin ~ enderunix.

GNU/Linux ve Özgür Yazılım. Mahir B. Aşut EkoPC Kurucu Ortağı ve Yöneticisi, LKD Üyesi

MOBİL İŞLETİM SİSTEMLERİ (MOBILE OPERATING SYSTEMS)

Internet Programming II

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Bilgi Güvenliği Denetim Sürecinde Özgür Yazılımlar. Fatih Özavcı Bilgi Güvenliği Danışmanı

KURUMSAL PORTAL TASARIMI

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

GNU/Linux'un Tarihi ve Önemi

ULUSAL AKADEMİK AĞ VE BİLGİ MERKEZİ

Linux Dosya ve Dizin Yapısı

509 Özel Kamu kuruluşu e-fatura sistemine kayıtlı. ve hızla artıyor!

Mobil Uygulama Geliştirme Yaklaşımları, Web Tabanlı Mobil Uygulama Çatıları. Burak USGURLU

İŞLETİM SİSTEMLERİ. (Operating Systems)

Küme Bilgisayarlarda PBS Kuyruk Sistemi

Pardus Temel Seviye Kullanıcı Eğitimi. Sürüm Ağustos 2012 Pardus K Fatih Akıllı Tahta sürümüne göre hazırlanmıştır.

Çekirdek Nedir? Ne yapar?

VERİ TABANI YÖNETİM SİSTEMLERİ

Linux İşletim Sistemleri. Eren BAŞTÜRK.

İşletim Sistemleri. Discovering Computers Living in a Digital World

Acarix CD-DVD/Ağ üzerinden çalışan GNU/Linux Dağıtımı

IsatPhone Cihazınızı Güncelleme

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

Özgür Yazılımlar ile Kablosuz Ağ Denetimi

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

Transkript:

Java ve Linux Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006

Sunum Planı Java Çalışma Ortamı POSIX uyumu ve Linux Java Toplum Süreci (JCP) Açık kaynak kodlu Java altyapısı Java ne zaman açık kaynak kodlu olacak? www.portakalteknoloji.com 22 April 2011 2

Java Çalışma Ortamı Java ile uygulama geliştirmek için olsun, çalıştırmak için olsun Java Çalışma Ortamı (JRE) kurulu olması gerekir. JRE sizin kabukta çalıştığınızı düşünür. JRE ile işletim sistemi iletişimi tamamen çevre değişkenleri ile yapılır. JRE'nin çalışma ayarları komut satırından kendisine geçilen parametrelerle veya ayar dosyaları ile yapılabilir. Bu ayarlar bir kabuk programı veya bir Perl programı ile de sağlanabilir. Bu nedenle kapsamlı ayar gerektiren Java uygulamalarında açılış betiklerle sağlanır. www.portakalteknoloji.com 22 April 2011 3

Java Çalışma Ortamı Java çalışma ortamı çok kanallıdır. En basit uygulamalar bile çok kanallı biçimde çalışır. Kanallar işletim sistemi tarafından sağlanan kanallara eşlenir. JRE işletim sisteminin iyi bir pthread uyarlaması olmasını ister. Bu nedenle bazı Java uygulamaları Linux çekirdeğindeki ara sürümlerde (örneğin Red Hat 8.0 ile gelen çekirdek) sorunlar yaşamıştır. Ancak günümüzdeki 2.6.x Linux çekirdekleri bu tür sorunlar içermez. Windows çekirdeğinin kanal modeli ise pthread uyumlu değildir. Bu nedenle özellikle çok kanallı uygulama niteliğinde olan Java uygulamaları Linux üzerinde Windows'a göre ciddi performans artışı yaşar. www.portakalteknoloji.com 22 April 2011 4

Java Çalışma Ortamı Java'nın dosya erişim modeli UNIX modelidir. Dosya konumları Dosya türleri Erişim teknikleri Linux için olan JRE' lerin sağladığı dosya API' sinde native yani C ile yazılan dosya kodları bu paralellikten ciddi anlamda kazanır. Dosya erişim kodlarının ayrıca soket programlaması için de temel olduğunu hatırlayın. Bu nedenle dosya erişimi yoğun olan ve ağ işlemi yapan Java uygulamaları Linux üzerinde ciddi performans artışı yaşar. www.portakalteknoloji.com 22 April 2011 5

Java Çalışma Ortamı Java'nın güvenlik modeli kimlik ve izin modeline dayalıdır. Bilgisayardaki her bir kaynak için kimlik ve izin tabanlı denetim tanımlanabilir. İyi bir uygulama güvenlik modelinin işletim sistemindeki modelle paralellik içinde olması gerekir. Linux'un sağladığı standart UNIX ve ACL modelleri temel kaynaklara erişimde gereken paralelliği sağlar. www.portakalteknoloji.com 22 April 2011 6

POSIX uyumu ve Linux Java'nın Linux'un temel mekanizmaları ile bu kadar uyumlu olması aslında şaşırtıcı değildir. JRE altındaki işletim sisteminin POSIX uyumlu olmasını bekler. Bu platformun ilk tasarlandığı zamandan bu yana devam eden bir tercihtir. Linux ise POSIX'e tam uyumludur. Bu nedenle JRE'nin tüm beklentilerini karşılar. Linux'un kendi tasarımından gelen avantajları da ekleyince resim tamamlanır. Bugün en önemli Java tabanlı uygulamaların Linux üzerinde çalışması bu nedenle şaşırtıcı olmaz. www.portakalteknoloji.com 22 April 2011 7

Java Toplum Süreci (JCP) Java platformundaki her türlü geliştirme bir süredir Java Toplum Süreci (JCP) adını verdiğimiz bir ortamda yapılıyor. İsteyen herkes Java platformunu oluşturan bileşenlerden birisi için (örneğin Java dili) bir özellik önerisi ortaya atabilir. Bu öneri yine isteklilerden oluşan bir forumda teknik biçimde tartışılır. Özellikle ilgi çeken isteklerin çevresinde zaten kendiliğinden güçlü bir ekip oluşur. Bu ekipler genelde şahısların dışında firma temsilcilerinden oluşur. Ancak bağımsız kişiler de (teknik tartışmalarda yetkinlikleri ile öne çıktıkça) yer alabilir. Oluşan ekip bir spesifikasyon yazar. Ekipten birileri bu spesifikasyon için bir referans uyarlama yazar. www.portakalteknoloji.com 22 April 2011 8

Java Toplum Süreci (JCP) Java lisansı bu süreci esnek ve dinamik kılacak şekilde güncellenir. Yakın zamanda çalışma ortamının içindeki bileşenlerin üzerinde araştırma ve geliştirme istekleri artmıştır. Bunun üzerine JRE modifikasyonlarına izin verilecek şekilde lisans güncellemesi yapılmıştır. Orijinal Sun JRE' sini alıp, sökebilirsiniz. Sonra bunun bir yerine kendi modülünüzü ekleyip tekrar inşa edip test edebilirsiniz. Bu sayede JRE seviyesi iyileştirmeler de açık bir sürece girmiştir. www.portakalteknoloji.com 22 April 2011 9

Java Toplum Süreci (JCP) Bir çok standart Java uygulama API' si bu süreçten geçerek ortaya çıkmıştır. Zaman zaman birden fazla referans uyarlama bile olabilir (ör: USB API) Java 5.0'daki 100'e yakın gelişmenin hepsi bu süreçten geçmiştir. Java 6.0'ın neye benzeyeceği de açıkça belgelenmiş sayılır. Şu andaki açık istek leri inceleyebilirsiniz. www.portakalteknoloji.com 22 April 2011 10

Java Toplum Süreci (JCP) Ancak Java üzerinde lisans ve marka hakları nedeni ile çeşitli kısıtlamalar da bulunur. Bu kısıtlamaların çoğu Sun JRE'nin yazılmasında kullanılan bazı tekniklere dair patentlerden kaynaklanır. Sun bu patentlerin bazıları Solaris için almıştır. Solaris'in açılması süreci içinde bu patentlerle ilgili kısıtlamalar da yavaş yavaş kalkmaktadır. Ancak şu anda patentler nedeni ile Sun JRE'nin geliştirmesi hala Sun tarafından sürdürülmek zorundadır. Sun uzun vadede JRE geliştirme işini de JCP'ye devredebilir. Ancak şu anda böyle bir plan yoktur. www.portakalteknoloji.com 22 April 2011 11

Açık kaynak kodlu Java altyapısı Java'nın kendi özgün avantajları ve Linux ve özgür yazılım üzerindeki üstün performansı açık kaynak kodlu Java altyapılarının gelişmesini sağlamıştır. Bugün JRE haricinde tamamen özgür yazılım bileşenler ile kurumsal Java uygulaması geliştirebilirsiniz. Geliştirme ortamı olarak Linux üzerinde Eclipse, Ant, Junit, Cactus, vs. Uygulama çalıştırmak için Tomcat, Jonas, JBOSS, vs. Veri tabanı sunucusu olarak MySQL, PostgreSQL, HSQLDB, vs. Kurumsal Java uygulamaların kullanılan açık kaynak kodlu ve kritik araçların öne çıkması da göz ardı edilemez. Struts, Spring, Hibernate, MyFaces,... www.portakalteknoloji.com 22 April 2011 12

Java ne zaman açık kaynak kodlu olacak? Sun tarafından Apache vakfına havale edilen Java işlerinin hacmi giderek artmaktadır. Vakfın Tomcat ile başlayan Java macerası herkesin kazandığı bir biçimde devam etmektedir. En son olarak Java Server Faces referans uyarlama lisansı, vakfın MyFaces projesine destek olmak için değiştirilmiştir. Ancak daha çok dikkat çeken şey vakfa bir JRE projesi verilmesidir. Apache Vakfı Java standartlarına tam uyumlu ve özgür yazılım lisanslı bir JRE çıkartacaktır. Bu sayede JRE dahil açık kaynak kodlu bir Java ortamı oluşabilecektir. Ancak Java'nın kendisinin açık kaynak kodlu olması ayrı bir kavramdır ve bu konuda Sun'dan gelen herhangi bir söz yoktur. www.portakalteknoloji.com 22 April 2011 13

Soru - Cevap www.portakalteknoloji.com 22 April 2011 14