Makale Özeti

Bu makalede InfoPath hakkında genel bilgi verilmektedir.

Makale

Untitled Document

INFOPATH ( 1 /2)
INFOPATH VE SQL SERVER 2000

InfoPath diğer bir ifade ile; XML Form Editörü. InfoPath uygulamaları, dışarıdan XML verisi alıp, kullanıcıyı XMLle uğraştırmayarak, bilgiyi görsel açıdan daha doyurucu bir yapıda sunar.

InfoPath Neden Gerekli?

Kodlar arasında dolaşırken bazen sağa bakıyoruz XML, sola bakıyoruz XML. Peki XML bilmeyen, veya XMLin yapısıyla uğraşmak istemeyen yazılımcılar bu XMLle nasıl baş edecekler?

Kimi zaman iş sektöründe eldeki bilgileri XML formatında kaydetmek ve göndermek gerekebilir. Ancak herhangi bi çalışan XMLden hiç anlamıyorsa ne yapmalı?

XMLin ( kimilerine göre ) karmaşık kodlarıyla boğuşmak istemeyenlere InfoPath çözüm oluyor. (Yine de vbscript, jscriptten biraz anlıyor olmak gerekiyor.)

XML yapısı içerisindeki bilgileri, yapılan işleme uygun formatta XML çıktısı üretir. Bu işlemleri, kullanıcının XMLden anlamasına gerek kalmadan ,onun anlayacağı türden yapar.Bu özellikleriyle InfoPath iş sahasına bir çözüm olarak geliyor.

İlişkisel veritabanlarına (SQL Server veya Access gibi), XML web servislerine, BizTalk 2004 sunucusuna çıktı üretilebiliyor.

Kullanım Yolları

InfoPath birçok yolla kullanılabilir. Herbir yaklaşımdaki sonuç, XML dökümanı içinden üretilir.

  • W3C XML Şeması Kullanma: W3C XML şeması veri kaynağı olarak kullanılır. Bu şema, InfoPathte üretilecek olan formun XML yapısını tanımlar.
  • XML dökümanının kullanılması: InfoPath formunun şablonunu belirlemede XML dökümanının kaynak kullanılmasıdır. InfoPath elindeki XML dökümanından otomatik olarak W3C XML şeması üretir.
  • XML Web Servisleri ile Etkileşimli: InfoPath, XML Web servislerine bağlanabiliyor. Web servisinden bilgi almak için, veya web servisine bilgi eklemek için InfoPath formu kullanılabilir.
  • Microsoft Access ile Etkileşimli: Microsoft Access veritabanına ile çok basit bir şekilde, sihirbazla bağlanabiliyor. Bu sayede, veri kaynağından, istenilen tablodan, istenilen alanlar seçilerek, bilgiler InfoPathte veri şeması haline getirilebiliyor.
  • SQL Server 2000 ile Etkileşimli: Access veritabanında olduğu gibi, SQL Server 2000e kolaylıkla bağlanabiliyor. İstenilen verilere bir sihirbazla erişilerek, bu verilerle InfoPath veri şeması elde ediliyor.
  • InfoPathin Arayüzü

    InfoPathin arayüzü diğer ofis programlarına benzer şekildedir. InfoPath formu oluşturmak için iki temel işlem yapılabilir:

    1.Formu Doldurmak(Fill Out a Form): Kullanıcı, InfoPathin içindeki form şablonlarından istediğini seçerek, gerekli alanlardaki bilgileri dışarıdan doldururuz.
    2.Form Şablonları tasarlamak(Design a Form): InfoPath formları kendi oluşturduğumuz form şeklinde tasarlanır.

    Not: Her iki işlem içinde, istemci makinaya InfoPath yüklenmiş olması gerekiyor.

    XML Teknolojileri

    Aşağıdaki listelenen XML teknolojilerinden, InfoPath formları bazılarının tamamını desteklerken, bazıları yalnızca belirli özellikleri desteklenerek, kullanılır.

  • XML 1.0
  • XML 1.0in içindeki isim uzayında.
  • XSLT 1.0
  • XPath 1.0
  • W3C XML Schema 1.0 (Yapıları ve Veritürleri)
  • DOM Level 1
  • XML Digital Signatures
  • SOAP 1.1
  • WSDL 1.1

    SQL Server 2000 Veritabanına Bağlı InfoPath Form Tasarım Örneği:

    Adım adım ilerleyerek, SQL Server 2000deki Northwind veritabanındaki verilere bağlanarak verileri elde edelim.

    1.Adım: InfoPathi açalım.


    1.Şekil: InfoPathi başlatma.

    2.Adım: File menüsünden Design a Form seçeneğini tıklayarak, yeni bir form tasarlama isteğimizi belirtelim.


    2.Şekil: Form şablonu tasarma modu.

    3.Adım: Form tasarlama seçeneklerinden, New a Data Source seçeneği ile belirteceğimiz veri kaynağı aracılığı ile form tasarlayacağız.


    3.Şekil: Veri kaynağı aracılığı ile form tasarlamak.

    Bu seçenek ile bize yol gösterecek bir sihirbaz başlar.

    4.Adım: Veri kaynağı olarak üç seçenek gelir karşımıza:

    1. XML şeması veya XML dosyası
    2. Veritabanı (SQL Server 2000 veya Access)
    3. Web Servisleri


    4.Şekil: Veri Kaynakları.

    Örneğimizi SQL Server ile yapacağımız için, Databases seçeneğini seçerek ilerliyoruz.

    5.Adım: Sihirbazın bir sonraki adımında Select Database seçeneği ile hangi veritabanına bağlanacağımızı belirtiyoruz.

    6.Adım: Veritabanına ulaşmak için kaynak göstermek için New Source komut düğmesine tıklıyoruz.

    7.Adım: Sihirbazın bu adımında, bağlantı kuruyoruz. Bağlantı kurabileceğimiz sunucular:

    1. Microsoft SQL Server
    2. Microsoft SQL Server OLAP Services
    3. ODBC/DSN
    4. Oracle
    5. Other/advanced


    5.Şekil: İstediğimiz veritabanı sunucusuna bağlanma.

    Biz Microsoft SQL Serverı seçerek ilerleyeceğiz.

    8.Adım: Bu adımda, bağlanacağımız sunucuyu ve güvenlik için bağlanılacak kimlik türünü (gerekirse şifreyi) belirtiriz.


    6.Şekil: Sunucu ve kimlik belirtme.

    Kendi bilgisayarımdaki sunucuya bağlanmak istediğimden, sunucu ismine localhost yazıyorum. Siz ağdaki dilediğiniz sunucuya bağlanabilirsiniz. Kullanıcı olarak da, Windows Authentication modunu seçiyorum. Siz kullanıcı ismi ve şifresi girerek, güvenliği artırabilirsiniz.

    9.Adım: Veritabanı seçme adımı.


    7.Şekil: Northwind veritabanının seçilmesi.

    Veritabanı seçme adımında, Northwind veritabanını seçiyoruz.

    10.Adım: İlerlediğimiz adım, ayarlarımızı üzerinde düzeltme yapma imkanı sağlar. Bu adımda herhangi bir değişiklik yapmıyoruz.

    11.Adım: Finish komut düğmesini tıklayarak sihirbazı sonlandırıyoruz.

    Sihirbaz sonlandığında iki görünümle karşılaşırız:

    1.Query view : queryFields seçeneği ile birlikte, herbir veri kaynağı alanı için bir metin kutusu kontrolü içerir. Query view, veri kaynaklarını sorguya çekmek için genelde New Record ve Run Query komut düğmeleri içerir. Bu komut düğmeleri seçimliktir. İstersek silebiliriz.
    2.Data Entry View : Varsayılan değer olarak boştur. Herhangi bir veriyi burada gösterebilmek için, kendimiz kontrol eklememiz gerekir.

    Örneğimizde, Product ID girilen bir ürünün, detay ve kategorisini bulduracağız. Bunun için New Record komut düğmesine ihtiyacımız yok. New Record komut düğmesini silelim.

    DataEntry bölümüne geçelim.


    8.Şekil: DataEntry görünümüne geçilmesi.

    Data Entry görünümünde Data Sourceyi tıklayalım. Burada iki tane alt düğümle karşılacağız.


    9.Şekil: Data Sourceta dataFields alt düğümü.

    dataFields alt düğümünden Product IDyi tutup, sürüklemek suretiyle açık olan forma (Data Entry formuna) bırakalım. Daha sonradan, öğrenmek istediğimiz ProductName alanını aynı çerçeve içine bırakalım. Görünüm aşağıdaki şekildeki gibi olacaktır.


    10.Şekil: Data Entry görünümü.

    Görünümlerden Query görünüme geçerek, araç kutusundan Preview Form diyerek, formumuzda önizleme gerçekleştirelim.

    Gelen ön izlemede, ProductIdye mesela 3 değeri girerek, Run Query komut düğmesine tıklayalım. Bu sayede veritabanındaki ProductIdsi 3 olan kayıdın ProductName alanını elde etmiş oluruz..


    11.Şekil: Formu ön izleme.

    Bu sayede SQL Server 2000de Northwind veritabanındaki bilgilere erişmiş olduk. Sizinde farkedeceğiniz gibi, InfoPath veri kaynağına erişme yöntemini tamamen değiştiriyor. Burada yaptığımız örnekteki gibi, herhangi bir Web servisindeki verilere hiç XML kodlarıyla uğraşmadan, erişip istediğimiz değişikliği yapabilirsiniz.

    Makalenin ikinci (INFOPATH -2 ) bölümünde sihirbaz kullanmadan InfoPath form örneği yapacağız.

    Öznur KARAKUŞOĞLU
    SQLNedir?com