- 23 Aug 2023
- 7 Minutes to read
- DarkLight
Transfer Tanımları
- Updated on 23 Aug 2023
- 7 Minutes to read
- DarkLight
Transfer Servisi Nedir?
PaperWork Transfer Servisi, dış sistemlerden gelen bilgi veya belgelerin kolayca arşivlenmesini sağlayan bir hizmettir. Transfer tanımı ile şu işlemlerin yapılması mümkündür :
- Dış sistemlerde oluşan veriler ile dosya kartı kaydı oluşturmak veya mevcut kayıtlarda güncelleme yapmak.
- Dış sistemlerde oluşan verileri ile belgesiz kayıt (Sistem Tipi) oluşturmak ve güncellemek.
- Dosya kartı ekine indeks verileri ile birlikte belge arşivlemek.
- Kabinetlere indeks verileri ile birlikte belge arşivlemek.
- Toplu iş akışı başlatmak.
Bilgi ve belgelerin toplu olarak PaperWork mimarisi içerisinde arşivlemek için SQL Server veri tabanı üzerinde bir tablo oluşturmak gerekir. Bu tablo üzerinde ihtiyaç duyulan bazı alanlar bulunmaktadır. Aşağıda verilen örnek tablonun kolon isimleri farklı olabilir, transfer tanımı esnasında listelerden seçilir.
TRANSFER_ID : Transfer için kullanılacak benzersiz numara içeren alandır. Genellikle otomatik artan sayı alanı olarak tanımlanır. Tablonun birincil alanı olarak (Primary Key) tanımlanmalıdır.
TRANSFER_STATE : Aktarım durumunu gösterir. Aktarımı yapılmayan kayıtlar için bu alanda bilgi bulunmaz. Aktarım başarılı bir şekilde gerçekleşirse SUCCESS değerini, başarısız olmuşsa FAIL değerini alır.
TRANSFER_MESSAGE : Transfer sırasında hata oluşması durumunda, hatanın detayı bu alana yazılır.
TRANSFER_PRIORITY : Transfer önceliğini gösterir, kayıt aktarımı bu alana göre sıralanarak yapılır.
TRANSFER_DATE : Aktarımın yapıldığı tarih-saat bilgisi bu alana yazılır.
FILE_PATH : Belge aktarımı da yapılacak ise bu alana belgenin ya da belgeleri içeren klasörün yolu, belgenin adı ve uzantısı ile birlikte yazılır. İçerik aktarımı yapılmayacak ise bu alana gerek yoktur. Örneğin : "C:\Paperwork\Fatura_Arsiv\Fatura_20210511_823798.xml" şeklinde yazılması gerekir.
Bu alanlara ek olarak indeks alanlarını içeren veri kolonları da bu tablo üzerinde tanımlanmış olmalıdır. Tablo kolonlarının tip üzerinde tanımlanmış veri alanları ile birebir aynı olmasına özen gösterilmelidir.
Örneğin; Transfer tanımı ile müşterileriniz için otomatik dosya kartı açılmak istendiğini düşünelim, Müşterilerimize ait müşteri kodu, müşteri adı , telefon, faks, eposta adresi, vkn bilgileri olsun. Aktarım için şu şekilde bir tablo tanımı yapılmalıdır :
CREATE TABLE TR_CUSTOMER
(
TRANSFER_ID INT IDENTITY(1,1) NOT NULL,
TRANSFER_MESSAGE VARCHAR(MAX) NULL,
TRANSFER_PRIORITY INT NULL,
TRANSFER_STATE VARCHAR(50) NULL,
TRANSFER_DATE DATETIME NULL,
FILE_PATH VARCHAR(1000) NULL,
CUSTOMER_CODE VARCHAR(50) NULL,
CUSTOMER_NAME VARCHAR(200) NULL,
PHONE VARCHAR(50) NULL,
FAX VARCHAR(50) NULL,
EMAIL VARCHAR(100) NULL,
VKN VARCHAR(50) NULL,
CONSTRAINT [PK_TR_CUSTOMER] PRIMARY KEY CLUSTERED ([TRANSFER_ID] ASC)
)
Transfer Tanımı Oluşturma
Tanımlamalar - Transfer Tanımları menüsü altındadiyerek bir transfer tanımı oluşturabilirsiniz.
Transfer Tanımı
İlk adım olan transfer tanımı adımında genel bilgiler verilir.
Transfer Adı : Transfer tanımına verilen isimdir, kullanıcı herhangi bir isim seçebilir.
Bilgi Elektronik Posta : Transfer tamamlandıktan sonra sonuç başarılı ise bilgilendirme yapılan elektronik posta adresidir.
Hata Elektronik Posta : Transfer tamamlandıktan sonra sonuç başarısız ise hata durumunun gönderileceği elektronik posta adresidir.
Durumu : Transfer tanımının durumunu gösterir.
Transfer Önceliği : Birden fazla transfer tanımı varsa, öncelikle hangi transferin başlaması gerektiği bilgisidir.
Kayıt Sayısı : Transfer başladığında bir defada aktarılacak kayıt sayısıdır.
Transfer Kaynağı
İkinci adım olan transfer kaynağı bölümünde kayıtların alınacağı veri tabanı bilgileri verilir.
Transfer servisi sadece Microsoft SQL üzerinden çalıştığı için burası sabit olarak Ms Sql Server olarak gelir. Bundan sonra sunucu, kullanıcı adı ve şifre bilgileri girilir ve bağlan tuşu ile bağlantı test edilir. Bağlantı başarılı ise hemen alt kısımda sunucu üzerine bulunan veri tabanı listesi ve o veri tabanında bulunan tablolar gelir. İlgili veri tabanı ve tablo seçilerek sonraki ekrana geçilir.
Transfer Hedefi
Burada tanımlanan alanlar, en başta belirtilen standart alanlardır. Oluşturulan tabloda bunlara ne şekilde isim verildi ise o alanlar seçilir. Default bilgiler verildi ise ekran görüntüsü şu şekilde olacaktır.
Hedef türü olarak arşiv veya iş akışı seçilebilir. Eğer sadece indeks bilgileri aktarılacaksa doküman kolonu boş bırakılır. Eğer varsa koşul girilir, örneğin kayıtların bir bölümü alınacak ise "Customer_Status=1" şeklinde yazılır. Aktarıldıktan sonra kaynak kayıtlar silinecek ise, kaynak satırları sil kutusu işaretlenir.
Doküman kolonu dolu ise, yani belge aktarımı da varsa aktarım sonrası işlem listesi aktif olur. Burada klasör belirlenir ve aktarım sonrasında kaynak belgeler silinebilir veya başka bir alana (mesela temp bir alana) taşınabilir.
Hedef Bilgileri
Eğer arşiv aktarımı seçilmiş ise ekran şu şekilde gelir ve kabinet bilgilerini ister. Kabinet seçildikten sonra tip alanları kullanılarak kabinet yolunun bu verilere göre otomatik oluşması sağlanabilir.
İş akışı seçildi ise, iş akışı ve akışı başlatacak olan kullanıcı bilgilerini girmek gerekir.
Alan Eşleştirmeleri
Bu adımda arşiv seçildi ise kabinet alanları eşleştirmeleri, akış seçildi ise iş akışı alan eşleştirmeleri yapılır.
İncele & Kaydet
Bu adımda, bundan önce yapılan tüm seçimlerin bir özeti görünür. Herhangi bir hata yapmış olmamak için bu bilgiler incelenir. Bir hata yapıldı ise ilgili adıma geri dönülüp hata düzeltilir ve düzeltilen adımdan sonraki adımlar değişikliğin başka bir soruna yol açmaması için tekrar edilir. Hatasız bir giriş yapıldığında emin olduktan sonra tanımlama kaydedilir.
Örnek Transfer Tanımı
Bu örnek ile disk üzerinde toplu belgeleri bulunan belgelerin PaperWork kabinetinde arşivlenmesi için gereken tanımların yapılması açıklanmıştır.
Senaryomuza göre Genel isimli bir kabinet bulunmaktadır. Disk üzerinde bulunan belgeler ve SQL Server üzerinde bir tabloda bulunan tip verileri bu kabinete arşivlenecektir.
Tip yapısı şu şekildedir;
Tip alanlarına uygun olarak aşağıdaki tablo SQL server üzerinde oluşturulmuştur;
CREATE TABLE TR_ISDD(
IDNO int IDENTITY(1,1) NOT NULL,
NAME_SURNAME nvarchar(100) NULL,
TCKN nvarchar(11) NULL,
BIRTH_DATE datetime NULL,
XDATE datetime NULL,
XPLACE nvarchar(50) NULL,
ERR nvarchar(200) NULL,
PRIORITY int NULL,
STATE nvarchar(20) NULL,
FNAME nvarchar(500) NULL,
XFORMAT nvarchar(20) NULL,
CONSTRAINT PK_TR_ISDD PRIMARY KEY CLUSTERED (IDNO ASC)
)
Tablo üzerinde tip alanları ve işlemleri takip etmek için bir dizi kolon daha bulunmaktadır. Bu kolonların tamamı aşağıda tanım ekranlarında açıklanmıştır. Tabloda dikkat edilmesi gereken mutlaka PRIMARY KEY alanının bulunmasıdır. Bu örnekte PRIMARY KEY alanı kendi kendine artan integer veri tipinde bir alanolarak belirlenmiştir.
Aşağıda gösterilen sihirbaz ekranı ile tanım başlatılmıştır. Burada bilgi elektronik postasına her aktarım sonucu otomatik olarak gönderilir, zorunlu değildir. Hata elektronik postasına ise aktarım esnasında alınan hatalar listelenir ve zorunludur.
Eğer birden fazla transfer var ise bunların hangi sıra ile başlayacağı belirlenebilir. Bu durumda transfer önceliği alanı doldurulur. 1 en yüksek öncelik anlamına gelir.
Not: Transfer servisi 1 dakika aralıkla tetiklenerek zamanı gelen tüm transferlere bakar. Bu transferler içinde birden fazla transfer var ise öncelik sırasına göre sıradan işlem yapar.
Kayıt sayısı alanı ise tek seferde kaç adet kaydın işleneceğini ifade eder. Transfer çalıştığında buradaki rakam kadar tablodan kayıt alır ve işler. Bu rakama eriştiğinde durur ve bir sonraki periyoda kadar işlem yapmaz.
Transfer Kaynağı;
Aşağıdaki ekranda ise SQL Server tablo bilgileri listelenir. Bu tablo Content Server sunucusunun erişebileceği bir SQL Server olmak zorundadır, PaperWork veri tabanında olması gerekmez.
Bu ekranda sunucu, veri tabanı bilgileri girilerek bağlantı kontrolü yapılır ve entegrasyon için kullanılacak tablo seçilir.
Hedef;
Aşağıdaki ekran kullanılarak standart tabloda olması gereken alanlar seçilir.
Bu örneğimizde belgeler arşivleneceği için transfer türü Arşiv olarak seçilmişti.
Tip alanlarının eşleşmesi esnasında listeye veri tipine uygun değerler gelecektir Seçim esnasında kolonları boş bırakarak işlem yapılabilir.
Anahtar Kolon: Bu kolon tablonun PRIMARY KEY kolonudur. Bu kolonda veriler tekil olmalıdır. Sayısal bir kolon olmalıdır.
Hata Kolonu: Aktarım esnasında eğer hata alınır ise hatanın yazılacağı kolondur. Genelde VARCHAR(200) olarak tanımlanabilir.
Öncelik Kolonu:Tek seferde alınacakolan kayıtların hangi sıra ile alınacağını ifade eder. Sayısal bir kolon olmalıdır.
Durum Kolonu: Satırın durumunu yazmak için kullanılır. Şu değerler olabilir: SUCCESS, ERROR. Genelde VARCHAR(20) olarak kullanılabilir.
İşlem Tarihi Kolonu: Kayıt işlenirken işlendiği tarihin kolonudur. DATETIME olmalıdır.
Doküman Kolonu:Belgenin Content Server'a göre disk yolunun kolonudur. Eğer Content Server ile aynı makinede ise C:\Transfer.. gibi bir yol üzerinde tam adı bulunmalıdır. Eğer network üzerinde bir diskte yer alıyor ise \\ServerName... gibi bir adı bulunur. Belge Network üzerinde ise PaperWork Transfer servisi o disk yoluna erişebilecek bir kullanıcı ile başlatılmalıdır. Aynı durum network üzerinden bir disk alanını D:\ gibi map edildiğinde de geçerlidir. Yazı nesnelerinin seçiminin yapıldığı kolondur.
Koşul: Eğer kayıtların alımı esnasında kayıtların hepsi kullanılmayacak ise bir koşul eklenebilir. Bu SQL kodundaki where bölümü gibidir. Örneğin XFORMAT='DOC' yazılabilir. Bu durumda XFORMAT kolonu bu kritere uygun olan kayıtlar arşivlenir.
Kaynak Satırı Sil: Eğer aktarım sonrası durum kolonu SUCCESS olur ise o satırın silinmesini sağlar. İşaretli değil ise satır kalır.
Aktarım Sonrası İşlem: Aktarım sonrası disk üzerindeki dosyaya ne yapılacağını ifade eder.Hiç bir şey yapılmayabilir, silinebilir veya disk üzerinde başka bir yola taşınabilir.
Kabinet;
Taşıma işleminin yapılacağı kabinet bilgileri bu ekranda seçilir.
Kabinet: Kabinet adı bu alan yardımı ile seçilir. Kabinet adından sonra klasörlerin otomatik oluşması için tip alanları da seçilebilir. Eğer tip alanında tarih kolonu var ise ayrı ayrı, ay, gün, yıl da seçilebilir. Bu bölüme gerekiyor ise sabit yazı yazılarak klasör ismi de verilebilir. Örneğin yukarıda verilen yolun sonuna Sözleşme kelimesi yazılarak tüm klasörlerden sonra sözleşme klasörünün oluşması ve onun altına belgenin arşivlenmesi sağlanabilir. Sabit klasör adı ve tip alanları karışık sırada olabilir.
Yetki Seti: Arşivleme esnasında otomatik oluşturulacak klasörlerin yetki setinin ne olacağı buradan seçilir.
Belge Aktarım Türü: İhtiyaca göre İndeks, İçerik, İçerik ve İndeks olarak seçilebilir. Seçim sonucu İndeks veya İndeks ve İçerik ise "Belge Tanımı" alanı açılır.
Dosya Kartı: Eğer yapılacak olan aktarımda hedef dosya kartı ise seçilir. Dosya kartı kaydı daha önce oluşmuş olmalıdır.
Belge Tanımı: İndeks bilgilerinin ekleneceği Form ve Yetki Seti seçilir.
Form: Daha önce tanımlanmış bir Belge tipinin Dosya Kartı şablonun Tipler bölümüne eklenmesi gerekmektedir. Bu şekilde, Transfer tanımlama ekranında bu tipe ait formu seçebilirsiniz.
Yetki Seti: Arşivlenecek olan belgenin yetki setinin ne olacağı burada seçilir. Belgelerde ve klasörlerde farklı yetki setleri ihtiyacı var ise zaman bazlı bir metod ile arşivlenen belgelerin yetki seti daha sonra da değiştirilebilir.
Alan eşleme;
Tip alanları ile Tablo alanları bu sayfada eşlenir. Hangi tablo alanının hangi tip alanına yazılacağı belirtilir. Veri tiplerinin aynı olması beklenir.
Özet;
Bu ekranda yapılan bütün tanımlamalar incelenir ve kaydedilir.