Merhaba.

Bu eğitimlerimiz boyunca sizlere Canias ERP’nin kendine özgü yazılım dili TROIA’da yazılım geliştirmeyi ve Canias ERP’nin arayüzünü kullanmayı göstermeye çalışacağım.

Troia dilini kişisel olarak edinip kullanma test etme imkanınız yoktur. Anlattıklarımı öğrenci arkadaşlarım ne yazık ki bir aşinalık olarak okuyabilirler. Ama Canias ERP’nin danışmanlığını yapan yazılım geliştirme süreçlerinde bulunan kişiler ise test ederek de deneyebilirler.

Çalıştığım firmada geliştirme süreçlerinde hem IAS 6.02 hem de IAS 6.04’ü kullanarak deneyimleme şansım olduğu için yer yer karşılaştırmalı olarak da gidiyor olacağız.

TROIA 604

Java tabanlı geliştirilmiş bir yazılım geliştirme platformudur. TROIA 602 ise C tabanlı geliştirilmiş bir platformdu.

Niçin böyle bir programlama diline ihtiyaç duyulmuş sorusuna şu cevabı verebilir.

IAS güçlü bir ERP sistemine sahip. Büyük bir firmadaki tüm süreçleri yönetebilecek modüllere sahip ancak her firmada kendi süreçlerine özgü bazı farklılıklar oluşabilmektedir. IAS her firma için standart olarak yazdığı ERP’si ile bazı durumlara uyum sağlayamayabilir. İşte bunun önüne geçmek için firmaların kendi iş süreçlerine özgü uygulamalarını yine ERP üzerinden geliştirebilmeleri, yönetebilmeleri ve bakımlarını yapabilmeleri için TROIA dilini geliştirmişlerdir diyebiliriz. Troia dili ile gelen bu esnek  yapı IAS’ı daha da güçlü bir ERP haline getirmektedir.

Troia 6.02’nin çalışma alanı.

Troia 604’ün Geliştirme Ortamı

Genel bakışta da 604’ün çok daha gelişmiş ve fonksiyonel bir yapıda olduğunu kolayca görebilmekteyiz.

Troia basitleştirilmiş komut seti ve arayüz tasarımı ile öğrenilmesi kolay bir yapıda olduğunu söyleyebiliriz. Troia’nın veri tabanı ve işletim sistemi bağımlılığı yoktur. Elinizdeki her veri tabanına bağlanıp (MSSQL, MYSQL, ORACLE vb) her işletim sistemi üzerinde koşabilmektedir. (Windows 10, Windows Server, Linux vb)

Troia üzerinde geliştirilen uygulamalar Troia’nın code veri tabanında tutulmaktadır. Tüm form özellikleri veri tabanı üzerinden yönetilmektedir. Troia’nın Default veri tabanı MYSQL’dir.

Troia dili yukarıda notta da bahsettiğim gibi CANIAS ERP üzerinde gömülü bir şekilde gelmektedir. Ayrıca edinip kullanılabilme imkanı yoktur.

CANIAS ERP 3 katmanda yönetilir. Bunlar; Data Layer, Business Layer ve Client Layer (UI)’dır. Troia üzerinde yapılan geliştirmeler ile müdahale ettiğiniz katman Business Layer katmanıdır.

Troia modüler yapıda bir dildir. Yazılım dünyasının belki de en önemli kavramı OOP teknolojisi ile güçlü ve ölçeklenebilir durumdadır.

Nesne yönelimli yapısı bize sınıflar tanımlama, bu sınıflara ait fonksiyonları yaratma bunları Inheritance alma gibi imkanlar sağlamaktadır. Bu yapısı ile iş süreçlerini ve kodlamayı kolaylaştırdığını söyleyebiliriz.

Çok küçük bir örnek vereyim.

Örneğin; Troia’da BrainyTech diye bir dialog oluşturdunuz ve kullanıyorsunuz. Daha sonra başka bir iş için BrainyTech2 gibi bir forma ihtiyacınız oldu ama bunu ayrı bir uygulamada çağıracaksınız. Ve BrainyTech ile arasında çok fark yok sadece üzerine 3 fonksiyon daha ekleyeceğimizi düşünelim. Böyle bir durumda BrainyTech2‘yi baştan yazmamıza gerek yoktur. BrainyTech‘den inherit alıp o yapıyı koruyup üzerine geliştirmelerimizi kolayca yapabiliriz.

Troia’nın gelişmiş bir HELP bölümünün olduğunu da söyleyebilirim.

Troia dilini HELP bölümünden öğrenebilme ihtimaliniz çok yüksektir.

Daha önceden Eclips gibi bir java geliştirme platformunda yazılım geliştirdi iseniz projeleri ağaç yapısında katmanlara ayırarak gösteren proje yönetim alanı çokta yabancı gelmeyecektir. 6.02 de böyle bir yapı yoktu. Orada direk uygulama ismi girilip uygulama açıldıktan sonra sınıflara ulaşmak için DEVT00 kullanılırken fonksiyon yönetimi de form üzerinde oluşan bir menustrip ile kontrol edilmekteydi. 6.02’nin yapısının daha ilkel olduğunu söylemek mümkündür.

Toolbox bölümünde de form üzerinde kullanabileceğimiz toollar yer almaktadır. Form üzerine nesneleri yerleştirmek için nesneyi tutup form üzerine istediğiniz yere sürükleyip bırakmanız yeterlidir. Form üzerine bıraktığınız nesneyi daha sonra tekrar konumlayabilir boyutunu tekrar şekillendirebilirsiniz.

Bir nesnenin Properties bölümünden tüm özelliklerini kolayca yönetebilirsiniz.

Bu yazımda kısaca Troia geliştirme ortamını tanıtmaya çalıştım. Bir sonraki yazılarımda görüşmek üzere.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.