Logo Uyarlama ve Entegrasyon

Kullanıcı avatarı
Tarkan VURAL
Doğrulandı
Site Admin
Mesajlar: 56
Kayıt: 22 Haz 2023, 00:03
Lokasyon: İstanbul
Web Sitesi: http://www.tarkanvural.com.tr
Meslek: Yazılım ve Veri Tabanı Uzmanı
Adınız: Tarkan
Soyadınız: VURAL

Logo Uyarlama ve Entegrasyon

Mesaj gönderen Tarkan VURAL »

Merhaba,
Logo GO serileri, Tiger Serileri, Logo J-Platform veya Wings özellikli seriler gibi, hemen hemen tüm Logo yazılımları ile yapılabilecek uyarlama/entegrasyon işlemlerinin neler olduğu hakkında yeterli bilginiz var mı ?

Nedir Bu Entegrasyon Dediğimiz İşlemler ?
Logo programı içerisine elle girdiğiniz verileri dışarıdaki başka bir yazılımdan alıp içeri aktarmak, ya da içerideki verileri alıp dışarı başka yazılımlara aktarmak şekli ile yapılan operasyonlara Logo entegrasyon işlemleri diyoruz. Bilindiği üzere Logo içerisindeki menülerden bazı içeri/dışarı aktarımlar yapılabilmekte. Ancak Logo çok geniş kapsamlı bir yazılım ve tüm aktarımlar ilgili menüde mevcut değil.

Logo entegrasyon işlemleri konusunda geliştiriciler için bir çok kolaylık sağladı. Logo Docs içerik kütüphanesi aracılığıyla da bunu tüm kullanıcı ve geliştiriciler ile paylaşıyor. Yıllardan beri entegrasyon ve uyarlama konularında geliştirme yapan biri olarak şimdi size Logo'da neler yapılabileceğini anlatmaya çalışacağım.

Entegrasyon Araçları ve Lisanslar
  • Logo Go serileri için üretilen bir veri tabanı aktarım lisansı edinmek şartı ile Go serisi için içeri ya da dışarı entegrasyonlar geliştirmek mümkün. Veri tabanı lisansı gereklidir. Lisans olmadan SQL komutları üzerinden dışarı veri çekilebilir. Hatta içeri aktarımlar da yapılabilir. Ancak lisans olmaması durumunda, içeri aktarılacak hareket işlemlerinde, Logo ara yüzündeki browser bölümüne baktığınızda, hareketi olan işlemin üzerinde ortadan bir çizgi görürsünüz. Bu durumda fişin içine girip düzenleme yapamazsınız, müdahale edilmesine izin vermez. Go serisi için Logo yazılım geliştirdiği özel bir sınıf ya da connector yok. Bunun için yeterli SQL bilgisine ve Logo veri tabanı mimarisine hakim olmanız yeterli gelir. Her hangi bir dil ile geliştireceğiniz yazılım aracılığıyla içeri dışarı entegrasyon geliştirmesi yapabilirsiniz. Sadece lisans olmaması durumunda içeri aktarımlarda kontrol işlemine takılırsınız.
  • Logo Tiger serileri ile entegrasyon yapabilmeniz, Logo tarafından üretilmiş bir LObjects kütüphanesi vardır. Bu kütüphanede hazır bir çok metot bulunur. LObjects bir DLL ve bir EXE dosyasından oluşur. Logo kurulumlarında ana dizinde yer alır ancak Objects run-time lisansı gerektirir. Lisans olmaması durumunda bu nesnelere login olamazsınız. Dolayısıyla nesneyi kullanamazsınız.
    Sınıf içerisinde bulunan metotların düzenine uyumlu olarak 2 türlü entegrasyon geliştirmesi mümkün.
    • Rest sistemi adından anlaşılacağı gibi http mantığında haberleşme için geliştirilmiş bir araç. Temelde arka planda LObjects ile çalışan bu sistemde
      windows servis olarak geliştirilen rest yapılandırma aracı sayesinde bir takım parametrik ayarlar yapılabilir, ayarlardan sonra rest hizmeti çalıştırılabilir. Hizmet çalışmaya başladığında, Lobjects lisans sayınız ile orantılı olarak (parametrelerde tanımladığınız sayıda), arka planda LObjects nesnesine Login işlemi yapılır, aktarıma hazır bir şekilde nesneler ayakta bekler. Gelen istekleri hazırda bekleyen bu nesneler karşılar ve çoktn açılmış olan Login olma zaman maliyetinden arınmış şekilde aktarımlar gerçekleşir. Rest hızlı ve LObjects ile doğrudan aktarımlara göre daha kullanışlıdır. Senkron ve asenkron şekilde kullanılabilir. Aktif olan ancak halen geliştirmesi devam eden Rest 2.0 metotlarında, Rest 1.0 a göre çok daha kısa ve anlamlı Json içerikleri ile çalışılması mümkündür. İstekler ve sonuçlar Json olarak çalışır. Logo Docs içerisinde kurulumdan kullanımına kadar ayrıntılı bilgilere erişilebilmesi mümkündür. Ancak rest kullanıcı bilgileri sadece Logo Çözüm Ortaklarına özeldir ve bu bilgiler Logo çözüm ortağı bayi dışındaki 3. firmalara verilmiyor. Bu tip bir entegrasyon için bir çözüm ortağı ile çalışmalısınız.
    • Objects nesnesi ile doğrudan haberleşme sağlanabilecek metotlar geliştirilmiştir. Bu hazır metotların istediği içeriği XML katmanları gibi düşünebilirsiniz. Metoda bağlı her bir elementin, XML katmanında bir karşılığı bulunur. Gerek masaüstü gerek web entegrasyonlarında doğrudan Lobjects ile entegrasyon geliştirmeleri yapılması mümkündür. Rest sistemine göre temel farkı, kod içerisinde login olunması ve işlem bitiminde ya da nesnenin taşıdığı yükün belirli boyutlara ulaşması durumunda nesnenin kill edilmesi, yeniden login olunarak ayağa kaldırılmasıdır. Dolayısıyla bir login zaman maliyeti dezavantajı taşır. İşlem hızı XML katmanı veya indeks yapısına göre rest sisteme göre bir miktar daha hantal kalabilir. Yüksek sayıda aktarım işlemi için tercih şahsi fikrimce rest 2.0 olmalıdır.
    • J-Platform entegrasyon ve uyarlama işlemleri biraz farklıdır. Geliştirme dili için platformda kullanılan dil java dilidir ve veritabanı mimarisi GO, Tiger serilerine göre farklıdır. Hem tablo yapıları farklıdır hem isimlendirmeleri farklıdır. Rest servis kullanılarak içeri veya dışarı entegrasyonlar geliştirmek de mümkündür. Logo, rest sistem üzerinde gerçekten çok çalışıyor ve alıştıktan sonra kullanması da oldukça kolaydır.
Uyarlama İşlemleri
  • Logo J-Platform Uyarlama kısmı için LPT ( Logo Platform Tailor) ile geliştirmeler yapılabiliyor. LPT içerisinde gerek nesne tabanlı gerekse controller araçları ile uyarlamalar yapılabilir. Bunlar hem J-HR hem de J-Platform için kullanılabilir durumdadır. Hali hazırda bir kaç firmada uyarlama işlemleri geliştirdik. Uyarlama kısımları bir çok aşamada adımlama ile yapılması gerekiyor. Proje Oluştur, Table Oluştur, Bussiness Object Oluştur, Form Oluştur, Query Oluştur, Browser Oluştur, Profil Oluştur gibi adımların yanı sıra, form tasarlarken nesnelerin bir çok parametrik ayarının olması işi biraz sıkıcı hale getirse de, el alışkanlığı olduktan sonra, özellikle de yapılan geliştirmeden iyi sonuçlar aldıktan sonra, sıkıcılık eğlenceli hale dönüşüyor.
  • Tiger Uyarlama İşlemleri için LOD 2.0 adındaki editörden yararlanırız. Go serilerinde uyarlama yapılamamaktadır. O yüzden GO serisinde sadece bazı basit arayüz uyarlamalar yapılabiliyor. Tiger serisinde de ara yüz uyarlamalar yapılabiliyor. Ancak bilindiği üzere hareketlerdeki işlem satırlarında ara yüz uyarlama yapılması mümkün değil. Bu sebeple daha ileri uyarlama işlemleri için ürünün Tiger serisi ( Wings dahil ) olması ve LOD lisansınızın var olması gerekmektedir. Logo kurulumunda LOD klasörü mevcuttur. Ancak lisans olmaması durumunda açıp kullanamaz, yaptığınız geliştirmeleri build edip Tiger'a yansıtamazsınız. Bu sebeple lisans alınması zorunludur.
    LOD ile Logo menü ağacına özel menüler ekleyebilir, menülerin altına alt sekme menüler oluşturabilir, mevcut bir Logo formunun içinde değişiklik, ilave gibi işlemler yapabilirsiniz. Ayrıca yazdırma tasarımlarınızı kendiniz oluşturabilmeniz için QReport kısımlarında uyarlama ile kendi özel raporlarınızı oluşturabilirsiniz. Yani Logo programında olmayan bir menüyü, özelliği kazandırabilmenin yanı sıra, var olan formlarda istediğiniz özellikleri ve kuralları koyabilirsiniz. Geliştirme editöründe LVSL ( Logo Visual Script Language) dili kullanılır. Bu dil VBScript karışımı ve Logo 'nun kendi geliştirdiği bir takım metotlar dizisinden oluşur. İçerisinde bir çok hazır metot vardır. Ayrıca kendi fonksiyonunuzu da geliştirmeye açıktır. Ek bir özelliği de LOD içerisinde Lobjects metotlarını da kullanabilirsiniz. Yani bu sayede sıfırdan tasarladığınız bir modülde yapacağınız işlemler ile LObjects üzerinden sipariş, irsaliye, fatura, reçete, üretim emri, malzeme fişleri, kasa, banka, finans hareketleri gibi Logo içerisinde yapılabilecek tüm işlemleri oluşturabilirsiniz.
    Bu konuda da yine Logo Docs web sitesinde bir çok içerik, bir çok örnek ve değerli bilgiler mevcuttur.
Yukarıda yaptığım açıklamalar ile çok detay olmasa da genel olarak bilgi edindiğinizi düşünüyorum. Çok daha fazla detay bilgi için Logo Docs web site içeriği incelenebilir. Temel ve teknik anlamda arayacağınız tüm sorulara mutlaka cevap bulabilirisiniz. Sitede geliştirme konularında elbette her şeyin bir örneği olamayacağı için, bilgilenmek istediğiniz konular için dilerseniz danışmanlık veyahut geliştiricilik konularında tecrübemden yararlanmak isteyenlere destek olabilirim.

Logo GO, Tiger, J-Platform tarafında birçok uyarlama ve entegrasyon geliştirdim. Entegrasyonların sayısını gerçekten bilmiyorum, o kadar çok ki. Ayrıca LOD her ne kadar eski bir yapıda kalmış olsa da, yine sayısını bilmediğim kadar yaptığım LOD uyarlamaların bir çok müşteride yıllardan beri kullanıldığını bilmek insanın yüzünde tebessüme yol açıyor. Bir işlemin 7 yıl, 9 yıl hatta 12 yıldır kullanıldığını bilmek bile yapılan çalışmanın ne derece çözüm odaklı olduğunu bilmeye ve bundan motive olabilmeye yetiyor. Belirli kurallara göre raporları mail atan, yöneticiyi girilen yetkisiz işlemin kısa yol dosyasını gönderip uyaran, bazı özel kurallara ve yetkilere takılan kullanıcılar, reçete ve planlama, ürün, sipariş, fatura, irsaliye, finans hareketleri oluşturan, teşvik ve prim hesaplamaları yapan, web servisleri ile Logo içinden doğrudan konuşabilen, rapor üretici ve yazdırma tasarımlarının haricinde, dinamik formlarla ilişkili çalışabilen özel Qreport tasarımları, hareket satırlarına eklenen, hesaplama ve raporlamalarda kullanılan N sayıda özel sütun, Logoda var olmayan modüllerin Logo içinden kullanımı gibi daha sayamadığım çok sayıda yaptığım geliştirmeler, aslında benim değil, Logo programının hayal ettiğiniz işlemde esneyebilmekte ne derece başarılı olduğunu gösteriyor. Bu vesile ile biz geliştiricilere bu denli kolaylık sağlayan başta Logo Yazılım fikrini geliştiren kurum sahibine, sorumlu yetkililere, yazılım alt yapı ekibine, uyarlama araçları destek, geliştirme ve eğitim ekibine, ekip liderlerine teşekkürlerimi iletiyorum.
Konu Dışı
Logo Yazılım, Özel Yazılım, Entegrasyon işlemleri, Excel VBA kodlama, Raporlama, Eğitim.. gibi konulardaki destek ihtiyaçlarınız içinhelpdesk@evnyazilim.com.trile irtibata geçebilirsiniz.