XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR SORULAR VE

Transkript

XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR SORULAR VE
XML DOSYASI İLE İLGİLİ TEKNİK DETAYLAR
SORULAR VE CEVAPLAR
TEKNİK AYRINTILAR
Genel Bilgiler
XML yapısı veri aktarımında bir standarttır. XML konusunda oldukça gelişmiş teknolojiler
mevcuttur. Ancak mümkün olduğunca kolay oluşturulabilmesi ve basitliği göz önüne alındığında
XML Document Object Model (XMLDOM) tercih edilmiştir.
Sistemin bu dokümanı okuyabilmesi için bir takım NODE ve ATTRIBUTE tanımları
kullanılmaktadır. Bu NODE ve ATTRIBUTE dışındaki değerler dikkate alınmamaktadır.
XML dokümanının dil ayarı iso-8859-9 olacak şekilde oluşturulmalıdır. Bu şekilde Türkçe
karakterler sorunsuz algılanabilmektedir.
XMLDOM JAVA, DELPHI, VB ve .NET ortamındaki herhangi bir uygulama geliştirme aracı ile
uyumludur. Bu dillerden herhangi biri ile böyle bir dokümanı alıp okumak veya yeniden oluşturmak
mümkündür.
VB ve Delphi için parser olarak Microsoft XML v4.0 kullanılmıştır. .NET için System.XML
namespace’i içindeki DOMDocument bu işlem için yeterli olmuştur. Java’da ise
“org.apache.xerces.parsers.DOMParser” objesi ve “org.w3c.dom” içinde yeralan Interface’ler
kullanılmıştır. Bu parser objesi ile doküman işlemden geçirilmekte ve obje modeli ile de doküman
üzerinden veriler okunmaktadır.
AKBS Programı çalışmıyor, ne yapabilirim?
AKBS programının doğru versiyonunun ve Java Runtime programının bilgisayarınızda doğru
bir şekilde kurulu olup olmadığını kontrol ediniz.
Programların doğru kurulumunu yaptığınız halde AKBS çalışmıyorsa, internet bağlantınızın
aktif olduğundan emin olunuz. İnternet bağlantınızı kontrol etmek için herhangi bir web sitesini
açmanız yeterlidir. İnternete proxy veya firewall arkasından bağlanıyorsanız lütfen ayarlarınızı kontrol
ediniz.
İşletim sisteminize ait bir sorun nedeniyle programın çalışmaması durumunda teknik servisinizle
irtibat kurmalısınız.
Büyüktür küçüktür işaretlerine ne gerek var?
XML bir standarttır ve bu standarda göre verinin oluşturma şekli bu formattadır.
Normalde bu işlem bir text döküman halinde istenseydi, bunun okunması, yazılması, ileride olası
ek istekler için genişletilmesi çok fazla sorun olabilirdi.
Ayrıca XML hem tablo şeklinde hem de hiyerarşik düzende veri tutabildiği için oldukça
kullanışlıdır.
Standart olması nedeniyle karakter eşleştirme, okutma, yazma, yanlış gelen verinin tespiti
oldukça kolaydır. Virgülle ayrılmış veya eşit genişlikte kolonlara ayrılmış bir tablo halinde
tutulduğunda bu verilerin yanlış okuma olasılığı çok yüksektir. Ayrıca bu ortamda veriyi bir ortamdan
diğer ortama taşımak da büyük bir sorun olurdu.
Her ortamda ISO-8859-9 formatındaki XML dosyası aynı görünür ve doğrudan okutulup
işlenebilir.
Neden MD-5?
Çok kullanılan, standart bir HASH algoritması ve standart olması nedeniyle farklı sonuç üretmesi
beklenmez.
Farklı uygulamalar olabilir. Projede istenen: sonucun 16 byte'lık bir veri olması ve bunun hex
karakterlere çevrilerek 32 harflik bir seri şeklinde yazılmasıdır.
MD-5 algoritmasını nereden bulabilirim?
İnternet üzerinde bir çok sitede açık kodu bulunabilir. Google üzerinden taratıldığında VB için en az
3, delphi için 2 ve javascript için 1 örnek kod bulundu.
Bu araştırma yaklaşık yarım saat sürdü ve kaynak kodlar oldukça açık anlaşılır kodlardı.
Java ve .NET (VB.NET, C#, J#, Delphi 8 ) için herhangi bir program araştırmaya gerek yok. MD-5
hazır olarak bu dillerin kütüphanelerinde var.
Nereyi hesaba katacağım?
Konaklama ile başlayan ve Konaklama ile biten aralık Konaklama tag'ları da dahil olmak üzere
hesaplanmalıdır.
Tersten söylersek döküman içinde yeralan <? ?> işaretlerinin olduğu satırları sildiğinizde geriye ne
kalıyorsa hash algoritmasına dahil edilmelidir.
Yan taraftaki tabloda, örnek bir XML dosya ve bu tabloya uygulanacak hash algoritmasının alanları
gösterilmektedir.
Yan taraftaki ve aşağıdaki tablolarda koyu renkle seçili olarak görünen alanlar hash algoritmasında
hesaba katılmalıdır.
Bunu nasıl deneyeceğim?
AKBS uçbirim 1.1.0 sürümünde, kurulumla beraber iki adet örnek XML dosyasıda c:\akbs\ dizini
altına konmaktadır. Bunlar incelenebilir.
Ayrıca internet üzerinde http://pajhome.org.uk/crypt/md5/index.html adresinde bulunan
sayfadaki test alanı bu iş için kullanılabilir. Burada dikkat edilmesi gereken bir husus, türkçe
karakterler normalde iki karakterle ifade edilir. Bu nedenle türkçe karakterlerin MD-5 hash değeri
yanlış çıkabilir. Test yapmadan evvel, Internet explorer'da view --> Encoding --> Turkish (ISO)
seçilmelidir. Bu şekilde doğru bir sonuç elde edebilirsiniz. Bir diğer nokta buradaki örnek uygulama
tek satır alıyor. Tüm metni tek satır haline getirip ancak öyle deneyebilirsiniz.
Örnek XML dosyaları, dosyanın hash değerini hesaplayan bir programla denedim hash
değerleri tutmuyor. Neden?
Bu örnek XML dosyalarının içinde <? ile başlayıp ?> ile biten ilk iki satırı silmezseniz hash
değerleri tutmaz. Hesaba <?xml ve <?hash ile başlayan satırları sokmamanız gerekiyor.
Ben hesaplayıp yazıyorum ama AKBS uçbirim kabul etmiyor. Neden?
Büyük harf /küçük harf farklılığı : Döküman içine yazılan hash değeri büyük harflerle yazılmalıdır.
Küçük harflerle yazıldığında program kabul etmez.
Konaklama taglarının sonuna yerleşen satır sonu işareti : Kullandığınız programlama diline ve
kullandığınız komutlara bağlı olarak, bir metni dosyaya yazdırdığınız zaman bunu tek satır gibi kabul
edip satır sonuna fazladan CR/LF (0x0A 0x0D) karakterleri gelebilir. Eğer bunu dikkate almazsanız
dosya ile ilgili işlem bittiğinde dosyanın sonuna eklenen bu iki karakter hash değerinin yanlış çıkmasına
neden olur.
Satır satır yazılan bir dosyada satırların sonuna yerleşen satır sonu karakterlerinin hesaba dahil
edilmemesi : Bir dosya yazma işlemi esnasında her satırın sonuna programlama dilinin kendisi
fazladan karakterler ekler bu nedenle hash hesaplama fonksiyonuna bu satırlar gönderilirken,
programlama dili hangi karakterleri ekliyorsa sizinde ekleyerek hash hesabına katmanız gerekir.
Yukarıda çerçeveye alınan yerler satır sonu işaretidir. İşletim sistemine göre satır sonu işaretleri
değişebilir. Windows için satır sonu 0D 0A karakterleridir. Aslında XML açısından satır sonu, boşluk
gibi karakterlerin önemi yoktur. XML veriyi işlerken bu karakterleri görmez. Önemli olan tag'lar
içinde yeralan veridir. Ancak eğer isterseniz Tag'lar arasında yeralan metni bir komutla alabilirsiniz.
Hash hatasından kurtuldum. Ama başka hata veriyor. Neden?
Programın 1.1.0 sürümünde hash kontrolünün yanısıra XML formatında bahsedilen bir takım
kontroller de ilave edildi. Önceki sürümlerde bu kontroller olmadığı için sunucularda işlenemeyen
kayıt sayısı oldukça arttı. Yazılım firmaları bu kontrolleri koymadıkları için veya oluşturdukları
verilerde hatalar olduğu için yeni sürümde bu kontrolleri uçbirim programına yerleştirmek zorunda
kaldık.
TCKimlik Numarası hata veriyor. Neden?
TC Kimlik numarası eğer doğru girilmezse hata alırsınız. Bu alan uyruğu TC olanlar için
zorunludur. TC Kimlik numarasında kredi kartı gibi bir kontrol mekanizması mevcuttur. Yani rastgele
rakam atarak TC Kimlik numarası yazamazsınız. TC Kimlik numarasındaki bu kontrol yapısı program
içinde işletilerek rakamların doğruluğu tespit ediliyor.
XML DOSYASININ OLUŞTURULMASI İLE İLGİLİ SIK SORULAN SORULAR
1- Kod Veya Şifre Yanlış
a. Kod ve şifre yazılırken büyük küçük harfe dikkat edilmemesi
b. Tesis kodunun şifre kısmına yazılması
2- Connect Tıme Out
a- İnternet kablosu takılı değildir.
b- İnternet bağlantısında problem vardır.
c- Kurumsal internet hatlarını kullanan tesislerin fairwal (Güvenlik ayarları) ayarlarından
kaynaklanan hatalar (99-88) nolu portların açılması gerekmektedir.
3- Böyle Bir Tesis Sistemde Tanımlı Değil
a- POLNET ortamına kaydı yapılan tesisin internet ortamına transferinin yapılmadığı
anlamına gelir.
b- Sezonluk çalışan veya sezon başında kod ve şifresini aktif hale getirtmediği anlamına
gelir.
4- Konaklama Listesindeki Xml Dosyasındaki Tesis Kodu İle Akbs İçindeki Tesis Kodu
Farklı
Otomasyon programı kurulumu yapan tesisin firmaya programını aktif hale getirmemesi
5- Xlm Dosyası İçerisinde Hash Değeri Bulunamadı
Otomasyon programının oluşturduğu konaklama listesinin şifreleme işlemlerinde hata var.
Otel otomasyon programcısı gerekli işlemleri yapmalı. Ayrıntılı bilgi www.asayis.pol.tr
adresinde mevcut.
6- Mscrv 71 Dosyası Bulunamadı
Bilgisayarda kurulu olan java programında eksik olan dosya nedeni ile hata verilmektedir.
7- Uç Birim Programında Gönderilen Paketler Listesinde Satır Atlıyor
a- Güncelleme yapıldı mı?
b- Tarih aralıkları doğru seçildi mi?
c- XML dosyasının içindeki tarih bilgileri uygun değil. Otomasyon programcınızla
görüşmeniz gerekmektedir.
8- Kişi Geliş Tarihi Xml Oluşma Tarihinden İleri Olamaz Hatası
Gönderilmeye çalışan XML dosyasının içindeki bi kişinin otele giriş tarihi xml dosyasının
oluştuğu tarihten ileri. Bunun düzelmesi gerekmekte. Ayın 1 inde oluşturulan bir XML
dosyasının içinde ayın 2sinde otele gelmiş biri olamaz.
9- Sunucu Bilgisayara Erişim Yok
a- İnternet bağlantısını kontrol ettin mi?
b- 9988 portu açık mı?
c- EGM sunucuları en son kontrol edilmeli... Sunucu durumları kısmından
10- Tesis Kodu Ve Pin Numarası Doğru Değil vs. Hatalar
a- Programı daha önceden kullanan tesisler giriş sekmesinden ilk defa giriş yapacaktır.
b- Programı ilk defa kullananlar ise kayıt onay sekmesinden bir defaya mahsus pin
numaraları ile kayıt onay işlemi yapacaktır.