COCOON 2 ye GİRİŞ. İçindekiler. Ali GAZİOĞLU
|
|
- Berker Gökdemir
- 8 yıl önce
- İzleme sayısı:
Transkript
1 COCOON 2 ye GİRİŞ Ali GAZİOĞLU İçindekiler 1. Giriş Cocoon Nedir? Cocoon 1 ve Cocoon 2 2. Cocoon u Kurmak ve Ayarlamak Tomcat i kurmak Cocoon hızlı kurma işlemi 3. Cocoon 2 Mimarisi Giriş Pipeline modeli Pipeline Bileşenleri Girdiler: Üreticiler ve Okuyucular İşleme: Dönüştürücüler ve Eylemler(Actions) Çıktılar: Serileştiriciler Koşullu İşlemler: Eşleyiciler ve Seçiciler Pipeline ı Çalıştırmak 4. Sitemap in Temelleri Sitemap in Görevleri Sitemap in Yapısı Sitemap Bileşenlerinin Tanımlanması Genişleyebilirlik 5. Sitemap: Pipeline ları tanımlamak Sitemap Ayarları Bileşen Tanımlamaları Durağan Bir Belgenin Sunulması Wildcard ların Kullanımı Dönüşüm Yapma İşlemi Diğer Çıktı Biçimlerinin Oluşturulması Parametrelerin Aktarımı KAYNAKLAR
2 Bölüm 1 Giriş Cocoon Nedir? Cocoon; XSLT (XML Stylesheet Language-Transformation) dönüşümlerini kullanarak XML içeriğinin dinamik 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 XSLT yi kullanarak ; içerik,mantık ve sunum arasında güçlü bir ayırım yeteneğine sahip 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, fazla bir geliştirim süresi harcanmadan karmaşık işlemlerin yapılmasını sağlar. Örneğin yalnızca XML ve XSLT kullanılarak Cocoon Dinamik 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 dinamik olarak XSLT dönüşümlerine geçirilmesini sağlar. XML, HTML, PNG, JPEG, SVG,ve PDF gibi pek çok türde çıktı oluşturulabilir. Cocoon sayesinde olabilecek en az karmaşıklıkla dinamik web siteleri yaratmak mümkündür. Cocoon 1 ve Cocoon 2 Cocoon, Apache XML çalışmasının bir parçası olarak geliştirilen serbest kaynak kodlu bir projedir. Cocoon 2 orijinal cocoon projesinin güncellenerek yeniden yazılmış halidir ve kullanılması tavsiye edilen sürümüdür. Mevcut Cocoon 1 kullanıcıları cocoon 2 ye geçmeli ve yeni kullanıcılar doğrudan Cocoon 2 ile başlamalıdır. Cocoon 2 nin geliştirim amacı Cocoon 1 in geliştirimi sırasında alınan dersleri kullanarak daha verimli ve ölçeklenebilir bir platform geliştirmektir. Cocoon 1 XML verilerinin parçalar arasındaki iletişimini sağlamak için Belge Nesne Modeli(Document Object Model - DOM -) API sine dayanır. DOM,veri aktarımı için etkisiz bir yoldur çünkü tipik bir DOM ağacı orijinal XML belgelerinden birkaç kat daha fazla bellek tüketebilir. Bu durum Cocoon un ölçeklenebililirliğini kısıtlıyordu. Cocoon 2, XML verilerini işlemenin daha verimli bir yolu olan SAX 2 üzerine kurulmuştur.
3 Cocoon un bu iki sürümü arasındaki bir diğer önemli farklılık uygulama yönetimidir. Cocoon 1 de; XML belgeleri, Cocoon işleme komutlarıyla nasıl işleneceklerine göre tanımlanırlar. Bu durum belgelerin Cocoon 1 e özel bir şekilde düzenlenmelerine yol açarak içeriğin farklı şekillerde yeniden kullanılma esnekliğini kısıtlar. Cocoon 2, işlem yönetimini sitemap olarak bilinen bir ayar kütüğüne kaydeder. Bu durum, işlem mantığının içerikten ayrılmasını sağlar. Böylece içerik,mantık ve sunum birbirinden ayrılmış olur. Cocoon 2, orjinal Cocoon uygulamasından daha ölçeklenebilir ve esnek bir platform olduğu için bu belgenin konusudur. Bölüm 2 Cocoon u Kurmak ve Ayarlamak Tomcat i kurmak Bu bölüm, Jakarta Tomcat servlet motorunun nasıl kurulacağının anlatan talimatlarla başlamaktadır. Bölümün geri kalan kısmı, Cocoon 2 nin nasıl indirilip, kurulup, ayarlanacağını anlatır. Cocoon un doğrudan kaynak kodunu derleyerek veya hazır bir kurulumunu kullanarak nasıl kurulacağını açıklar. Jakarta Tomcat in son sürümüne bağlantısından erişilebilir. Jakarta Tomcat in hazır kurulumunu indirdikten sonra yapılması gereken tek şey sıkıştırılmış kütüğü bir dizine açmaktır. Bu dizine işaret eden bir değişken (CATALINA_HOME) oluşturulur. Örneğin : CATALINA_HOME=/usr/local/jarkarta-tomcat Tomcat, $CATALINA_HOME/bin dizinindeki script leri kullanarak başlatılabilir ve kapatılabilir. Tomcat başlangıçta port 8080 i kullanacak şekilde ayarlanmıştır. Bu port un kullanımının bir çakışmaya yol açması durumunda; $CATALINA_HOME/conf/server.xml belgesindeki 8080 değeri uygun bir değerle değiştirilebilir. Tomcat, $CATALINA_HOME/bin/startup.sh scriptini kullanarak başlatıldığında, kurma işleminin sonucu sayfasına girilerek test edilebilir. Eğer kurma işlemi başarıyla sonuçlanmışsa bir açılış sayfası gözükür.
4 Cocoon hızlı kurma işlemi Cocoon 2, bağlantısından hazır olarak da elde edilebilir. Kütüğü indirip uygun bir dizine açtıktan sonra, cocoon.war kütüğünü bulmak gerekir. Bu kütük servlet motoru içine yerleşebilen Cocoon Web uygulama arşividir. Cocoon u, Tomcat içine yerleştirmek basittir. Eğer Tomcat çalışıyorsa, öncelikle $CATALINA_HOME/bin/shutdown.sh scripti kullanılarak kapatılmalıdır. Daha sonra, cocoon.war kütüğü, $CATALINA_HOME/webapps dizinine kopyalanmalı ve daha sonra Tomcat başlatılmalıdır. Tomcat Web arşivini otomatik olarak $CATALINA_HOME/webapps/cocoon yoluna açar. Kurma işlemi bağlantısına bağlanarak sınanabilir. Sunucu ayar kütüklerini derlerken bir duraklama olacaktır.
5 Bölüm 3 Cocoon 2 Mimarisi Giriş Bu bölümde Cocoon 2 mimarisinin temel ilkeleri üzerinde durulacaktır. İlk olarak, bir XML belgesini işlemek birkaç bağımsız adıma bölünebilir. Bu adımların birleşimiyle bir pipeline oluşur. Bu pipeline; girdi, işlem ve çıktı oluşturma adımlarını içerir. Cocoon 2 bu adımlar arasındaki bağlantıyı SAX olaylarını(sax events) kullanarak sağlar. Pipeline daki her bir aşama farklı bileşenler kullanılarak modellenebilir. Mesela girdi üretmek için bir üretici (generator) ve çıktı üretmek için de bir dizileştirici (serializer) kullanılabilir. Cocoon birden fazla bileşen, ve her bir bileşen için birçok gerçekleştirim yolu sunar. Kullanıcı istemlerine yanıt vermek için doğru pipeline ı saptamak (girdilere göre) ve o pipeline ın istemciye sonuç üretmek için komutlarla yönlendirmek gereklidir. Pipeline modeli Cocoon 2 mimarisini gözden geçirdiğimizde, bu mimarinin öne çıkan özelliği pipeline dır. Bir pipeline bir girdi verisi ve bu veriyi işleyen bir işlem dizisinden oluşur. Her bir işlem adımı bir öncekinin çıktısını girdi olarak kabul eder ve bu işlem son çıktı üretilene kadar devam eder. Karmaşık bir işlemi, daha küçük alt adımlara bölmek basit bir işlemdir. Bu işlem find, grep, sort gibi basit işlemleri bir araya getirerek görevler yaratan UNIX kullanıcılarına tanıdık gelecektir. Bu da bize pipeline ın başka bir olası faydasını örnekler. Çünkü her işlem adımı düzenli bir şekilde tanımlanmış davranışlar ve sabit girdi-çıktılar içerir. Böylece genel amaçlı ve yeniden kullanılabilir pipeline bileşenleri elde edilebilir. Bu yeniden kullanılabilirlik az kod yazarak uygulama geliştirilmesine olanak sağlamaktadır.
6 Pipeline Bileşenleri Cocoon birbirilerine verimli şekillerde bağlanabilen genel pipeline bileşenleri içerir. Bu bileşenler pipeline da oynadıkları rollere göre çok farklı şekillerde gruplanabilirler. Pipeline girdileri -Üreticiler (generators) ve okuyucular (readers) İşlem adımları -Dönüştürücüler (transformers) ve eylemler (actions) Pipeline çıktıları -Serileştiriciler(serializers) Koşullu işlemler -Eşleyiciler (matchers) ve seçiciler (selectors) Bir Cocoon pipeline, genellikle en az bir üretici ve bir serileştiriciden oluşur, fakat birden fazla işlem adımından da oluşabilir. Veri, Cocoon pipeline ından bir SAX olayı olarak geçirilir. Girdiler: Üreticiler ve Okuyucular Üreticiler, veri kaynağını okumakla (örneğin bir kütük) ve o veriyi bir SAX olayları dizisi olarak pipeline a geçirmekle sorumludurlar. En basit üretici SAX parser dır. SAX olaylarının serisi olarak gösterilebilen herhangi bir veri kaynağı bir üreticinin temelini oluşturabilir. Cocoon içinde birkaç tane kullanılabilir üretici vardır. Bunların arasında en faydalıları: Kütük üreticileri(filegenerator): XML kütüklerini kütük sistemlerinden veya Web den okurlar. HTML üreticileri: HTML kütüklerini kütük sistemlerinden veya Web den okurlar. Dizin üreticisi : Dizin listesini oluşturmak için kütük sistemlerini okur. Okuyucular Cocoon pipeline modelinde özel bir durum teşkil eder. Çünkü okuyucular XML den bağımsızdır. Okuyucuların tek yaptığı, harici bir kaynağa erişip veriyi doğrudan yanıt olarak kopyalamaktır. Bunlar genellikle resim veya CSS stylesheets gibi durağan kütükleri sunmak için kullanılır. Okuyucular kendi içlerinde birer pipeline gibi görülebilirler; girdi verisini oluşturup,bunu sonuç olarak serileştirirler. İşleme: Dönüştürücüler ve Eylemler(Actions) Dönüştürücüler, Cocoon pipeline içerisinde temel işlem adımlarını oluşturur. SAX olaylarını girdi olarak kabul eder, bu girdi üzerinde işlemler yapar ve sonuçları SAX olayları olarak pipeline a geçirir.bir dönüştürücü, SAX olaylarını işleyip değiştiren bir bileşen olarak da tanımlanabilir. Bu bakış açısıyla, dönüştürücülerin SAX filtrelerine benzer işlemler yaptığını söyleyebiliriz.
7 En çok kullanılan dönüştürücü XSLT dönüştürücüsüdür. Kendi girdisini XSLT dönüşümlerini yapan XSLT işleyicilerine verir. Dönüşümün sonuçları da SAX olayları olarak pipeline a girer. Eylemler, pipeline ların daha dinamik yapılara kavuşmasını sağlar ve genellikle uygulamaya özel hazırlanırlar. Yine de Cocoon bazı genel eylemleri içinde barındırır. Mesela veri tabanı etkileşimlerini sağlamak, mail yollamak gibi. Bir eylemin başarıyla tamamlanması işlemin ilerleyen adımları da etkiler. Çıktılar: Serileştiriciler Serileştiriciler, Cocoon pipeline nın son aşamasıdır. Serileştiriciler bir üretici tarafından üretilmiş veya bir önceki işlem adımından (örneğin bir dönüştürücü) çıktı olarak üretilmiş bir SAX olayları dizisini alıp uygun bir biçime sokmakla görevlidirler. Bu uygun biçim kullanılan serileştiriciye bağlıdır. En basit serileştirici, SAX olaylarını XML kütüklerine dönüştüren XML serileştiricisidir. Diğer serileştiriciler HTML, düz metin, PDF kütükleri ve hatta resimler üretebilirler. Bütün bu serileştiriciler; SAX olayı akışının, özel bir XML sözdizimine uygun hale getirildiğini varsayarlar : HTML serileştiricisi: XHTML yi geçerli HTML ye dönüştürür. SVG serileştiricisi: SVG kütüklerini JPEG yada PNG formatına dönüştürür. PDF serileştiricisi: XSL-FO yu PDF kütüklerine dönüştürür. XML bileşenlerini alma, işleme ve çeşitli biçimlerde sunma Cocoon un esas özelliğidir.
8 Koşullu İşlemler: Eşleyiciler ve Seçiciler Bir pipeline genellikle bazı koşullu kesimler içerir. Örneğin işlem adımlarını tam olarak oluşturmak; istem parametreleri ve kullanıcının kullandığı browser gibi koşullara bağlıdır. Eşleyiciler, bu iki koşullu bileşenin basit olanıdır ve programa dillerinden tanıdık olduğumuz if ifadesine karşılık gelirler. Koşulların kontrol edilmesiyle bir pipeline seçilir yada pipeline nın bir bölümü işleme alınır. Diğer koşullu bileşen ise if-then-else ifadesine karşılık gelen seçicilerdir. Seçiciler, birden fazla seçenekten biri uygunsa kullanılır. Eşleyiciler bir pipeline a girilip girilmeyeceğini anlamakta kullanılırken, seçiciler genellikle bir pipeline içerisinde koşullu kesimler oluşturmakta kullanılır. Bu bileşenlerin her birinin değişik uygulamaları vardır. Hepsi, istemleri(usr-agent, hostname, parametreler veya URL gibi) ya da kullanıcının oturumunu sınamak için ortak bir örüntüyü kullanır. Seçiciler, bütün olabilecek koşulları sınar ; eşleme işlemi ise wildcard veya sıradan ifadeler kullanarak yapılabilir. Pipeline ı Çalıştırmak Cocoon pipeline larını oluşturmakta kullanılan bileşenleri gördük.istemlerin alınması ve sonuçların sunulması işlemini oluşturan mantıksal çevrim şu şekilde özetlenebilir: 1. Kullanıcıdan istemi al. 2. Bu istemi yorumlamak ve yanıt oluşturmak için kullanılacak doğru pipeline ı belirle.(eşleyici kullanarak) 3. Uygun,önceden tanımlanmış bileşenleri kullanarak pipeline oluştur. 4. İstemi karşılaması için pipeline a komut ver. 5. Pipeline tarafından oluşturulan yanıtı kullanıcıya döndür. (Sonuçlar muhtemelen sonraki kullanımlar için önbelleğe alınır.) Bu, Cocoon un XML verilerini Web de yayınlamak için kullandığı temel istem-yanıt çevrimidir. Bu çevrimi yönetmek için Cocoon, sitemap denilen bir XML ayar kütüğü sağlar. Bu bölümde, Cocoon pipeline larını oluşturmak için sıkça kullanılan bileşenlerin yalnızca bir kısmı gözden geçirildi. Yeniden kullanılabilir bu bileşenler, pipeline modelinin bir avantajıdır ve bu bileşenlerin kullanılması gelişmiş işlem mantığının hiç yada çok az programlamayla oluşturulmasına sağlar (XSLT style sheet lerin oluşturulması hariç).
9 Bölüm 4 Sitemap in Temelleri Sitemap in Görevleri Sitemap, Cocoon Web sitesinin yönetildiği merkezdir. İki görevi yerine getirir. SiteMap: Bileşenlerin pipeline içinde kullanılmadan önce tanımlandığı yerdir. Pipeline ların bileşenleri kullanarak tanımlandığı yerdir. Bu bölüm, bu görevlerin birincisi üzerinde durur ve sitemap in temel yapısını anlatır. Sitemap in Yapısı Sitemap, bir ayar kütüğüdür ve doğası gereği iyi tanımlanmış bir yapıya sahiptir. Varsayılan Cocoon sitemap i (sitemap.xmap), Cocoon Web uygulama dizininden bulunabilir: $CATALINA_HOME/webapps/cocoon/sitemap.xmap Sitemap, aşağıda yazılı olan XML parçasında verilen ana şekle göre yapılandırılır. Özel bir sitemap namespace olduğuna dikkat çekmek gerekir. sitemap unsurlarını belirlemede kullanılır. Sitemap, belirtilen bu iki görevini belirten iki ileri düzey bölüme ayrılmıştır; map:components ve map:pipelines. <map:sitemap xmlns:map=" <map:components> <! bileşen tanımları --> <map:generators/> <map:readers/> <map:transformers/> <map:actions/> <map:serializers/> <map:actions/> <map:matchers/> <map:selectors/> </map:components> <map:pipelines> <!-- pipeline tanımları --> </map:pipelines> </map:sitemap> Her türdeki bileşen için yapılan tanımlamalar belirli ana başlıklarla gruplandırılırlar. Örneğin, bütün üreticilerin tanımlamaları map:generators başlığı altında bulunabilir.
10 Sitemap Bileşenlerinin Tanımlanması Bileşenler, sitemap te aşağıdaki örnekte belirtilen genel bir sözdizimiyle tanımlanır. Component-type, bileşenin türüdür. Örneğin; üretici elemanı üretici tanımlarını içerir. Her bileşenin biricik bir nitelik olarak bir adı olmalıdır. Bileşen isimleri sitemap te bileşenlere erişmek için kullanılır. Her bileşen kendi gerçekleştirimini bilmelidir. Aynı gerçekleştirime sahip fakat farklı isimlerle tanımlanmış birden fazla bileşen içerilmesi mümkündür. Varsayılan bir bileşen sistem tarafından tanınabilir. Bu durum bileşene isim verilmediği zaman işimize yarar. Bileşenler, parametre geçirebilirler. Bu nedenle aynı bileşeni farklı parametrelerle kullanmak mümkündür. Parametreler bileşenleri birbirinden ayırt etmekte kullanılabilir. <map:component-types default="bileşen_adı"> <map:component-type name="bileşen_adı" src="implementation"> <! bileşen türü parametreler --> </map:component-type> </map:component-types> Bileşen tanımlarının özel örnekleri için, default sitemap in 1.bölümünü okuyunuz. $CATALINA_HOME/webapps/cocoon/sitemap.xmap Genişleyebilirlik Cocoon, sitemap teki tanımlamalarla belirtilen bileşenleri Java nın dinamik sınıf yükleme yeteneğini kullanarak yükler. Her bileşen dinamik olarak yüklenebilmek ve pipeline a yerleştirilmek için, kendi türüne göre değişen bir Java arayüzünü(interface) implement etmelidir. Örneğin, bütün üreticiler aşağıdaki interface i implement etmek zorundadır. org.apache.cocoon.generation.generator Bileşen türlerini tanımlamak için ara yüzlerin esas alınması, Cocoon un yeteneklerinin, bu ara yüzlerin yeni gerçekleştirimlerini yazarak ve sitemap e uygun tanımlamalar ekleyerek kolayca genişletilebilmesini sağlar.
11 Şu basit senaryoyu göz önüne alalım: Hem orijinal haliyle hem de HTML şeklinde sunulabilmesi gereken CSV (comma seperated values virgülle ayrılmış veri) türünde büyük miktarda verimiz var. Bir yaklaşım, CSV verisini okuyan ve onu XML haline dönüştüren bir uygulama yazmak olacaktır. Bu yaklaşım bize, hem esas veriyi ham haliyle, hem de XML olarak saklama gibi fazladan bir yük yükler. Bunun yanı sıra yeni veri geldikçe onu XML haline dönüştürme işlemi de sistemin taşıması gereken fazladan bir yüktür. Cocoon ile bu soruna daha verimli bir çözüm üretilebilir. CSV verilerini doğrudan SAX olayları haline getiren bir dönüştürücü yazmak mantıklı bir çözüm olacaktır. (com.mycompany.csvgenerator) Bu sınıf sitemap in içinde tanımlanarak, aşağıda gösterildiği gibi Cocoon a entegre edilebilir. <map:generator name="csv" src="com.mycompany.csvgenerator"/> Bu bileşen, artık pek çok türe dönüştürülebildiği, kullanabildiği ve serileştirilebildiği CSV verilerini Cocoon pipeline larına girdi olarak vermekte kullanılabilir. Yine de esas CSV kütüğü READER bileşeni kullanılarak okunabilir. Çünkü sadece bir tane kaynak veri kütüğü var ve bütün dinamik dönüşümler Cocoon tarafından sağlanıyor. Gereksiz veri yönetimi yükünden kurtulmuş oluyoruz. Bu örnek pek çok farklı belge biçimi için genişletilebilir ve içerik yönetim sistemlerinden belgeleri okumak için kullanılabilir. Bu da Cocoon un genişleyebilirlik yeteneğini ortaya koyar.
12 5. Bölüm Sitemap: Pipeline ları tanımlamak Sitemap Ayarları Bu bölümde, önceki bölümlerde tanıtılan bileşenlerin verimli bir şekilde kullanılmak amacıyla nasıl bir araya getirilebileceklerini gösteren birkaç örnek içermektedir. Bu bölümde özel dönüşümler ve XML türlerinin detaylarından ziyade Cocoon sitemap ayarları üzerinde durulacaktır. Örnekler, aşağıdaki dizin yapısının $CATALINA_HOME/webapps/cocoon ( bu noktadan itibaren bu yol $COCOON_HOME olarak kabul edilecektir) dizini altında oluşturulduğunu varsaymaktadırlar. /static Durağan HTML belgesi /content XML içeriği /styles CSS style sheets /transforms XSLT style sheets İpucu: Cocoon ile çalışırken, $CATALINA_HOME/webapps/cocoon-dev altında bir dizin oluşturun. Daha sonra gerekli bütün Cocoon sınıflarını kapsayan $COCOON_HOME/cocoon.xconf ve $COCOON_HOME/WEB-INF dizilerini bu dizin altına kopyalayın. Böylece temiz bir çalışma ortamı oluşturmuş oluruz. Bu şekilde, bağlantısından erişilebilecek ayrı bir Cocoon Web uygulaması oluşturulur. Son olarak, bu dizin içinde yeni bir sitemap.xmap oluşturun. Böylece çalışmalar, orijinal örnek ve belgeleri bozmadan yapılabilir.
13 Bileşen Tanımlamaları Aşağıdaki ayar örnekleri, tanımlamalarının sitemap içinde yapıldığı varsayılarak verilmiştir : <map:generators default="file"> <map:generator name="file" src="org.apache.cocoon.generation.filegenerator"/> </map:generators> <map:transformers default="xslt"> <map:transformer name="xslt" src="org.apache.cocoon.transformation.traxtransformer"/> </map:transformers> <map:readers default="resource"> <map:reader name="resource" src="org.apache.cocoon.reading.resourcereader"/> </map:readers> <map:serializers default="html"> <map:serializer name="xml" mime-type="text/xml" src="org.apache.cocoon.serialization.xmlserializer"/> <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.htmlserializer"/> <map:serializer name="svg2png" src="org.apache.cocoon.serialization.svgserializer" mime- <map:serializer name="fo2pdf" src="org.apache.cocoon.serialization.fopserializer" mimetype="</map:serializers> <map:matchers default="wildcard"> <map:matcher name="wildcard" src="org.apache.cocoon.matching.wildcardurimatcher"/> </map:matchers>
14 Durağan Bir Belgenin Sunulması Cocoon kullanarak durağan bir belgenin sunumunu yapmak başlangıç için iyi bir örnektir. Aşağıdaki pipeline tanımlaması, bunun bir okuyucu kullanarak nasıl yapıldığını gösterir. Açıkçası,mevcut Web sunucusunun durağan kütükleri ele almasını sağlamak tercih edilen yöntemdir, fakat bu konu bize pipeline larla çalışma konusunda basit bir örnek sağlayabilir. <map:pipelines> <map:pipeline> <map:match pattern="index.html"> <map:read src="static/index.html" mime-type="text/html"/> </map:match> </map:pipeline> <map:pipelines> İlk olarak, tüm pipeline tanımlarının map:pipelines elemanının bir çocuğu olan map:pipeline kullanılarak yapıldığını görmek gerekir. Eşleyici bileşen, bir eşleme örüntüsü kullanarak pipeline ile istemi eşeleştirmekte kullanılır. Bu örnekte, "index.html" ( belgesi için yapılacak bir istem pipeline ı tetikleyecektir. Daha sonra, pipeline tetiklendiğinde yapılması gereken işlem tanımlanır. Burada okuyucu(reader) bileşenine, $COCOON_HOME/static/index.html kütüğünü mimetype text/html ile kullanıcıya göndermesi için komut verilir. Kütüğün yeri, onu istemek için kullanılan URL yolundan tamamen bağımsızdır. Bir kütüğü bir pipeline ile bu şekilde ilişkilendirmek çok zahmetli bir işlem olacaktır. Fakat eşleyici bileşen bu işlemlerden kurtarır.
15 Wildcard ların Kullanımı Başlangıçtaki örnek, istenmiş URL parçalarını eşleştirmek için wildcard ların kullanımını göstermek amacıyla genişletilebilir. Pipeline, HTML belgeleri gibi CSS stylesheets e de erişimi sağlamak için bir parça genişletilmiştir. Bu işlemi yapmak için, mevcut pipeline a fazladan bir eşleyici eklemek gerekir. Bu durum yeni bir pipeline tanımlamakla aynı maliyete sahiptir. Çünkü Cocoon tüm örüntüleri sınayacaktır. <map:pipeline> <map:match pattern="*.css"> <map:read src="styles/{1}.css" mime-type="text/css"/> </map:match> <map:match pattern="**.html"> <map:read src="static/{1}.html" mime-type="text/html"/> </map:match> </map:pipeline> Wildcard eşleyicisi iki çeşit wildcard ın kullanımına izin verir. Başlangıçta bir asterisk forward slash(/) dışındaki bütün karakterleri eşler. Çift asteriks ise forward slash dahil tüm karakterleri eşler. Bu örüntülerle eşleştirilmiş metin diğer sitemap bileşenleriyle uyumludur ve kullanılan wildcard sayısına göre {1}, {2}, {3} şeklinde erişilebilir durumdadır. Yukarıdaki örnekte, bağlantısına yapılacak bir istem, CSS örüntüsünü eşleyecek ve "mysite" ın değeri {1} olarak atanacaktır. Daha sonra okuyucu(reader) $COCOON_HOME/styles/mysite.css i doğru mime-type ile kullanıcıya gönderecektir. bağlantısına yapılacak bir istem tek bir asterisk belirttiği için örüntüyle eşleşmez. Geliştirilmiş HTML eşleme örüntüsü, wildcard gibi çift asterisk kullanır. Böylece bağlantısına yapılan bir istem başarıyla eşleştirilmiş olacaktır ve help/help değeri {1} olarak atanacaktır. Daha sonra okuyucu, $COCOON_HOME/static/help/help.html i kullanıcıya geri gönderecektir. Cocoon, eşleştirme örüntülerini sitemap te tanımlanmış olan sıra ile çalıştırır. Cocoon, başarıyla eşleştirilen ilk örüntüye göre istemi işler. Yani, sitemap teki sıra anlamlı bir sıradır ve ilk önce ele alınması gereken eşleşmeler; en anlamlı eşleşmeler, yani türe özel eşleşmeler olmalıdır. Örneğin, index.html için, bir eşleştirme örüntüsü *.html den önce tanımlanmalıdır.aksi takdirde eşelşme sağlanamaz.
16 Dönüşüm Yapma İşlemi Bir dönüşüm için en az üç bileşen gereklidir: XML belgelerini okumak için bir üretici, dönüşümü sağlamak için bir dönüştürücü ve sonuçları oluşturmak için bir serileştirici. Aşağıda, dönüşümü sağlamak için nasıl birleştirildikleri gösterilmektedir. İlk olarak pipeline ı ve onu tetiklemekte kullanılan örüntüyü tanımlanmalıdır. <map:pipe> <map:match pattern="content/*.html"> Sonra XML belgelerini içerik dizininden okumak için, bir üretici eklenmelidir. <map:generate src="content/{1}.xml"/> Daha sonra XML belgelerini belirtilen bir style sheet i kullanarak dönüştürecek bir dönüştürücü eklenmelidir. <map:transform src="transforms/content2html.xsl"/> Son olarak, dönüşümün sonuçlarını HTML belgesine çevirmek için bir serileştirici kullanılmalıdır <map:serialize type="html"/> </map:match> </map:pipe> //localhost:8080/content/document.html URL sine istem yapmak pipeline ı tetikleyecek ve Cocoon un ilk önce document.xml i oluşturmasını sağlayacaktır. Daha sonra Cocoon, sonuçları browser a döndürmeden önce $COCOON_HOME/transforms/content2html.xsl yi kullanarak dönüştürür. Pipeline a daha fazla dönüştürücüler eklenerek daha karmaşık dönüşümler gerçekleştirilebilir. Burada wildcard kullanımı bizi, eşleştirme işleminin sonuçlarını kullanarak pipeline ın girdilerini tanımlama işinden kurtarır.
17 Diğer Çıktı Biçimlerinin Oluşturulması XML içeriğinden HTML nin nasıl oluşturulduğunu gördük. Fakat burada önemli bir konu da diğer belge biçimlerini nasıl ele alabileceğimizdir. Cocoon bu durumu serileştiricileri kullanarak ele alır. Dönüşüm sonucu olarak HTML değil de XML elde etmek için XML serileştiricisi kullanılmalıdır. Eğer içeriği gruplamak için bir RSS kütüğü oluşturacak bir dönüşüm yapabiliyorsak, pipeline aşağıdaki kesimi içererek yazılabilir: <map:transform src="transforms/content2rss.xsl"/> <map:serialize type="xml"/> Burada serileştirici bileşeninin type niteliği kullanılarak, özel bir serileştirici seçilmiştir. Ve bu serileştiricinin Value niteliği daha önceki sayfalarda yapılan bileşen tanımlamalarındaki serileştiricilerden biri ile aynıdır. SVG (Scalable Vector Graphics) doğru diyagramlarını tanımlamak için kullanılan bir XML türüdür. Normalde, SVG belgelerini görmek için bir browser plugin gereklidir. Fakat Cocoon, bir SVG belgesinden JPEG veya PNG resmi oluşturabilen bir serileştiriciye sahiptir. Bu serileştirici aşağıdaki gibi çalıştırılabilir : <map:transform src="transforms/content2svg.xsl"/> <map:serialize type="svg2png"/> Cocoon, XSL-FO belgelerinden PDF kütüklerinin oluşturulmasını da destekler. Bunun için Style sheet in belirlenmiş serileştiriciye girdi olarak doğru belge biçimini vermesi yeterlidir: <map:transform src="transforms/content2fo.xsl"/> <map:serialize type="fo2pdf"/> Parametrelerin Aktarımı Parametreleri XSLT dönüşümlerine aktarmak genellikle faydalı bir yöntemdir. Cocoon sitemap in içinden parametre geçirmeyi destekler. Bunu yapmanın bir yolu map:parameter elemanını kullanmaktır. Buna bir örnek: <map:transform src="transforms/content2html.xsl"> <map:parameter name="myfixedparam" value="fixed-value"/> <map:parameter name="mydynamicparam" value="{1}"/> </map:transform Parametrenin adı ve değeri map:parameter elemanının nitelikleri olarak belirlenmiştir. Bu yöntemle, sabit ve dinamik parametreleri style sheet lere aktarmak mümkündür. İkinci parametre elemanı değerini bir eşleştirme örüntüsündeki ilk wildcard ı kullanarak alacaktır. Style Sheet, xsl:param elemanını içerdiği sürece, parametre dönüşüme doğru olarak aktarılacaktır.
18 Parametreleri style sheet e aktarmanın alternatif bir yolu, URL istem parametrelerinin hepsinin aktarılmasına izin verir. Örneğin, Eğer için bir istem pipeline nın tetiklenmesine sebep olursa bu iki parametre (param1 ve param2) Style sheet e aktarılır. <map:transform src="transforms/content2html.xsl"> <map:parameter name="use-request-parameters" value="true"/> </map:transform Bu yöntem, bir isteme aktarılacak parametre sayısı değişkense işimize yarar. Fakat bu biraz performans kaybına neden olur. Çünkü, Cocoon bu tarz dönüştürme işlemlerinin sonuçlarını ön belleğe alma işleminde, sabit sayıda parametre ile yapılan dönüştürümlere göre daha verimsizdir. Eğer herhangi bir URL parametresi değiştirilirse (style sheet tarafından doğrudan kullanılmamış olsa bile) saklanmış sonuçlar kullanılmayacaktır. KAYNAKLAR: METİN YAZARI: Leigh Dodds ÇEVİREN: Ali GAZİOĞLU
Ü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ıÖğ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ıÜ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ı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ı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ı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ı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ı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ıSeçenekler Menüsünden Genel Sekmesi
Seçenekler Menüsünden Genel Sekmesi Word 2003 açtıktan sonra ARAÇLAR>SEÇENEKLER tıklanır. Karşımıza bu tür ekran çıkar. İlk komut Arka planda yeniden sayfalandır ; Siz çalışırken belgeleri otomatik olarak
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ıGoogle Scripts. Neticaret Sistemine Google Analytics ve AdWords sistemleriyle ilgili 3 yeni parametre eklenmiştir.
Google Scripts Neticaret Sistemine Google Analytics ve AdWords sistemleriyle ilgili 3 yeni parametre eklenmiştir. Yeni eklenen paremetrelere Neticaret Sistemi Yönetimi Paneli > Tanımlar bölümü altında
Detaylıİnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler
PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu
DetaylıWebInstaller. 1. Kurulum Đçin Gereksinimler
WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe
DetaylıMicrosoft Office Access Ders İçeriği 25 Saat. Access Temel 10 saat
Microsoft Office Access Ders İçeriği 25 Saat Access Temel 10 saat 1) Bölüm 1 : Office Çalışma Alanı Temelleri a) Temel Pencere Bileşenleri b) Backstage Görünümünü Tanıma c) Şerit İle Çalışma d) Hızlı Erişim
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ıÜst Düzey Programlama
Üst Düzey Programlama XML 1 XML XML (Extensible Markup Language) verileri belirli yapıda tutmak için kullanılan bir işaretleme dilidir. Bu yapı bilindiği için verinin istenildiğinde kullanılmasını, değiştirilmesini
DetaylıICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI
ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI İÇİNDEKİLER 1. GİRİŞ 1.1. KAPSAM 1.2. SİSTEM ÖZETİ 1.3. DOKÜMAN ÖZETİ 2. ÇALIŞMA KONSEPTİ 2.1. Yeni Kullanıcı Oluşturmak 2.2. Şirket Bilgilerini
Detaylı1.1 Web Kavramlar. 1.1.1.3 URL terimini tanımlayınız ve anlayınız.
1.1 Web Kavramlar 117 Anahtar 7erim/er 1.1.1.1 Web ve Internet terimlerini tanımlayınız. Her birinin anahtar özelliklerini tanımlayınız. Web bir Internet hizmetidir. Web Internet üzerinde bağlantılı html
DetaylıFatura Dosyalarını Yükleme ile ilgili Detaylar. 14 Temmuz 2014
14 Temmuz 2014 İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL İlgili Modül/ler : E-Fatura Gelen e-fatura Dosyalarının Transferi Firmalara tedarikçilerinden veya hizmet aldıkları firmalardan gelen e-faturalar,
DetaylıİNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri
İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri VERİTABANI BAĞLANTISI Site içindeki bilgilerin saklanması / düzenlenmesi ve kullanıcı etkileşiminin sağlanabilmesi
Detaylı2. Belgeye Metin Ekleme
METİN İŞLEMLERİ Flashta 2 çeşit metin vardır:1)tlf metni 2)Klasik metin 1)TLF Metni : CS5 ile başlayan metin türü. TLF metni FLA dosyanızın yayınlama ayarlarında ActionScript 3.0 ve Flash Player 10 veya
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ıÜ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ıCoslat Monitor (Raporcu)
Coslat Monitor (Raporcu) Coslat Monitor, Coslat Firewall, Hotspot ve Mirror uygulamalarında oluşturulan zaman damgalı kayıtların analiz edilmesini ve raporlanmasını sağlayan uygulamadır. Coslat Monitor
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
Detaylı2. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr
2. 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 2. ASP'nin Dili... 3 2.1 YAZILIM
DetaylıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,
DetaylıHTML içerik oluşturmak için düşünülen bir işaret dilidir. Örnek
STİLLER CSS NEDİR? CSS (Cascading Style Sheet) Stiller, HTML elemanlarının nasıl gösterileceğini tanımlar. Stiller HTML de karşılaşılan bazı problemleri çözmek için HTML 4.0 a eklenmiştir. HTML, web
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ı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ı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ıIdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu
IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu ISLE IdeaSoft E-Ticaret siteniz ile Logo Yazılımınız (GO 3, Tiger 3, Tiger 3 Enterprise) arasında veri aktarımını sağlayan bir yazılımdır.
Detaylı2-Hafta Temel İşlemler
2-Hafta Temel İşlemler * Html Komutlarının Yapısı * Açıklamalar * Htm Sayfasının Oluşturulması * Temel Html Komutları * Html Sayfalarının Düzenlenmesi * Html Sayfalarının İncelenmesi Html Komutlarının
DetaylıMODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan, gokhan@enderunix.org
MODSECURITY DENETİM KAYITLARINI ANLAMAK Gökhan Alkan, gokhan@enderunix.org 1 İÇİNDEKİLER MODSECURITY DENETİM KAYITLARINI ANLAMAK... 1 1. ModSecurity Nedir?... 3 2. ModSecurity Nasıl Çalışır?... 3 3. ModSecurity
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ıİNTERNET PROGRAMCILIĞI DERSİ
İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama
DetaylıMAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ
MAYIS 2010 ÖZGÜR DOĞAN İŞ GELİŞTİRME YÖNETİCİSİ KAMU SEKTÖRÜ TANIMLAR KURUMSAL HAFIZA: Bilgiyi gelecekte kullanmak amacıyla insanlarda ve/veya teknolojilerde gerektiğinde geri çağrılabilir şekilde depolamak
DetaylıVERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri
VERİ KAYNAKLARI YÖNETİMİ İ İ 5. ÜNİTE GİRİŞ Bilgi sisteminin öğelerinden biride veri yönetimidir. Geleneksel yada çağdaş, birinci yada ikinci elden derlenen veriler amaca uygun veri formlarında tutulur.
DetaylıMicrosoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access
Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon
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ı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ıBSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER
BSM 532 KABLOSUZ AĞLARIN MODELLEMESİ VE ANALİZİ OPNET MODELER Yazılımı ve Genel Özellikleri Doç.Dr. Cüneyt BAYILMIŞ Kablosuz Ağların Modellemesi ve Analizi 1 OPNET OPNET Modeler, iletişim sistemleri ve
DetaylıBilgisayar Programcılığı Ön Lisans Programı WEB EDİTÖRÜ. Öğr. Gör. Rıza ALTUNAY
CSS Ünite 7 Bilgisayar Programcılığı Ön Lisans Programı WEB EDİTÖRÜ Öğr. Gör. Rıza ALTUNAY 1 Ünite 7 CSS Öğr. Gör. Rıza ALTUNAY İçindekiler 7.1. CSS KULLANIM ALANLARI... 3 7.1.1. Yerel Kullanım Alanı...
DetaylıBimel Ürün Veritabanı Paylaşım Platformu. XML Servisleri
Bimel Ürün Veritabanı Paylaşım Platformu XML Servisleri www.bimel.com.tr 10 Ekim 2012 1 Belge Sürümleri Sürüm Tarih Yazar Değişiklik V1.0 14.04.2008 Burak USGURLU burak@bimel.com.tr İlk yayınlanma. V2.0
DetaylıExcel de Pivot Tablolar Tasarım ve Kullanımı
FARUK ÇUBUKÇU EXCEL AKADEMİ Excel de Pivot Tablolar Tasarım ve Kullanımı Pivot tablolar; satışlar, siparişler gibi verileri gruplamayı, alt toplamlarını almayı ve filtreleme işlemleri yapmayı sağlayan
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ıOutlook ta Mail Arama
Outlook ta Mail Arama Merhaba arkadaşlar, İş hayatında en sık kullanılan programların başında Outlook programı gelmektedir ve en sık yapılan işlemlerden biri de geçmişe dönük mailler arasında arama yapmaktır.
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ı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ıDeğişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while
Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
Detaylı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ıDESTEK DOKÜMANI. Web hizmetleri hesap ayarları bölümüne, mylogo.com.tr de tanımlanmış olan hesap kodu ve, ve portal adresi bilgileri kaydedilir.
MYLOGO DAN AKTARIMLAR ĐK 3.02.02, BK 1.02.00 ve Bordro 1.01.00 sürümleri ile birlikte, ĐK kanun parametrelerindeki veriler ve döviz kurları mylogo.com.tr ye üye olan kullanıcılar (üye olmak için https://www.mylogo.com.tr/index.asp
DetaylıHTML Bloklar. CSS Display özelliği
HTML Bloklar Tüm HTML etiketleri için varsayılan bir görünüm değeri vardır ve blok yada satıriçi olarak belirtilir. Blok tipindeki etiketler her zaman yeni bir satırda başlar ve tüm satır boyunca mümkün
Detaylı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ıSistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)
Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC) Sistem analistlerinin ve kullanıcı faaliyetlerinin spesifik döngüsünün kullanılmasıyla En iyi geliştirilmiş sistemin oluşmasını
DetaylıBütün XML dökümanlarının bir kök elemanı olmalıdır. Diğer bütün elemanlar kök elemanı tarafından kapsanır.
XML Genişletilebilir İşaretleme Dili (extensible Markup Language), hem insanlar hem bilgi işlem sistemleri tarafından kolayca okunabilecek dokümanlar oluşturmayı sağlamaktadır W3C tarafından tanımlanmış
DetaylıİNTERNET PROGRAMCILIĞI 2 10. HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.
İNTERNET PROGRAMCILIĞI 2 10. HAFTA İçindekiler MYSQL - PHPMYADMIN Mysql Nedir PhpMyAdmin Nedir PhpMyAdmin Arayüzü Hedefler Mysql' in görevini söyleyebilir PhpMyAdmin' in kullanım amacını söyler Hazırlayan
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
DetaylıEKLER EK 12UY0106-5/A4-1:
Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının
DetaylıMENÜ AYARLAMA 1. MENÜ AYARLAMA. [X] Fusion@6. [X] Fusion@6 Standard. [X] Entegre@6. [X] Yeni Fonksiyon
MENÜ AYARLAMA Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard [X] Entegre@6 Kategori Versiyon Önkoşulu [X] Yeni Fonksiyon @6 Uygulama Fusion@6 serisi ürünlerde ürün ana menüsü çeşitli temalarla görsel olarak
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ı8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr
8. 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ırma Merkezi 2 İçindekiler QUERYSTRING KOLEKSIYONU... 3 FORM
DetaylıÖnemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();
DetaylıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2
BTP 207 İNTERNET PROGRAMCILIĞI I Ders 2 HTML 2 Hyper Text Markup Language = Yüksek/İleri Metin İşaretleme Dili Web sayfaları oluşturmak için kullanılan içerik biçimlendirme dilidir. Yüksek/ileri metin
DetaylıBasamaklı Stil Şablonları (CSS) BIM206 Web Programlama
Basamaklı Stil Şablonları (CSS) BIM206 Web Programlama Basamaklı Stil Şablonları (CSS) CSS, bir HTML elemanının nasıl görüneceğini belirleyen kurallar tanımlamamızı sağlayar. Örneğin: Sayfanın arka planının
DetaylıHızlı Başlangıç Kılavuzu
Hızlı Başlangıç Kılavuzu Microsoft Access 2013 önceki sürümlerden farklı görünmektedir, dolayısıyla öğrenme eğrisini en aza indirmenize yardımcı olmak üzere bu kılavuzu hazırladık. Ekran boyutunu değiştirme
DetaylıJasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 2. Bölüm 1- JasperReports Server ve Ireport Nedir?
JasperReports Server ve Ireport raporlama Sistemi Kurulumu / Kullanımı 1. Bölüm 1.1- JasperReports Server ve Ireport Nedir? 1.2- JasperReports Server ve Ireport Kurulumu 1.3- JasperReports Server Genel
Detaylı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ıDESTEK DOKÜMANI. Tablolu Malzeme Sınıfları
Tablolu Malzeme Sınıfları Malzeme Sınıfı; malzemelerin nitel ve nicel özelliklerine göre (renk,boy,beden,ebat,aksesuar,vb...) gruplanması ile oluşturulan yapılardır. Malzemelerin ortak özelliklerine göre
Detaylı5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall. Rekare Bilgi Teknolojileri
5651 ve 5070 Sayılı Kanun Tanımlar Yükümlülükler ve Sorumluluklar Logix v2.3 Firewall 5651 Sayılı Kanun Kanunun Tanımı : İnternet Ortamında Yapılan Yayınların Düzenlenmesi ve Bu Yayınlar Yoluyla İşlenen
DetaylıEDI MIGROS (Sipariş) LOGO ENTEGRASYONU
EDI MIGROS (Sipariş) LOGO ENTEGRASYONU İçindekiler Tablosu EDI AKTARIM UYGULAMASI... 2 1. EDI B2B Aktarımı... 2 2. Migros B2B Aktarım... 7 3. Metro E-İrsaliye Oluşturma... 9 1 EDI AKTARIM UYGULAMASI EDI
DetaylıELEKTRA LOGO AKTARIM PROGRAMI...3
İçindekiler Tablosu ELEKTRA LOGO AKTARIM PROGRAMI...3 1. Özellikler.. 3 2. Kullanım...4 2.1. Elektra Fatura Aktarım Modülü.5 2.2. Mahsup Fişi Modülü.7 2.3. Bavel Fatura XML Modülü.9 2 ELEKTRA LOGO AKTARIM
DetaylıDESTEK DOKÜMANI. Ürün : Tiger Enterprise/ Tiger Plus/ Go Plus/Go Bölüm : Kurulum İşlemleri
LOGO PROGRAM KURULUMU VE AYARLARI Logo programlarının yüklemesi için kullanılacak,setup dosyaları ftp://download.logo.com.tr/ adresinden indirilerek yapılır. Örneğin Kobi ürünleri için; ftp://download.logo.com.tr/windows/kobi/guncel/go_plus/klasöründen
DetaylıYükleme Emrinde bulunan belge numarası, kamyon plaka numarası ve şoför adının irsaliyeye taşınması,
SEVK VE YÜKLEME EMRİ YENİLİKLERİ Amaç ve Fayda Sevk ve Yükleme Emrine bağlı işlemlerde yapılan yenilikler ile; Yükleme Emri oluştururken stok bakiye kontrolü, Yükleme Emri Oluşturulurken stoktan ayrılan
DetaylıWeb Hizmeti Bağlantıları
Web Hizmeti Bağlantıları Web hizmeti için bağlantılar, Sistem Yönetmeni program bölümünde Yönetim menüsü altında yer alan Web Hizmeti Bağlantıları seçeneği ile kaydedilir. WEB Sayfası Tasarımları WEB sayfasında
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ıMetin İşlemleri, Semboller
Ankara Üniversitesi Nallıhan Meslek Yüksekokulu Metin İşlemleri, Semboller NBP108 - GRAFİK ANİMASYON il Öğr.Gör. Salih ERDURUCAN 1 / 13 3. METİN İŞLEMLERİ 3.1. Metin Aracı Animasyon yazılımı yazı yazmak
Detaylıe-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı
e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı 19 Ocak 2012 Gündem e-yazışma Projesinin Amacı ve Kapsamı Projenin Çıktıları Projeye Katkı Sağlayanlar e-yazışma Paketi Önümüzdeki Dönemde
Detaylıe-arşiv Uygulaması Tarih: 24.02.2015 Her hakkı Logo Elektronik Ticaret Hizmetleri A.Ş' ye aittir.
e-arşiv Uygulaması Tarih: 24.02.2015 Her hakkı Logo Elektronik Ticaret Hizmetleri A.Ş' ye aittir. Contents 1. e-arşiv UYGULAMASI NEDİR?... 3 1.1. e-arşiv FATURASI NEDİR?... 3 1.2. e-arşiv RAPORU NEDİR?...
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ıWeb Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1
Web Formlar ve Sayfalar Arasında Bilgi Gönderme BATML İnternet Programcılığı 1 Bazı web sitelerinde sayfalar arasında bilgi veya değişken göndermek gerekebilir. Gönderilen bu bilgi kullanıcı adı ve şifre
DetaylıGELİŞMİŞ ARAMA MOTORU OPTİMİZASYONU
GELİŞMİŞ ARAMA MOTORU OPTİMİZASYONU Arama Motoru Optimizasyonu; bir web sitesinin hedef arama kelimelerinde Google,MSN vb. internet kullanıcılarının %95 tercih ettiği Arama Motorları nda ilk bir kaç sayfada,daha
DetaylıAĞ HİZMETLERİ. Öğr.Gör.Volkan ALTINTAŞ. Version 4.0
AĞ HİZMETLERİ Öğr.Gör.Volkan ALTINTAŞ Version 4.0 İSTEMCİ SUNUCU İLİŞKİSİ İnsanlar her gün başkalarıyla iletişim kurmak ve rutin görevlerini yerine getirmek için ağ ve İnternet üzerinden sağlanan hizmetleri
DetaylıBM208- Nesneye Dayalı Analiz ve Tasarım. Sunum 7
BM208- Nesneye Dayalı Analiz ve Tasarım Sunum 7 Component(Bileşen) Diyagramları Sistemin fiziksel yapısını modellemede kullanılır. Bu fiziksel yapıdan kasıt gömülü kontroller, portlar, arayüzlerin yanı
DetaylıBLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi UYGULAMA KAYNAKLARI. BLM401 Dr.Refik SAMET
BLM401 Mobil Cihazlar için ANDROİD İşletim Sistemi UYGULAMA KAYNAKLARI BLM401 Dr.Refik SAMET 1 GİRİŞ (1/2) Uygulamalarda kullanılan kaynaklara örnekler: ekran yerleşimi; karakter dizileri; resim dosyaları;
DetaylıLinux Ubuntu Kurulumu
Linux Ubuntu Kurulumu Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı https://wiki.ubuntu-tr.net/index.php?title=kurulum https://wiki.ubuntu-tr.net/index.php?title=ubuntu_linux_kurulum_rehberi Öğr.Gör.Murat
DetaylıOBJECT GENERATOR 2014
OBJECT GENERATOR 2014 GİRİŞ Sonlu elemanlar modellemesindeki Mechanical ortamında temas tanımlanması, bağlantı elemanı, mesh kontrolü veya yük girdilerinin uygulanması aşamasında çoklu bir yüzey varsa
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ıCheckpoint SmartCenter da hızlı obje yaratmak
[Alt başlık girilecek] Checkpoint SmartCenter da hızlı obje yaratmak Ofiller ve dbedit kullanılarak çok sayıda objenin hızlıca girilmesi Amaç Checkpoint VPN-1 ürünü, SmartDashboard adı verilen yönetim
DetaylıİNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage
İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 4 MasterPage Bir web sitesi birden fazla sayfadan oluşur. Bu sayfalarda içerik değişirken her sayfada tekrarlanan ögeler ve özellikler
Detaylı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ıMikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.
Mikro Ayarları Mikro muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak
DetaylıBSOFTefat E-FATURA ÇÖZÜMÜ
Gelir idaresine yapılan başvuruya göre POROSefat e-fatura alım/gönderim işlemlerinde kullanıcılara iki farklı seçenek sunulmaktadır. 1. E-Fatura GİB Dosya Aktarım modülü: Gelir idaresinden sadece e-fatura
Detaylı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ıLinux Kurulumu (Sürüm 1.52) İçindekiler
Linux Kurulumu (Sürüm 1.52) İçindekiler 1. Kurulum Başlangıcı 2. Kurulum Yönergeleri 3. Uygulama Çalıştırma Yönergeleri 4. Uygulama Kaldırma 5. Notlar 6. Ek: Sürüm 1.5.2 7. Logoların değiştirilmesi 8.
DetaylıInternet Programming II. Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı
Internet Programming II Elbistan Meslek Yüksek Okulu 2014 2015 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 11-14 May. 2014 Form Form İşlemleri Tarayıcıdan bilgi alarak işlem gerçekleştirme FORM elemanları
Detaylı1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı
1.1 Metodolojiyi Gerçeklemek Üzere Geliştirilen Altyapı Metodolojisi üzerinde durduğumuz çalışman Eğitim altyapısını gerçekleştirmek: Proje iki ana parçadan oluşacaktır. Merkezi Altyapı Kullanıcı Arabirimi
DetaylıGenel Programlama II
Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri
Detaylı