Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BILM454 – XML ve XML Web Servisleri

Benzer bir sunumlar


... konulu sunumlar: "BILM454 – XML ve XML Web Servisleri"— Sunum transkripti:

1 BILM454 – XML ve XML Web Servisleri
XML ‘e giriş Öğretim Görevlisi Ertan Deniz

2 Ajanda Geçmişe bir bakış & Giriş XML‘e genel bir bakış

3 Ana referans Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited (Kitap sunumundan uyarlandı.)

4 XML nedir ? XML geliştirilebilir işaretleme dilidir. (Extensible Markup Language.) İşaretleme dili (Markup) nedir ? Text ve komutların birbirinden ayrılması. Örnek : <center> Bu bir <i>önemli </i> dokümandır. </center> <center> ve <i> işaretleme elemanı (Tag) olarak isimlendirilirler. XML’de Tag ların bir başlangıcı (<i>) ve bir bitişi (</i>) vardır. İşaretleme dil yapısı (Elementler,Özellikler ve nesneler) ve onların gösterimi ve fonksiyonu hakkında kurallar sağlar. Verinin tanımlanması ve işaretlenmiş verinin web üzerinde taşınması Farklı teknoloji platformları arasında taşıma. Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

5 Geçmişe bir bakış XML HTML ile ilgili bazı dezavatajları (eksiklikleri) gidermek için geliştirilmiştir. HTML, doküman yapısı ve dokümanın sunumunu tek bir dilde toplamıştır. Dokümanın veri yapısı değiştirilmeden, dokümanının sunum yapısının değiştirilmesi zor olmaktadır. Not : Bu durum XHTML/CSS/Javascript ‘in geliştirilmesi ile değişmiştir. İlk olarak, HTML de aynı ihtiyaçları karşılamak için planlanmıştı. (XML gibi) Hedef, doküman yapısıydı. Sunum ile ilgili özellikler sonradan eklendi. Tarayıcı ürünler arasındaki rekabetin etkisi. Kullanıcıların talebi, bilgilerin sunumu üzerineydi. Sunum ile ilgili talepleri oldu. (Font,Metin yerleşimi gibi)

6 Geçmişe bir bakış XHTML (HTML ve XML’in birleşimi)
Bilgi alma problemi Sunum ile ilgili hususlar (Web sayfalarının güzel görünmesi) Bilgi yapısının önüne geçmiştir. (“Bu bir başlıktır.” gibi) HTML içinde, bir paragrafın başlık olması ve diğerinin devamı olması gerçeği, kaybolmaktadır. Böyle bir sayfa üzerinde arama yapılması için, sunum ile ilgili kuralların bilinmesi Sunum değiştiğinde, programında değişmesi gerekecektir. XHTML (HTML ve XML’in birleşimi) XML sözdizimi kuralları ile birleştirilerek, HTML 4.01 standardındaki tüm elemanlardan oluşmuştur. CSS (Cascading Style Sheets) Web sayfalarında ortak görünümü sağlayabilmek için geliştirilir. CSS ile, tüm formatlama HTML dokümanından çıkarılıp, başka bir dosya da saklanabilir.

7 Geçmişe bir bakış XHTML ve HTML karşılaştırması
XHTML elemanları, düzgün bir şekilde iç içe yerleştirilmeli. XHTML elemanları, mutlaka kapatılmalı. XHTML elemanları, küçük harf olarak yazılmalı. XHTML dokümanları, bir tane kök elemanı olmalı. Kaynak yetersizliği olan Mobil cihazların desteklenmesi ihtiyacı (XHTML) Kötü bir işaretleme dilinin yorumlanması zorluğu.

8 XML yaklaşımı Verinin sayfa içeriği içinden ayrılabilmesi için, HTML özelliklerinin geliştirilmesi Veri ve ilişkili elemanların, XML dokümanı içinde saklanması (Daha sonra, bu derste ele alınacak.) Doküman içindeki elemanların kolaylıkla bulunması sağlayacak programların yazılabilmesi Yapısı itibarı ile, dokümanının kendisini tanıtabilmesi Birlikte çalışabilirlik (Interoperability) Platform bağımsız (Metin olması)

9 XML yaklaşımı (Dezavantajlar)
Sözdizimi gereksiz bir şekilde (uzun) olabilir. XML dokümanları gereksiz bir şekilde büyüyebilir.

10 Yazılım mühendisliği açısından faydalar
Yazılım mühendisliğindeki veri işlemedeki zorluklar Kendi dosya formatlarını tanımlama ihtiyacımız Bu formatları okuyacak, ayrıştırıcı (parser) programların yazılması XML ile, standart bir şekilde dosya formatları tanımlayabilir ve herhangi bir XML ayrıştırıcı programı kullanılabilir. Tekrar tekrar ayrıştırıcı program yazılması gerekmez. Hazır XML kütüphanelerinde yararlanılır. Ayrıştırma işlemi için, daha az kod yazılması

11 XML Kaynaklar Bu derste genel bir bakış sunulması.
En az bir XML kitabı okunmalı XML standart dokümanının incelenmesi XML Seminer ve öğretici kaynaklar, Elliotte Rusty Harold XML öğretici kaynak

12 Ajanda Geçmişe bir bakış & Giriş XML‘e genel bir bakış

13 XML doküman yapısı XML dokümanı aşağıdaki bölümlerden oluşur :
Doküman tipi hakkında tanımlar (DTD – Document Type Definition) Veri DTD verinin yapısını tanımlar. Ayrıştırıcı program, DTD’yi okuyarak, ilgili veriyi ayrıştırma işlemini nasıl gerçekleştireceğini bilir. XML dokümanları ile ilgili tüm bilgi, dokümanın içinde yer alır. (Doküman kendini tanıtır özelliktedir.) DTD yerine, XML şema kullanılmalıdır. (Daha sonra, bu derste ele alınacak)

14 Basit XML Dokümanı <BOOK> <TITLE>
Web Services: Principles and Technology </TITLE> <AUTHOR> Mike P. Papazoglou </AUTHOR> <DATE> 2007 </DATE> <PUBLISHER> Prentice Hall </PUBLISHER> </BOOK> Bu doküman XML işaretleme (tag) elemanları içeriyor. Bir insan ve bir bilgisayar tarafından, içindeki herhengi bir bilgiye ulaşılabilir. (Publisher : Yayıncı bilgisi gibi.) Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

15 XML Sözdizim Kuralları
XML ile, bazı sözdizimi kuralları sunulmuştur. Bu kurallar ile, HTML dokümanlarından daha kolay ayrıştırılırlar: Tüm işaretleme elemanları (Tag) kapatılmalıdır : <p> HTML, p kapatma işaret elemanınının yazılmamasına izin verir. XML vermez.</p> Her kapatma elemanı, açma elemanı ile ilişkilendirilir. HTML’de, <br> gibi tek işaretleme elemanı olabilir. <br> satırı bölmeye yarar. Bu işaretleme elemanının içeriği yoktur. XML’de içerik olmadığında, <br /> şeklinde işaretleme kullanılır.

16 XML Sözdizim Kuralları
Tüm işaretleme elemanları (tag) içindeki değerlerde “” işareti kullanılır : Örneğin ; HTML aşağıdaki yazıma izin verir : <p align=center>blah blah blah</p> XML de aşağıdaki gibi yazılır : <p align="center">blah blah blah</p> Daha bir çok kullanılabilecek karakterler vardır. (Yorum yazma gibi). XML standart dokümanına bakılmalıdır.

17 Düzgün oluşturulmuş XML Dokümanları
XML dokümanları, sözdizim kuralları uyuyorsa, düzgün oluşturulmuş demektir. Düzgün oluşturulmuş XML dokümanları, DTD dokümanına gerek olmadan, herhangi bir XML ayrıştırıcı (Parser) programı ile ayrıştırılabilir. Sözdizimi kurallarına göre, ayrıştırılır. Fakat, DTD olmadan, dokümanın geçerli olup olmadığı bilinemez. (Veya XML Şema) Geçerli dokümanların kullanılması, doküman işleme süreçlerinin kalitesini yükseltir.

18 XML doküman yapısı XML dokümanlarının, tipleri olduğu kabul edilir. (Tipe sahiptir.) XML ‘i oluşturan kısımlar ve yapıları, dokümanın tipini tanımlar. XML dokümanı, içi içe elemanlardan ve elemanların verilerinden oluşur. (Elemanlar,Öznitelikler) XML dokümanı, örnek doküman olarak bilinir. Bu o yapıda temsil edilecek (İşaretleme yapısı), kümenin bir elemanıdır. (Örneğidir.) Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

19 XML doküman yapısı Bir XML dokümanı, aşağıdaki işaretleme elemanı ile başlar : <?xml version=“1.0”?> “?” İşleme komutunu gösterir. Bu komut, XML ayrıştırıcı program içindir. XML doküman hakkında ek bilgiler sağlar. XML dokümanı, ilave işleme komutları içerebilir : Ayrıştıcı program, tüm işleme komutları ile verilen bilgileri kullanarak, ayrıştırma işlemini gerçekleştirir. (Encoding bilgisi gibi)

20 Genel bir XML dokümanı yapısı
Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

21 XML : Elemanlar Elemanlar, adı ve içeriği bilgilerinden oluşan temel birimlerdir. Eleman, başlangıç işareti başlayan ve sonuç işareti ile biten karakter dizesidir. Herşey bu ikisi arasında yer alır. <chapter number="1"> Text for Chapter 1 </chapter> İçerik nedir ? İşaretleme elemanları arasındaki karakterler, içeriği oluşturur. XML dokümanındaki en üstteki eleman, kök eleman olarak bilinir. Elemanların içindeki elemanlar, iç içe (nested) olarak adlandırılırlar. İçeren eleman ana eleman, içerdeki eleman çocuk eleman olarak adlandırılır. Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

22 XML : Öznitelikler XML dokümanlarına veri koymanın diğer bir yolu, öznitelik eklemektir. Öznitelik, eleman ile ilişkilendirilmiş “isim-değer” ikilisidir. Öznitelikler, elemanın içeriğini daha iyi ifade etmek için kullanılır. (Öznitelikler ile ilgili kısıtlar. Daha sonra, bu derste ele alınacaktır.) <?xml version=”1.0” encoding=”UTF-8”?> <BillingInformation customer-type=”manufacturer”> <Name> Right Plastic Products </Name> <BillingDate> </BillingDate> <Address> <Street> 158 Edward st. </Street> <City> Brisbane </City> <State> QLD </State> <PostalCode> 4000 </PostalCode> </Address> </BillingInformation> Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

23 XML:İsimlendirme grupları (Namespaces)
XML içindeki İsimlendirme grupları, tüm dokümanının veya bir kısmının özel bir şema ile ilişkilendirir. (İsim çakışmaları önlenir.) İsimlendirme grupları tanımlarının bir kapsamı var. Bir eleman için tanımlanan isimlendirme grubu, kendisini ve çocuk elemanlarını kapsar. İsimlendirme grubu adı ve elemanın adı ile birlikte, global olarak tekliği ifade eden bir ad aluşturulur. <?xml version=”1.0” encoding=”UTF-8”?> <BillingInformation customer-type=”manufacturer” xmlns=" <Name> Right Plastic Products </Name> <Address xmlns=" <Street> 158 Edward st. </Street> <City> Brisbane </City> <State> QLD </State> <PostalCode> 4000 </PostalCode> </Address> <BillingDate> </BillingDate> </BillingInformation> Tekdüzen kaynak tanımlayıcısı (URI : Uniform Resource Identifier ). Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

24 XML : Veri yapısı XML Dokümanı bir kök tag bilgisine sahiptir.
XML dokümanı 2 şekilde izlenebilir : İşaret dili elemanları ve bunların arasında verinin bulunduğu karakter dizileri. Ağaç ve yapraklarını gösteren bir veri yapısı <book> <chapter n=“1”> Title 1 </chapter> <section n=“1.1”> Section 1.1 </section> <paragraph> …. <paragraph> <section n=“1.2”> Section 1.2 </section> <chapter n=“2”> Title 2 </chapter> <section n=“2.1”> Section 2.1 </section> < paragraph > …. < paragraph > </book> Book Chapter Chapter Section Section Section Paragraph Paragraph Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited 2008

25 XML elemanları ve öznitelikleri hakkında
<person sex="female">   <firstname>Anna</firstname>   <lastname>Smith</lastname> </person> <person>   <sex>female</sex>   <firstname>Anna</firstname>   <lastname>Smith</lastname> </person> İlk örnekte, “sex” bir özniteliktir. (Attribute) Sonraki örnekte, “sex” bir elemandır. Her iki örnekte, aynı bilgiyi sağlar.

26 XML elemanları ve öznitelikleri hakkında
XML özniteliklerinin kullanılmasında dikkatli ol. XML özniteliklerinin kullanılması ile ilgili bazı problemler ; Öznitelikler çoklu değer içermezler (Elemanlar içerebilir.) Öznitelikler ağaç yapısını içermezler (Elemanlar içerebilir.) Öznitelikler, ilerideki muhtemel değişikliklere kolaylıkla genişletilemezler. Özniteliklerin okunması ve bakımı zordur. Veri için, elemanları kullanmalısın. Öznitelikleri, veri ile ilişkili olmayan bilgiler için kullanmalısın. (Anahtar Bilgiler)

27 XML Özet XML, kendi işaret dilimizi geliştirme imkanını sağlar.
İşeret tanım elemanları (Tags), özellikler vb tanımlama imkanı. DTD veya XML şema kullanılması (XML Şema kullanımını tercih et.) İsimlendirme grupları (Namespaces), şemalar arasında isim çakışmalarını önlemek için kullanılır. Temel Web servis teknlojilerini anlamak için önemli. (SOAP,WSDL,UDDI,BPEL) Örnekler seçerek, XML ile doküman modellemede pratik sağlayalım. Aile yapınızı (Ödev) Üniversite yapısını

28 Referanslar Michael P. Papazoglou, Web Services, 1st Edition, © Pearson Education Limited (Book Slides) Kenneth M.Anderson, CSCI 7818 – XML Overview XML Resources, XHTML CSS XML in .NET, Aaron Skonnard

29 Sorular İlginize teşekkürler...


"BILM454 – XML ve XML Web Servisleri" indir ppt

Benzer bir sunumlar


Google Reklamları