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

Download ""

Transkript

1 1 HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİL447 - YAZILIM MÜHENDİSLİĞİ LABORATUVARI ARAŞTIRMA ÖDEVİ (J2EE Clustering) Hasan Gölle h_golle@yahoo.com

2 2 Önsöz. 3 Temel terimler.. 3 J2EE cluster mimarisi. 4 J2EE clustering nedir? 6 Web tier (dizi) clustering (öbekleme) gerçekleştirimi. 8 JBoss ile J2EE Clustering -Singleton Service Uygulama sunucu dağıtımı. 16 Kaynaklar 20

3 3 Önsöz Günümüzde çok fazla sayıda kritik görevli ve geniş çaplı uygulamalar Java 2, Enterprise Edition (J2EE) da çalıştırılmaktadır. Banka ve faturalandırma gibi kritik görevli uygulamalar üst düzeyde elde edilebilirlik gerektirirken Google ve Yahoo gibi geniş çaplı uygulamalar ise ölçeklenebilirlik gerektirirler. Elde edilebilirlik ve ölçeklenebilirliğin önemi şu olayla da ispatlanmıştır: Haziran 1999 da ebay da 22 saatlik hizmet kesintisi 2.3 milyon müzayede kesintisine ve ebay ın hisse değerinin yüzde 9.2 düşmesine neden olmuştur. Hata toleransı ile birlikte elde edilebilirlik ve ölçeklenebilirlik sağlama açısından J2EE clustering popüler bir teknolojidir. Fakat J2EE özelliğinin destek vermemesi nedeniyle J2EE satıcıları clustering i farklı şekillerde gerçekleştirmişlerdir. Bu da J2EE mimarları ve geliştiricileri için sorunlara neden olmuştur. Temel Terimler Clustering altında yatan kavramları anlamak gereklidir. Bu kavramlardan bazıları; Ölçeklenebilirlik Bazı geniş ölçekli sistemlerde son kullanıcıların sayısını ve davranışlarını önceden kestirmek zordur. Ölçeklenebilirlik, hızlı sayıda artan kullanıcıya destek verebilme yeteneğidir. Bunun sezgisel yolu kaynakları (hafıza, CPU, disk gibi) artırmaktır. Clustering ise alternatif bir yoldur. Bir grup sunucunun ağır işleri paylaşmasını ve tek bir mantıksal sunucu gibi davranmasını gerektirir. Yüksek elde edilebilirlik Ölçeklenebilirliğe tek sunucu çözümü (kaynak artırma) tek hata noktası nedeniyle sağlıklı bir çözüm değildir. Kritik görevli uygulamalar (banka gibi) bir dakikalık bile kesintiye tolerans gösteremez. Bu hizmetlerin makul cevap verme süreleri olmalıdır. Clustering, bu tür elde edilebilirliğe yedek sunucular sağlayarak ve hata durumunda yedeğini çalıştırarak çözüm sağlar. Yük dengeleme Clustering in anahtar teknolojisidir. Gelen istekleri farklı sunuculara dağıtarak daha iyi performans sağlar. Yük dengeleyici basit bir servlet yada plug-in den pahalı bir donanıma kadar pek çok şey olabilir. Hata Toleransı Yüksek elde edilebilir veri çok doğru veri olmayabilir. J2EE cluster da sunucu hata yaparsa kesilmez çünkü diğer istekler yedek sunucular tarafından değerlendirilir. Hata tolerans hizmetiyle az sayıda hataya rağmen doğru hizmeti garanti eder.

4 4 Failover Hata toleransı sağlamak için gerekli diğer bir anahtar teknolojidir. Cluster da başka bir düğüm seçmekle orijinal düğüm hata yapsa bile işlem devam eder. Başka bir düğüme failover açıkça kodlanabilir yada otomatikman yürütülür. J2EE Cluster Mimarisi J2EE cluster şunları içerir: Bir yada çok J2EE olgusu Olgu yaratabilen merkezi servisler Bir yada çok veritabanı Dağıtıcılar ve sunucular farklı fiziksel sunucular arasında dağıtılabilir. Merkezi hizmetler (mesaj hizmeti ve kuyruklama hizmeti) gereksinmeleri sağlayabilen bir host a yüklenebilir.genel olarak J2EE clustering teknolojisi yük dengeleme ve failover gerektirir. Minimum Cluster Yükleme Aşağıdaki grafik SAP Web uygulamasının en basit cluster yüklemesini gösterir. Bu şekilde yüklenen sunucu yalnızca J2EE sorgularını işletir.

5 5 Bu J2EE cluster da şunlar vardır: Dağıtıcı, üç sunucu ve yazılım yükleme yönecisi ile merkezi bir j2ee olgusu, Merkezi servisler, Veritabanı. J2EE olgusu şunları içerir: 0-n J2EE dağıtıcı (genelde her olgu için bir dağıtıcı kullanılır ), Bir yada çok sunucu işlemi. Geniş Cluster Yükleme Aşağıdaki grafik daha büyük bir J2EE cluster yükleme gösterir. Dört olgu içerir, herbirinin olgu numarası vardır ve herbiri ayrı ayrı başlatılır, bitirilir ve gözlenebilir.

6 6 J2EE Clustering Nedir? Yük dengeleme Şekilde görüldüğü gibi hedef nesnelerden eşzamanlı istekte bulunan birçok istemci nesne vardır. Çağıran ve çağrılan nesneler arasında bulunan yük dengeleyici, istekleri yedek nesnelere gönderir. Bu sayede yüksek performans sağlanır. Failover Şekilde görüldüğü gibi failover yük dengelemeden farklı çalışır. Bazen istemci nesne hedef nesneden ardışık metot istemlerinde bulunur. Eğer hedef nesne başarısız olursa failover sistemi bu hatayı bulmalı ve sonraki istemleri diğer nesneye yönlendirmelidir. Hata toleransı bu şekilde sağlanır. Eğer J2EE clustering hakkında daha fazla öğrenmek istiyorsanız ne tür nesneler öbeklenebilir yada J2EE kodda yük dengeleme ve failover nerede bulunmalı gibi temel sorular sorabilmelisiniz. Aslında her nesne öbeklenemez ve J2EE kodda her yerde bulunamaz. Şu örnek koda bakalım;

7 7 Instance1 hata verirse Class A nın business() metodu diğer B olgusu üzerine failover yada yük dengelemesi mi yapacak? Hayır. Yük dengelemesi ve failover için çağrılan ve çağıran arasında metot çağrılarını dağıtan ve farklı nesnelere yönlendiren bir yakalayıcı bulunmalıdır. Class A ve B nesneleri aynı JVM de çalışırlar ve sıkıca bağlıdırlar. Metot çağrıları arasına dağıtma mantığı eklemek zordur. Öyleyse ne tür nesneler öbeklenebilir?- Yalnızca dağıtılmış topolojilere yüklenebilen bileşenler. Öyleyse J2EE kodda failover ve yük dengeleme nerde olur?- Yalnızca dağıtılmış nesnelerin metotlarının çağrıldığı yerlerde.

8 8 Şekil: Dağıtılmış nesneler Şekildeki gibi dağıtılmış bir ortamda çağıran ve çağrılanlar belli sınırları olan farklı çalışma zamanı kaplarına ayrılırlar. Sınırlar JVM ile işlemler yada makineler arasında olabilir. Hedef nesne istemci tarafından çağrıldığında hedef nesnenin kabında işlev çalıştırılır. (Bu nedenle dağıtılmış denir). İstemciler ve hedef nesneler standart ağ protokolü ile haberleşirler. Bu özellikler sayesinde bazı mekanizmalar metot çağırma yoluna girerek yük dengeleme ve failover yürütebilir. Şekilde görüldüğü gibi tarayıcı uzak JSP nesnesini HTTP protokolü üstünden çağırabilir. JSP Web sunucu tarafından çalıştırılır, tarayıcı nasıl çalıştırıldığı ile ilgilenmez, yalnızca sonucu ister. Böyle bir senaryoda yük dengeleme ve failover işlevleri için tarayıcı ve web sunucu arasında bir şey bulunmalıdır. J2EE de dağıtma teknikleri JSP(Servlet), JDBC, EJB, JNDI, JMS, web servisleri ve diğerlerini içerir. Bu dağıtılmış metotlar çağrıldığında yük dengeleme ve failover yürütülür. Detaylı teknikleri bir sonraki bölümde anlatacağız. Web tier (dizi) clustering (öbekleme) gerçekleştirimi Web dizisinde öbekleme J2EE clustering de en önemli işlevdir. Web öbekleme teknikleri web yük dengeleme ve HTTP oturum failover içerir.

9 9 Web Yük Dengeleme J2EE satıcıları web yük dengelemeyi birçok yöntemle başarırlar. Temelde yük dengeleyici tarayıcılar ile web sunucuları arasına girerler. Şekil: Web yük dengeleyici Yük dengeleyici F5 yük dengeleyici gibi donanımsal bir ürün olabilir, ve yük dengeleyici plug-in leri ile birlikte bir web sunucu da olabilir. Ip zincirleri ile bir Linux kutusu yük dengelemeyi yapabilir. Hangi tekniği kullanırsa kullansın yük dengeleyici şu özelliklere sahiptir;. Yük dengeleme algoritmalarını gerçekleştirir İstemciden istek geldiğinde yük dengeleyici bu istekleri en son sunucu olgularına nasıl dağıtacağına karar verir. Popüler algoritmalar round-robin, random ve ağırlık tabanlı olanlardır. Yük dengeleyici her sunucu olgusuna eşit iş yükünü sağlamaya çalışır, fakat yukarıdaki algoritmalardan hiçbiri mükemmel eşitliği sağlayamaz çünkü hepsi bir sunucu olgusuna dağıtılan istekleri temel alırlar.. Sağlık kontrolü Bazı sunucu olguları hata verirse yük dengeleyici bu hatayı bulmalı ve o sunucuya bir daha istek göndermemelidir. Yük dengeleyici ayrıca bu sunucu geri döndüğünde izlemeli ve istek göndermeye devam etmelidir.

10 10. Oturum Hemen hemen her web uygulaması oturum durumlarına sahiptir, bunlar log-in durumu yada alışveriş listesini hatırlamak kadar basit olabilir. Http protokolü durumsuz olduğundan oturum durumu bir yere kaydedilmeli ve aynı uygulamadan tekrar istendiğinde geri çağrılabilmelidir. Yük dengeleyici için bazı tarayıcı oturumlarının isteklerini en son dağıtılan sunucu olgusuna dağıtmak en iyi çözümdür. Oturum durumu web sunucu olgusunun hafızasına yüklendiğinden yük dengeleme için oturum özellikleri önemlidir. Eğer bir sunucu olgusu güç kesilmesi gibi bir nedenle hata verirse bu sunucudaki oturum durumu kaybedilir. Yük dengeleyici bu hatayı bulmalı ve o sunucuya bir daha istek göndermemelidir. Fakat oturum durumu hata veren sunucuda kayıtlı olan istekler bütün oturum bilgilerini yitirirler ve bu da hataya neden olur. Bu durumda oturum failover ortaya çıkar. HTTPOturum (HTTPSession) Failover Şekil: HTTPOturum Failover Bütün popüler J2EE satıcıları bütün istemci isteklerinin oturum durumu yitirilmeden işletildiğinden emin olmak için kendi cluster ürünlerinde HTTPOturum failover gerçekleştirirler. Üstteki şekilde görüldüğü gibi tarayıcı, durumlu bir web uygulamasını ziyaret ettiğinde (1,2. adımlar) bu uygulama daha sonra kullanmak için hafızada oturum nesnesi oluşturabilir. Aynı zamanda tarayıcıya bu oturum nesnesini belirleyecek HTTPOturum kimliği gönderir(3. adım). Tarayıcı bu kimliği cookie (çerez) olarak kaydeder ve aynı web sunucudan sayfa istediğinde yeniden gönderir. Oturum failover desteklemek için web sunucudaki oturum nesnesi kendini yedeklemelidir(adım 4), böylece sunucu hatalarında oturum kaybı önlenir. Yük dengeleyici hatayı fark ettiğinde (5, 6. adım) sıradaki istemleri aynı uygulama içindeki diğer sunucu olgusuna gönderir. Oturum durumu bir yerde yedekli olduğundan bu yeni web sunucu olgusu oturumu geri getirir(adım 8) ve istemleri yürütür.

11 11 HTTPOturum failover gerçekleştiriminde şu kavramlar dikkate alınmalıdır.. Global HTTPOturum Kimliği(ID) Yukarda belirtildiği gibi HTTPSession kimliği hafıza içi oturum nesnesini belirlemede kullanılır. J2EE de HTTPOturum kimliği JVM olgusuna bağlıdır. Her JVM olgusu birden çok web uygulamasını tutabilir, her bir uygulama farklı kullanıcılar için birçok HTTPOturum tutabilir. HTTPOturum kimliği o anki JVM olgusunda ilgili oturum nesnesine erişmek için anahtar rolündedir. Farklı JVM olguları iki tane aynı HTTPOturum kimliği üretmemelidir, çünkü failover olduğunda bir JVM deki oturumlar yedeklenebilir ve diğerinden çağrılabilir. Sonuç olarak global HTTPOturum kimliği mekanizması gerçekleştirilmelidir.. Oturum durumları nasıl yedeklenir Oturum durumlarının nasıl yedeklendiği konusu J2EE sunucuyu özel yapmak ve diğerlerinden üstün kılmak için anahtar rolündedir. Farklı satıcılar farklı şekilde gerçekleştirmektedir.. Yedekleme sıklığı HTTPOturum durum yedeklemenin performans maliyetleri vardır(cpu devri, ağ bant genişliği, veritabanına yada diske yazma IO maliyeti gibi). Yedekleme sıklığı cluster performansını önemli ölçüde etkiler. Veritabanı devamlılığı yaklaşımı Bütün popüler J2EE cluster ürünleri oturum durumunuzu yedeklemeniz için size JDBC arayüzü üstünden ilişkisel veritabanı seçme olanağı sunar.alttaki şekilde görüldüğü gibi bu yaklaşım basitçe sunucu olgusunun oturum içeriğini serileştirmesi ve veritabanına yazmasıdır. Failover olduğunda diğer bir sunucu olgusu hatalı sunucunun sorumluluğunu alır ve veritabanından bütün oturum durumlarını geri alır. Nesnelerin serileştirilmesi önemlidir çünkü bu sayede hafıza içi verinin kalıcı ve taşınabilir olması sağlanır. Java nesne serileştirimi için adresine bakınız. Oturum durumunu veritabanına yedekleme Veritabanı sorguları maliyetli olduğundan bu yaklaşımın temel dezavantajı oturumlar içinde çok sayıda nesne saklandığında sınırlı ölçeklenebilir olmasıdır. Veritabanı oturumu kullanan çoğu uygulama sunucuları nesneleri saklamak için minimum HTTPOturumu kullanmayı savunur, fakat bu web uygulamasının mimarisini ve tasarımını kısıtlar. Buna rağmen veritabanı yaklaşımının bazı avantajları da vardır. Gerçekleştirimi kolaydır. Veritabanı paylaşımlı olduğundan oturum başka bir host a failover edebilir. Oturum bilgisi tüm öbek çökene kadar durur.

12 12 Hafıza kopyalama yaklaşımı Performans nedenlerinden ötürü bazı J2EE sunucu ları (Tomcat, JBoss, Weblogic, and Websphere) alternatif bir yaklaşım getirmiştir: Hafıza kopyalama Şekil: Oturum durumu için hafıza kopyalama Hafıza tabanlı oturum, oturum bilgilerini veritabanı yerine bir yada birkaç yedek sunucuda tutar. Bu yaklaşım yüksek performansı nedeniyle çok popülerdir. Veritabanı yaklaşımına kıyasla orijinal sunucu ile yedek sunucular arası ağ haberleşmesi çok önemsiz kalır. Ayrıca veritabanı yaklaşımındaki geri okuma aşamasına gerek kalmaz çünkü zaten oturum bilgisi yedek sunucuda bulunmaktadır. JavaGroups JBoss ile Tomcat öbekleme arasındaki haberleşme katmanıdır. Grup üyeliği protokolleri ve mesaj yayını gibi öbekleme için temel özellikleri sağlar. Daha fazla bilgi için adresine bakınız. Tomcat in yaklaşımı: Çoklu-sunucu kopyalama Hafıza kopyalamanın birçok değişik yöntemi vardır. İlki oturum bilgisini cluster daki bütün düğümlerde kopyalamaktır. Tomcat 5 bunu şu şekilde yapar.

13 13 Şekil: Çoklu-sunucu kopyalama Şekilde görüldüğü gibi bir sunucu olgusunda oturum değişirse o sunucu verilerini bütün diğer sunuculara yedekler. Bir sunucu olgusu hata verirse yük dengeleyici yedek olarak diğer sunucuyu seçebilir. Fakat bu yaklaşımın ölçeklenebilirlik açısından kısıtları vardır. Eğer öbekte çok sayıda olgu varsa ağ haberleşmesi maliyeti gözardı edilemez. Weblogic, Jboss ve WebSphere yaklaşımı- eşli sunucu kopyalama Performance ve ölçeklenebilirlik açısından Weblogic, JBoss ve Websphere başka bir hafıza kopyalama geliştirmiştir: Her sunucu olgusu oturum bilgisini tutmak için keyfi bir yedek olgu seçer.

14 14. Bu yolla her sunucu olgusu kendi eş yedek sunucusuna sahiptir Bu yaklaşım ölçeklenebilirlik problemine çözüm getirir, fakat şu kısıtları vardır:. Yük dengeleyiciye karmaşıklık getirir. Bir sunucu olgusu hata verirse yük dengeleyicinin hata veren sunucunun eşini bilmesi gerekir. Bu da yük dengeleyicinin alanını kısıtlar.. Normal istem gerçekleştirme haricinde sunucular kopyalama sorumluluğunu da almalıdır.. Normal işlem esnasında yedek oturumları tutmak için kullanılan hafıza, failover olmazsa yedek sunucularda boşa harcanır. IBM in yaklaşımı- merkezi durum sunucu Websphere de hafıza kopyalamaya alternatif bir çözüm vardır: Merkezi durum sunucuya yedek durum bilgisi. Şekil: Merkezi sunucu kopyalama Veri tabanı çözümüne çok benzerdir. Veritabanı sunucu yerine oturum yedek sunucu kullanılmıştır. Bu yaklaşım şu avantajları getirir:. Yürütülen işlemleri yedek oturum işlemlerinden ayırmak cluster ı daha sağlam yapar.. Bütün oturum bilgileri ilgili sunucuda yedeklenmiştir. Hafıza tüketen sunucu olgularına gerek yoktur.. Uygulama sunucu ile oturum yedek sunucu arasındaki soket haberleşmesi veritabanı bağlantılarına göre basit olduğundan daha iyi performans verir. Buna rağmen geri okuma aşaması nedeniyle performansı hafızanın eşler arasında direk kopyalandığı çözüm gibi olamaz. Ayrıca fazladan oturum yedek sunucuları karmaşa getirir.

15 15 Sun ın yaklaşımı- Özel veritabanı Sun JES uygulama sunucusu oturum failover a farklı bir yaklaşım getirir. Veritabanı yaklaşımına benzese de aslında JES in kullandığı veritabanı (HADB) oturum erişimi için optimize edilmiştir ve bütün veriyi hafızada tutar. Dolayısıyla merkezi durum sunucu yaklaşımına daha yakındır. JBoss ile J2EE Clustering -Singleton Service Singleton hizmet veren cluster içindeki düğüme efendi düğüm denir. Efendi düğüm hata verirse diğerleri arasından bir efendi seçilir ve servis tekrar başlar.

16 16 Uygulama sunucu dağıtımı Cluster ınıza uygulama sunucu olgularını dağıtırken cluster da tek düğümde birden çok uygulama sunucu olgusu istediğinize karar vermelisiniz, ve cluster daki toplam düğüm sayısını belirlemelisiniz. Bir düğümdeki uygulama sunucu sayısı CPU sayısına, kullanımına ve hafızaya bağlıdır. Cluster daki optimum düğüm sayısını belirlemek tekrarlı bir iştir. Öncelikle uygulamanın profili çıkarılır ve optimize edilir. Sonra maksimum kullanım için yük testi yapılır. Son olarak hata olduğunda yükü kaldıracak fazladan düğümler eklenir.

17 17 Oturum depolama anahatları Kırılmayı minimize etmek için uygulama sunucu ları anahatları takip edilmelidir: Bütün nesneler ve HttpOturumda özyineli olanlar serileştirilebilir olmalıdır ve java.io.serializable gerçekleştirmelidir. HttpOturumda nesnenin durumu değiştiğinde nesnenin değiştiğini belirtmek ve değişikliği yedek sunucuya kaydetmek için session.setattribute(...)çağrılır. AccountModel am = (AccountModel)session.getAttribute("account"); am.setcreditcard(cc); //You need this so the AccountModel object on the backup receives the //Credit card session.setattribute("account",am); ServletContext serializable değildir bu nedenle olgu değişkeni olarak kullanılamaz. EJB uzak nesneleri serileştirilemezler. Serileştirilemeyen durumlarda mekanizma aşağıdaki ile değiştirilir (Bu sınıf java.io.serializable gerçekleştirilmez çünkü superclass ı AccountModel bunu yapar).... public class AccountWebImpl extends AccountModel implements ModelUpdateListener, HttpSessionBindingListener { transient private Account acctejb;... private void writeobject(objectoutputstream s) { try { s.defaultwriteobject(); Handle accthandle = acctejb.gethandle(); s.writeobject(accthandle); catch (IOException ioe) { Debug.print(ioe); throw new GeneralFailureException(ioe); catch (RemoteException re) { throw new GeneralFailureException(re);

18 18 private void readobject(objectinputstream s) { try { s.defaultreadobject(); Handle accthandle = (Handle)s.readObject() Object ref = accthandle.getejbobject(); acctejb = (Account) PortableRemoteObject.narrow(ref,Account.class); catch (ClassNotFoundException cnfe) { throw new GeneralFailureException(cnfe); catch (RemoteException re) { throw new GeneralFailureException(re); catch (IOException ioe) { Debug.print(ioe); throw new GeneralFailureException(ioe); Oturum diskten geri yazıldığında ve HttpSession's setattribute(...) methodu her çağrıldığında HttpSessionBindingListener' ın valuebound(httpsessionbindingevent event) methodu çağrılır. Buna rağmen failover esnasında valuebound(httpsessionbindingevent event) çağrılmaz. Hafıza içi oturum durum kopyalaması Hafıza içi oturum durum kopyalaması veritabanı yaklaşımından daha zordur çünkü HttpOturum daki her bir nesne değiştikçe yedek sunucuda serileştirilebilir. Veritabanı yaklaşımı durumundaysa oturumdaki nesnelerin biri değişse hepsi birden serileştirilir. Hata durumunda uygulama çalışır fakat bazı özellikler çalışmayabilir- alışveriş kartı daha fazla parçayı reddedebilir örneğin. Problem, uygulamanızın aynı alışveriş kart nesnesine referans gösteren farklı parçalarından (alışveriş kartını güncelleyen ve gösteren) kaynaklanır. Tek sunucu durumunda bu durum görülmez çünkü her parça aynı nesneye referans gösterir. Aşağıda dolaylı kopyalayan nesnelerin örneği görülmektedir. import java.io.*; public class Aaa implements Serializable { String name; pubic void setname (String name) { this.name = name; public String getname( ) { return name;

19 19 import java.io.*; public class Bbb implements Serializable { Aaa a; public Bbb (Aaa a) { this.a = a; pubic void setname (String name) { a.setname(name); public String getname( ) { return a.getname(); In first.jsp on sunucu1: <% Aaa a = new Aaa(); a.setname("abe"); Bbb b = new Bbb(a); // a is copied to backup machine under key "a" session.setattribute("a",a); // b is copied to backup machine under key "b" session.setattribute("b",b); %> In second.jsp on sunucu1: <% Bbb b = (Bbb)session.getAttribute("b"); b.setname("bob"); // b is copied to backup machine under key "b" // but object Aaa under key "a" has the name "Abe" // and "b"'s Aaa has the name "Bob" session.setattribute("b",b); ---> Failure trying to get to sunucu1's third.jsp ----->Failover to sunucu2's (backup machine) third.jsp In third.jsp on sunucu2: The name associated with Object Aaa is: <%=((Aaa)session.getAttribute("a")).getName()%> The name associated with Object Aaa through Object Bbb is:

20 20 <%=((Bbb)session.getAttribute("b")).getName()%>... //End of third.jsp İlk ifade etiketi Abe çıktısı verirken, ikincisi Bob üretir. Tek sunucu durumunda her ikisi de Bob üretir. Kaynaklar:

Ü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ı

Ü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ı

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ı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet 1 Çerez (Cookie) Cookie'ler servletlerden kullanıcının bilgisayarında istekte bulunduğu web tarayıcısına ( anahtar=kelime ) şeklinde bilgi göndermemiz için kullanılan yapılardır.

Detaylı

Java EE 5 Teknolojileri Jboss Seam

Java EE 5 Teknolojileri Jboss Seam Java EE 5 Teknolojileri Jboss Seam Hakan Uygun İçerik Kurumsal Uygulama Nedir? Java Teknolojileri Web Uygulaması Java EE Bileşenleri JBoss Seam Yazılım İhtiyaçları Bireysel Kullanıcı Eğitim Eğlence İletişim

Detaylı

Yazılım-donanım destek birimi bulunmalıdır.

Yazılım-donanım destek birimi bulunmalıdır. BİLGİ YÖNETİMİ Yazılım-donanım destek birimi bulunmalıdır. o Yazılım-donanım destek birimi 24 saat kesintisiz hizmet sunmalı, o Yazılım-donanım destek birimi çalışanlarının güncel iletişim bilgileri santralde

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ı

ÖZ DEĞERLENDİRME SORU LİSTESİ

ÖZ DEĞERLENDİRME SORU LİSTESİ T.C TÜRKİYE KAMU HASTANELERİ KURUMU BURSA İLİ KAMU HASTANELERİ BİRLİĞİ GENEL SEKRETERLİĞİ ORHANELİ İLÇE DEVLET HASTANESİ VE RAPORU BİLGİ YÖNETİMİ ÖZDEĞERLENDİRME SORU LİSTESİ TARİH: Doküman Kodu Yayın

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ı

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. 1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller

Detaylı

Client Server Database

Client Server Database Java Server Faces Ahmet Demirelli Sabancı Üniversitesi 2007 Ajanda Model-1 Mimari Model-2 Mimari MVC Framework Java Server Faces Örnek Uygulama Model 1 Mimari 1 2 3 6 JSP (View) 5 JavaBeans (Model) 4 Client

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

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ı

.com. Kurumsal Java. Özcan Acar 2009. com

.com. Kurumsal Java. Özcan Acar 2009. com . urumsal J Java ile Yüksek Performanslı Web Platformları Özcan Acar acar@unitedinter.net http://www.ozcanacar. http://www.kurumsalj urumsal Özcan Acar Hakkında public class OezcanAcar { public static

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ı

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı. devrim@gunduz.org Devrim GÜNDÜZ TR.NET Sistem Destek Uzmanı devrim@gunduz.org http://seminer.linux.org.tr http://belgeler.linux.org.tr http://lkd.belgeler.org http://www.linux.org.tr/belgeler.php http://www.gunduz.org/belgeler.php

Detaylı

Swing ve JDBC ile Database Erişimi

Swing ve JDBC ile Database Erişimi Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

Web Uygulama Güvenliği Kontrol Listesi 2010

Web Uygulama Güvenliği Kontrol Listesi 2010 Web Uygulama Güvenliği Kontrol Listesi 2010 1 www.webguvenligi.org Web uygulama güvenliği kontrol listesi 2010, OWASP-Türkiye ve Web Güvenliği Topluluğu tarafından güvenli web uygulamalarında aktif olması

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ı

Cluster i Linux'ta Kümeleme Özgür Yazılım ve Açık Kaynak G 2006 Ali Erdinç Köroğlu

Cluster i Linux'ta Kümeleme Özgür Yazılım ve Açık Kaynak G 2006 Ali Erdinç Köroğlu Cluster i Linux'ta Kümeleme Özgür Yazılım ve Açık Kaynak G 2006 Ali Erdinç Köroğlu Kümelere giriş giriş :) :) Kümeleme nedir? Kümeleme çeşitleri ve ve amaçları RedHat Cluster'a giriş giriş RedHat Cluster

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ı

www.sabanciuniv.edu/kcenter

www.sabanciuniv.edu/kcenter Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri Java ile Web Uygulamaları Geliştirme Ahmet Demirelli SCJP 5.0 - SCWCD 1.4 Ajanda Web uygulaması nedir Basit bir CGI örneği

Detaylı

Cahit GÜNGÖR Hacettepe Üniversitesi Bilişim Enstitüsü. Sorumluluk Zinciri. Kod Üretme (Code Generation)

Cahit GÜNGÖR Hacettepe Üniversitesi Bilişim Enstitüsü. Sorumluluk Zinciri. Kod Üretme (Code Generation) Cahit GÜNGÖR Hacettepe Üniversitesi Bilişim Enstitüsü Sorumluluk Zinciri (Chain of Responsibility) Yazılım Mimarileri Kod Üretme (Code Generation) Anahatlar Tanım Örüntünün Amacı Ne zaman Gerçekleştiririz?

Detaylı

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz

1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz 1 Milyon Kullanıcıya Nasıl Hizmet Veriyoruz? CloudLMS Teknik Alt Yapı ve Mimarimiz 300 kurumsal müşterimizde 1 milyonun üzerinde kullanıcıya günlük 250 binin üzerine sunulan video ile sorunsuz ve mükemmel

Detaylı

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design

Chapter 6 Mimari Tasarım. Lecture 1. Chapter 6 Architectural design Chapter 6 Mimari Tasarım Lecture 1 1 Konular Mimari Tasarım Kararları Mimari Bakış Açıları Mimari Desenler Uygulama Mimarileri 2 Yazılım Mimarisi Sistemi meydana getiren alt sistemlerin belirlenmesi için

Detaylı

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Kaynak Kod Güvenliği Bir Güvensiz API Örneği Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına

Detaylı

C# nedir,.net Framework nedir?

C# nedir,.net Framework nedir? 1 C# nedir,.net Framework nedir? C# nedir? C#, C/C++ ve Java dillerinde türetilmiş,bu dillerin dezavantajlarının elenip iyi yönlerinin alındığı, güçlü basit, esnek, tip-güvenli(typesafe,tür dönüşümlerindeki

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ı

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ı

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

Tekir (Ön Muhasebe Yazılımı) Tekir (Ön Muhasebe Yazılımı) Tekir Nedir? Kullanılan Teknolojiler Nelerdir? Sistem Gereksinimleri Nelerdir? Merve Yalçın Ahmet Deniz Korkmaz Tekir nedir? Tekir, açık kaynak kodlu özgür bir muhasebe yazılımıdır.

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ı

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

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar. Java Applet Nedir? Java applet nedir?apllet Örnekleri,applet ve japplet farkı Applet Nedir? Applet Web Sayfaları üzerinde yayınlabilen class dosyalarıdır. Bir applet mutlaka Apllet sınıfının alt sınıfı

Detaylı

BİL132 Bilgisayar Programlama II

BİL132 Bilgisayar Programlama II BİL132 Bilgisayar Programlama II 8. Olağandışı durumlar (exceptions) Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yüksel Tarhan Olağandışı durum Kütük bulunamadı Diskte yer kalmadı Nesne referans

Detaylı

Servis olarak Altyapı

Servis olarak Altyapı Servis olarak Altyapı Servis olarak Altyapı (Infrastructure as a Servis, IaaS) fiziksel makineler, sanal makineler ve sanal depolama gibi temel kaynaklara erişebilmeyi sağlar. Bu kaynaklardan başka IaaS

Detaylı

Film Arşiv Sistemi. Yazılım Tasarım Belgesi

Film Arşiv Sistemi. Yazılım Tasarım Belgesi 1. Sürüm Tarihçesi Film Arşiv Sitesi Yazılım Tasarım Belgesi Sürüm Tarih Yazarlar Açıklamalar 1.0 28.12.2010 Rana ALGAN Elif BONCUK Bu belge sistemin tasarım detaylarını içerir. 2. Giriş 2.1 Amaç ve Kapsam

Detaylı

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. 1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result

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ı

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ı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 23 May. 2016 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları yardımıyla

Detaylı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

MCR02-AE Ethernet Temassız Kart Okuyucu

MCR02-AE Ethernet Temassız Kart Okuyucu MCR02-AE Ethernet Temassız Kart Okuyucu Teknik Özellikleri Ethernet 10BaseT Dahili TCP/IP Stack TCP/IP Client-Server Bağlantı Özelliği Dahili DNS İstemcisi DHCP veya Statik IP ile çalışabilme UDP, TCP,ARP,ICMP(ping)

Detaylı

Bilgi ve Olay Yönetim Sistemi

Bilgi ve Olay Yönetim Sistemi 1 Bilgi ve Olay Yönetim Sistemi Kurulum Kılavuzu Ağustos 2017 Versiyon Sürüm 2.2.5 2 İçindekiler Bilgi ve Olay Yönetim Sistemi... 1 1. Sistem Gereksinimleri... 3 2. Kurulum... 3 3. Lisanslama... 7 4. Windows

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ı

CloudPro Server Backup. Güçlü bir Veri Yedekleme Çözümü ile İş Sürekliliğinizde Devamlılığın Anahtarı

CloudPro Server Backup. Güçlü bir Veri Yedekleme Çözümü ile İş Sürekliliğinizde Devamlılığın Anahtarı CloudPro Server Backup Güçlü bir Çözümü ile İş Sürekliliğinizde Devamlılığın Anahtarı CloudPro Server Backup Uygun Maliyetli Buluta Çözümü Küçük ve orta ölçekli birçok firma, kurumsal seviyede veri yedekleme

Detaylı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. ? NEDEN BİYOMETRİK DOĞRULAMA SUNUCU TABANLI BİYOMETRİK MICROSOFT WINDOWS OTURUM AÇMA UYGULAMASI Biyometrik veri taklit edilemez, şifre gibi unutulamaz!

Detaylı

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara

Küme Bilgisayarlar. Enabling Grids for E-sciencE. Onur Temizsoylu. Grid ve Küme Bilgisayarlarda Uygulama Geliştirme Eğitimi ODTÜ, Ankara Küme Bilgisayarlar Onur Temizsoylu ODTÜ, Ankara www.eu-egee.org EGEE and glite are registered trademarks İçerik Neden hesaplamada kümeleme? Kümeleme nedir? Yüksek kullanılabilirlik kümeleri Yük dengeleme

Detaylı

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ı

Compiere Açık kodlu ERP + CRM yazılımı. Hüseyin Ergün Önsel Armağan Serkan Demir

Compiere Açık kodlu ERP + CRM yazılımı. Hüseyin Ergün Önsel Armağan Serkan Demir Compiere Açık kodlu ERP + CRM yazılımı Hüseyin Ergün Önsel Armağan Serkan Demir ERP Nedir? ERP = Kurumsal Kaynak Planlama Organizasyonların farklı fonksiyonlarının ve departmanlarının kullandığı enformasyonu

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ı

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ı

BioAffix Ones Technology nin tescilli markasıdır.

BioAffix Ones Technology nin tescilli markasıdır. BioAffix Ones Technology nin tescilli markasıdır. ? NEDEN BİYOMETRİK DOĞRULAMA SUNUCU TABANLI BİYOMETRİK MICROSOFT WINDOWS OTURUM AÇMA UYGULAMASI Biyometrik veri taklit edilemez, şifre gibi unutulamaz!

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ı

UHeM ve Bulut Bilişim

UHeM ve Bulut Bilişim UHeM ve Bulut Bilişim Özden AKINCI Ulusal Yüksek Başarımlı Hesaplama Merkezi (UHeM) Bilim ve Mühendislik Uygulamalar Müdürü 11.07.2012 UHeM hakkında Vizyon: Yüksek başarımlı hesaplama, bilgi teknolojileri

Detaylı

Facade (Cephe) Tasarım Şablonu KurumsalJava.com

Facade (Cephe) Tasarım Şablonu KurumsalJava.com Facade (Cephe) Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Profesyonel yazılım sistemleri birçok komponentin birleşiminden oluşur. Yazılım esnasında bir çok

Detaylı

TeraStation 3000/4000/5000/7000 ile Replikasyon. Buffalo Technology

TeraStation 3000/4000/5000/7000 ile Replikasyon. Buffalo Technology TeraStation 3000/4000/5000/7000 ile Replikasyon Buffalo Technology Giriş Replikasyon, bir klasörü iki ayrı TeraStation da neredeyse gerçek zamanlı senkronize etmeye denir. Çift yönlü çalışmaz; yalnızca

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ı

Basit bir web uygulaması

Basit bir web uygulaması AJAX Ahmet Demirelli ahmetdemirelli@sabanciuniv.edu SCJP 5.0, SCWCD 1.4 Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı 3/20/2007 Sabanci University 1 Ajanda Neden AJAX ihtiyacı AJAX

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ı

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ı

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI

BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI BIL411 - BİLGİSAYAR AĞLARI LABORATUVARI ITS-101A INTERNET EĞİTİM SİSTEMİ TCP/IP THE DOMAIN NAME SYSTEM (ALAN ADI SİSTEMİ) İstanbul Ticaret Üniversitesi Bilgisayar Mühendisliği Bölümü Araş. Gör. Can EYÜPOĞLU

Detaylı

Veritabanı Uygulamaları Tasarımı

Veritabanı Uygulamaları Tasarımı Veritabanı Uygulamaları Tasarımı Veri Tabanı Veritabanı yada ingilizce database kavramı, verilerin belirli bir düzene göre depolandığı sistemlere verilen genel bir isimdir. Günümüzde özel veya kamu kuruluşların

Detaylı

Bilgi ve Olay Yönetim Sistemi

Bilgi ve Olay Yönetim Sistemi 1 Bilgi ve Olay Yönetim Sistemi Kurulum Kılavuzu Nisan 2016 Versiyon Sürüm 2.1.3 2 İçindekiler Bilgi ve Olay Yönetim Sistemi... 1 1. Sistem Gereksinimleri... 3 2. Kurulum... 3 3. Lisanslama... 10 4. Windows

Detaylı

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir. ÖN BİLGİ Servlet Dinamik içerik üreten bir Java Web bileşenidir. Web teknolojilerinin temelinde bulunur. JSP ve JSF hala Servlet'i kullanır. Bir Servlet, her yönüyle, herşeyden önce, bir Java nesnesidir.

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ı

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

TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS SIEMENS TeamBase5 BELEDİYE İLETİŞİM MERKEZİ SIEMENS TEAMBASE 5 BELEDİYE İLETİŞİM MERKEZİ Her geçen gün hızla değişen ve gelişen teknoloji, kurumların ve vatandaşların birbirleriyle olan iletişimlerine

Detaylı

Yedek Almak ve Yedekten Geri Dönmek

Yedek Almak ve Yedekten Geri Dönmek McAfee EPO 4.0 Yedek Yedek Almak ve Yedekten Geri Dönmek Yedek Almak ve Yedekten Geri Dönmek Amaç Mcafee EPO 4.0 kurulum yedeğinin felaket kurtarma senaryonusa uygun şekilde alınması ve yeni bir makinada

Detaylı

2. hafta Bulut Bilişime Giriş

2. hafta Bulut Bilişime Giriş 1 2. hafta Bulut Bilişime Giriş 3. Bulut Bilişime Duyulan İhtiyaç Son yıllarda veri kullanımında görülen artışlar sayesinde verinin elde edilmesi ve üzerinde analizler yapılarak genel değerlendirmelerde

Detaylı

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi

Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Google Web Toolkit ile Öğretim Elemanı Otomasyon Sistemi Mehmet Karakoç Akdeniz Üniversitesi Bilgisayar Bilimleri Araştırma ve Uygulama Merkezi 28.11.2014 inet-tr'14 : GWT AUFaculty Project 1 İçerik Giriş

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ı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu Bilgisayarın Yapısı Donanım (Hardware): Bir bilgisayara genel olarak bakıldığında; Kasa, Ekran, Klavye, Fare, Yazıcı, Hoparlör,

Detaylı

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu

Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu T.C. SOSYAL GÜVENLİK KURUMU Medula Eczane Stok Bilgileri Web Servisleri Kullanım Kılavuzu 29 ARALIK 2016 Amaç Eczanelerin sorgulanan güne ait olan reçete ilaç bilgilerinin istemci tarafına gönderilmesi.

Detaylı

Intercepting Filter Tasarım Şablonu KurumsalJava.com

Intercepting Filter Tasarım Şablonu KurumsalJava.com Intercepting Filter Tasarım Şablonu KurumsalJava.com Özcan Acar Bilgisayar Mühendisi http://www.ozcanacar.com Front Controller 1 tasarım şablonunda, kullanıcıdan gelen isteklerin (request) merkezi bir

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ı

Güvenlik Java ve Web Uygulama Güvenliği

Güvenlik Java ve Web Uygulama Güvenliği Güvenlik Java ve Web Uygulama Güvenliği Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Olası Açıklar Donanımsal açıklar Sistemsel Açıklar Yazılımsal Açıklar Sosyal Mühendislik

Detaylı

Sabit ve Taşınabilir Diskler BÖLÜM-2 Pata Diskler İçin Master-Slave Ayarları Disk Biçimlendirme Harici Diskler Olası Sabit Disk Arızaları RAID

Sabit ve Taşınabilir Diskler BÖLÜM-2 Pata Diskler İçin Master-Slave Ayarları Disk Biçimlendirme Harici Diskler Olası Sabit Disk Arızaları RAID Sabit ve Taşınabilir Diskler BÖLÜM-2 Pata Diskler İçin Master-Slave Ayarları Disk Biçimlendirme Harici Diskler Olası Sabit Disk Arızaları RAID (Redundant Array Of Independent Dısk) RAID Seviyeleri NAS

Detaylı

PAPERWORK TEKNİK MİMARİ

PAPERWORK TEKNİK MİMARİ PAPERWORK ECM TEKNİK MİMARİ 1. Şekilde (1) numara ile gösterilen Content Server adı verilen Uygulama Sunucusudur. Content Server tüm iş mantığını içerir. Veri Tabanına ve arşivlenen belgelere erişim yetkisi

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ı

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi...

Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi... Dünyanın bilgisine açılan pencere... Ya da sadece yeni çağın eğlencesi... Bilgisayar Ağı (Network) Nedir? Bir ana bilgisayarın denetiminde birbirlerine bağlı olarak çalışan bilgisayarların oluşturduğu

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür.

Nagios XI Günümüzün talep gören kurumsal gereksinimleri için en güçlü BT altyapısı gözetim ve uyarı çözümüdür. Nagios Enterprises, kurumsal ölçekte, BT altyapı gözetiminde endüstri standardı olan Nagios için resmi ürünler, hizmetler ve çözümler sunuyor. Dünya çapında yüz binlerce kullanıcıyla Nagios bilgi teknolojileri

Detaylı

Selective Framebusting

Selective Framebusting Selective Framebusting Seçiçi Çerçeveleme Engelleme Sema Arık, TurkcellTeknoloji, sema.arik@turkcellteknoloji.com.tr Bedirhan Urgun, Web Güvenlik Topluluğu, urgunb@hotmail.com Giriş PCI DSS Requirements

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10. Yrd.Doç.Dr.Hacer Karacan NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 10 Yrd.Doç.Dr.Hacer Karacan İçerik Grafik Kullanıcı Arayüzü Uygulamaları AWT, Swing Arayüz Yerleşim Düzeni Temel GKA Bileşenleri Olay Yönetimi Olay Dinleyiciler Olay

Detaylı

İLİŞKİSEL VERİTABANLARI

İLİŞKİSEL VERİTABANLARI İLİŞKİSEL VERİTABANLARI Veritabanı Nedir? Veritabanı (database) en basit şekliyle verilerin belirli bir düzene göre tutulduğu, depolandığı bir sistemdir. İlişkisel Veritabanı Nedir? İlişkisel veritabanlarındaki

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ı

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi SERVİS BİLEŞENLERİ. BLM401 Dr.Refik SAMET

BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi SERVİS BİLEŞENLERİ. BLM401 Dr.Refik SAMET BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi SERVİS BİLEŞENLERİ 1 GİRİŞ (1/5) Servisler arka planda görev yapan görsel olmayan Android bileşenleridir. Ekranda herhangi bir aktivite görünürken arka

Detaylı

VPN NEDIR? NASıL KULLANıLıR?

VPN NEDIR? NASıL KULLANıLıR? VPN NEDIR? NASıL KULLANıLıR? VPN NEDIR? VPN, Virtual Private Network, yani Sanal Özel Ağ ın kısaltılmasıdır. VPN sayesinde ağlara uzaktan erişim sağlanır. VPN sanal bir ağ uzantısı oluşturduğu için ağa

Detaylı

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu JavaServerFaces Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

Ağınız üzerinde tarama yapmak için Web Hizmetleri'ni kullanma (Windows Vista SP2 veya üzeri, Windows 7 ve Windows 8)

Ağınız üzerinde tarama yapmak için Web Hizmetleri'ni kullanma (Windows Vista SP2 veya üzeri, Windows 7 ve Windows 8) Ağınız üzerinde tarama yapmak için Web Hizmetleri'ni kullanma (Windows Vista SP2 veya üzeri, Windows 7 ve Windows 8) Web Hizmetleri protokolü, Windows Vista (SP2 veya üstü), Windows 7 ve Windows 8 kullanıcılarının,

Detaylı

BİLGİ GÜVENLİĞİ VE BİLGİ İŞLEM PROSEDÜRÜ

BİLGİ GÜVENLİĞİ VE BİLGİ İŞLEM PROSEDÜRÜ 1.AMAÇ: Kurumun otomasyon üzerindeki tüm bilgilerinin yönetimini, korunmasını, dağıtımını ve önemli işlevlerinin korunmasını düzenleyen kuralları ve uygulamaları belirlemeyi amaçlar. 2. KAPSAM: Bu talimat,

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

İşlem Yönetimi (Process Management)

İşlem Yönetimi (Process Management) İşlem Yönetimi (Process Management) 2 Bir işletim sisteminde, temel kavramlardan bir tanesi işlemdir. İş, görev ve süreç kelimeleri de işlem ile eşanlamlı olarak kullanılabilir. Bir işlem temel olarak

Detaylı

Hüseyin ÇIRAL huseyinciral@gmail.com

Hüseyin ÇIRAL huseyinciral@gmail.com Hüseyin ÇIRAL huseyinciral@gmail.com 1. WAN Optimizasyon Nedir? WAN Optimizasyon ; WAN üzerinden yapılan bağlantılarda (ADSL, G.SHDSL, 3G, MetroEthernet vb), bağlanan lokasyonlar arasındaki veri transferini

Detaylı

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması

Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirmede Çevik Süreç Uygulanması Model Tabanlı Geliştirme Model nedir? Object Management Group Model Tabanlı Mimari «Herşey modeldir» Model Kaynak kod MDD Avantajları Daha hızlı yazılım

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ı

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164

Aktarımı Çalıştırmak/Geri Almak 146 Alan Seçenekleri 148 Veri Tabanı Şeması 150 Veri Tabanı ile İlgili Bazı Rake Görevleri 162 Modeller 164 xi Ruby on Rails Nedir? 2 Rails Neden Farklıdır? 2 Başlamadan Önce Bilinmesi Gerekenler 4 İnternet Nasıl Çalışır? 4 İstemci-Web Sunucu İlişkisi 5 HTTP Protokolü 6 URL-Kaynak Konumlandırma Adresleri 7 HTTP

Detaylı

30 Mayıs ETASQLMNG Programına giriş

30 Mayıs ETASQLMNG Programına giriş 30 Mayıs 2018 İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL, ETA:SB İlgili Modül/ler : ETASQLMNG ETASQLMNG İLE ZAMANLANMIŞ YEDEKLEME Girişi yapılan bilgilerin belirli zamanlarda yedeklenmesi, bu yedeklerin

Detaylı

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir. Neden MailStore! Hatırlatma : Arşivleme, posta sunucusunda herhangi bir değişiklik gerektirmez MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

Detaylı

BT DENETİMİ EĞİTİMİ BÖLÜM 1 Bilgi Teknolojilerinin Hayatımızdaki Yeri

BT DENETİMİ EĞİTİMİ BÖLÜM 1 Bilgi Teknolojilerinin Hayatımızdaki Yeri BT DENETİMİ EĞİTİMİ BÖLÜM 1 Bilgi Teknolojilerinin Hayatımızdaki Yeri Kağan Temel CISA, ISO27001LA 27.5.2016 www.tebit.com.tr 1 EĞİTİMİN AMACI Eğitim Amaçları, Bu eğitim, genel BT denetim konuları, kontrolleri

Detaylı