Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü. CORBA (Common Object Request Broker Architecture) Hazırlayan: Emre Çağlar

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü. CORBA (Common Object Request Broker Architecture) Hazırlayan: Emre Çağlar"

Transkript

1 Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü CORBA (Common Object Request Broker Architecture) Hazırlayan: Emre Çağlar

2 İçindekiler 1.OMG 2.CORBA mimarisi 2.1 IDL 3.ORB 4.Dağıtık nesnelerde standart olarak CORBA 4.1 IIOP 4.2 Java RMI 5.CORBA servisleri 6.CORBA ürünleri 7. CORBA ile Örnek Bir İstemci-Sunucu Örneği

3 1. OMG OMG (Object Management Group) çeşitli bilgi sistemleri üreticileri, yazılım geliştiricileri ve kullanıcılarının oluşturduğu, kar amacı gütmeyen uluslar arası bir kuruluştur. OMG 1989 yılında kurulmuştur ve şu anda 600 ü aşkın üyesi vardır. OMG, dağıtık, ölçeklenebilir, yeniden kullanılabilir, taşınabilir özelliklerde, yaygın çapta açık bir uygulama çatısı sunar. 2. CORBA Mimarisi Bu bölümde genel olarak CORBA mimarisinden bahsedilecektir. CORBA Ortak Nesne İstem Aracısı Mimarisi nin İngilizcesinin kısaltmasıdır. CORBA Nesne Yönetim Grubu'nun (OMG) Nesne Yönetim Mimarisi'nin (OMA) ana bileşenlerinden birisidir. Nesne Yönetim Mimarisi Nesne Modeli ve Referans Modelinden oluşur. Nesne Modeli heterojen bir ortamda dağılmış nesnelerin nasıl tanımlanabileceğini belirler. Referans Modeli ise nesneler arası etkileşimleri tanımlar. Dolayısıyla Nesne Yönetim Mimarisi heterojen ortamlara dağılmış beraber işleyebilen dağıtık nesnelerin geliştirilmesine ve konuşlandırılmasına yardımcı olur. CORBA sayesinde programcılar kullandıkları nesnelerin hangi dilde yazıldığına, dağıtık olup olmadıklarına, işletim sistemlerine ve iletişim protokollerine bakmaksızın programları geliştirebilirler. Dağıtık nesnelerin iki yönü vardır. Bunlar sunucu ve istemci yönüdür. EN basit haliyle bu ilişki şöyle gerçekleşir: Sunucu uzak bir ara yüz (remote interface) sağlar ve istemci de sağlanan uzak ara yüzü çağırır. Bu ilişki RMI ve CORBA gibi birçok dağıtık nesne standartlarında benimsenen bir yaklaşımdır. Bu bağlamda, sunucu ve istemci terimlerinden kastedilen uygulama düzeyindeki etkileşimlerden ziyade nesne düzeyindeki etkileşimlerdir. Yani bir uygulama, herhangi bir nesne için sunucu olabilirken başka bir nesnenin istemcisi olabilir. Aşağıda bu tanımı özetleyen, dağıtık nesnelerin, bir CORBA istemci ve sunucucusu üzerinden bir metodu nasıl paylaştıklarını gösteren klasik bir Hello World uygulaması görünmektedir.

4 İstemci tarafında, uygulama uzak nesnenin bir referansını içerir. Bu nesne referansı, uzaktan çağrılan nesne metodunun bir vekil metoduna sahiptir. Sunucu tarafından ise, ORB (Object Request Broker), uzaktan çağrıyı, yerel nesne üzerinde bir metot çağrısıymış gibi yapmak için bir kod gövdesi (çatı) kullanır. Bu gövde, mevcut çağrıyı ve uygulamaya özel formattaki parametreleri çevirir ve metodu çağırır. Yordam dönüşünde, gövde, sonuçları ve hataları çevirerek çağrının geldiği istemciye tekrar, ORB yi kullanarak gönderir. ORB ler arasında iletişim, paylaşılan ortak bir protokol üzerinden (IIOP-Internet Inter ORB Protocol) üzerinden sağlanır. IIOP, standart TCP/IP internet protokolü temel alınarak oluşturulmuş, ORB ler arasında bilgi aktarımını sağlamak için oluşturulmuş bir protokoldür. Tıpkı CORBA ve IDL gibi IIOP de OMG tarafından tanımlanmış bir standarttır. 2.1 IDL CORBA dil bağımsızlığını sağlar. Bir dilde yazılan CORBA nesnesi, başka bir dilde yazılan CORBA nesnesine istem gönderebilir. Nesneye yönelik bir dilde yazılan CORBA nesnesi(örneğin Java veya Smalltalk), C veya COBOL da yazılan bir nesneyle konuşabilir, tersi de doğrudur. Dil bağımsızlığı nesneyi dış dünyaya sunan ara yüzleri tanımlayan bir ara dilin kullanılmasıyla sağlanır. Tipik bir nesneye yönelik sistemde olduğu gibi, CORBA nesneleri de kendine ait özel veriler ve özel metotlar içerir. Public veri

5 ve metotların tanımları da nesneyi dış dünyaya sunulan yüzü tanımlar. IDL, CORBA nın nesnelerini tanımladığı dilin adıdır. IDL kullanılırken sadece veriler, metotlar ve istisnalar tanımlanır. Her CORBA satıcısı IDL tanımlarını özel bir dile çeviren derleyici sağlarlar. Oracle8i JServer, idl2java derleyicisi kullanırlar. Idl2java derleyicisi, IDL ara yüzler tanımlarını Java sınıflarına çevirir. 3. ORB ORB (Object Request Broker) nesneler arasında veri değişimi ve iletişimini sağlayan bir orta katman teknolojisidir. ORB dağıtık nesnelerin veri değişim ve bunları kullanabilme kapasitelerinin arttırıldığı bir teknolojidir çünkü kullanıcıların birlikte olan nesneleri bölüp ORB ler üzerinden haberleşebilecek şekilde sistem geliştirmelerine olanak verirler. ORB nin gerçekleştirim ayrıntıları, dağıtık sistem geliştirenler tarafından genellikle önemli değildir. Geliştiricilerin sadece nesne ara yüzleriyle ilgilenmeleri yeterlidir. Bilgi gizlemenin bu yolu sistemin daha kaliteli olmasına neden olur çünkü nesne iletişim ayrıntıları geliştiricilerden saklanır ve ORB içinde izole edilir. ORB teknolojisi makine, yazılım ve satıcı kısıtları arasında nesne iletişimini amaç edinerek ilerler. ORB teknolojisini ilgili fonksiyonları şunlardır; Ara yüz tanımı Uzak nesnelerin muhtemel aktivasyonları ve konumlandırmaları İstemci ve nesne arasındaki iletişim ORB bir telefon santrali gibi davranır. Servisin dizinini sağlar ve bu servisler ile istemci arasında bir bağlantı kurulmasına yardım eder. (Şekil 1)

6 Şekil-1 ORB, sürekli ve etkili olarak birçok fonksiyonu desteklemek zorundadır. Fakat bu fonksiyonların çoğu ORB kullanıcılarından gizlenmiş haldedir. Bu yer ilizyonunu sağlamak ORB nin sorumluluğundadır. Başka bir deyişle, geliştirici başka bir işlem ya da makine üzerinde sanki yerelde (local) çalışıyormuş gibi işlemlere devam etme saydamlığına sahiptir. Bu yüzden ORB nesneler arasındaki cross-system iletişimi için bir çatı sağlar. Bu, nesne sistemlerinin bilgilerini değiştirme ve kullanabilme yolundaki ilk teknik adımdır. Nesne sistemleri bilgi değiş tokuşuna karşı diğer bir teknik adım da, platformlar arası nesne iletişimidir. ORB, nesnelerin, gerçekleştirim detaylarını, istemcilerden gizlemesine izin verir. Bu, programlama dilini, işletim sistemini, yerel donanım yapısını ve nesne konumunu kapsayabilir. Bütün bunlar şeffaflık olarak düşünülebilir ve farklı ORB teknolojileri, farklı saydamlıkları destekleyebilir. ORB kavramını uygulamanın birçok değişik yolu vardır. Örneğin, fonksiyonlar, istemciler için derlenebilir, işlemlere dağıtılabilir veya bir işletim sisteminin çekirdeğine dâhil olabilir. Bu temel tasarım kararları tek bir ürün içinde tanımlanabileceği gibi ORB uygulamacısının kararlarına bağlı olarak bir yelpaze içinde de yer alabilir. Ana olarak iki ORB teknolojisi vardır:

7 OMG nin (Object Management Group) CORBA (Common Object Request Broker Architecture) spesifikasyonu Microsoft un COM (Component Object Model) spesifikasyonu ORB yapısının daha ayrıntılı bir çizimi aşağıda verilmiştir. 4. Dağıtık nesnelerde standart olarak CORBA CORBA spesifikasyonundaki temel amaçlardan birisi de, istemci ve nesne gerçekleştirimini taşınabilir yapmaktır. CORBA spesifikasyonları ayrıca dağıtık nesnelerle ilgilenen istemciler için ve CORBA nesnelerinin gerçekleştirimleri için bir API tanımlar.yani herhangi bir şirketin CORBA ürünü için yazılan bir kod, minimum değişiklikle başka bir şirketin CORBA ürünü için yeniden yazılabilir. Fakat CORBA ürünlerinde bugünün dünyasına baktığımız zaman CORBA istemcileinin taşınabilir olduğunu görürüz ama buna karşın nesne gerçekleştirimlerinin bir CORBA ürününden diğerine taşınırken belli miktarda yeniden çalışma yapıldığı görülmektedir. Bu bağlamda CORBA 2.0, IIOP (Internet Inter-ORB Protokol) adında, herhangi bir istemcinin herhangi bir CORBA ürünü

8 kullanarak, herhangi bir CORBA ürünü kullanan başka bir istemci ile iletişim kurabilmesine olanak veren bir ağ protokolü tanımlamıştır. IIOP Internet üzerinden çalışan bir protokoldür. İki sistem arasında bilgi değişilebilirliği ve değişildikten sonra da kullanılabilirliği (interoperability), dağıtık sistemler için taşınabilirlikten daha önemlidir., 4.1 IIOP IIOP (Internet Inter-ORB Protocol), farklı programlama dillerinde yazılmış dağıtık programların Internet üzerinden haberleşmelerini sağlayabilmek için geliştirilmiş bir protokoldür. IIOP, stratejik bir endüstri standartı olan CORBA için kritik bir kesimdir. CORBA nın IIOP protokolünü kullanarak bir şirket kendi programlarıyla ya da başka bir şirketin programlarıyla, hernerede bulunursa bulunsun, program için servisi ve adı dışında bir bilgiye gereksinim duymadan iletişim kurabilir. CORBA ve IIOP sunucu/istemci modelini temel alan yaklaşımı kullanır. Buna göre bir istemci sürekli istemde bulunurken sunucu program da istemcide istemleri alıp yanıtlamak için bekler. Programcı programını yazarken GIOP (General Inter-ORB Protocol) adı verilen bir arayüz kullanır. GIOP bir veya daha çok ağ iletişim katmanında mapping yapmak üzere gerçekleştirilmiştir. İstemci tarafında, ağdaki herhangi bir bilgisayardaki bir programa istemde bulunmak için istemci program için bir adres bilgisine sahip olmalıdır. Bu adres IOR (Interoperable Object Reference)olarak bilinir. IIOP kullanılarak, adres sunucunun port numarası ve ip sine dönüştürülür. İstemcinin bilgisayarında ise IOR leri proxy isimlerine eşlemek için bir tablo tutulur. Burdaki amaç ise kullanımı kolaylaştırmaktır. GIOP, programa bir IOR ile bağlantı kurması için izin verir ve istemini gönderir. Daha sonra bir CDR (Common Data Representation) veri için encode ve decode işlemlerini yaparak verinin standart bir şekilde değişilmesini sağlar.

9 4.2 Java RMI Uzak Metot Çağrımı (RMI) ilk olarak JDK 1.1 ile gündeme gelmiş ve ağ programlamayı daha yüksek seviyelere taşımıştır. Uzak Metot Çağrımı nın kullanımının nispeten kolay olmasının yanında fark edilir güçte teknolojiler arasında gösterilebilir. Uzak Metot Çağrımı, ortalama Java geliştiricilerini dağıtık işlemler dünyası adı verilen yeni bir değerler dizisi ile tanıştırmaktadır. Uzak Metot Çağrımı, dağıtık sistemlerdeki klasik Uzak Yordam Çağıra mantığına benzer şekilde, uzaktaki bir bilgisayar üzerinde çalışan Uzak nesne nin metotlarını çağırabilmek olarak bilinmektedir. Diğer dağıtık programlama (Ara yüz Tanımlama Dili (IDL), Uzak Yordam Çağırma (RPC), vb) aksine Java Uzak Metot Çağrımı (RMI), Java programlama diline özgüdür. Uzak Metot Çağrımı, dağıtılmış bir ortamda yerel çalışıyormuşçasına imkânlar sağlayan, uzaktan nesnelere ileti göndermeye yarayan temel bir teknoloji olarak görülebilir. Büyük çaplı yazılımlar başarılarını Uzak Metot Çağırımı na borçludur. Bu tüy büyük çaptaki yazılımlarda Java RMI teknolojisi kullanıldığından, istemci ve sunucu da Java programlama dili ile kodlanacağı için dağıtık programlama tümüyle Java programlama dilinde gerçekleşmektedir. Böylelikle Java programlama dilinin özellikleri avantajları dağıtık

10 programlamada da kullanılabilmiş olmaktadır. Java RMI ağ işlemleri için kullanıcıya soket ve streamlere göre daha üst düzeyde bir ara yüz sunmaktadır. Bu nedenle, RMI ile dağıtık programlama yapmak soket ve stream kullanımına göre daha az karmaşıktır. Programcı açısından bakıldığında, RMI kullanıldığında istemci/sunucu uygulamaların geliştirilmesi sırasında ağ işlem alt düzeydeki ayrıntıları ile uğraşmak gerekmemektedir. Çizim 1 de Java Sanal Makinesi 1 üzerinde bulunan bir Java uygulamasının, Java Sanal Makinesi 2 üzerinde bulunan Uzak Nesne isimli bir nesnenin Uzak_Metot() isimli bir metodunu çağrımı görülmektedir.

11 5. CORBA Servisleri CORBA standardının önemli diğer bir parçası ise, dağıtık nesneler arasındaki bilgi değişimi ve kullanımı ile bütünleşmeyi destekleyen dağıtık servislerin bir dizi tanımlarıdır. Aşağıdaki figürde de görüldüğü üzere, servisler (CORBA Servisleri ya da COS), ORB nin üst kesiminde tanımlanıştır. IDL ara yüzlü standart CORBA nesneleri olarak tanımlandıkları için bazen de Nesne Servisleri olarak da tanımlanabilirler. Birçok CORBA servisi vardır. Popüler olanları aşağıda özet halinde sunulmuştur. Servis Object life cycle Naming Açıklama CORBA nesnelerinin nasıl yaratıldığını, kaldırıldığını, taşındığını ve kopyalandığını tanımlar CORBA nesnelerinin nasıl friendly sembolik isimlerinin olabileceğini tanımlar Events Dağıtık nesneler arasındaki iletişimi çözer

12 Relationships CORBA nesneleri arasında isteğe bağlı ilişkiler tanımlanmasını sağlar Externalization Transactions Concurrency Control CORBA nesnelerinden dış ortamdan/ortama dönüşüm için eşgüdüm sağlar CORBA nesnelerine atomik işlem için eşgüdüm sağlar seri işlem sağlamak için, CORBA nesneleri için kilitleme servisi sağlama Property CORBA nesnelerinde isimdeğer çiftleri için bir ilişki sunar Trader CORBA nesnelerinin bulunmasını destekler Query nesneler üzerinde sorguları destekler 6. CORBA Ürünleri CORBA bir spesifikasyondur. Ürünlerin gerçekleştirimlerinde bir rehberdir. Birçok satıcı değişik programlama dilleri için CORBA ürünleri sağlayabilir. Java programlama dilini destekleyen CORBA ürünü şunları içerir. ORB Açıklama The Java 2 ORB Java 2 ORB, Sun ın Java 2 SDK sı ile gelir.

13 VisiBroker for Java Inspire Corporation tarafından popüler bir Java ORB. Netscape Communicator web tarayıcı içine gömülen ORB dir. OrbixWeb Lona Technologies tarafından popüler bir Java ORB WebSphere IBM tarafından ORB içeren popüler bir uygulama sunucusu Netscape Communicator Netscape, VisiBroker ın bir sürümüne sahiptir. Appletler, web tarayıcıya ORB sınıfları yüklemeden CORBA nesnesi üzerinden istem gönderebilir 7- CORBA ile Örnek Bir İstemci-Sunucu Örneği Bu örneğimizde Java IDL kullanarak örnek bir CORBA dağıtık uygulamanın nasıl gerçekleştirildiğini göreceğiz. Adım adım klasik bir Hello World uygulaması geliştireceğiz. Hello World programı, basılmak üzere bir kadar döndüren sadece bir eylem gerçekleştirir. Uygulamadaki adımları daha iyi anlamak açısından CORBA yapısını tekrar gözden geçirmekte fayda vardır. 1- İstemci, Hello Server ın sayhello metodunu çağırır. 2- ORB, bu çağrıyı IDL ara yüzü için kayıtlı hizmet veren nesneye transfer eder. 3- Hizmeti sunan nesnenin sayhello metodu çalıştırılır. Karşılığında bir Java String tipinde nesne döner.

14 4- ORB, bu String tipindeki nesneyi tekrar istemciye yönlendirir. 5- İstemci String tipindeki nesnenin değerini yazdırır. Basit tasarımına karşın bu uygulama temel bir CORBA uygulaması geliştirmek için gereken altyapıyı sağlar. BAŞLANGIÇ: JAVA IDL ile çalışmaya başlamadan önce iki şeye ihtiyacımız var. Birincisi JDK 1,2 sürümü ve idltojava derleyicisi. JDK, CORBA tabanlı dağıtılmış nesne etkileşimi için ihtiyaç duyulan API ve ORB altyapısını sağlar. İdltojava derleyicisi, IDL ara yüz tanımlarını ilişkin ara yüzlere, sınıflara ve sunucu ve istemci kodlarını tanımlamak için kullanacağımız metotlara çevirmek için IDL-Java mapping kullanır. IDL ara yüzünü yazmak Bu bölümde Hello World uygulaması için basit bir IDL ara yüzü yazacağız. IDL ara yüzü, uygulamamızdaki istemci ve sunucu kesimi için etkiletişimi sağlar. OMG IDL programlama dilinden bağımsız bir kesimdir. Herhangi bir gerçekleştirime yönelik kodlamadan önce IDL i Java ya map etmemiz gerekir. (idltojava derleyicisini IDL dosyası üstünde çalıştırarak.) Hello. idl i yazmak Hello World için yazılması gereken IDL oldukça basittir. Bunun için aşağıda belirtilen üç adımı uygulamak yeterlidir. Adım 1: CORBA IDL modülünü tanımlamak a) Herhangi bir yazı editörü açın ve Hello.idl adında bir kütük yaratın. b) Kütük içine aşağıdaki modül satırlarını girin. module HelloApp { // Sonraki kodları buraya ekleyin. ; c) Kütüğü kaydedin. İdltojava derleyicisini bu kütük üstünde çalıştırdığınızda, bu satırlar Java kodunda paket tanımı oluşturacaktır.

15 Ara yüzü tanımlamak Hello.idl kütüğünün içine aşağıdaki ara yüz deyimlerini yazın. module HelloApp { interface Hello // Bu { // dört // satırı ; // ekleyin. IDL i derlediğiniz zaman, bu deyim Java kodunda bir ara yüz deyimi oluşturacaktır. Sunucu ve istemci sınıfları Hello ara yüzünü değişik yollardan implement edecektir. Metotları tanımlamak CORBA işlemleri, sunucuların istemci namına gerçekleştirmeye söz verdiği davranışlardır. IDL türündeki her işlem deyimi, üretilen Java ara yüzündeki ilgili metot deyimini üretir. Hello.idl kütüğüne aşağıdaki ara yüz deyimlerini ekleyin. module HelloApp { interface Hello { string sayhello(); // Bu satırı ekleyin. ; ; Çünkü bizim küçük Hello World uygulamamız sadece bir tane işlem içerir. Hello.idl şimdi son halini almıştır. Hello.idl i IDL den Java ya çevirmek İdltojava aracı OMG IDL kütüklerini okuyarak gerekli Java kütüklerini yaratır. İdltojava öndeğerlerine ayarlanır böylece bizim istemci ve sunucu kütüklerimiz için sadece araç ismini(idltojava) ve IDL ismini girmemiz yeterli olur. 1- Komut satırına gidin. 2- Konumunuzu Hello.idl kütüğünün olduğu dizine Çevirin.

16 3- Derleyici komutunu girin. idltojava Hello.idl Eğer dizinin içeriğini listelerseniz, HelloApp adlı dizinin yaratıldığını ve içerisinde de beş tane kütük bulunduğunu göreceksiniz. Hello.java kütüğünü bir metin editörü ile açarsanız şu satırlarla karşılaşırsınız. /* Hello.java as generated by idltojava */ package HelloApp; public interface Hello extends org.omg.corba.object { String sayhello(); IDL deyimlerinden Java deyimlerine çeviri şu şekilde olmuştur. IDL Deyimi Module HelloApp Java Deyimi package HelloApp; İnterface Hello public interface Hello String sayhello(); String sayhello(); Derleme sırasında karşılaşılabilecek hatalar: Hata mesajı: idltojava not found idljava konumunun path içinde olduğundan emin olun. Hata mesajı: preprocessor failed idltojava öntanımlı olarak C/C++ önişleyicisini kullanır. Öntanımı, iki ortam değişkenini ayarlayarak değiştirebilirsiniz. CPP ve CPPARGS. Eğer bir önişleyici kullanmak istemiyorsanız, idltojava komut satırına fno-cpp satırını ekleyebilirsiniz. İstemci Uygulamayı Geliştirmek CORBA istemcisinin temel yapısı birçok Java uygulamasından garklı değildir. Gerekli paketleri

17 ekleyin, bir uygulama sınıfı tanımlayın, bir main metodu tanımlayın, istisnaları yakalamayı da unutmayın. Gerekli Paketlerin Eklenmesi Herhangi bir metin editörü açın ve proje dizinine HelloClient.java olarak kaydedin. Daha sonra gerekli paketleri ekleyin: import HelloApp.*; // stub altyapısını sağlamak için. import org.omg.cosnaming.*; // HelloClient isimlendirme servisini //kullanır import org.omg.corba.*; // Bütün CORBA uygulamaları buna //ihtiyaç duyar Main metodununu tanımlanması Her Java uygulaması main metoduna ihtiyaç duyar. Main metodunu HelloClient.java sınıfının etkinlik alanı içinde aşağıdaki gibi tanımlayın. public static void main(string args[]) { // Daha sonra buraya try-catch bloğu ekleyin CORBA Sistem İstisnalarını Ele Almak Bütün CORBA uygulamalarının çalışma anında CORBA sistem hatasını fırlatabileceğini göz önüne alarak, main içindeki tüm kodu try-catch bloğuna almamız gerekir. İstisna yakalayıcımız sadece istisnanın ismini yazdırır ve yığıt izini ekrana basar. try { // HelloClient kodu buraya yazılacaktır. catch(exception e) { System.out.println("ERROR : " + e); e.printstacktrace(system.out); Bir ORB Nesnesi Yaratmak Bir CORBA istemcisi, bütün marchalling ve IIOP işlemlerini gerçekleştirmek için yerel bir ORB nesnesine ihtiyacı vardır. HelloClient sınıfının içinde, try-catch bloğunun içine bir ORB değişkeni tanımlayalım.

18 RB orb = ORB.init(args, null); ORB nin init metodunu çağırmak, uygulamamızın komut satırı argümanlarını aktarmaya yarar ve çalışma anında kesin özellikleri değiştirmemize izin verir. Hello Sunucusunu Bulmak CORBA istemcisi için bir ilk nesne referansı almak için çeşitli yolar vardır. Bizim uygulamamız bunun için COS isimlendirme servisini kullanacaktır. COS, OMG tarafından tanımlanmış ve Java IDL destekleyen bir servistir. org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); İlk adımda, sunucu ismi üzerinden bir referans almak için orb.resolve_initial_references çağrılır. NameServer bütün CORBA ORB leri için tanımlı bir katardır. Bu kadarı parametre olrak geçtiğimiz zaman, ORB bir naming context döndürür. Bütün CORBA nesne referansları gibi objref de jenerik bir CORBA nesnesidir. Onu NamingContext olarak kullanabilmek için, onu uygun tipinden ödünç almak gerekir. NamingContext ncref = NamingContextHelper.narrow(objRef); Hello sunucusunu bulabilmek için öncelikle Hello sunucusunun kimliğini tanımlayan, bir NameComponent a ihtiyaç vardır. NameComponent nc = new NameComponent("Hello", ""); Hello nesnesine olan yol sadece bir element içerdiği için, nc üstünden tek elemanlı bir dizi oluşturulur. NameComponent path[] = {nc; Son olarak, Hello sunucusuna bir referans almak için ve bunu Hello nesnesine vermek için, isim servisin resolve metoduna gerekli yol paramatre olarak geçilir. Hello helloref = HelloHelper.narrow(ncRef.resolve(path)); sayhallo işlemini çağırmak: 1- HelloClient.java içinde, try-catch bloğunun içine isim servisinin resolve metodunu çağırmak için aşağıdaki çağrı yapılır. String Hello = helloref.sayhello();

19 2- Son olarak da sonuç ekrana bastırılır. System.out.println(Hello); 3- Kütük kaydedilir ve kapatılır (HelloClient.java) Hello World sunucusunun geliştirilmesi Bir metin editörü açın ve HelloServer.java isminde bir kütük yaratın. Sonra aşağıdaki paketleri ekleyin. Gerekli paketleri eklemek // stub içeren paket. import HelloApp.*; // HelloServer isimlendirme servisini kullanacak. import org.omg.cosnaming.*; import org.omg.cosnaming.namingcontextpackage.*; // Bütün CORBA uygulamalı bu paketi kullanır. import org.omg.corba.*; Sunucu sınıfını tanımlamak public class HelloServer { // kodlar buraya. CORBA sistem hatalarını ele almak Main içine aşağıdaki try-catch bloğunu ekleyin. try { // HelloServer kodları buraya eklenecektir catch(exception e) { System.err.println("ERROR: " + e); e.printstacktrace(system.out); ORB nesnesini yaratmak İstemci gibi sunucu uygulama da yerel bir ORB nesnesine ihtiyaç duyar.

20 ORB orb = ORB.init(args, null); Hizmet eden nesneyi (servant) yönetmek HelloServant helloref = new HelloServant(); Hizmet edecek sınıf hala tanımlanmadı. Bunu daha sonraki adımlarda yapacaksınız. Bir sonraki adımda nesnemizi ORB ye bağlayacağız. Böylece ORB gelen çağrıların farkına varıp bu çağrıları doğru hiçmet eden sınıfa aktarabilir. HelloServant helloref = new HelloServant(); Hizmetçi sınıfı tanımlamak 1- Sınıfı tanımlayın. class HelloServant extends _HelloImplBase { // sayhello metodunu burada oluşturun. 2- Hizmetçi sınıf _HelloImplBase sınıfının alt sınıfıdır. Bu yüzden derleyici tarafından bütün CORBA fonksiyonelliği kalıtılır. 3- Gerekli sayhello metodunu tanımlayın. public String sayhello() { //metod tanımını burada oluşturun 4- sayhello tanımını oluşturun. return "\nhello World!!\n"; COS isimlendirme servisi ile çalışmak org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef); 1- Yeni bir NameComponent nesnesi yaratın. NameComponent nc = new NameComponent("Hello", "");

21 2- Hello nesnesine olan yol sadece bir element içerdiği için, nc üstünden tek elemanlı bir dizi oluşturulur. NameComponent path[] = {nc; 3- Son olarak yolu ve hiçmetçi sınıfı isimlendirme servisine geçin ve nesneyi Hello id si ile bağlaytın. ncref.rebind(path, helloref); COS isimlendirme servisi ile çalışmak Sunucumuz hazır. Tek ihtiyacı olan çevrede ihtiyacı olan istemcilerden istem beklemektir. Bunun için try-catch bloğunun sonuna aşağıdaki kod kesimi eklenir. java.lang.object sync = new java.lang.object(); synchronized(sync) { sync.wait(); Uygulamamızı Çalıştırmak Uygulamayı derlemek ve çalıştırmak Şu anda Hello.idl kütüğünü oluşturmuş durumdayız. idltojava derleyicisini onun üstünde çalıştırın. Sunucu ve istemci kodlarını da yazmış durumdayız. İstemci programı derlemek: 1- HelloClient.java yı derleyin. Javac HelloClient.java HelloApp\*.java 2- Eğer hatalar varsa düzeltin ve yeniden derleyin 3- Sonunda proje dizininde HelloClient.class kütüğünü göreceksiniz. İstemci programı derlemek: 1- HelloServer.java kütüğünü derleyin javac HelloServer.java HelloApp\*.java

22 2- Eğer hatalar varsa düzeltin ve yeniden derleyin 3- Sonunda proje dizininde HelloServer.class ve HelloServant.class kütükleini göreceksiniz. Uygulamayı Çalıştırmak: 1- Windows için komut satırını, unix için komut kabuğunu(shell) Açın ve Java IDL isim servisini başlatın. tnameserv -ORBInitialPort İkinci bir komut satırından veya kabuktan Hello sunucusunu çalıştırın. java HelloServer -ORBInitialPort Üçüncü bir komut satırından ya da kabuktan Hello uygulama istemcisini çalıştırın. java HelloClient -ORBInitialPort İstemci aşağıdaki kadarı ekrana basar. Hello world!! NameServer ı ve HelloServer ı istemci uygulama başarıyla sonuçlandıktan sonra sonlandırmayı unutmayın. Uygulamada anlatılan java kodları aşağıda verilmiştir. 1) Hello.idl module HelloApp { interface Hello { string sayhello(); ; ; 2) HelloClient.java import HelloApp.*; // The package containing our stubs. import org.omg.cosnaming.*; // HelloClient will use the naming service. import org.omg.corba.*; // All CORBA applications need these classes. public class HelloClient { public static void main(string args[]) { try{

23 // Create and initialize the ORB ORB orb = ORB.init(args, null); // Get the root naming context org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef); // Resolve the object reference in naming NameComponent nc = new NameComponent("Hello", ""); NameComponent path[] = {nc; Hello helloref = HelloHelper.narrow(ncRef.resolve(path)); // Call the Hello server object and print results String Hello = helloref.sayhello(); System.out.println(Hello); catch(exception e) { System.out.println("ERROR : " + e); e.printstacktrace(system.out); 3) HelloServer.java // The package containing our stubs. import HelloApp.*; // HelloServer will use the naming service. import org.omg.cosnaming.*; // The package containing special exceptions thrown by the name service. import org.omg.cosnaming.namingcontextpackage.*; // All CORBA applications need these classes. import org.omg.corba.*; public class HelloServer { public static void main(string args[]) { try{ // Create and initialize the ORB ORB orb = ORB.init(args, null); // Create the servant and register it with the ORB HelloServant helloref = new HelloServant(); orb.connect(helloref); // Get the root naming context org.omg.corba.object objref = orb.resolve_initial_references("nameservice"); NamingContext ncref = NamingContextHelper.narrow(objRef);

24 // Bind the object reference in naming NameComponent nc = new NameComponent("Hello", ""); NameComponent path[] = {nc; ncref.rebind(path, helloref); // Wait for invocations from clients java.lang.object sync = new java.lang.object(); synchronized(sync){ sync.wait(); catch(exception e) { System.err.println("ERROR: " + e); e.printstacktrace(system.out); class HelloServant extends _HelloImplBase { public String sayhello() { return "\nhello world!!\n";

25 Kaynaklar

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1 Görsel Programlama DERS 01 Görsel Programlama - Ders01/ 1 Takdim Planı Nesneye Dayalı Programlama Kavramı Nesne, Sınıf Kavramı Java Programlama Dili Java Programlama Dili Temel Özellikleri Java Sürümleri

Detaylı

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR 4.ÜNĐTE Đyi bir DNS in içermesi gereken özellikler nelerdir? ( 5 ) Đsimlendirme imlası açık ve süphesiz olmalıdır; Bir kullanıcı bir isme

Detaylı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

FARKLI BAKIŞ AÇILARINDAN JAVA RMI VE CORBA NIN KARŞILAŞTIRILMASI

FARKLI BAKIŞ AÇILARINDAN JAVA RMI VE CORBA NIN KARŞILAŞTIRILMASI PAMUKKALE ÜNİ VERSİ TESİ MÜHENDİ SLİ K FAKÜLTESİ PAMUKKALE UNIVERSITY ENGINEERING COLLEGE MÜHENDİ SLİ K Bİ L İ MLERİ DERGİ S İ JOURNAL OF ENGINEERING SCIENCES YIL CİLT SAYI SAYFA : 2001 : 7 : 1 : 63-69

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama BMS-302 İleri Web Programlama İş Parçacığı (Thread) ve Soket (Socket) Programlama İş Parçacıkları (Threads) Ana programa paralel çalışan işler oluşturmak için kullanılır Makine birden fazla çekirdeğe sahipse

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH.

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜH. WSDL-SOAP MURAT TEZGİDER Web Servisi Nedir? web servisi :standart formatları kullanarak programlama dili, işletim sistemi ve platformdan bağımsız olarak bilgiyi paylaşan

Detaylı

Java Programlamada Paket Yapısı Ve Import

Java Programlamada Paket Yapısı Ve Import Java programlamada paket yapısı ve import Java Programlamada Paket yapısı ve Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka

Detaylı

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

Android e Giriş. Öğr.Gör. Utku SOBUTAY Android e Giriş Öğr.Gör. Utku SOBUTAY Android İşletim Sistemi Hakkında 2 Google tarafından geliştirilmiştir. Dünyada en çok kullanılan mobil işletim sistemidir. 2018 itibariyle Dünyada Android; %78.65,

Detaylı

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ Ana Main Kodları /*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/ package javaapplication1; public class JavaApplication1 public static void

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

Java Temel Özellikleri

Java Temel Özellikleri Java Temel Özellikleri Java Programlama Dili Java programlama dili şu anda dünyadaki en popüler programlama dillerinden biri haline gelmiştir. Java SUN bilgisayar şirketince elektrikli ev aletlerinin birbiriyle

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

Java da İstemci Tarafı Uygulamalar

Java da İstemci Tarafı Uygulamalar Java da İstemci Tarafı Uygulamalar ( Applets ) BBS-515 Nesneye Yönelik Programlama Ders #7 (7 Aralık 2009) İçerikç Geçen ders: Java da dizi ( array ) ve dizgi ( String ) tanımlama Örnekler Bu ders: 1.

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

İŞ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

İŞ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 İŞ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 bulunmaktadır; 1. Performans: İşletim sistemi, makine

Detaylı

PHP 1. Hafta 2.Sunum

PHP 1. Hafta 2.Sunum PHP 1. Hafta 2.Sunum Hello World Bu derste görülecekler WAMP ve PHP Hosting kavramı ve bizi neden ilgilendirmediği Domain ve localhost kavramları www klasörü İlk PHP kodunun

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

Java Programlama Giriş

Java Programlama Giriş Java Programlama Giriş 2013-2014 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2014 Muhammer İLKUÇAR 1 Neden Java Programlama Platformdan bağımsızdır

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA III Bilgi iletişim sistemi : Bilgi iletişim sistemi, dağıtık sistem içerisinde düğümler arasındaki iletişimi desteklemekle yükümlüdür. İletişim sistemi, iletişim ağı ile bağlanmış herhangi bir düğümün,

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş C Programlama Dr. Serkan DİŞLİTAŞ 1.1. C# ile Program Geliştirme.Net Framework, Microsoft firması tarafından

Detaylı

ED Model Yapıtaşı Haberleşme Altyapısı

ED Model Yapıtaşı Haberleşme Altyapısı ED Model Yapıtaşı Haberleşme Altyapısı Aysun Sancar Yılmaz, Betül Baydemir Çankaya, Hande Doğan Köseoğlu REHİS-EHGYM, Aselsan A.Ş., Ankara {asancar,baydemir,hdogan}@aselsan.com.tr Özet. Elektronik Destek

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü: Bölüm 24 Java Ağ Uygulamaları 24.1 Java Appletleri Applet, Web tarayıcısında çalışan bir Java programıdır. Bir applet, Java uygulaması için tamamen fonskiyonel olabilir çünkü bütün Java API ye sahiptir.

Detaylı

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

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

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı HAFTA IV Elbistan Meslek Yüksek Okulu 2016 2017 Güz Yarıyılı Open System Interconnection (OSI) OSI modeli sıradüzensel 7 katmandan oluşur. OSI modeli hala geliştirilmekte olmasına rağmen satıcılar ve standart

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 1 Servlet Nedir? Internetin ilk zamanlarında geliştirilen web sayfaları durağan bilgiler içeriyordu. Zaman geçtikçe web sayfaları daha değişken,

Detaylı

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

// hataları işaret eden referans

// hataları işaret eden referans System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin

Detaylı

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ

COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ COĞRAFİ BİLGİ SİSTEMLERİ SERVER MİMARİSİ SERVER UYGULAMA GELİŞTİRME EĞİTİMİ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat COĞRAFİ

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58; BTEP212 Java DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI Lab7 bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt

Detaylı

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu Güz Yarıyılı EKi Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 Güz Yarıyılı 22-23 EKi. 2015 Salı, Perşembe Öğr. Gör. Murat KEÇECĠOĞLU OSI modeli sıradüzensel 7 katmandan oluşur. OSI modeli hala geliştirilmekte olmasına rağmen

Detaylı

BİT in Temel Bileşenleri (Yazılım-1)

BİT in Temel Bileşenleri (Yazılım-1) Ders 4 BİT in Temel Bileşenleri (Yazılım-1) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların, birbirleriyle haberleşebilmesini ve uyumunu

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JSP Üst Düzey Programlama-ders04/ 1 JSP JSP durağan HTML ile dinamik oluşturulan içeriği birleştirmeyi sağlar. Bir web sayfası tasarlama programı ile web sayfasını tasarlar daha sonra

Detaylı

COM API v2.0 Belge sürümü : 2.0.3

COM API v2.0 Belge sürümü : 2.0.3 COM API v2.0 Belge sürümü : 2.0.3 1. Đçindekiler 1. Đçindekiler...2 2. Bu belgenin amacı...3 3. Belge sürümleri...3 4. Sistem gereksinimleri...3 5. Kullanım şekli...4 5.1 Genel...4 5.2 Uyarılar...4 5.3

Detaylı

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Görsel Programlama DERS 12. Görsel Programlama - Ders12/ Görsel Programlama DERS 12 1 Java Ağ İşlemleri (Java Networking) Birbirleri ile ağ araçları ve kabloları ile bağlantılı bilgisayarlar bir ağ sistemi oluştururlar. İnternet, şirketlerin yerel bilgisayar

Detaylı

Bölüm 9. Altprogramlar ISBN

Bölüm 9. Altprogramlar ISBN Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

ÖZGÜR YAZILIMLAR İLE J2EE

ÖZGÜR YAZILIMLAR İLE J2EE ÖZGÜR YAZILIMLAR İLE J2EE Buğra Çakır bugra@ibrahimcakir.com Seminer İçeriği 1. İki ve üç katmanlı yazılım mimarileri 2. Java ve J2EE platformu 3. Özgür yazılımlar ile J2EE 4. Eclipse, Lomboz ve JBoss

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER

BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER Yazılımı ve Genel Özellikleri Doç.Dr. Cüneyt BAYILMIŞ Kablosuz Ağların Modellemesi ve Analizi 1 OPNET OPNET Modeler, iletişim sistemleri ve

Detaylı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı

Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Windows Mobile İşletim Sistemleri İçin Veri Giriş Yazılımı Yasin Hınıslıoğlu 1 Mehmet Serdar Güzel 2 1 Ahmet Yesevi Üniversitesi Yönetim Bilişim Sistemleri Bölümü, Ankara 2 Ankara Üniversitesi Bilgisayar

Detaylı

Klavyeden Basit Giriş/Çıkış İşlemleri

Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada

Detaylı

DAĞITIK NESNE YÖNETİMİ MİMARİLERİNDEN CORBA VE DCOM MİMARİLERİNİN KARŞILAŞTIRMASI

DAĞITIK NESNE YÖNETİMİ MİMARİLERİNDEN CORBA VE DCOM MİMARİLERİNİN KARŞILAŞTIRMASI http://www.trakya.edu.tr/enstituler/fenbilimleri/dergi/net/index.htm Trakya Üniversitesi Bilimsel Araştırmalar Dergisi B Serisi Fen Bilimleri, 4(1): 37-45, 2003 ISSN 1302 647X DIC: 77AMACET/4106030703

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ Amaçlar 1. TCP protokolünün öğrenilmesi 2. Ağ programlamada kullanacağımız sistem komutlarının öğrenilmesi 3. Ağ programlamanın kavranması TCP ile veri alışverişi

Detaylı

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu

BBS515 Nesneye Yönelik Programlama. Ders 1 Zümra Kavafoğlu BBS515 Nesneye Yönelik Programlama Ders 1 Zümra Kavafoğlu Dersin Amacı Nesneye Yönelik Programlama Kavramını Java Dili Üzerinden Öğrenmek Nesneye yönelik programlama ile ilgili nesne, sınıf, kalıtım, çok

Detaylı

O P C S T A N D A R D I

O P C S T A N D A R D I O P C S T A N D A R D I ASP OTOMASYON LTD. Sadık ŞENOL İsmail YAKIN 12/08/2008 OPC Standardı İnsan gücüne dayalı üretimden otomasyona dayalı, daha kontrollü bir üretime geçiş endüstride üretim hızını ve

Detaylı

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ü

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ü 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ü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

Detaylı

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir. Eş zamanlı Scream! kullanımı Scream!, sismik ağın güçlü bir parçası olacak şekilde tasarlanmıştır. Varsayılan yapılandırma dosyası scream.ini dir ve ilk kullanım sırasında kendini otomatik olarak oluşturur.

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders02/ 1 Form ve kullanıcı verilerinin alınması http://anamakine/yol?kullanici=mustafa&sayfa=22 gibi bir istek ile karşılaşmışızdır.? işaretinden sonra

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ASP.NET TEMELLERİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu İnternet Nasıl Çalışır? Sunucu istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan

Detaylı

DAĞITIK PROGRAMLA. Bütün işler tek bir kod, hatta tek bir bilgisayar tarafından yürütülmez. Her bir katmanı ayrı bir bilgisayar tarafından koşturulur.

DAĞITIK PROGRAMLA. Bütün işler tek bir kod, hatta tek bir bilgisayar tarafından yürütülmez. Her bir katmanı ayrı bir bilgisayar tarafından koşturulur. DAĞITIK PROGRAMLA Dağıtık programlama, dağıtık, açık, ölçeklenir, saydam ve hataları giderebilen bir programlama modelidir. Uzak yordam çağrıları (RPC), işletim sistemi komutlarını bir ağ bağlantısı üzerinde

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden

Detaylı

Bilgi Servisleri (IS)

Bilgi Servisleri (IS) Bilgi Servisleri (IS) GRID Kullanıcı Eğitimi Boğaziçi Üniversitesi 2007, İstanbul Emrah AKKOYUN Konu Başlığı Neden ihtiyaç duyulur? Kullanıcılar kimlerdir? Bilgi Servisi türleri MDS ve BDII LDAP Bilgi

Detaylı

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ

ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ ANKARA ÜNİVERSİTESİ ELMADAĞ MESLEK YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI PROGRAMI DERS İÇERİKLERİ TDİ111 TÜRKDİLİ 1 1. Dil, diller ve Türk dili 2. Dil bilgisi, sözcük, cümle 3. Kelime Türleri 4. Anlatımın

Detaylı

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir. TEMEL AĞ TANIMLARI Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir WAN ve LAN Kavramları Bilgisayarlar ve paylaşılan

Detaylı

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

OMNET++ 4.2.2. Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü OMNET++ 4.2.2 Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları OMNET++ OMNET++ (Objective Modular Network Testbed in C++), nesneye yönelik (objectoriented)

Detaylı

Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1

Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1 Hata Ayıklamanın Ötesi... (Assertion) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 14 1 Assertion Assertion kelimesinin Türkçe karşılığı iddia, birşeylerin doğruluğunu ispat etmek anlamlarına

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon Dinamik Kodlama Ürün Grubu Kategori Versiyon Önkoşulu [X] Fusion@6 [X] Yeni Fonksiyon @6 Uygulama @6 Serisi ürünlerde, kullanıcı arabirimlerinin her yerine eklenen dinamik kodlama özelliği ile, programın

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

2007-2008 Bahar. BM 211 Programlama Dilleri 3 1

2007-2008 Bahar. BM 211 Programlama Dilleri 3 1 Programlama Dilleri III 2007-2008 Bahar BM 211 Programlama Dilleri 3 1 Ders Hakkında Ders Sorumlusu Öğr.Gör. Bora UĞURLU Ders Slaytları İçin http://members.comu.edu.tr/boraugurlu/ Dersle İlgili İletişim

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama BÖLÜM 11: : Birçok programda, bazı verilerin disk üzerinde saklanmasına gerek duyulur. Bütün programlama dillerinde, sabit disk sürücüsü (Hard Disk Drive, HDD) üzerindeki verileri okumak veya diske veri

Detaylı

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından

Detaylı

WebInstaller. 1. Kurulum Đçin Gereksinimler

WebInstaller. 1. Kurulum Đçin Gereksinimler WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe

Detaylı

F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA.

F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA. F.Ü. Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Bilgisayar Sistemleri Laboratuvarı DENEY NO: 6 JAVA İLE DAĞITIK PROGRAMLAMA Deneyin Amacı: Bu deneyde nesne tabanlı bir programlama dili olan JAVA

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java

İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java JAVA KODLAMAYA GİRİŞ Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlaması için Gerekli Programlar JRE, JDK kurulması ve Başlangıç Ayarları Java Kodlamayı Kolaylaştıran IDE ler Java Kod Yapısı İlk Java Programı

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

Business Delegate Tasarım Şablonu KurumsalJava.com

Business Delegate Tasarım Şablonu KurumsalJava.com Business Delegate Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Modern yazılım sistemleri birden fazla katmandan oluşur. Bu katmanlar her zaman aynı server üzerinde

Detaylı

Ağ Yönetiminin Fonksiyonel Mimarisi

Ağ Yönetiminin Fonksiyonel Mimarisi Bölüm 7 Ağ Yönetimi Ağ Yönetiminin Fonksiyonel Mimarisi a) Performans (Performance) Yönetimi b) Sistem Ayarları (Configuration) Yönetimi c) Hesap (Account) t)yönetimi i d) Hata (Fault) Yönetimi e) Güvenlik

Detaylı

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir.

Nesneye yönelik: Javada herşey bir nesnedir. Java nesne yönelimli olduğu için kolayca geliştirilebilir. BÖLÜM 1 Java Programlamaya Giriş Java programlama dili ilk olarak başında James Gosling`n bulundugu Sun Microsystems tarafından 1995 yılında, Sun Java Platformunun ana unsuru olarak geliştirilmeye başlandı.

Detaylı

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net

Ünite-3 Bilgisayar Yazılımı. www.cengizcetin.net Ünite-3 Bilgisayar Yazılımı Yazılım Kavramı Bilgisayarın belirli bir işi gerçekleştirebilmesi için kullanıcı tarafından her adımda ne yapacağı tarif edilmiş olmalıdır. Yani kullanıcı bilgisayara uygun

Detaylı

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır. Yazılım Mimarisi 1.Yazılım Mimarisi Nedir? Yazılım mimarisi geliştirilen uygumaların maliyetlerinin azaltılmasında önemli bir yer tutar. Örneğin MVC modeli kullanarak bir uygulama geliştiriyoruz ve arayüz

Detaylı