12 Kasım 2012 Pazartesi

TWAIN


TWAIN yazılım uygulamaları ile tarayıcı, dijital kamera gibi medya aygıtları arasındaki iletişimi düzenleyen uygulama programlama ara yüzü (API) ve yazılım protokolüdür.  TWAIN tasarımı Ocak 1991’de başlamıştır.

TWAIN Çalışma Grubunda Yer Alan Firmalar
·         Adobe
·         Hewlett-Packard (HP)
·         Fujitsu
·         Epson
·         Kodak
·         Avision
·         Atalasoft
·         Dynamsoft
·         JFL

Bağlantılar
·         www.twain.org

7 Kasım 2012 Çarşamba

Well-Known Text (WKT)


Vektör geometri objelerini harita üzerinde görüntüleyebilmek, mekansal nesnelerin mekansal referans sistemlerini belirtebilmek ve mekansal referans sistemlerini birbirleri arasında dönüştürebilmek için kullanılan metin işaretleme dilidir. WKT PostGIS ve DB2 gibi veritabanlarında mekansal bilgilerin saklamak ve transfer etmek için kullanılır. Formatlar OGC tarafından tanımlanır ve “Simple Feature Access ve “Coordinate Transformation Service” spesifikasyonlarında açıklanır.
Tanımlanabilecek Geometrik Nesneler
·         Geometri (Geometry)
·         Nokta (Point), Çoklu Nokta (MultiPoint)
·         Çizgi (LineString), Çoklu Çizgi (Multi LineString)
·         Çokgen (Polygon), Çoklu Çokgen (MultiPolygon) , Üçgen (Üçgen)
·         Daire (CircularString)
·         Eğri (Curve), Çoklu Eğri (MultiCurve), Bileşik Eğri (CompoundCurve)
·         Eğri Çokgen (CurvePolygon)
·         Yüzey (Surface), Çoklu Yüzey (MultiSurface), Çokyüzeyli (PolyhedralSurface)
·         TIN
·         Geometri Kolleksiyonu (GeometryCollection)
Geometri koordinatları 2D (x,y), 3D (x,y,z), 4D (x,y,z,m) olabilir. M değeri doğrusal referans sisteminin bir parçasıdır. Üç boyutlu geometriler geometri tipinden sonraki “Z” ile, doğrusal referans sistemlerinde ise geometri tipinden sonraki “M” ile belirtilir. Koordinat içermeyen boş geometriler geometri tipinin adından sonraki EMPTY sembolü ile belirtilir.
WKT geometrileri OGC spesifikasyonlarına göre ve bu spesifikasyonları destekleyen uygulamalar tarafından kullanılır. Örneğin PostGIS geometrileri WKT’ye çeviren böylece geometriyi insanlar tarafından okunabilecek hale getiren fonksiyonlar içermektedir.
WKT Geometri Tanımlama Örnekleri
·         POINT (30 10)
·         LINESTRING (30 10, 10 30, 40 40)
·         POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))
·         POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10),(20 30, 35 35, 30 20, 20 30))
·         MULTIPOINT (10 40, 40 30, 20 20, 30 10)
·         MULTILINESTRING ((10 10, 20 20, 10 40),(40 40, 30 30, 40 20, 30 10))
·         MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))

Coğrafi Bilgi Sistemleri Sözlüğü


Entity (Varlık):
Boundry (Sınır):  Bir varlığın limitlerini tanımlar.
Buffer (Tampon): Belirtilen bir geometrik nesneye belirli bir uzaklıkta veya daha kısa mesafedeki alanı kapsayan geometrik nesnedir.
Coordinate (Koordinat):  Bir noktayı n boyutlu uzayda tanımlayan n uzunluktaki sayı dizisidir.  Koordinat referans sistemlerinde bu sayı birimler tarafından sınırlandırılabilir.
Coordinate Dimension (Koorinat Boyutu): Koordinat sistemindeki bir noktayı tanımlamak için kullanılacak ölçümlerin sayısıdır.
Coordinate Reference System (Koordinat Referans Sistemi):  Koordinat sisteminin bir datum yardımıyla gerçek dünya ile ilişkilendirilmesidir.
Coordinate System (Koordinat Sistemi):  Koordinatların her bir noktaya nasıl atanacağını ortaya koyan matematik kuralları bütünüdür.
Curve (Eğri): Bir çizginin devamlılığını gösteren topolojik tek boyutlu basit geometridir. Bir eğrinin sınırı
Direct Position (Direkt Pozisyon): Bir koordinat sisteminin sınırları içindeki bir tek koordinatın tanımladığı pozisyondur.
End Point (Bitiş Noktası): Bir kavisin son noktasıdır.
Exterior (Dış): Uzay ile kapatılan sınırlar arasındaki farktır. Kapatılan sınırların dışındaki alandır.
Feature (Özellik): Gerçek dünya durumlarıdır. Özellik bir tür veya bir örnek olabilir. (Ülke, Mahalle, Kişi vb.)
Feature Attribute(Özellik Özniteliği): Bir özelliğin karakteristiğidir.
Bir Feature Attribute’ün bir adı, veri tipi ve onunla ilgili veri kümesi vardır. Bir Feature Instance’ın  Feature Attribute’nün değer kümesinden aldığı bir öznitelik değeri vardır. Bir feature’ın sahip olabileceği özniteliklerle ilgili bir kısıtlama bulunmamaktadır. Feature ile ilişkili ad ve T.C. No gibi geometriler de sadece bir özniteliktir.
Geometric Complex ():   Tüm basit geometrilerin sınırı tüm geometrilerin birleşiminin sınırı olan farklı basit geometriler topluluğudur.
Geometric Object (Geometrik Nesne): Bir geometri kümesini tanımlayan mekansal nesnedir.
Basit geometrilerden, basit geometri koleksiyonlarından veya “geometrik complex” içeren geometrik nesne tek bir varlık gibi hareket eder. Bir geometrik nesne bir özellik veya bir özelliğin önemli bir parçası gibi bir nesnenin mekânsal gösterimi olabilir. Gösterimi ne olursa olsun feature’ın genellikle kapalı olduğu varsayılır. Feature sınır noktalarının geometri üzerinde açıkça gösterilmese bile feature’a ait olduğu varsayılır. Topolojik bir varlık temsil edilirken geometrik nesnelerin kendi sınırlarını içermesi beklenmez.
Geometric Primitive (Basit Geometri): Uzaydaki tek, bağlı ve homojen bir element.
“Geometric Primitive”’ler geometrik konfigrasyon ile ilgili bilgileri gösteren ayrışık olmayan nesnelerdir. Yüzeyler, katı cisimler, eğriler ve noktalar içerir. Genel kullanımın aksine uzayın doğal sürekliliği nedeniyle basit geometri daha küçük nesnelere parçalanabilir. Primitive’ler daha fazla ayrıştırılmak istenmeyen şeylerdir.
Interior (Dâhili): Sınırları hariç geometrik nesnenin üzerindeki koordinatlardır.
Bir topolojik nesnenin interior’u
Linear Referencing System (Doğrusal Referans Sistemi) (Linear Positioning System): Pozisyonlama Sistemi bir referans noktasından bir rota boyunca uzaklığı ölçer. Sistem komple bir prosedür kümesi içerir.
Point (Nokta): Bir pozisyonu gösteren sıfır boyutlu basit geometridir. Noktanın sınırları yoktur.
Simple Feature (Basit Özellik):
Start Point (Başlangıç Noktası): Bir eğrinin ilk noktasıdır.
Surface (Yüzey):  Düzlemde bir bölgeyi temsil eden iki boyutlu basit geometridir.
Yüzeyin sınırları yüzeyin limitlerini şekillendiren kapalı ve ilişkili eğriler kümesidir.

Open Geospatial Consortium (OGC)


Open Geospatial Consortium (OGC) şirket, devlet kurumu ve üniversiteler gibi 468 kuruluşun oluşturduğu uluslar arası bir topluluktur. Bu konsorsiyum halka açık ara yüz standartlarını geliştirmek için çalışmaktadır. OGC standartları web, kablosuz ve konum tabanlı servisler ile genel Bilgi Teknolojilerinin coğrafi bilgi teknolojileri ile birlikte çalışabilen çözümleri sunmasını sağlar. Standartlar karmaşık mekânsal bilgi ve servislerin her türlü uygulama ve servis tarafından ulaşılabilir ve kullanılabilir olmasını sağlar.
OGC ve OPENGIS “Open Geospatial Consortium”’un kayıtlı ticari markalarıdır.  OGC, OGC tarafından üretilen belge ve standartlar ile ilgili markanın adıdır. OGC standartları OGC’nin endüstri şirketleri, hükümetler ve akademik üyelerinin uzlaşması sonucu geliştirilir.
Bazı OGC Standarları
·         OpenGIS Geography Markup Language (GML)  (Coğrafi İşaretleme Dili)
·         OpenGIS Web Map Service (WMS)   (Web Harita Servisi)
·         OpenGIS Web Feature Service (WFS)  (Web Öznitelik Servisi)
·         Web Processing Service
·         OpenGIS® SWE Service Model
·         OpenGIS Web Map Context
·         OpenGIS Symbology Encoding
·         OpenGIS Filter Encoding 2.0

ASMX VE WCF (SVC) SERVİSLERİNİN KARŞILAŞTIRMASI



1.       VERİ TAŞIMA PROTOKOLLERİ (Transport Protocols)
Asmx servisleri sunucu olarak Internet Information Services (IIS) ile iletişim için HTTP Protokolünü kullanır. Bir ASMX servisine .asmx uzantılı bir dosyanın URL’si ile erişilir. Örneğin:http://www.geziniyorum.net/TarihiYerler.asmx
WCF Servisleri de HTTP Protokolünü kullanır. Fakat ASMX Servislerinden farklı olarak diğer veri taşıma protokollerini kullanılma seçeneği sunar. WCF tarafından şu protokoller desteklenmektedir:
·         Hypertext Transfer Protocol (HTTP)
·         Transmission Control Protocol (TCP)
·         Message Queuing (MSMQ)
·         Named pipes
WCF servisleri ile birlikte birçok farklı sunucu da kullanılabilir. Örneğin HTTP Protokolü ile IIS kullanılabilir. Windows servisleri ve bağımsız uygulamalar diğer protokoller için sunucu olarak kullanılabilir.
IIS’ten sunulan bir WCF servise ulaşmak ASMX servisine ulaşmaya benzer.  Sadece dosya uzantısı (svc) farklıdır. Bununa birlikte bir WCF Servisi “asmx” uzantılı olacak şekilde yapılandırılabilir. Diğer veri taşıma protokollerini kullanan servislere ilgili protokolün metotları kullanılarak erişilir.
Bir ASMX servisi WCF Servisine dönüştürülürken seçilecek protokol servisi kullanacak istemci uygulamalarına göre belirlenir. Eğer ASMX istemci uygulamalarını desteklemeniz gerekiyorsa HTTP Protokolünü ve “BasicHttpBinding” kullanmanız gerekir.
2.       GÜVENLİK (Security)
Genellikle ASMX Servislerinde kimliklendirme ve yetkilendirme IIS ve ASP.NET güvenlik ayarları ve taşıma katmanı güvenliği ile yapılır. Ayrıca mesaj katmanı güveliği gibi ek güvenlik yeteneklerini sağlamak için Web Service Extensions (WSE) kullanılabilir.
WCF ASMX güvenlik bileşenlerini kullanabilir. Bunlara ek olarak WCF istikrarlı güvenlik programlama modeline imkân sağlayan kendi iç güvenlik sistemine sahiptir. Güvenlik bir ASMX servisi WCF’e dönüştürmenin önemli sebeplerinden biridir.

3.       SOAP EKLENTİLERİ (SOAP Extensions)
Geliştiriciler SOAP mesajlarını direkt olarak etkilemek için ASP.NET’in SOAP Eklentileri özelliğini kullanabilirler. SOAP Eklentileri ile SOAP mesajlarının arasına girerek kendi kodumuzu mesajların arasına ekleyebiliriz. Böylece SOAP kabiliyetlerini daha da geliştirmiş oluruz. Örneğin güvenlik, yönlendirme gibi özellikler SOAP Eklentileri ile gerçekleştirilebilir. Bu özelliğin olumsuz tarafı ise SOAP mesajının diğer İşletim Sistemleri ile birlikte çalışmasında sıkıntılar çıkarmasıdır.
WCF SOAP Eklentilerini desteklemez fakat SOAP mesajları üzerinde işlem yapmak için başka ek bileşenleri vardır. Mesela Behaviour özelliği kullanılabilir.

4.       HATA YÖNETİMİ (Exception Handling)
ASMX Servislerinde beklenmedik hatalar her zaman SOAP hatası olarak istemci uygulamalara döndürülür. Bir ASMX Servisi ayrıca, istemciye döndürülen SOAP hatası üzerinde daha fazla kontrol imkânı sağlayan “SoapException” sınıfı da döndürebilir.
Yinwe de beklenmedik bir hata oluştuğunda WCF’in varsayılan yapılandırması SOAP hata mesajları içinde önemli bilgi döndürmeyerek hassas verileri korur.
ASMX Servislerindeki “SoapException” sınıfına benzer olarak “FaultException<T>” tipini kullanarak özel hatalar da fırlatılabilir. “<T>” Hata bilgilerini içeren döndürülecek verinin tipidir.
5.       DURUM YÜNETİMİ (State Management)
6.       MESAJ YAPISI (Message Structure and Serialization)
ASMX VE WCF (SVC) SERVİSLERİNİN FARKLARI