Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML TABANLI B2B ÇÖZÜMLERİ Doç. Dr. Selim Akyokuş Bilgisayar Mühendisliği.

Benzer bir sunumlar


... konulu sunumlar: "XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML TABANLI B2B ÇÖZÜMLERİ Doç. Dr. Selim Akyokuş Bilgisayar Mühendisliği."— Sunum transkripti:

1 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML TABANLI B2B ÇÖZÜMLERİ Doç. Dr. Selim Akyokuş Bilgisayar Mühendisliği Bölümü Doğuş Üniversitesi

2 2 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri Sayısal Ekonomi ve B2B e-iş B2B ve B2B İş Çözüm Modelleri İşaretleme Dilleri ve Tarihçesi HTML’in Sınırlamaları XML Nedir? XML Söz Dizimi Kuralları XML DTD Belge Tipi Tanımlamaları XML şemaları (Schemas) CSS ve XSL ile XML Sunumu XML Belgelerinin İşlenmesi B2B Veri Değişim Standartları B2B FrameWorks Yatay Şemalar Dikey Şemalar XML Mesaj Prokolleri Web Servisleri SOAP WSDL UDDI B2B Entegrasyon Sunucuları Microsoft Biztalk Server Sonuç Gündem

3 3 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Sayısal Ekonomi PriceWaterHouseCoopers danışmanlık şirketine göre sayısal ekonomi (digital economy) olarak ta adlandırılan yeni ekonomiyi şekillendirecek 6 güç vardır : –Endüstri Yakınlaşması (Industry Convergence) –Elektronik İş (E-Business) –Bilgi Ekonomisi (Knowledge Economy) –İşletme Raporlama (Corporate Reporting) –En İyi İş Güçü için Rekabet (Competition for Best People) –Yeni Avrupa (New Europa) Bunlardan en önemlisi bilgi teknolojilerine dayanan elektronik iş’tir

4 4 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş B2B Elektronik İş B2B (Business-to-Business, İşten-İşe) e-iş genel anlamda kurumlar arasında geleneksel yöntemlerle gerçekleştirilen iş ilişkilerinin elektronik ortamda (Internet) yapılması olarak tanımlanabilir. Geçen 5 yılda bir çok işletmenin B2C (Business to Consumer) olarak adlandırılan işletmeden tüketiciye e-ticaret sitesi açarak Internet’i bir ticaret araçı olarak kulladığını gördük. B2C avantajları –Yeni satış kanalları –Mevcut pazar potansiyelini genişletme –Daha az maliyet ve daha iyi müşteri memnuniyeti –Vb... B2B e-iş B2C’ye göre çok daha büyük fayda ve potansiyele sahiptir.

5 5 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş B2B e-iş Faydaları Geleneksel iş modellerini değiştirecek olan B2B e-iş bir çok fayda sağlacaktır: –Daha iyi müşteri tatmini ve desteği –Yeni ürün ve hizmetlerin pazara hızla sunulması –Daha iyi servis –Daha iyi alım ve satış işlemleri –Daha az işletim maliyeti –Daha az üretim maliyeti –Daha düşük stok maliyeti

6 6 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş B2B e-Ticaret Tahminleri Forrester Research araştırma şirketine göre belirli bir aşamadan sonra B2B e-ticaret hızlı ve hiper bir büyüme kazanacaktır. 2003 yılında 1.3 tirilyon dolarlık hacme sahip olacağı tahmin edilmektedir.

7 7 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş B2B e-iş Çözüm Modelleri B2B’de üç değişik çözüm modeli genel olarak ortaya çıkmıştır : –Alış merkezli (buy-side) çözüm modeli –Satış merkezli (sell-side) çözüm Modeli –Elektronik pazar (e-pazar, e-marketplace) çözüm modeli

8 8 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Alış merkezli (buy-side) çözüm modeli Alış merkezli çözüm modelinde amaç şirketin alış işlemlerindeki verimliği artırmaktır. Bu model için diğer bir isim e-procurement olarak geçmektedir. Bu model birden-çoğa (one-to-many) model olarak ta tanımlanmaktadır. Alış merkezli modelde iş mantığı alış yapan şirket tarafında bulunur. Şirket değişik tedarikçilerden aldığı katalog bilgilerini sisteminde tutar. Değişik formatta gelen bilgilerin birleştirilmesini ve sürekli güncellenmesini gerektirir. Alış merkezli çözümler aynı zamanda alış iş akış süreci ile ilgili alış siparişi, onay ve ürün kabul gibi işlemleri de gerçekleştirir.

9 9 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Satış merkezli (sell-side) çözüm Modeli Satış merkezli model çözümleri satış süreci verimliğini artırmak ve maliyetleri düşürmek için alıcılar ile elektronik etkileşim sağlar. Bu model çoktan-bire (many-to-one) model olarak ta tanımlanmaktadır. Bu modelde tek bir tedarikçi ürün kataloğunu bir çok alıcıya özel fiyatlandırma şartları içinde sunarlar. Satış merkezli model çözümleri bir çok erişim noktası sunar. Bunlar –tarayıcı tabanlı web çözümleri, –alıcıya özel veya –elektronik pazarlara yönelik entegrasyon çözümleri olabilir. Bu çözümler tedarik zinciri yönetimindeki satış sipariş, sevkiyat ve lojistik gibi süreçlerin tamamının entegrasyonunu gerektirir.

10 10 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Elektronik pazar (e-pazar, e-marketplace) çözüm modeli Üçünçü B2B iş çözüm modeli e-pazar olarak adlandıracağımız elektronik pazarlardır (e-marketplace). Elektronik pazarlar satıcı ve alıcı şirketlerinin hizmet ve ürünlerinin ticareti için oluşturulan aracı sitelerdir. Bu model çoktan-çoğa (many-to-many) model olarak da tanımlanır. Bu konu için online exchange, infomediary, I-market, digital marketplace, net hub, trading hub gibi bir çok terimler kullanılmaktadır. Bu modelde e-Pazar tedarikçilerin sağladığı ürün kataloglarını birleştirerek kullanıma sunar. Bu yapı bilgilerin tutarlı bir şekilde kullanıcılara sunulması, aranmasını ve alıcı ve satıcı arasındaki entegrasyonu sağlar. Aynı zamanda alıcı ve satıcı taraflarındaki yükü azaltır. Bu modelde fiyat isteme, açık artırma, ters açık artırma bir çok işlem kolay bir şekilde gerçekleştirilir.

11 11 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Elektronik pazar (e-pazar, e-marketplace) çözüm modeli Elektronik pazarlar ideal elektronik iş yapılarıdır. Gartner araştırma gurubuna göre elektronik pazarlar 2005 yılında B2B pazarını kontrol edeceklerdir. 2005 yılında 500,000’den fazla şirketin elektronik pazarlara katılacağı tahmin edilmektedir.

12 12 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş B2B Entegrasyon B2B elektronik iş çok değişik teknolojileri alt yapısında bulundurduğundan bu teknolojilerin birbiri ile uyum sağlayacak şekilde birleştirilmesi ve entegrasyonu büyük önem arz etmektedir. Bugünkü bilgisayar iletişimin ve teknolojisindeki çok büyük gelişimelere ve birikime rağmen, bilgisayar sistemlerindeki ve veritabanlarındaki farklı formatlardaki verilerin şirket içi ve şirketler arası taşınması ve işlenmesi en büyük problemlerden birisidir. B2B elektronik iş’in bir çok faydasına rağmen çok fazla yaygınlaşamamasının nedeni uygulamalar arası uyum sağlayacak B2B entegrasyon standartlarının oluşmamasıdır. XML B2B entegrasyon standartlarının oluşumundaki temel anahtar teknolojidir. XML nedir ?

13 13 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş İşaretleme Dilleri (Markup Languages) Basılı yayıncılıkta bir metnin belirli kısımlarının nasıl şekilde yayınlanması için kullanılan sembol ve ayıraçlar markup (işaret) olarak adlandırılır. İşraretleme yapılarını (karakter, sembol, etiket) bir çok ortamda görebiliriz. –programala dilleri : {,},begin, end –ASCII kodlama standardı : CR, LF özel karakterler –Kelime işlem programları : Yazı tipi, font ve stilleri ayırmak için metin içerisine gömülü işaretler Standard bir karakter, ayıraç, sembol ve etiket kümesi kullanmadan taşınabilir, paylaşılabilir ve işlenebilir bir uygulama geliştirilmesi çok güçtür. Metin ve belgelere özel bir anlam kazandırarak kolay bir şekilde taşınabilmesi, paylaşılabilmesi ve işlenebilmesi için kullanılan işaretler, kurallar ve gramer kümesini markup language (işaretleme dili) olarak adlandırılır.

14 14 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş İşaretleme Dilleri Tarihçesi SGML (Standardized Generalized Markup Language) –Bir metin veya belge kümesinde kullanılan dilin grammer ve sözlük yapısını tanımlmakta kullanılan bir meta dildir. –ISO Standardı, 1986 –ABD devlet, otomobil ve havacılık kuruluşlarında bir belgeleme standardı olarak kullanılmakta. –İçerik ve sunum ayrı –Çok güçlü bir dil olmasına rağmen Son derece karmaşık yapı Yüksek uygulama geliştrime maliyeti –Bu dilin yaygın bir şekilde kullanımını engellemiştir.

15 15 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş İşaretleme Dilleri Tarihçesi HTML (Hypertext Markup Language) –Internet ortamında standard bir şekilde belge sunumu amaçlıyla geliştirildi, 1989. –HTML bir SGML uygulaması (sözlüğü-vocabulary) olarak geliştirildi. (HMTL dilinin yapısı SGML ile tanımlandı) –Yalnızca sunum amaçlı –Çok basit yapısı ile son derece başarılı oldu. Everything should be made as simple as possible, and no simpler. (Herşey basit mümkün olduğu kadar basitleştirişmeli, fakat daha basit olmamalı.) -- Albert Einstein

16 16 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş İşaretleme Dilleri Tarihçesi XML (eXtensible Markup Language – Genişleyebilir İşaretleme Dili) –Güçlü ve esnek bir yapıya sahip olan SGML’in basit bir alt kümesi –Elektronik veri değişimi, elektronik ticaret, elektronik yayıncılık, veri bütünleştirilmesi ve yönetimi, akılı arama makinaları gibi bir çok alanda stratejik bir araç olarak kullanılacak metin biçimleme teknolojisi –W3C (World Wide Web, http://www.w3.org/XML/) reccomendation olarak Şubat 1998 yayınlandı.http://www.w3.org/XML/ W3C standardlaştırma çalışmaları aşamalarında farklı seviyelerde standard spesifikasyonları yayınlamaktadır.  Note : Bir fikir veya açıklamayı içeren en aşağı seviyedeki spesifikasyon  Working Draft : Standardlaştırma çalışmalarının devam ettiğini sürede yayınlanan spesifikasyonlar.  Recommendation : Working Draft aşaması sonucu elde edilen en son seviye standard specifikasyonu.

17 17 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş HTML’in Sınırlamaları Sn. Selim Akyokuş Barboros Cad. No: 11 Yıldız 80750, İSTANBUL p (paragraf başı) b (bold) br (line break-satır atlama) P (paragraf sonu) BaşlıkAd Soyad Cadde Adı Bina No Posta Kodu İl Semt HTML dili belgelerin tarayıcılarda biçimlendirilmesi amaçıyla tanımlanmış bir standard etiket (tag) kümesi içereren bir dildir.

18 18 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş HTML’in Sınırlamaları HTML belgeleri metin içeriği hakkında bir anlam ve yapı bilgisi içermez. Metin sunum bilgileri (presentation) ve içeriği (content) ayrık değildir. HTML yalnızca sunum amaçlıdır. HTML etiketlerinin bir coğu tarayıcının bir metni nasıl biçimlendirmesi ile ilgili bilgi içermektedir. Bu veri değişimi, paylaşımı, veri kopyalama, uygulama bütünleştirmesi gibi dağıtık uygulamaların gereksinimlerine cevap vermemektedir. HTML genişleyebilir bir dil değildir. Bu dili uygulamalarımıza özel yeni etiketler ekleyerek genişletemeyiz.

19 19 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? XML’de HTML gibi işaretleme etiketleri (tag) kullanır. Uygulamaya bağlı olarak bir çok yeni etiket tanımlayabilriz. XML’in ilk harfi “Genişleyebilir (eXtensible)” bunu ifade etmektedir. XML etiketleri bilgi içeriği hakında bilgi verir. Bilgi hakında bilgi meta veri veya bilgi (metadata veya metainformation) olarak adlandırılır. Selim Akyokuş XML bir meta dildir. Diğer bir deyişle yeni işaretleme dillerini tasarlamak için kullanılan bir dildir. XML ile herhangi bir uygulama için XML belgesinin içinde bulunacak verinin içeriği ve yapısını bir etiket kümesi ile tanımlayarak yeni bir dil oluşturabiliriz. Başlangıç etiketi Bitiş etiketi

20 20 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? <!DOCTYPE addressbook SYSTEM "AddressBook.dtd" [ ]> Frank Rizzo 1212 W 304th Street New York 10011 212-555-1212 212-555-1213 frizzo@fruity.com http://www.fruity.com/rizzo Frank&apos;s Ratchet Service Sol Rosenberg 1162 E 412th Street New York 10011 212-555-1818 212-555-1819 srosenberg@fruity.com http://www.fruity.com/rosenberg Rosenberg&apos;s Shoes & Glasses Kaynak : XML Unleashed Addressbook XML Belgesi

21 21 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? Bir belge tipi tanımlaması, DTD (Document Type Definitions), –bir XML belgesinin içinde hangi etiketler geçebilir, –hangi etkiketler hangi etiketleri içerebilir, –etkiketlerin sayısı ve sırası, –etiketlerin alabileceği özelikler ve değerleri tanımlar. Addressbook.dtd

22 22 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? Veri anlam ve yapısını içeren (self-describing) basit ve esnek veri formatı XML belgeleri kolayça anlaşılabilir. İçerik ve Sunum (CSS, XSL) ayrık. XML etiketleri verilerin nasıl biçimlendirileceği konusunda bir bilgi içermez. Bir çok hazır yazılım bileşenleri ile programlama Hiyerarşik ağaç yapısı

23 23 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? Selim Akyokuş....... 216 2597070 216 2597080 </fax<...... addressbook contact name Selim Akyokuş contact... phone address voice....... contact Etiketli ağaç yapısı (labeled tree) Yarı Yapısal Veri Modeli (Semistructured Data Model) İlişkisel (relational) Nesne-kökenli (object- oriented) veri yapılarını temsil edebilir. fax 216 2507070216 2597080

24 24 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? XML’in en çok ilgi çeken tarafı e-ticaret, tedarik zinciri yönetimi ve iş akışı (workflow) yönetimi gibi elektronik iş web uygulamalarında bir veri değişim formatı olarak kullanılmasıdır.

25 25 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Nedir? XML bir çok standardın birleşiminden oluşmaktadır. XML Syntax (söz dizimi kuralları) XML DTD XML Schema XML Namespaces Xpath Xpointer XSL XSLT XSLF SAX DOM

26 26 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Söz Dizimi (Syntax) XML belgeleri işaretleme ifadeleri ve veri içeriğinden oluşan bir veri dosyası veya paketidir. İşaretleme ifadeleri elemanlar (elements), varlık referansları (entity refererences), açıklamalar (comments), işleme komutları (processing instructions), CDATA bölümleri ve veri tipi tanımlamalarından (document type declaretions) oluşur. Herkese Selim Akyokuş 7 Eylül 2000 XML ve XML Uygulamaları XML HTML gibi etiket tabanlı bir dildir

27 27 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Elemanlar Başlangıç etiketi, içerik ve bitiş etkitet’den oluşan yapı eleman olarak adlandırılır. Elemanlar başka elemanları veya karakter verileri içerebilir. XML Unleashed Eleman ismi Başlangıç etiketi (start tag) Bitiş etiketi (start tag) Karater veri Eleman isimleri bir harf veya alt çizgi (_) ile başlayabilir. Eleman isimleri case-sensitive’dir. Eleman 

28 28 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Elemanlar Boş Elemanlar (Empty elements) Boş elemanların herhangi bir içeriği yoktur. Boş elemanlar etiketin sonuna bir (/) işareti eklenerek kısa bir biçimde gösterilebilir. Boş elemanlar hariç her XML başlangıç etiketi bir bitiş etiketi ile kapatılmalıdır. Belge Elemanı Hiyerarşik bir ağaç yapısında olan XML belgesinin en üst seviyesindeki eleman belge elemanı veya belge kökü (document root) olarak adlandırılır. Bu elemanın etiketide kök etiket (root tag) olarak isimlendirilir.

29 29 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Elemanlar Eleman Yuvalama (Nesting) Herkese Selim Akyokuş 7 Eylül 2000 XML ve XML Uygulamaları XML HTML gibi etiket tabanlı bir dildir Belge Elemanıkök Etiket HTML allows improper nesting XML requires improper nesting

30 30 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Özellikler Özellikler (Attributes) elemanlara eklediğimiz ek bilgilerdir. Başlangıç etiketi içinde özellik ismi ve değer ikilileri olarak geçer.  kitap kitap_no = "1234" kitap_sınıfı = "teknik" > Didier Martin Professional XML Özellik

31 31 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Karater Veri Bir elemanın başlangıç ve bitiş etiketi içindeki metin karakter veri olarak adlandırılır. Özel amaçlı olarak kullanılan (&,,",') karakterleri metin içeririsinde kullanılamaz. HTML’den farklı olarak eleman içindeki boşluklar (white space) korunur. Etiket ve özellik tanımlarındaki boşlukları parser kaldırır. Professional XML Karater veri

32 32 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Karakter ve Varlık Referansları Karakter referansları onluk ve onaltılık sayı sistemi ile karaterleri göstermek için kullanılır. –Onluk : &#NNNN; –Onaltılık : &#xNNNN; Copyright © 2000 SAMS Publishing Copyright © 2000 SAMS Publishing © Varlık referansları (entity references) verilen bir isim ile DTD’te tanımlamış refereransları veya (&,,",') XML özel karakterlerini göstermek için kullanılır. Varlık referansı : &isim; Didier Martin & Mark Birbeck &

33 33 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Karakter ve Varlık Referansları (&,,",') karakterleri için XML standard varlık referansları >> << && '&apos; "" DTD’ de varlık referansı tanımı &firma; " E-ticaret " hizmetleri sunar. XYZ Bilgisayar A.Ş. "E-ticaret" hizmetleri sunar.

34 34 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Açıklamalar ve İşlem Komutları Açıklama (Comments) yapısı HTML ile aynıdır. İşlem komutları (Processing instructions) XML belgelerini işleyen uygulamalara bir komut geçilmesi istenildiğinde kullanılır.

35 35 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CDATA Bölümleri CDATA bölümleri (CDATA sections) XML’de kullanılan işaretleme ifadelerinin göz ardı edilmesi gereken metinleri yazmada kullanılır. XML parsır’ı bu bölümde metin içerisinde yer alan işaretleme ayıraçlarını ve etiketlerini normal karakter olarak algılar. <![CDATA[ *P = &A; K = "Ali"; C = (i <= 5) ; ]]>

36 36 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Belge Tipi Deklarasyonu Belge tipi deklarasyonları (Document type declaretion) bir XML belgesinin giriş kısmında tanımlanır ve belgenin kulladığı harici ve dahili DTD (Document Type Definiton)’yi belirtir. <!DOCTYPE addressbook SYSTEM "http://xyz.com/AddressBook.dtd" [ ]>  <!DOCTYPE kök_eleman_ismi SYSTEM "sistem_tanımlayıcısı">  <!DOCTYPE kök_eleman_ismi PUBLIC "public_tanımlayıcısı""sistem_tanımlayıcısı"> Harici DTD adresi

37 37 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Belge Tipi Deklarasyonu <!DOCTYPE addressBook [ ]> Wallace Bob bwallace@megacorp.com Tuttle Claire ctuttle@megacorp.com Dahili (Internal or inline) DTD

38 38 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş İyi Oluşmuş ve Doğru Belgeler İyi Oluşmuş Belgeler (Well-Formed Documents) XML söz dizimi (syntax) kurallarına uyan XML belgeleri well-formed belgeler olarak adlandırılır. Doğru Belgeler (Valid Documents) Belge için tanımlanmış olan DTD’teki gramer kurallarına uyan belgeler valid belgeler olarak adlandırılır.

39 39 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Belge Tipi Tanımlamaları - DTD Belge Tipi Tanımlamaları (DataType Definitions (DTD)) herhangi bir alanda kullanılacak yeni işaretleme dillerinin yapısını (gramer) tanımlar. Programlama dillerinin gramer’inin tanımlamada kullanılan EBNF (Extended Backus Naur Form) gösterimine benzer bir yapıya sahiptir. Kişi ::= (isim telefon-no*) EBNF DTD

40 40 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Belge Tipi Tanımlamaları - DTD Bir XML belgesinin yapısı tanımlamada kullanılan temel DTD deyimleri DTD deyimi Anlamı ELEMENT ATTLIST ENTITY NOTATION Bir XML elemanı tanımlar. Bir eleman tipinin alabileceği özellikleri tanımlar. Belli bir içeriğin bir isme bağlanarak o isimle ilişkilendirilmesini sağlar. XML hariçi içeriğin tanımlanmasını sağlar. Bu tanımlaran içerik XML belgesinin bir parçası olarak parse edilmez.

41 41 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Eleman Tanımlamaları Dört çeşit eleman tipi vardır. –Empty (Boş) : Eleman herhangi bir içerik içermez. Elemanın özellikleri olabilir. –Element Only (Yalnızca Eleman) : Eleman yalnızca alt seviye (child) elemanları içerebilir. –Mixed (Karışık) : Eleman alt seviye elemanlar ve karakter veri karışımını içerebilir. –Any : Eleman DTD’in izin verdiği her içeriği içerebilir.

42 42 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Boş (Empty) Eleman Tanımlamaları İçeriği boş olan elemanlar. DTD XML

43 43 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Yalnız Eleman İçeren Elemanlar Yalnızca alt seviye elemanları içerir. Sıralama: kime, kimden, tarih, konu, mesaj ? : Opsiyonel + : Bir veya daha fazla * : Sıfır veya daha fazla | : Veya

44 44 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Yalnız Eleman İçeren Elemanlar Eleman tanımlarında kullanılan semboller ve anlamı Eleman Tanımı Anlamı A? A+ A* A,B A | B ( ) (#PDATA) Opsiyonel; A alt elemanı bir defa veya hiç gözükmeyebilir. A alt eleman mutlaka bir defa veya daha fazla gözükür. A alt eleman sıfır veya daha fazla gözükebilir. B elemanı A’dan sonra gözükmelidir. A veya B’den bir tanesi göz ü kebilir. Paratez içinde geçecek elemanları guruplar. Örneğin (A,B)+ ifadesi A ve B’nin ardışık olarak bir veya daha fazla geçeceğini göstermektedir. Karakter Veri (parsed)

45 45 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Karışık ve ANY Elemanı Karışık (Mixed) Elemanlar: Karışık elemanlar hem karakter veri hemde alt elemanları içerebilirler. Yeni Dönem 1 Ekim 2000 Okul kayıtları başlayacak. ANY Elemanları: ANY elemanı karakter veri, tanımlanmış elemanlar veya bunların karşımını içerebilir.

46 46 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Özellikler (Attributes) Bir eleman hakkındaki özellik bilgileri aşağıdaki formatta tanımlanır. Dört çeşit Default tipi vardır. Default Anlamı #REQUIRED #IMPLIED #FIXED Değer Değer Özellik her zaman tanımlanmalıdır. Özellik opsiyoneldir. Özellik sabit bir Değer’e sahiptir. Özellik eleman içinde tanımlı olmazsa, parser bu sabit değer’in olduğunu varsayar. Özellik eleman içinde tanımlı olmazsa, parser bu değer’in olduğunu varsayar. Eğer tanımlı ise özellik farklı bir değer içerebilir.

47 47 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Özellikler (Attributes) XML’e Giriş XML’e Giriş.......... Şart Opsiyonel Sabit Default Değer Karakter veri

48 48 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Özellikler (Attributes) Özellik TipiAnlamı CDATA Enumarated NOTATION ENITITY ENTITIES ID IDREF IDREFS NMTOKEN NMTOKENS Karakter veri (Unparsed) Özelliğin sahip olabileçeği değerler kümesi DTD’de tanımlanmış herhangi bir notation. Harici bir varlık. Bir den fazla boşlukla (white space) ayrılmış varlıklar. Bir belge içerisinde geçebilecek tek tanımlayıcı bir değer (unique identifier). DTD’te tanımlanmış olan bir ID’ye olan referans. Boşlukla (white space) ayrılmış ID’ler serisine referans. XML token karaklerlerinden (harf, sayı, nokta, tire, iki nokta, alt cizgi) oluşan bir isim. XML token karakterlerinden oluşan boşlukla ayrılmış bir çok isim. Özellik Tipleri

49 49 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Özellikler (Attributes) Enumarated özellikler bir dizisi içerir. Notation XML harici veri tiplerini tanımlamakta kullanılır. Bu örnek resim formatının gif veya jpeg olabileceğini belirtmektedir. ID tipindeki özellik değerleri bir belge içerisinde yalnızça bir defa geçebilir. Bu bize bir elemanı unique olarak tanımlamamızı sağlar. IDREF, ID tipindeki elemanlara referans vermemizi sağlar. Ali Veli.......... Default

50 50 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Varlıklar (Entities) Varlıklar herhangi bir veri parçasına bir isim vererek bu veri parçalarına referans vermemizi sağlar. Bunu C dilindeki DEFINE fonksiyonu gibi düşünebiliriz. Üç çeşit varlık tanımlaması vardır: –Genel Varlıklar (General Entities) –Parametre Varlıklar (Parameter Entities) –Karakter Varlıklar (Character Entities) Genel Varlıklar Genel varlıklar bir metin parçasına bir isim vererek bu isimle metini kullanmamızı sağlar. Firmamız &şirket; internet danışmanlığı hizmeti sunar.

51 51 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Varlıklar (Entities) Parametre Varlıklar (Parameter Entities) Parametre varlık tanımlamaları DTD’nin içinde bir isimle veri parçalarına referans vermemizi sağlar. uzunluk, genişlik, yükseklik?”> Karakter Varlıklar (Character Entities) Verilecek bir isim vasıtasıyla istenilen karaterleri göstermek için kullanılır. ©

52 52 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş Notation (Gösterim) Notation tanımlamaları XML harici verinin ve bu harici ile ilişkindirilecek bir yardımcı uygulamanın (helper application) tanımlanmasını sağlar. XML parser XML verisi üzerinde parse işlemini yapar. XML harici verilerin işlenmesinini bu veri formatları ile ilişkilendirilecek bir uygulama ile yapabilir. Aşağıdaki örnekte jpg ve gif formatında tanımlanmış verileri ilgili uygulamalarla ilişkilendirmektedir.

53 53 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Şema Tanım Dili (XML Schema Definition Language) XML şema tanım dili (XSD, XSDL) XML belgelerinin yapısını DTD gibi tanımlada kullanılan yeni bir yöntemdir. XML şema tanım dili bir XML sözlüğü olarak tanımlanmıştır. Normal bir XML belgesi olarak işlenebilir ve parse edilebilir. Avantajları : –Bir çok veri tipini desteklemesi, –açık bir model olarak genişleyebilmesi, –katılım (inheritance) ilişkilerini desteklemesi Bu 1998 yılından itibaren gelişme aşamasında (Note, Working-draft) olan XML şema tanım dili son şeklini alarak (recommendation) 2 Mayıs 2001 tarihinde yayınlanmıştır.

54 54 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML Şemaları <Schema name="AddressBookSchema" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"> <!ELEMENT contact (name, address+, city, state, zip, phone, email, web, company)> Addressbook Şeması Addressbook DTD

55 55 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CSS ve XSL ile XML sunumu XML’de daha önce bahs ettiğimiz gibi belge içeriği ve sunumu birbirinden ayrılmıştır. XML belgelerinin görsel olarak sunumu –CSS (Cascading Style Sheets) veya –XSL (eXtensible Style Language) kullanılarak gerçekleştirilir.

56 56 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CSS (Cascading Style Sheets) CSS HTML ve XML belgelerini görüntüleme amaçıyla kullanılan bir biçimleme dilidir. CSS biçim sayfaları (sytle sheets) belge elemanlarına uygulanacak olan bir kurallar kümesi içerir. CSS Kuralı Seçiçi {özellik1: değer1; özellik2: değer2;...... } p {display : block; color: blue; font-family : Arial; font-size: 14pt; } CSS basit bir biçimleler için kullanılır

57 57 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CSS (Cascading Style Sheets) isim elemanı: kalın, 16pt ve Times font Selim Akyokuş isim {display : block; font-family : Times, serif; font-size: 16pt; font-weight : bold; } XML belgelerini CSS kurallarnı içeren CSS biçim dosyası ile ilişkilendirmek için xml-stylesheet işlem komutu XML belgesi başlangıçına konulur.

58 58 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CSS (Cascading Style Sheets) <!DOCTYPE addressbook SYSTEM "AddressBook.dtd" [ ]> Frank Rizzo 1212 W 304th Street New York 10011 212-555-1212 212-555-1213 frizzo@fruity.com http://www.fruity.com/rizzo Frank&apos;s Ratchet Service Sol Rosenberg 1162 E 412th Street New York 10011 212-555-1818 212-555-1819 srosenberg@fruity.com http://www.fruity.com/rosenberg Rosenberg&apos;s Shoes & Glasses

59 59 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş CSS (Cascading Style Sheets) contact { display: block; width: 350px; padding: 10px; margin-bottom: 10px; border: 4px double black; background-color: silver; color: blue; text-align: center; } name { display: block; font-family: Times, serif; font-size: 16pt; font-weight: bold; } address { display: block; font-family: Times, serif; font-size: 14pt; } city, state, zip { display: inline; font-family: Times, serif; font-size: 14pt; } phone, email, web, company { display: none; } <!DOCTYPE addressbook SYSTEM "AddressBook.dtd" [ ]> Frank Rizzo 1212 W 304th Street New York 10011 212-555-1212 212-555-1213 frizzo@fruity.com http://www.fruity.com/rizzo Frank&apos;s Ratchet Service Sol Rosenberg 1162 E 412th Street New York 10011 212-555-1818 212-555-1819 srosenberg@fruity.com http://www.fruity.com/rosenberg Rosenberg&apos;s Shoes & Glasses

60 60 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XSL (eXtensible Style Language) XSL, XML belgelerinin biçimlendirilmesi tasarlanmış bir biçimleme dilidir. CSS’den çok daha güçlü bir yapıya sahip olmasına rağmen XSL yeni bir teknoloji olduğundan çok fazla yaygın değildir. XSL konusundaki standardlaştırma çalışmaları henüz tamamlanmamıştır. XSL dili W3C’nin aşağıdaki spesifikayonlarını kullanır: –XSLT – http://www.w3.org/TR/xslt –Xpath – http://www.w3.org/TR/xpath –XSLF – http://www.w3.org/TR/xsl

61 61 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XSL (eXtensible Style Language) XSLT (XSL Transformations), XML belgelerinin bir dönüşümü için kullanılır. –XSLT bir yapıdaki XML belgesini, XSL biçim dosyasındaki tanımlamalara göre başka bir yapıya dönüştür. –XSLT, XML belgesini HTML diline, diğer bir XML belgesine veya XSLF formatlama nesnelerine dönüştürebilir. –XSLT en yaygın olarak XML belgelerinin HTML belgelerine dönüşümünde kullanılır. Dönüşüm sonuçunda elde edilen HTML belgesi tarayıcılar ile görsel olarak gösterilebilir. Xpath spesifikasyonu parser’ın oluşturduğu XML ağaçının içindeki düğümleri adreslemek için kullanılır ve ağaçın belirli kısımlarını adresleyerek ağaç içinde dolaşmamızı sağlar. XSLF (XSL Formating), XSL teknolojisinin biçimleme kısmını içerir. –XSLT, XML belgelerini XSLF biçimlendirme nesnelerine dönüştürür. –Biçimleme nesneleri belgelerin görsel olarak sunumu sağlar. –Biçimleme nesnelerinin görüntülenmesi için tarayıcıların XSLF biçimleme yapısını desteklemesi gerekir. –XSLF spesifikasyonu henüz geliştirme aşamasında olduğundan bu yapıyı destekleyen bir tarayıcı yoktur.

62 62 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML’den HTML’e dönüşüm Dönüştürme işlemi XSL biçimleme sayfaları (style sheets) içinde tanımlamış dönüşüm kuralları ile gerçekleştirilir. Bu kurallar şablon (template) olarak adlandırılır. Selim Akyokuş Addressbook.html Addressbook.xsl Addressbook.xml Kalıp (Pattern) Şablon (Template)

63 63 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML’den HTML’e dönüşüm <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> Address Book XML Example, Frank Rizzo 1212 W 304th Street New York 10011 212-555-1212 212-555-1213 frizzo@fruity.com http://www.fruity.com/rizzo Frank&apos;s Ratchet Service.......... Kök (root)

64 64 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML’den HTML’e dönüşüm // Load XML var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("Addressbook.xml") // Load the XSL var xsl = new ActiveXObject("Microsoft.XMLDOM") xsl.async = false xsl.load("Addressbook.xsl") // Transform document.write(xml.transformNode(xsl)) Client’da Dönüşüm : Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullanarak HTML’e dönüşümünü sağlayan Javascript kodu.

65 65 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML’den HTML’e dönüşüm Server’de dönüşüm : Addressbook.xml belgesini Addressbook.xsl biçimleme sayfasını kullanarak HTML’e dönüşümünü sağlayan ASP kodu. <% 'Load the XML set xml = Server.CreateObject("Microsoft.XMLDOM") xml.async = false xml.load(Server.MapPath("Addressbook.xml")) 'Load the XSL set xsl = Server.CreateObject("Microsoft.XMLDOM") xsl.async = false xsl.load(Server.MapPath("Addressbook.xsl ")) Response.Write(xml.transformNode(xsl)) %> Sunucu tarafında XML belgeleri HTML’e dönüştürülerek tarayıcılara gönderilir. XSL’i desteklemeyen tarayıcılardada XML belgeleri görüntülenebilir.

66 66 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML BELGELERİNİN İŞLENMESİ XML belgelerinin uygulama yazılımları işlenmesi için bir çok yazılım paketi geliştirilmiştir. Bu yazılımlar XML processor veya XML parser olarak adlandırılmaktadır. Uygulama XML Parser XML Belgeleri Databases HTTP Processor Sun X package IBM XML4J package Oracle XML package Microsoft MSXML parser Open/XML parser Lark/Larval XML parser

67 67 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML BELGELERİNİN İŞLENMESİ XML parser’ları veya işlemcileri üç değişik model üzerine inşa edilmiştir. –Bildiri-tabanlı İşlem modeli (Declaretive processing model): Bildiri-tabanlı işlem modelinde hangi işlemlerin gerçekleştirileçeğini belirtiriz. İşlemin nasıl gerçekleştileceğini sistem belirler. Örnek : XSLT –Olay-tabanlı İşlem Modeli (Event-Based Processing model): Olay-tabanlı işlem modelinde XML parser’ı XML belgesini okur iken bulmuş olduğu nesneleri (elemanlar) uygulama programına olay (event) olarak bildirir. Uygulama programı gelen olaylara göre gerekli işlemleri yapar. SAX (Simple API for XML) –Ağaç-tabanlı İşlem Modeli (Tree-based processing model): Ağaç-tabanlı işlem modelinde XML parser ilk önce XML belgesini okuyarak belge yapısına göre sistem belleğinde bir ağaç oluşturur. Uygulama progamı bu ağaç yapısı içinde dolaşarak gerekli işlemleri yapar. DOM (Document Object Model)

68 68 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML BELGELERİNİN İŞLENMESİ Olay-tabanlı İşlem Modeli (Event-Based Processing model) : XML Parser XML belgesini okurken karşılaştığı nesneleri (başlangıç etiketi, karaketer veri veya bitiş etiketi) bir olay olarak uygulama programına iletir. SAX (Simple API for XML) &quo;Hello, world!&quo;  start document  start element: example  start element: line  text: “Hello, World!”  end element: line  end element: example  end document Olaylar (Events)

69 69 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş DOM ve DOM API DOM (Document Object Model) Ağaç-tabanlı işlem modeli kullanır. DOM, XML ve HTML belgerinin işlemesi için W3C konsorsiyumu tarafından geliştirilmiştir. Ali Demir FirstChild LastChild nextSibling previousSibling childNodes parentNode

70 70 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş DOM ve DOM API Raising Arizona Ethan Coen Joel Coen Ethan Coen Joel Coen Nicolas Cage Holly Hunter John Goodman A classic one-of-a-kind screwball love story. Midnight Run George Gallo Martin Brest Robert De Niro Charles Grodin The quintessential road comedy.. Movies.xml

71 71 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş DOM ve DOM API List Movies 2 Example HTML Document var xmldoc; function LoadDoc() { xmldoc = new ActiveXObject("microsoft.xmldom"); xmldoc.load("Movies.xml"); } function ListMovies() { LoadDoc(); root = xmldoc.documentElement; for (i = 0; i < root.childNodes.length; i++) { DOCCONTENT.innerHTML += " " + root.childNodes.item(i).firstChild.text + " "; DOCCONTENT.innerHTML += root.childNodes.item(i).lastChild.text + " "; } Click the button to list the movies in the Movies XML document. MSXMXL Parser Movies.xml belgesini yükle Kök Belge Elemanı (movies) Movie altındaki son elman (comments) Movie altındaki ilk eleman (title) Kökün altıntaki eleman (movie) sayısı

72 72 XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş


"XML tabanlı B2B Çözümleri, Selim Akyokuş XML tabanlı B2B Çözümleri, Selim Akyokuş XML TABANLI B2B ÇÖZÜMLERİ Doç. Dr. Selim Akyokuş Bilgisayar Mühendisliği." indir ppt

Benzer bir sunumlar


Google Reklamları