Web Tabanlı Uygulama Geliştirme Çatıları
|
|
- Levent Baykara
- 8 yıl önce
- İzleme sayısı:
Transkript
1 HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİL447 YAZILIM MÜHENDİSLİĞİ LABORATUVARI ARAŞTIRMA KONUSU TANIMI Web Tabanlı Uygulama Geliştirme Çatıları 2007, Ankara 1
2 HAZIRLAYANLAR Ad Soyad Numara E-Posta Tahir BIÇAKCI Özgür GÖKMEN
3 İçindekiler Giriş... 4 Belge İçeriği Hakkında Genel Bilgi Web Katmanı Framewokleri Struts Spring COCOON AJAX(Asynchronous JavaScript and XML) CACTUS JUNIT LOG4J ANT (Another Nice Tool) JNDI (Java Naming and Directory Interface) JMX (Java Management Extension) JAAS (Java Authentication & Authorization Service) JSF (Java Server Faces) Veri Katmanı Frameworkleri HIBERNATE JDBC (Java Database Connectivity) EJB (Enterprise JavaBeans) JDO (Java Data Objects) ibatis TOPLINK CORBA (Common Object Broker Architecture) DCOM(Distributed Component Object Model) Karşılaştırmalar Hibernate - JDBC JDO - EJB Kaynaklar Struts: ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/struts.pdf Cocoon Ajax Jmx
4 Giriş İnternet tabanlı bir uygulama geliştirilirken birçok işin düzgün ve doğru bir biçimde yapılması zorunluluğu ortaya çıkmaktadır. Çoğu internet tabanlı uygulamalarda bir bağlantıya bir kullanıcının giriş izninin olup olmadığı kontrolü (authentication), bir işi yapmaya yetkisinin olup olmadığı kontrolü (authorization), veri tabanı ile etkileşiminin nasıl olacağı işler standart olarak yapılmaktadır. Bunun gibi birçok işi bizim yapmamız (kodlamamız) hem zordur hem de risklidir. Bu yüzden bu işleri güvenli ve daha basit bir biçimde yapan bir araca ihtiyaç duyulur. İşte bu noktada frameworkler devreye girmektedir. Frameworkler kullanıcıların yapması gereken birçok zorunlu işi kolaylıkla çözer. Bir frameworkü kullanmak için frameworke özgü kurallara uymamız gerekmektedir. Bu kurallar yayımcı firma tarafından dağıtılmaktadır. Belge İçeriği Hakkında Genel Bilgi Bu belgede Struts, Spring, Cocoon, Ajax, Cactus, JUnit, Log4j, Ant, Jndi, Jmx, Jaas, Jsf, Hibernate, Jdbc, Ejb, Jdo, ibatis, TopLink, Corba ve Dcom hakkında genel bilgiler verilmektedir. Sonrasında ise bu frameworklerden bazıları birbirleri ile karşılaştırılmıştır. 4
5 1. Web Katmanı Framewokleri 1.1 Struts Struts model, görünüm(view) ve denetçi(controller) MVC tasarım örüntüsüne dayalı sunucu taraflı bir java uygulamasıdır. Web uygulamalarının sunum katmanını kolayca ayırabilmek, aynı zamanda birim işlem ve veri katmanından soyutlamak için tasarlanmış açık kodlu bir framework tür. Model: Model veri nesnelerinin kullanıcıya sunumundan sorumludur Görünüm: Modelin ekrana sunumunda görev alır. Veri nesnelerinin o anki durumlarını sunar. Denetçi: Kullanıcı girdileri ile etkileşecek kullanıcı arayüzlerinin yollarını tanımlar. Denetçi bileşeni model veya veriyi işleyen bir nesnedir. Struts MVC nin JSP, JSP etiketleri(tags) ve java servletlerinden oluşan kombinasyonun gerçekleştirimidir. Struts daki her görünüm bileşeni struts etiketlerinin kombinasyonlarını barındıran bir JSP ile eşleşir. Denetçi ve Action sınıflarını etkileşimleri şu şekildedir: - İstem gelir. - Denetçi(ActionServlet) istemi ele alıyor ve hangi action olduğuna karar verir. - Action modelle ilgili işlemleri yapar. - Action çalşmasını bitirince, kontrol denetçiye dönüyor ve bir anahtar sağlar.denetçi anahtara bakarak nereye sapması gerektiğine karar verir. - Denetçi istemi dönen anahtarın bağlı olduğu görünüme yönlendirir, görünüm de sonuçları action a gösterir. 5
6 1.2 Spring Spring, son dönemde J2EE uygulaması geliştirme alanında popülerlik kazanan ve yaygın olarak kullanılmaya başlanılan bir uygulama geliştirme çatısıdır (application framework). Uygulama geliştirmeyi ve denetimi zorlaştıran ağır (heavyweight) çözümlere alternatif olarak hafif (lightweight) bir yapı sunarken, aynı zamanda esnek ve modüler bir şekilde bir çok özelliği içerisinde barındırması Spring'e gösterilen ilgide önemli rol oynar. Spring temel olarak, bileşenleri XML yapılandırma kütükleri aracılığıyla bütünleştirmeye dayalı bir yapı sunar. Bu yaklaşım esas olarak Denetim Çevrimi (Inversion of Control), diğer bir adıyla Bağımlılık İletimi (Dependency Injection), tasarım örüntüsünü kullanır. Buna göre, bileşenler arasındaki bağımlılıklar bileşenlerin kendileri yerine Spring tarafından ele alınır. Spring bileşenleri bir araya getirmek ve biçimlendirmek için Java çekirdeklerini (JavaBean) kullanır. Sınıfları kodlanan bu çekirdeklere dair isimlendirmelerin yapılması, gerekli ilk değer atamaları ve diğer çekirdeklerle aralarındaki bağımlılıkların tanımlanması XML yapılandırma kütüklerinin içerisinde yapılır. Spring, bu kütükleri okur ve buradaki tanımları kullanarak çekirdek olgularını gerekli yapılandırmaları gerçekleştirerek oluşturur. Bu işleyiş sayesinde uygulamadaki bileşenlerin yapılandırılması ve kullanımı kodun içine girmeye gerek kalmadan, yapılandırma kütükleri aracılığıyla son derece esnek ve kolay bir biçimde gerçekleştirilir. 6
7 Spring frameworkü küçük frameworklerin bir birikimi ya da frameworkler içinde frameworkler olarak düşünülebilirler. Bu iç frameworklerin birçoğu bağımsız çalışabilir olarak çalışabilirken birlikte kullanıldığında daha iyi sonuç veren frameworklerdir. Bu frameworkler karmaşık işleri bloklara ayırmak için bölümlendirilmişlerdir. Bu bölümler; Inversion of Control container: uygulama bileşenlerinin düzenlenmesi ve java nesnelerinin yaşam döngülerinin yönetiminden sorumlu. Aspect-oriented prgagramming framework: java nın nesne tabanlı programlaması ile içerim yapılamayan işlevlerle çalışır. Data Access framework java platformunda JDBC ve nesne ilişkisel eşleme araçlarını kullanarak ilişkisel veri tabanı yönetim sistemi ile çalışır. Transection management framework: Model-view-controler framework: yayılmayı ve kişiselleştirmeyi sağlamada bağlamayı sağlayan http ve servlet tabanlı framework. Remote Access Framework Autehtication and Authorization framework Remote Management framework Messaging framework Testing framework 7
8 1.3 COCOON Cocoon; XSLT (XML Stylesheet Language Transformation) dönüşümlerini kullanarak XML içeriğinin devingen yayınını sağlayan bir java sunucu yapısıdır. Cocoon içeriğini tanımlamak için XML i bu içeriği çeşitli biçimlere dönüştürmek için uygulamalar geliştirebileceğimiz bir platform sağlar. Cocoon, ağa içerik yayınlamada pipeline anlayışını kullanır. Geniş bir bileşen çeşitliliği sunar ve bu bileşenlerin ayarlanması ile, fazladan bir geliştirim süresi harcanmadan karmaşık işlemlerin yapılmasını sağlar. Örneğin yalnızca XML ve XSLT kullanarak cocoon devingen olarak yaratılan sonuçları sunabildiği gibi durağan kütüklerin yayınlanmasını da sağlayabilir. Basit ve çok kademeli XSLT dönüşümleri yapar. Parametrelerin devingen olarak XSLT dönüşümlerine geçirilmesini sağlar. XML, HTML, PNG, JPEG, ve PDF gibi pek çok türde çıktı oluşturabilir. Cocoon sayesinde olabilecek en az karmaşıklıkla devingen internet sitesi yaratmak mümkündür. 8
9 1.4 AJAX(Asynchronous JavaScript and XML) Ajax, sunucuda çalışacak betiğin sayfa yenilenmeden javascriptle tetiklenmesinden ibarettir. AJAX, sunucuda çalışan bir kodun çıktılarının postback (sayfanın yeni verilerle yeniden yüklenmesi) olmadan istemciye ulaştırılmasıdır. Ajax, terimolojik olarak Asynchronous Javascript and XML; yani Javascript ve Xml'in eş zamanlı olmayan hareketlerle icra ettiği faaliyete verilen isimdir. Bir HTML sayfası, JavaScript kullanarak sunucusuna asenkron olarak bilgi gönderebilir ve sunucudan XML belgeleri çekebilir. Çekilen XML belgeleri JavaScript tarafından kullanılarak HTML sayfasının Document Object Model (DOM) u değiştirilir veya günlenir. Bu etkileşim modeli son zamanlarda Asenkron JavaScript ve XML yani Ajax olarak adlandırılmaya başlanmıştır, ancak bu model aslında yeni değildir. Bu teknikler daha önce Windows platformunda Internet Explorer içinde (remote scripting terimi kullanılarak) ve Java pluginleri ve appletlerle birlikte uzun süre kullanılmıştı. Ancak performans ve tüm web tarayıcılarında kullanım yani taşınabilirlik açısından, JavaScript in XMLHttpRequest nesnesini getirmesiyle bugünkü Ajax ortaya çıktı diyebiliriz. 9
10 1.5 CACTUS Cactus, JUnit tabanlı bir ünite testi sistemidir. Apache Group tarafından, web uygulamalarında ünite testi amaçlı kullanılır. JSPTestCase, ServletTestCase, FilterTestCase gibi alt parçaları vardır. 1.6 JUNIT JUNIT yeniden tekrarlanabilen testler yazmak için kullanılan bir framework tür. Java programlarının özel alanlarının açıkça test edilmesi için kolay bir yol sunar. Genişleyebilirdir ve bir programın bir çok birimini test etmek için görevlendirilebileceği gibi tek bir biriminin testi için de görevlendirilebilir. JUnit önce test etmeyi ve sonra kodlamayı destekler. Bu sayede programın belirli bir birimi için test verisi hazırlanabilir ve bu birim testi geçene kadar kodlama yapılabilir. 10
11 1.7 LOG4J Log4j, Java için geliştirilmiş en popüler günlük tutma paketidir. Log4j açık kaynak projesi kapsamında geliştirilmiştir. Uygulama geliştiricilerine, günlük (log) deyimlerini istedikleri boyutlarda, istedikleri biçimlerde çıktı olarak alma imkanı sağlar. Harici yapılandırma dosyaları aracılığıyla çalışma zamanında tamamen yapılandırılabilir. Her şeyden öte, Log4j kendi kendine öğrenebilir. Log4J, hata ve bilgilendirme mesajlarımızı yaratmamızı sağlayan API'lar içeriyor. Bu ara yüzleri mesaj gereken her yerden çağırabiliriz. Önemli hatalar için error(), bilgilendirme için debug(), ve uyarı mesajları için warn() kullanabiliriz. 1.8 ANT (Another Nice Tool) Ant; Apache Yazılım tarafından geliştirilmiş, açık kaynak java tabanlı bir yazılım geliştirme aracıdır. Ant kısaltmasının açılımı Another Nice Tool olarak bilinir. Tomcat, JDOM gibi açık kaynak ürünlerin geliştirilmesinde kullanılmıştır. Ant build kütüğü XML formatındadır. Build kütüğününün üzerinde işlem yapabilmek için, basit bir metin editörü yeterli olacaktır. Harici bir XML parser a gerek yoktur. Zaten Ant ın kurulumu sırasında JAXP Uyumlu XML parser yüklenir. 11
12 1.9 JNDI (Java Naming and Directory Interface) Java isimlendirme ve dizinleme servisi (Java Naming and Directory Interface) Java dilinde yazılmış uygulamalara isimlendirme ve dizinleme işlevselliği katan bir uygulama programlama ara yüzüdür(application Programming Interface). Herhangi bir isimlendirme ve dizinleme servisinden bağımsız olarak tasarlanmıştır. Böylelikle birçok dizine yeni, görünen ya da çoktan kurulmuş- ortak bir yolla erişim sağlanır. JNDI mimarisi bir API ve bir servis sağlayıcı ara yüzünden (service provider interface SPI) oluşur. Java uygulamaları JNDI API sini birçok isimlendirme ve dizinleme servisine aynı yolla ulaşmak için kullanırlar. SPI, birçok isimlendirme ve dizinleme servisini etkinleştirip onların şeffaf olarak takılıp çıkarılmasını ve JNDI API sini kullanan Java uygulamalarının bu servislere erişmesini sağlar. 12
13 1.10 JMX (Java Management Extension) JMX parametrelere ulaşılması ve konfigürasyonlarının değiştirilmesi, uygulamaların ve bileşenlerinin yüklenmesi ve ilk değer verilmesi ve servislerin izlenmesini sağlar. JMX izleme ara yüzü genel izleme ara yüzlerini de kullanır fakat güvenlik ve daha iyi uyum için Java uygulamaları önerilir. Genelde uygulamalar sürekli bir gelişim ve evrim göstermektedir. Bu da uygulamaların izlenmesini ve yönetimini daha da zorlaştırmaktadır. JMX sezgisel, uymlu ve esnek bir izleme ve yönetme arayüzü sağlayarak bu problemi kolaylaştırır. Böylelikle EJB, servlet ve java sınıfları dahil tüm java öğeleri izlenebilmektedir. Asıl amaç kaynakları yönetmektir. Yönetilebilir kaynaklar basit java sınıflarından ağ kaynaklarına kadar olabilir. MBean ler kaynakları yönetir. MBean ler JMX in kalbidir. MBean ler kaynakları JMX arayüzüne bildiren java sınıflarıdır. JMX Instrumentation Layer MBean leri ve yönetimli kaynakarı kapsar.. Bir sonraki katman Agent Katmanıdır(Layer). Bu katman JRun da MBean sunucudur. Bu katman servislerin ilk değerini verir ve yönetim arayüzüne bildirir. Bu servisler jrun-server-directory/server-inf/jrun.xml kütüğü kullanılarak otomatik olarak da ilklendirilebilirler. Bu kütük JRun ın JavaMail ve Java Messaging Service gibi kendi servislerini ve yeni eklenen servislerin yerini içerir. MBean ler ilklenmek için jrun.xml i kullanmazlar. Son katman ise Dağıtık Servis Katmanı(Distributed Service Layer). Bu katman servisleri bağlayıcılara ve birimlere bildirir. Bağlayıcılar veya birimler herhangi bir protokolde olabilir. Bu katman servislere uzatan erişim sağlar. 13
14 1.11 JAAS (Java Authentication & Authorization Service) JAAS (Java Authentication & Authorization Service), Java Kimlik Denetimi ve Yetkilendirme Servisi istemci ve sunucu tarafındaki Java uygulamalarımızın güvenli çalışmasını sağlamak için çözümler sunan bir uygulama geliştirme ara yüzüdür. Eski Java güvenlik yapılarında kullanılan yöntemlerde sistem kullanıcıyı taşınabilir koddan korumak üzerine odaklanmıştır. Diğer bir deyişle güvenlik yapısının temeli kodun kaynağına yani kim tarafından yazıldığı bilgisi üzerine kuruludur. Uygulamanın çalışma zamanında hangi kodun çalıştırıldığı, bu koda verilen izinler kontrol edilir; yani kullanıcı tabanlı erişim hakkı kontrolü hiçbir zaman yapılmaz. Güvenlik Politikası Dosyası(Security Policy File) adı verilen, özel bir sözdizimine sahip dosya içerisinde uygulamadaki koda özel erişim izinleri verilir. Böylece koruma altındaki bir sistem kaynağına erişim talebi geldiğinde kodun karakteristiğine(kodun nereden geldiğine, varsa dijital imzasına ve sahibine) bakılır. Politika dosyası üzerinden verilmiş haklar ile erişimi gerçekleştirmek için gerekli olan haklar karşılaştırılır. İlki ikincisini de kapsıyorsa erişime izin verilir; kapsamıyorsa istem reddedilir. Kod tabanlı denetimin yapıldığı bu sistemde kodun kime ait olduğu dışında kim tarafından çalıştırıldığı ise tamamen göz ardı edilir. Bununla birlikte Java nın çok kullanıcılı ortamlarda kullanımı oldukça yaygındır. Örneğin kurumsal bir uygulama birçok kullanıcı ile aynı anda etkileşim içindedir ve bu kullanıcılara kimliklerine göre farklı ayrıcalıklar vermelidir. 14
15 1.12 JSF (Java Server Faces) Java Server Faces güçlü ve dinamik web uygulamaları geliştirmeyi kolaylaştıran web tabanlı ara yüzler hazırlamak için bir frameworktür. JSF swing gibi bir takim standart bileşenler(butonlar, linkler, secim kutuları gibi) ya da özelleştirilmiş bileşenler oluşturmak için model sunmasının yanında istemci taraflı olayların (event) islenmesi için yöntemler sunar ve ayrıca araç(tool) kullanma desteği vardır. Java için birçok web ara yüz frameworkleri bulunmasına karşın JavaServer Faces birçok sebepten dolayı öne çıkmaktadır. JSF java community standardıdır. JavaBean bileşenleri paradigmasının, web arayüz tasarımında kullanılmasına olanak verir. JSF, piyasadaki birçok frameworkün iyi yönleri alınarak tasarlanmıştır. JSF kullanarak web uygulamaları geliştirmek swing uygulamaları geliştirmeye benzer. Aslında JSF yi Swing ile Struts ın birleşimi olarak düşünebiliriz. Ancak JSF bu ikisinin yerine geçecek bir şey olarak algılanmamalıdır. JSF ikisi ile de birlikte çalışabilecek şekilde tasarlanmıştır. 15
16 1.13 Karşılaştırmalar Spring - Struts Spring, kontrol kesimleri(controllers), JavaBean modelleri ve görünüşler (views) arasında açık bir ayrım sağlar. Spring MVC çok esnektir. Struts daki somut Action ve Form kalıtımlarının yerine Spring ara yüzleri temel alır. Bunun dışında Spring in bütün parçaları ara yüzlerdeki eklentiler(plugin) tarafından düzenlenebilir. Spring görüntü bilinmezdir. Yani JSP kullanmak istemediğimiz zaman buna zorunlu değiliz. Velocity, XSLT veya başka bir görüntüleme teknolojisi kullanarak bunu Spring le kolayca bütünleştirebiliriz. Spring kontrol kesimleri diğer nesneler gibi IoC ile düzenlenebilir. Bu test etmeyi kolaylaştırır. Yani Spring in test edilebilirliği daha kolaydır JUnit - Cactus Cactus ile JUnit arasındaki en belirgin fark JUnit aynı Java sanal makinesinde çalışırken Cactus un testleri bir java sanal makinesinde çalışıp sonuçlar uygulama sunucusunun Java sanal makinesine çalıştırılmak üzere gönderilir. Cactus un son derece akıllı bir gönderme aracı vardır. Öyle ki gereken bilgiler paketlenir. Böylelikle server tarafı testi bulur ve çalıştırır. 16
17 2 Veri Katmanı Frameworkleri 2.1 HIBERNATE Java için geliştirilmiş olan (NHibernate adında bir de.net versiyonu vardır) nesne/ilişki eşleme işini yapan, ücretsiz, açık kaynak (LGPL lisansına sahip) bir yazılımdır. Nesne tabanlı alan modelini geleneksel ilişkisel veritabanına çevirmeye yaramaktadır. Hibernate verilerin saklanması, güncellenmesi, silinmesi, vb. işleri nesne tabanlı modele göre kolaylaştırmak için kullanılmaktadır. Kalıcı sınıfları oluşturup (basit veri sınıfları) bu sınıfları XML kullanılarak eşlenmiş veritabanı tablolarına ve sahalarına kaydetmek için kullanılır. 17
18 2.2 JDBC (Java Database Connectivity) JDBC ( Java Database Connectivity ), ilişkisel veritabanı datalarına Java kodundan ulaşmamızı sağlayan bir API'dir.( Application Programming Interface ). Bu API, java.sql paketi içinde bulunan ve veritabanı ile iletişim kurmamızı sağlayan bir takım sınıflarla gelir. JDBC sürücüsü ( driver ), bizim SQL dilini kullanarak veritabanı ile konuşmamızı sağlar. Herhangi bir veritabanı sistemine ulaşmak için o veritabanının JDBC sürücüsünü kullanmamız gerekir. 18
19 2.3 EJB (Enterprise JavaBeans) Kurumsal Java Çekirdekleri (Enterprise JavaBean, EJB) Mimarisi, bileşen tabanlı ve dağıtımlı kurumsal uygulamaların geliştirilmesi ve yaygınlaştırılmasına yönelik bir J2EE mimarisidir. EJB genel olarak güçlü ve birçok hizmete olanak sağlayan bir mimaridir. Bu mimari kullanılarak geliştirilmiş yazılımlar; ölçeklenebilir, birim işlem yeteneğine sahip, güvenli ve dayanıklı olup kurumların önemli gereksinimlerini karşılayacak nitelikte, çok kullanıcılı uygulamalardır. EJB ile oluşturulan uygulamalar, bir kez yazıldıktan sonra EJB belirtimlerine uygun herhangi bir sunucu ile kullanılabilir. EJB, ilk olarak CORBA mimarisinin karmaşıklıklarına bir çözüm sunma vaadi ile ortaya çıkar. Bu yeni mimari, birçok ana düzenleme ve şişirilmiş temel özellikleri ile kısa zamanda J2EE nin kalbi olur. EJB mimarisi ilk anda birçok kullanıcı tarafından uygulama geliştiriminde tercih edilir. Ancak EJB mimarisinin bu güçlü ve birçok özelliği içinde barındıran yapısı ile uygulama geliştiren kişiler açısından, geliştirdikleri projeler için bekledikleri etkiyi vermez. Çünkü EJB ile uygulama geliştirmek beklenilen kadar kolay olmakla beraber tüm EJB belirtimleri daha da karmaşık bir yapı sunmaktadır. 19
20 2.4 JDO (Java Data Objects) JDO nesnelerin saklanmasını sağlayan bir sistemdir. JDO nun yaptığı Java nesneleri ile veri tabanı arasında aracılık yapmaktır. Programcının veritabanı işleriyle uğraşmadan (örneğin sql kodu yazmadan) nesneleri saklamasına, erişmesine ve sorgulamasına olanak tanır. 20
21 2.5 ibatis ibatis için, JAVA ve.net için veritabanı işlerini kolaylaştırmak/düzene sokmak için ortaya çıkarılmış bir "data mapper framework" diyebiliriz. ibatis nesneleri SQL ifadelerine haritalamada(map) kolaylık sağlayan basit ama tam bir çatıdır. ibatis i geliştiren ekibin temel felsefesi: veriye erişimde %80 işlevselliği %20 kod kullanarak sağlamaktır. Haritalayıcı(Mapper) denince anlaşılan anlamlardan biri, iki bağımsız nesne arasındaki iletişimi sağlayan nesne olarak bilinir. Veri Haritalayıcı (A Data Mapper) ise verileri nesneler ve veritabanı arasında taşıyan ve bunu yaparken aradaki bağımsızlığı sağlayıp, koruyan bir haritalayıcı katmandır. Siz veritabanı ve nesneleri sağlarken; ibatis bu ikisi arasındaki haritalama katmanı görevini yerine getirir. 21
22 2.6 TOPLINK Oracle9iAS TopLink; Java uygulamalarının ilişkili veritabanlarına ve ilişkisiz veri kaynaklarına erişmelerini sağlayan bir framework tür. TopLink; nesneleri ve EJB leri (Enterprise Java Beans) kullanıcının nesne düzeyinde çalışmasına izin verecek şekilde veritabanına kaydeder. TopLink sayesinde; Standart bir framework kullanılmasıyla birlikte; geliştirim süreci ve maliyet azalır. Daha önceden kanıtlanmış performans daha yüksek performanslı uygulamalar geliştirilebilir. Herhangi bir Java ortamında veya Java uygulama sunucusunda çalışabilen bir Java ürünü kullanılarak sistem bağımsızlığı %100 e çıkarılır. Toplink in nesne düzeyinde sağladığı API ler ve sorgular kullanılarak veri bağımsızlığı sağlanır. Bir JDBC sürücüsü üzerinden herhangi bir veritabanına erişilebileceği gibi; TopLink SDK üzerinden ilişkisel olmayan veri kaynaklarına da erişilebilir. EJB, XML, CORBA, JTS, RMI gibi teknolojilerle bütünleştirilebilir. 22
23 2.7 CORBA (Common Object Broker Architecture) 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. İ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üsü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. 23
24 2.8 DCOM(Distributed Component Object Model) DCOM dağıtımlı nesne yapısını desteklemek üzere Microsoft tarafından geliştirilmiştir. DCOM çözümünde nesnelerin yerel ya da uzak makinelerde konumlarının saptanması görevi bir hizmet denetim yöneticisi olan SCM(Service Control Manager) tarafından yerine getirilmektedir. Web uygulamalarında, web sayfası içindeki Yerel nesne ile birlikte istemciye aktarıldığı sırada gerekli vekil(proxy) nesneleri de birlikte yüklenir. Bundan sonra vekil nesnesi, gelen yerel nesneler tarafından kullanılan uzak nesnelerin yüklü bulunduğu uygulama sunucusuna kendisini tanıtarak hizmet almak üzere kayıt yaptırır. DCOM un en büyük sakıncası yalnızca Windows tabanlı sistemler tarafından desteklenmesidir. Her ne kadar DCOM açık bir belirtim olarak herkesin kullanımına açık olsa bile uygulamada Microsoft dışında bu standardı benimseyen olmamıştır. Ancak Windows tabanlı sistemlerin yaygınlığı göz önüne alındığında, bu durum özellikle intranet uygulamaları için bir sorun olarak değerlendirilmeyebilir. 24
25 2.9 Karşılaştırmalar Hibernate - JDBC Aynı anda hem yazılımla hem nesne tabanlı yazılımla, hem de ilişkisel veritabanı ile çalışmak JDBC de zordur. Sebebi ise verinin nesnede nasıl sunulduğu ile ilişkisel veri modeli arasındaki uyumsuzluktur. Bu yüzden JDBC de kod geliştiren kişilerin nesne modelinin veri sunumları ile ilişkisel veri modeli arasında bir tanımlama yazması gerekir. Hibernate bu sorunu XML kütükleri ile çözer. Böylece bu işlev için kod yazmaya gerek kalmaz. Hibernate de Java nesneleri ile veri tabloları arasındaki tersinir eşleşme (Transparent Persistance) vardır. JDBC de ise yoktur. JDBC sadece temel sorgu dilini(sql) destekler. Bu yüzden kod geliştiricilerin en iyi sorguyu yazmaları gerekir. Hibernate ise kendi sorgu dilini sağlar. Veri tabanında herhangi bir şey değiştiğinde(kolon adının değişmesi gibi) JDBC de ilişkili tüm yapıların değişmesi gerekir. Hibernate de ise bu değişiklik sadece XML kütüğünde olur. Hibernate dezavantajları; Hibernate i öğrenmek daha zordur. İki değişik tablo ile bir nesne ilişkilendirilemez. İnternette Hibernate için yeterli destek yok. Hibernate JDBC nin desteklediği bazı sorguları desteklemez. Örneğin aynı tabloya aynı sorguda çoklu veri eklenemez. Bunun için kodu geliştiren kişinin her bir nesne için farklı sorgu yazması gerekir JDO - EJB EJB bir nesnelerin saklanması, ağda erişilmesi, güvenliği gibi konularda servisler sağlar. JDO (Java Data Objects) ise sadece nesnelerin saklanmasını sağlayan bir sistemdir. JDO'nun yaptığı Java Nesneleriyle veritabanı arasında aracılık yapmaktır. Veritabanın SQL de olabilir, XML de olabilir, Object Database de olabilir. JDO, programcının veritabanı işleriyle uğraşmadan nesneleri saklamasına, erişmesine ve sorgulamasına olanak tanır. EJB de bu işlevleri sağlayan bir standarttır. Ancak EJB çok daha geniş imkanlar sunar. EJB ve JDO arasındaki karşılaştırmaya eklenebilecek ilginç bir not da, EJB'nin JDO kullanarak uygulanabilmesidir. Yani EJB standardına uyan bir sistem, o standardı uygulama için arka planda JDO kullanabilir. EJB server üreticileri CMP için arkaplanda JDO'yu kullanabildiği gibi, programcılar da BMP için JDO'yu kullanabilirler. 25
26 Kaynaklar Struts: ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/struts.pdf Spring: ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/springmvc_ pdf Cocoon ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/cocoon.pdf Ajax ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/ajax_arastirma_ pdf cactus ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/cactus.pdf hibernate ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/hibernate.pdf ejb ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/ejb3.pdf toplink ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/toplinktutorial.pdf ant ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/ant.pdf corba ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/corba_ pdf dcom Web Tabanlı Üç Katmanlı Yazılım Mimarileri (Cesur BARANSEL-Alim MUMCUOĞLU) Jmx ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/jmx.pdf jaas ftp://ftp.cs.hacettepe.edu.tr/pub/dersler/bil4xx/bil447_yml/belgeler/jaas_ pdf 26
Ö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ıÜ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ı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ı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ı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ıÜ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ıĐ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ı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ı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ıÖğ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ı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ıORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu
ORM & Hibernate 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ı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ıÜ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ıMyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com
MyFaces Özgür JSF Uyarlaması Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Sunum Bilgisi ve Lisans Bu sunum 22 Mayıs 2005 günü Linux Kullanıcıları Derneği adına verilmiştir. Sunum içeriği
Detaylı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ıSpring Ekosisteminde Kurumsal Yazılım Geliştirme. Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş.
Ekosisteminde Kurumsal Yazılım Geliştirme Kenan Sevindik Harezmi Bilişim Çözümleri A.Ş. Hakkımızda Harezmi Bilişim Çözümleri 2011 yılında kuruldu Uzmanlık alanlarımız Kurumsal uygulama geliştirme Java
DetaylıÖzgür Yazılımlarla Web Programlama. Özlem Özgöbek ozlem.ozgobek@linux.org.tr
Özgür Yazılımlarla Web Programlama Özlem Özgöbek ozlem.ozgobek@linux.org.tr Web Nedir? İnternet dünya çapında birbirine bağlı bilgisayar ağlarından oluşan bir sistemdir. Web ise internette çalışan servislerden
Detaylı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ıAJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri
nedir? Sunucu Yazılım Teknolojileri nedir? Gündem 1 nedir? 2 XML 3 nedir? nedir? : Asynchronous JavaScript and XML Yeni bir teknoloji değil, daha çok bir yöntembilim, teknik, tasarım deseni. RIA = Zengin
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 İnternet Nasıl Çalışır? Sunucu istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan
DetaylıSpring Giriş Eğitimi
Spring Giriş Eğitimi Bu eğitimde Spring ın hangi problemlere karşı etkili olduğundan bahsedeceğim. Ayrıca çekirdek Spring teknolojisinin nasıl işlediği; Dependency Injection - DI ve Inversion of Contol
DetaylıSpring Framework Eğitimi
Hazırlayan: Barış Dere @BarisDere baris.dere@gmail.com Spring Framework Eğitimi Ders 1: Genel bir bakış Http://www.youtube.com/barisdere Ajanda Eğitim konuları Spring Framework nedir? Inversion Of Control
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İ 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ı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ıAsp.Net Veritabanı İşlemleri
Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde
Detaylı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ıJava ve Linux. Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006
Java ve Linux Bora Güngören Portakal Teknoloji bora@portakalteknoloji.com Akademik Bilişim 2006 09.02.2006 Sunum Planı Java Çalışma Ortamı POSIX uyumu ve Linux Java Toplum Süreci (JCP) Açık kaynak kodlu
Detaylı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ı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ıPHP 1. Hafta 1. Sunum
PHP 1. Hafta 1. Sunum PHP101: PHP nedir? Bu dersten sonra bilecekleriniz PHP nedir? PHP ye neden ihtiyaç vardır? PHP nin gelişimi HTML, HTTP ve JS nedir? PHP yle alakası nedir? PHP nin uygulama alanları
DetaylıVERİ TABANI UYGULAMALARI
VERİ TABANI UYGULAMALARI VERİ TABANI NEDİR? Bir konuyla ilgili çok sayıda verinin tutulmasına, depolanmasına ve belli bir mantık içerisinde gruplara ayrılmasına veri tabanı denir. Veri tabanı programları;
Detaylı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ı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ıVeri Tabanı-I 1.Hafta
Veri Tabanı-I 1.Hafta 2010-2011 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Meslek Yüksekokulu Burdur 2011 Muhammer İLKUÇAR 1 Veri ve Veri Tabanı Nedir? Veri Bir anlamı olan ve kaydedilebilen
DetaylıAkıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların
Akıllı telefonlar, avuçiçi bilgisayarlar ile taşınabilir (cep) telefonların özelliklerini birleştiren cihazlardır. Akıllı telefonlar kullanıcıların bilgilerini saklamalarına, program yüklemelerine izin
DetaylıScript. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.
Script Statik Sayfa Dinamik Sayfa Dinamik Web Sitelerinin Avantajları İçerik Yönetim Sistemi PHP Nedir? Avantajları Dezavantajları Script HTML kodları arasına yerleştirilen küçük kodlardır. Web sayfalarında
Detaylı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ı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ıPAZARTESİ SALI 2015-2016 Ders Programı 1. Öğretim 09.00-09.50 10.00-10.50 11.00-11.50 12.00-12.50 HRT4291 WEB TABANLI CBS GR:11 Ü.GÜMÜŞAY EZ-121 ; D1-129 HRT4291 WEB TABANLI CBS GR:22 Ü.GÜMÜŞAY EZ-121
Detaylıİnternet Programcılığı
1 PHP le Ver tabanı İşlemler Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı
Detaylı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ıRahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim
JAVA Mimarisiyle Kurumsal Çözümler Kurumsal JAVA Rahman USTA Editör Altuğ B. ALTINTAŞ Papatya Yayıncılık Eğitim İstanbul, Ankara, İzmir, Adana PAPATYA YAYINCILIK EĞİTİM Ekim 2012 Bilgisayar Sis. San. ve
Detaylı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ıProgramlama Yazılımı ile Web Sitesi Oluşturma
Hafta- 2 Programlama Yazılımı ile Web Sitesi Oluşturma Programlama yazılımı, bir web projesi oluşturmak için alternatif birkaç yol sunar. Buyollardan bir tanesi ihtiyaca uygun olarak seçilebilir. Programlama
DetaylıJava. Hakkımızda. Java Eğitimi
JAVA Hakkımızda 1999 yılında bilişim teknolojileri alanında eğitim vermek amacıyla kurulan Bilişim Eğitim Merkezi temellerini istihdam ve verimlilik odaklı bir yapı üzerinde atmış ve verdiği eğitimlerle
DetaylıOPC Data Access (DA) Temelleri
OPC Data Access (DA) Temelleri Hazırlayan Kepware Technologies Türkçe Meal Salih GÖK Anket Data Access nedir? Data Access in getirileri OPC DA e giriş (Data Access) OPC DA Özelliklerine bakış Hızlı bir
Detaylı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ıJBoss Seam Next Generation Integration Framework
JBoss Seam Next Generation Integration Framework Melih Sakarya www.melihsakarya.com melih.sakarya@gmail.com www.mergecons.com Seam Framework JSF JPA Hibernate EJB 3.0 Ajax RichFaces A4J Drools itext PDF
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İ http://facebook.com/esriturkey https://twitter.com/esriturkiye egitim@esriturkey.com.tr Kursun Süresi: 5 Gün 30 Saat COĞRAFİ
DetaylıWeb Uygulamaları Mimarileri ve Güvenliği
Web Uygulamaları Mimarileri ve Güvenliği METU CCLUB erbil Karaman başlıklar... Web uygulama mimarileri Uygulama geliştirme ve framework kullanımı Güvenli web uygulamaları için öneriler baslamadan önce...
DetaylıBİH 605 Bilgi Teknolojisi Bahar Dönemi 2015
BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015 Ders- 13 World Wide Web (WWW) Yrd. Doç. Dr. Burcu Can Buğlalılar Bilgisayar Mühendisliği Bölümü Bilgisayar Katmanları İçerik World Wide Web (WWW) Anlık Mesajlaşma
DetaylıDers Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı. 26 Şub. 2013 Öğr. Gör.
Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı 26 Şub. 2013 Öğr. Gör. Murat KEÇECİOĞLU PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları
DetaylıLINQ (Temel Kavramlar)
LINQ (Temel Kavramlar) Ele Alınacak Başlıklar Temel Kavramlar Lambda İfadeleri (*Lambda Expressions) Query İfadeleri (*Query Expressions) Tür Çıkarsama (*Type Inference) Anonim Türler (*Anonymous Types)
Detaylı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ı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ı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ıInternet Programming II
Hafta I Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 15 Şub. 2015 PHP Nedir? Platformdan bağımsız (işletim Sistemi) dinamik web sayfaları ve
Detaylı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ıVeri Tabanı Yönetim Sistemleri Bölüm - 3
Veri Tabanı Yönetim Sistemleri Bölüm - 3 İçerik Web Tabanlı Veri Tabanı Sistemleri.! MySQL.! PhpMyAdmin.! Web tabanlı bir veritabanı tasarımı. R. Orçun Madran!2 Web Tabanlı Veritabanı Yönetim Sistemleri
DetaylıPHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011
PHP I E. Fatih Yetkin 26 Eylül 2011 Outline Temel Tanımlar HTML e Giriş PHP ye Giriş MySQL ve PHP Temel Tanımlar Web Sunucu Nedir? Teknik detaylar bir kenara bırakılacak olursa, hazırlanan web sayfasını
DetaylıNovaFortis Yazılım Danışmanlık. E-dönüşüm adaptörü
NovaFortis Yazılım Danışmanlık E-dönüşüm adaptörü E-DÖNÜŞÜM ADAPTÖRÜ E-dönüşüm adaptörü e-fatura, e-arşiv fatura, e-defter ve e-ihracat süreçlerini yönetmek üzere tasarlanmış bir masaüstü uygulamasıdır.
DetaylıBilgiyi Keşfedin! Özelleştirme, Eklenti ve Veri Entegrasyonu Kurumsal Seviyede Yönetim ve Performans
Bilgiyi Keşfedin! LOGO MIND INSIGHT (powered by Qlik) İŞ ANALİTİĞİ ÜRÜNÜ, HERKESİN SEZGİLERİ İLE ARAŞTIRMA VE KEŞİF YAPMASINI SAĞLAYAN ÇOK ÇEŞİTLİ ESNEK VE İNTERAKTİF GÖRSELLER OLUŞTURABİLECEĞİ YENİ NESİL
DetaylıPHP ile İnternet Programlama
PHP ile İnternet Programlama Doç.Dr. Gazi Üniversitesi Gazi Eğitim Fakültesi Bilgisayar ve Öğretim Teknolojileri Eğitimi Bölümü 1. BÖLÜM: Bilgisayarımızı PHP ye Hazırlamak PHP Yorumlayıcısı ve Sunucu Yazılımı
DetaylıHSE RADAR. İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016
HSE RADAR İş Sağlığı ve Güvenliği Yönetimi Uygulama, Denetim, Eğitim ve Takip HSE GLOBAL YAZILIM A.Ş. 11 Mart 2016 Copyright 2016 İçerik 1. HSE RADAR NEDİR? 2. HSE RADAR IN UYGULAMA ALANLARI 3. HSE RADAR
DetaylıVERİ TABANI YÖNETİM SİSTEMLERİ
VERİ TABANI YÖNETİM SİSTEMLERİ ÖĞR.GÖR.VOLKAN ALTINTAŞ 26.9.2016 Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal
Detaylı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ı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ıKurumsal bilgiye hızlı ve kolay erişim Bütünleşik Belge Yönetimi ve İş Akış Sistemi içinde belgeler, Türkçe ve İngilizce metin arama desteği ile içeri
İş süreçleri ve belgelerin bilgisayar ortamında izlenmesi Bütünleşik Belge Yönetimi ve İş Akış Sistemi Kurumların belge ve içerik yönetim işlemleriyle iş süreçlerinin tanımlanması ve denetlenmesi ve bu
DetaylıVeritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi
Hedefler Veritabanı Yönetimi Bilgisayarların Discovering Keşfi 2010 Computers 2010 Living in a Digital World Dijital Dünyada Yaşamak Veritabanı terimini tanımlamak ve bir veritabanının veri ve bilgi ile
Detaylı1 Temel Kavramlar. Veritabanı 1
1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel
DetaylıİŞLETİM SİSTEMLERİ. (Operating Systems)
İŞLETİM SİSTEMLERİ (Operating Systems) İşletim Sistemi Tanımı, Görevleri, Bilinen İşletim Sistemleri Çok Kullanıcılı Sistemler, Bellek Yönetim Birimi Linux ve Windows Ailesi, Bilinen İşletim Sistemleri
Detaylı1.PROGRAMLAMAYA GİRİŞ
1.PROGRAMLAMAYA GİRİŞ Bilindiği gibi internet üzerindeki statik web sayfaları ziyaretçinin interaktif olarak web sayfasını kullanmasına olanak vermemektedir. Bu yüzden etkileşimli web sayfaları oluşturmak
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
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ı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ı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ı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ıGüvenli Doküman Senkronizasyonu
Güvenli Doküman Senkronizasyonu Güvenli Doküman Senkronizasyon sistemi, hızlı ve güvenli kurumsal doküman paylaşım ve senkronizasyon uygulamasıdır. GDS ne sağlar?» Kurumsal hafıza oluşturulmasını sağlar,»
DetaylıÜ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ıYZM 3215 İleri Web Programlama
YZM 3215 İleri Web 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 ORM (Object Relational Mapping) ve EF (Entity
DetaylıPR362009 24 Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5
Yazılım, PC-tabanlı kontrol Sayfa 1 / 5 IT standartları otomasyonu geliştiriyor: Microsoft Visual Studio entegrasyonlu TwinCAT programlama ortamı TwinCAT 3 extended Automation Beckhoff, otomasyon dünyasını
DetaylıWeb Tabanlı Sistem Mimarileri Hafif S ıklet İstemci Mimarisi (HSIM) HSIM Sistem Yap ısı
Web Tabanlı Sistem Mimarileri Web tabanlı uygulamaların yalnızca gerçekleştirimi değil, tasarımı da geleneksel 2- Katmanlı istemci-sunucu uygulamalarından farklılık göstermektedir. Özellikle web uygulamasının
DetaylıVeritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G.
Veritabanı Dersi Teoriden Pratiğe Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XXV: Web'den Erişim Çağıltay, N., Tokdemir, G. BÖLÜM 25 Web den Erişim Ortak Geçit Arayüzü Bazı Web Kavramları
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 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ı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ı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ıSunum Planı. Django Nedir? Django projesi oluşturmak Basit bir blog uygulaması. Şablon Kullanımı Diğer özellikleri
Django Web Çatısı Mete Alpaslan Katırcıoğlu Emre Yüce Portakal Teknoloji mete.alpaslan@portakalteknoloji.com emre.yuce@portakalteknoloji.com Akademik Bilişim 2008 Çanakkale, 30 Ocak 2008 Sunum Planı Django
Detaylı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ıTurquaz. Açık kodlu muhasebe yazılımı http://www.turquaz.com. Turquaz Proje Grubu
Turquaz Açık kodlu muhasebe yazılımı http://www.turquaz.com Turquaz Proje Grubu Konu Başlıkları 1. Turquaz Proje Grubu 2. Programın fikri 3. Geliştirme aşaması 4. Programın içeriği 5. Yapılacaklar 6. Dizayn
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 bulunmaktadır; 1. Performans: İşletim sistemi, makine
DetaylıBilgisayar İşletim Sistemleri BLG 312
Bilgisayar İşletim Sistemleri BLG 312 İşletim Sistemlerine Giriş Bilgisayar Sistemi uygulama programları derleyici editör komut yorumlayıcı işletim sistemi makina dilinde programlar mikroprogram (ROM da)
Detaylı1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr
1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve AraştırmaMerkezi 2 İçindekiler 1. GİRİŞ... 3 1.1 ASP NEDİR?...
DetaylıLogsign Hotspot. Güvenli, izlenebilir, hızlı ve. bağlantısı için ihtiyacınız olan herşey Logsign Hotspot da!
Logsign Hotspot Misafir Ağlar İçin Yeni Nesil Bütünleşik Erişim ve Analitik Çözümü Misafir ağların her geçen gün artan ihtiyaçlarını karşılayabilmek için yeni nesil mimari ile tasarlanmış olan Logsign
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu 1. Adım Windows Server 2012'yi Yükleme Bilgisayarınız Windows Server 2012 yüklenmiş olarak teslim edildiyse, 1. Adım'ı atlayabilirsiniz. Yükleme Yönergeleri Yükleme yönergeleri,
DetaylıPROGRAMLAMA DERSİ 1. İNTERNET
PROGRAMLAMA DERSİ 1. İNTERNET İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak bu sistem genelde isteği yapan bir bilgisayar (kullanıcı-client) ve bu isteği karşılayan özel bir bilgisayar
DetaylıLOGO İş Zekası çözümü ile kurumsal raporlama ve analizler. Cem Yılmaz Genel Müdür LOGOBI Yazılım
LOGO İş Zekası çözümü ile kurumsal raporlama ve analizler Cem Yılmaz Genel Müdür LOGOBI Yazılım Hakkımızda LOGOBI Yazılım A.Ş. iş zekası alanında faaliyet gösteren, Türkiye de sahip olduğu yüzlerce müşterinin
DetaylıKurumsal Yönetim Sistemleri Sistemleri
Yazılım Danışmanlık Ltd. Şti. Kurumsal Yönetim Sistemleri Sistemleri Yönetim Kurumsal Yönetim Sistemleri Kurumsal Yönetim Sistemleri Kurumsal Akosis, sektörel olarak farklılık gösteren dinamikler ve iş
DetaylıProgramlama Dilleri II. Bilgisayar ve Öğretim Teknolojileri Öğretmenliği
Programlama Dilleri II Bilgisayar ve Öğretim Teknolojileri Öğretmenliği Ders Hakkında.NET, Ye n i Je n era syo n Inter n et in geliştirilmesi için gerekli ürün ve teknoloji platformudur. Bugün sayısal
DetaylıUZAKTAN EĞİTİM MERKEZİ
ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını
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 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ı