Veri aktarımı servisi j-Platform sistemi ile nesne alışverişi yapmak için yazılmış servistir.
j-Platform'da tanımlı nesneleri
- oluşturmak
- varolan nesneler üzerinde değişiklik yapmak
- nesne silmek ya da nesne okumak için
bu servis kullanılabilir.
Güvenlik
Veri aktarımı servisi j-Platform kullanıcısı güvenliğini kullanır. Servise yollanan SOAP mesajlarında UsernameToken tanımlı olmalıdır ve bu token içinde geçerli ve sisteme bağlanabilen (yasaklanmamış, şifresinin süresi dolmamış... vs) bir j-Platform kullanıcısına ait kullanıcı adı ve şifre bilgisi bulunmalıdır. Bu servisi sadece j-Platform kullanıcıları kullanabilir.
Servis Erişim Adresi
Bu servise erişmek için unity on demand sistem adresi şöyledir:
http://<sunucu>:<port>/logo/services/DataExchangeService?wsdl
Örnek adres: http://172.16.12.53:9080/logo/services/DataExchangeService?wsdl
Servis Metodları
- getDTD(String custGUID, String boName) -> String : Bu metod bir nesneye ait aktarım xml'inin yapısını belirleyen dtd içeriğini almak için kullanılır. dtd tanımı alınmak istenen nesne uyarlama nesnesi ya da j-Platform nesnesi olabilir. Uyarlama nesnesi ise metodun ilk parametresi olarak uyarlama projesine ait GUID değeri, ikinci parametre olarak da nesnenin adı yollanır. Örnek: "{97591E0B-9D4C-D126-FDCD-C9A7EE259004}" - "COItemSelection". dtd tanımı istenen nesne j-Platform nesnesi ise ilk parametre boş bırakılır ve ikinci parametre olarak da nesnenin java sınıfına ait tam yolu yollanır. Örnek: "com.lbs.unity.mm.bo.MMBOItem"
- getByKey(ExportParameters parameters, int primaryKey, String initRequiredXML) -> ExportResult : Bu metod bir nesneyi birincil anahtar değeri ile okumak için kullanılır. Metoda nesne okuma ayarları, okunacak nesnenin birincil anahtar değeri ve nesneyi hazırlarken (initialize) kullanılacak alanların bilgilerini içeren xml yollanır. Bu metod nesneyi okur, verilen xml'i kullanarak nesneyi hazırlar (initialize) ve nesneyi xml olarak döner.
- getByXML(ExportParameters parameters, String objectXML) -> ExportResult : Bu metod bir nesneyi xml'i kullanarak okumak için kullanılır. Metoda nesne okuma ayarları ve nesneyi okumak için kullanılacak bilgileri içeren nesne xml'i yollanır. Bu metod xml'deki bilgileri kullanarak nesneyi okumaya çalışır, okuma başarılı olursa okunan nesneyi hazırlar (initialize) ve xml olarak döner. Bu metoda yollanan xml içinde nesneyi okumak ve hazırlamak için gerekli tüm bilgiler bulunmalıdır. İkincil anahtar alanlarına ait değerler ve hazırlık (init-required) alanlarına ait değerler xml içinde verilmelidir.
- create(ExchangeParameters parameters, String initRequiredXML) -> ExportResult : Bu metod bir nesneye ait boş bir xml tanımı almak için kullanılır. Metoda nesne aktarım ayarları ve boş nesneyi hazırlamak (initialize) için kullanılacak xml yollanır. Bu metod nesneye ait java sınıfından boş bir tane yaratır ve boş nesneyi verilen xml'i kullanarak hazırlayıp oluşan boş ve hazırlanmış nesneyi xml olarak döner.
- removeByKey(ExchangeParameters parameters, int primaryKey) -> ExchangeResult : Bu metod bir nesneyi birincil anahtar değeri ile silmek için kullanılır. Metoda nesneyi okuma ayarları ve birincil anahtar değeri yollanır. Bu metod nesneyi birincil anahtar değeri ile okur ve nesne başarıyla okunduysa bu nesneyi siler.
- removeByXML(ExchangeParameters parameters, String objectXML) -> ExchangeResult : Bu metod bir nesneyi xml tanımından okuyup, okunan nesneyi silmek için kullanılır. Metoda nesneyi okuma ayarları ve silinecek nesneye ait xml tanımı yollanır. Bu metod nesneyi verilen xml'deki bilgilerle okur, nesne başarılı okunduysa nesneyi siler.
- save(ImportParameters parameters, String objectXML) -> ExchangeResult : Bu metod bir nesneyi kaydetmek için kullanılır. Metoda nesne kaydetme ayarları ve nesne xml tanımı yollanır. Bu metod verilen xml'deki nesneyi oluştuşturur ve xml'de nesne için hangi kaydetme işlemi hedefleniyorsa ona göre davranır. xml içinde nesne için şu olasılıklar tanımlanabilr: "nesneyi yarat", "varolan nesneyi güncelle", "nesneyi sil". Bu tanımların her biri için metod ayrı bir yöntem izler. Eğer "nesneyi yarat" seçeneği belirtildiyse, eğer nesne veri tabanında yoksa yeni nesne kaydedilir; nesne veri tabanında varsa nesne kaydetme ayarlarındaki işlem uygulanır. Bu durum için 3 olasılık vardır: "nesneyi yeni kaydetmeye zorla", "varolan nesneyi güncelle", "işlem yapma". Nesneyi kaydetmeye zorla durumunda veri tabanında bulunan nesne silinir ve verilen nesne yeni olarak kaydedilir. Varolan nesneyi güncelle durumunda varolan nesne güncellenir. İşlem yapma durumunda ise bu nesne veri tabanında olduğu haliyle bırakılır, işlem yapılmaz. Metoda yollanan nesne için xml'de güncelleme seçeneği seçildiyse, bu durumda nesne xml tanımındaki bilgiler kullanılarak veri tabanından okunmaya çalışılır. Eğer nesne veri tabanında varsa ve okuma başarılı olduysa xml tanımında belirtilen tüm özellikler veri tabanı özelliklerinin ezecek şekilde nesne güncellenir.
Örneğin; nesne ait sadece bir tarih alanı güncellenmek isteniyorsa bu metoda yollanan xml tanımında nesne okumak için gerekli ikincil anahtar ve hazırlık (init-required) alanları haricinde sadece bu güncellenecek tarih alanı dolu olmalıdır. Yoksa xml'de doldurulmuş olan tüm alanlar veri tabanındaki değerleri ezer. Aynı şey link nesneler için de geçerlidir. Metoda yollanan xml içinde nesne silinmek üzere işaretlendiyse nesne xml'deki bilgilerle okunmaya çalışılır, okuma başarılı olursa nesne silinir. Nesne kaydetme metodunda dikkat edilmesi gerekli son nokta ise xml tanımında bulunan bağlantılı (link) nesneler için nesnenin ikincil anahtar değeri ile bulunamadığı durumda ortaya çıkar. Örneğin faturaya ait cari hesap bilgisi veri tabanında bulunamıyorsa bu durumda 2 yöntem izlenebilir. Bulunamayan nesne xml'deki bilgiler kullanılarak yaratılabilir ya da kaydetme işlemi başarısız olur. Bulunamayan nesnelerin kaydedilmesi özelliği kaydetme ayarları nesnesi ile açılabilen bir özelliktir. - describe(DescribeParameters parameters) -> DescribeResult : Bu metod bir nesneye ait dtd ve xml tanımlarının nasıl olduğunu öğrenmek için kullanılır. Bu metoda nelerin açıklanması istendiğini belirten açıklama ayarları yollanır. Metod açıklanması istenen her şeyi açıklayan bir nesne döner.
Serviste Kullanılan Veri Yapıları
ExportResult
ExportResult nesnesi nesne okuma sonucu nesneye ait xml tanımını, işlemin başarılı olup olmadığını ve hata mesajını içeren nesnedir.
- successful : İşlemin başarılı olup olmadığını belirtir.
- errorMessage : İşlem başarısız olduysa hata mesajını içerir.
- resultXML : İşlem sonucu oluşan nesneye ait xml tanımını içerir.
ExchangeResult
ExchangeResult nesnesi aktarım sonucunu içerir.
- successful : İşlemin başarılı olup olmadığını belirtir.
- errorMessage : İşlem başarısız olduysa hata mesajını içerir.
- primaryKey : Aktarım işlemi yapılan nesneye ait birincil anahtar değerini içerir. Nesne silinmiş ya da güncellenmiş nesne olabilir.
ExportParameters
ExportParameters nesnesi nesne okuma ayarlarını içerir.
- custGUID : Okunacak nesne bir uyarlama nesnesi ise bu uyarlama nesnesinin tanımlandığı uyarlama projesine ait GUID değeridir.
- boName : Okunacak nesne bir uyarlama nesnesi ise bu nesnenin adıdır. Örnek:"COItemExtension". Okunacak nesne j-Platform nesnesi ise bu nesneye ait java sınıfının tam yoludur. Örnek: "com.lbs.unity.mm.bo.MMBOItem".
- descriptive : Okunacak nesneye ait açıklama bilgilerinin istenip istenmediğini belirtir. Eğer bu değer true ise, nesne için üretilen xml dosyasında nesne alanlarına karşılık açıklamalar comment (<!-- -->) olarak bulunur.
- excludeBlobFields : Okunacak nesnelerde bulunan Blob (byte array, binary data) alanların okunup okunmayacağını belirtir. Değeri true ise bu alanlar okunmaz.
- excludeClobFields : Okunacak nesnelerde bulunan Clob (char array, uzun string) alanların okunup okunmayacağını belirtir. Değeri true ise bu alanlar okunmaz.
- excludedProperties : Okunacak nesne xml olarak dönülürken xml'de bulunması istenmeyen alanları belirtir. İstenmeyen alanlar "," (virgül) ile ayrılarak verilir. Örnek değer: "Prop1,Prop2"
- firm : Nesne okumadan önce j-Platform bağlantısı (login) sırasında kullanılacak kurumun nosudur. Bu eğer geçerli bir kuruma ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- period : Nesne okumadan önce j-Platform bağlantısı (login) sırasında kullanılacak dönemin nosudur. Bu eğer geçerli bir döneme ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- setValue : Okunacak nesnelerin veri tabanı tablolarına ait set değişkeni tanımı varsa bu tablolarda kullanılacak olan set değişkeni değeridir.
- language : j-Platform bağlantısı için kullanılacak dil değeridir. Olası değerleri "TRTR", "ENUS", "DEDE" dir.
- transferParameter : BO parametrelerinin aktarılması için kullanılan DataExchange parametresidir. True set edilirse ve BO nun parametresi varsa (içeri yada dışarı) parametre aktarımı sağlanır.
ExchangeParameters
ExchangeParameters nesnesi aktarım için kullanılacak ayarları içerir.
- custGUID : Okunacak nesne bir uyarlama nesnesi ise bu uyarlama nesnesinin tanımlandığı uyarlama projesine ait GUID değeridir.
- boName : Okunacak nesne bir uyarlama nesnesi ise bu nesnenin adıdır. Örnek: "COItemExtension". Okunacak nesne j-Platform nesnesi ise bu nesneye ait java sınıfının tam yoludur. Örnek: "com.lbs.unity.mm.bo.MMBOItem".
- descriptive : Okunacak nesneye ait açıklama bilgilerinin istenip istenmediğini belirtir. Eğer bu değer true ise, nesne için üretilen xml dosyasında nesne alanlarına karşılık açıklamalar comment (<!-- -->) olarak bulunur.
- firm : Nesne okumadan önce j-Platform bağlantısı (login) sırasında kullanılacak kurumun nosudur. Bu eğer geçerli bir kuruma ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- period : Nesne okumadan önce j-Platform bağlantısı (login) sırasında kullanılacak dönemin nosudur. Bu eğer geçerli bir döneme ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- setValue : Okunacak nesnelerin veri tabanı tablolarına ait set değişkeni tanımı varsa bu tablolarda kullanılacak olan set değişkeni değeridir.
- language : j-Platform bağlantısı için kullanılacak dil değeridir. Olası değerleri "TRTR", "ENUS", "DEDE" dir.
- transferParameter : BO parametrelerinin aktarılması için kullanılan DataExchange parametresidir. True set edilirse ve BO nun parametresi varsa (içeri yada dışarı) parametre aktarımı sağlanır.
ImportParameters
ImportParameters nesne kaydetme ayarlarını içerir.
- custGUID : Kaydedilecek nesne bir uyarlama nesnesi ise bu uyarlama nesnesinin tanımlandığı uyarlama projesine ait GUID değeridir.
- boName : Kaydedilecek nesne bir uyarlama nesnesi ise bu nesnenin adıdır. Örnek: "COItemExtension" kaydedilecek nesne j-Platform nesnesi ise bu nesneye ait java sınıfının tam yoludur. Örnek: "com.lbs.unity.mm.bo.MMBOItem".
- excludeBlobFields : Kaydedilecek nesnede bulunan Blob (byte array, binary data) alanların kaydedilip kaydedilmeyeceğini belirtir. Değeri true ise bu alanlar kaydedilmez.
- excludeClobFields : Kaydedilecek nesnelerde bulunan Clob (char array, uzun string) alanların kaydedilip kaydedilmeyeceğini belirtir. Değeri true ise bu alanlar kaydedilmez.
- excludedProperties : Kaydedilecek nesne için xml'de bulunan ama işleme dahil edilmesi istenmeyen alanları belirtir. İstenmeyen alanlar "," (virgül) ile ayrılarak verilir. Örnek değer: "Prop1,Prop2"
- firm : Nesne kaydedilmeden önce j-Platform bağlantısı (login) sırasında kullanılacak kurumun nosudur. Bu eğer geçerli bir kuruma ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- period : Nesne kaydedilmeden önce j-Platform bağlantısı (login) sırasında kullanılacak dönemin nosudur. Bu eğer geçerli bir döneme ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- setValue : Kaydedilecek nesnelerin veri tabanı tablolarına ait set değişkeni tanımı varsa bu tablolarda kullanılacak olan set değişkeni değeridir.
- forceInsertExisting : Kaydedilecek nesne yeni olarak işaretlendiyse ama veri tabanında bu nesne varsa, bu durumda veri tabanındaki nesnenin silinip xml'deki nesnenin yeni olarak kaydedilmesini sağlar.
- mergeInsertExisting : Kaydedilecek nesne yeni olarak işaretlendiyse ama veri tabanında bu nesne varsa, bu durumda xml'deki nesne ile veri tabanındaki nesnenin güncellenmesini sağlar.
- skipInsertExisting : Kaydedilecek nesne yeni olarak işaretlendiyse ama veri tabanında bu nesne varsa, bu durumda işlem yapılmamasını sağlar.
- insertUnresolvedObjects : Kaydedilecek nesneye bağlı nesnelerin (link) ikincil anahtar üzerinden okunamadığı durumlarda bu nesnelerin xml'deki bilgilerle oluşturulup oluşturulmayacağını belirtir.
- useGivenPrimaryKeys : Nesne kaydetme sırasında xml'de bulunan birincil anahtar değerlerinin direk kullanılmasını sağlar. Entegrasyon sağlayan nokta zaten nesneye ait birincil anahtar değerini biliyorsa ve nesne okumak için ikincil anahtar çözümlemesi yapılmadan verilen birincil anahtarla okunmasını istiyorsa bu seçenek kullanılır. Eğer xml içinde nesnelere ait birincil anahtar değerleri yoksa ya da bu değerlerin doğruluğu şüpheli ise bu seçenek kullanılmamalıdır.
- singleTransaction : XML içerisinde gönderilen objeler tek bir transaction içerisinde yapılmak isteniyor ise bu parametre true olarak gönderilmelidir. XML içerisinde gönderilen işlemlerden herhangi bir tanesi yapılırken bir exception oluşur ise tüm işlemler geri alınacaktır. Birbirine bağımlı işlemler için bu seçenek kullanılmalıdır.
- transferParameter : BO parametrelerinin aktarılması için kullanılan DataExchange parametresidir. True set edilirse ve BO nun parametresi varsa (içeri yada dışarı) parametre aktarımı sağlanır.
DescribeParameters
DescribeResult nesnesi describe metodundan dönen ve dtd ve xml tanımlarını içeren nesnedir.
- custGUID : Açıklanacak nesne bir uyarlama nesnesi ise bu uyarlama nesnesinin tanımlandığı uyarlama projesine ait GUID değeridir.
- boName : Açıklanacak nesne bir uyarlama nesnesi ise bu nesnenin adıdır. Örnek: "COItemExtension". Açıklanacak nesne j-Platform nesnesi ise bu nesneye ait java sınıfının tam yoludur. Örnek: "com.lbs.unity.mm.bo.MMBOItem".
- descriptive : Açıklanacak nesneye ait açıklama bilgilerinin istenip istenmediğini belirtir. Eğer bu değer true ise, nesne için üretilen xml dosyasında nesne alanlarına karşılık açıklamalar comment (<!-- -->) olarak bulunur.
- firm : Nesne açıklamadan önce j-Platform bağlantısı (login) sırasında kullanılacak kurumun nosudur. Bu eğer geçerli bir kuruma ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- period : Nesne açıklamadan önce j-Platform bağlantısı (login) sırasında kullanılacak dönemin nosudur. Bu eğer geçerli bir döneme ait no olmalıdır yoksa j-Platform bağlantısı (login) sağlanamayacağı için işlem başarısız olur.
- setValue : Açıklanacak nesnelerin veri tabanı tablolarına ait set değişkeni tanımı varsa bu tablolarda kullanılacak olan set değişkeni değeridir.
- language : j-Platform bağlantısı için kullanılacak dil değeridir. Olası değerleri "TRTR", "ENUS", "DEDE" dir.
- dtd : dtd istenip istenmediğini belirtir. Değeri true ise metoddan dönen nesnede dtd bilgisi de bulunur.
- emptyXML : Nesneye ait boş bir xml istendiğini belirtir.
- initRequiredXML : Nesneye ait hazırlık (init-required) alanların bulunduğu bir xml istendiğini belirtir.
- secKeyXML : Nesneye ait ikincil anahtar alanlarının bulunduğu bir xml istendiğini belirtir.
- sampleXML : Nesneye ait örnek bir xml istendiğini belirtir.