İçeriğe geç
ERP & İş Süreçleri11 dk okuma

Canias ERP'ye Modül Yazmak: TROIA ile Özel Ekran, Rapor ve İş Akışı

TROIA Nedir ve Canias Modül Geliştirme Neden Onunla Yapılır?

TROIA, IAS'ın Canias ERP'yi yazdığı ve müşterilerin uyarlama yaptığı kendi geliştirme platformu ve programlama dilidir. Üretici TROIA'yı "kurumsal bir yazılım geliştirme ve çalıştırma platformu" ve dördüncü nesil, nesne yönelimli bir programlama dili olarak tanımlar; platformun derleyici, yorumlayıcı, IDE, uygulama sunucusu ve istemcileri içerdiğini yazar.

Tarihçe bu ilişkiyi açıklar. Üreticinin zaman çizelgesine göre TROIA 1997'de tanıtıldı, Java tabanlı Canias ERP 6.01 ise 2000 yılında çıktı; IAS'ın kendi şirket tanıtım metni, ERP'nin bu sürümle TROIA platformuna taşındığını yazar. Yani bugün kullandığınız standart ekranlar da aynı dille yazılmıştır. 2026 itibarıyla güncel ana sürüm caniasERP 9.03'tür.

TROIA platformunu anlatan, IAS yöneticisinin yazdığı ve resmî olmadığını açıkça belirten açık kitaba göre TROIA, Java Sanal Makinesi (JVM) üzerinde çalışan bir platformda koşar. Üretici ayrıca TROIA ile yazılan kaynak kodun ilişkisel bir veritabanında saklanıp yönetildiğini, derlenen kodun uygulama sunucusunda çalıştırıldığını belirtir.

Bunun pratik anlamı şudur: Canias'a eklenen bir ekran, standart ekranlarla aynı yetki sistemini, aynı veri tanımlarını ve aynı iş kurallarını kullanabilir. Ayrı bir programda bu bağların her birini yeniden kurmak gerekir.

Kaynak koda erişim

Üretici, bakım sözleşmesi olan müşterilerin uygulamanın kaynak koduna erişebildiğini belirtir ve TROIA'yı müşterilerine "açık kaynak kodu ile" sunduğunu söyler. Bu ifade bir açık kaynak lisansı anlamına gelmez; anlatılan, müşterinin kaynak koda erişimidir. Erişimin kapsamı ve geliştirme ortamının kullanım koşulları bakım sözleşmenize ve lisans koşullarınıza bağlıdır ve IAS ile netleştirilir.

Geliştirme Nerede Yapılır, Kod Nerede Çalışır?

Geliştirme TROIA IDE'de yapılır, yazılan kod ise yalnızca uygulama sunucusunda çalışır. TROIA kitabına göre IDE platformun ana geliştirme aracıdır ve masaüstü istemcinin parçasıdır; menüden açılır, varsayılan olarak gizlidir. 2021'de canias4.0 tanıtılırken bir IAS yöneticisi, geliştirme ve bakımın web tarayıcısı olan her cihazdan yapılabildiğini söyledi; sizin sürümünüzde hangisinin kullanılacağı kurulumda görülür.

IDE'ye erişim yetkiyle sınırlanır. Kitap iki seviye anlatır: kodu yalnız okuyabilen DEVELOPMENT(READ-ONLY) ve değişiklik yapabilen DEVELOPMENT. Bu ayrım, dışarıdan bir ekibe önce salt okuma yetkisiyle mevcut kodu inceletmeyi mümkün kılar.

Kitaba göre uygulama sunucusu TROIA kodunu çalıştırabilen tek platform bileşenidir; istemciler kod çalıştırmaz. Kullanıcıların çoğunun açtığı masaüstü istemci (Java tabanlı) ile web istemci aynı TROIA uygulama modeli katmanını paylaşır. İyi tasarlanmış bir ekran iki istemcide de aynı iş kuralıyla çalışır; yine de yerleşim ve kullanım rahatlığı her ikisinde ayrı ayrı denenir.

BileşenGöreviGeliştirme açısından anlamı
TROIA IDEKod, ekran ve rapor geliştirmeYetkiyle açılır, değişiklik kaydı tutulur
Uygulama sunucusuTROIA kodunu çalıştırırİş kuralı burada işler
Masaüstü istemciJava tabanlı kullanıcı ekranıYoğun ofis kullanımı
Web istemciTarayıcıdan erişimAynı uygulama modeli
VeritabanıVeri ve kaynak kodKurulumdan kuruluma değişir

Değişiklik anında canlıya geçer

Üretici, mevcut uygulamaları düzenlemek için sistemi yeniden başlatmak gerekmediğini ve canlı ortamda TROIA IDE ile uzaktan geliştirme yapılabildiğini belirtir. Bu güçlü bir esneklik, aynı zamanda dikkat isteyen bir özellik. Canlı sistemde kaydedilen yarım bir değişiklik, o an çalışan kullanıcıları etkileyebilir. Bu yüzden canlı sisteme doğrudan kod yazmıyoruz: geliştirme ve deneme test ortamında yapılır, canlıya alma onaylı ve planlı bir adımdır.

Değişiklik kaydı

TROIA kitabına göre bir TROIA öğesi (diyalog, sınıf vb.) değişiklik talebi olmadan değiştirilemez ve değişiklikler seçilen bir "hotline" kaydıyla ilişkilendirilerek loglanır. Bu düzen, "bu ekranı kim, neden değiştirdi?" sorusunun cevabını sistemin içinde tutar. Dışarıdan çalışan bir ekip için her değişikliği sizin açtığınız talep numarasıyla eşleştirmek, devir ve bakım için en temiz yoldur.

Özel Ekran, Rapor ve İş Akışı: TROIA ile Neler Yazılabilir?

TROIA ile Canias'ın içinde yeni ekranlar, raporlar, sınıflar ve iş kuralları yazılabilir. Üreticinin İngilizce geliştirme sayfası, düğme ve tablo gibi bileşenlerin pencere ekranına sürükle-bırak ile yerleştirildiğini, geliştirme ortamında PDF, HTML, RTF, XLS ve düz metin çıktı veren bir rapor tasarım aracı bulunduğunu, hata ayıklama için kod izleme ve profil araçları olduğunu yazar.

Kitaba göre IDE'deki "Convert" komutu öğeyi derleyip yorumlayıcının çalıştıracağı ikili biçime çevirir; kaydetme işlemi diyalog, rapor ve bileşenler için .dlg, sınıflar için .cls dosyaları üretir.

Özel ekran

Sektöre özel bir giriş formu, bir kalite ölçüm ekranı ya da standart ekrana eklenmesi gereken birkaç alan bu gruptadır. Alan tanımlarında TROIA'nın "Domain" yapısı kullanılır: kitaba göre domain, bir kontrolün, tablo alanının ya da veritabanı kolonunun tip, uzunluk ve ondalık gibi temel özelliklerini saklayan, yeniden kullanılabilir veri tanımıdır. Yeni alan mevcut bir domain'i kullanırsa, standart ekranlardaki aynı türden alanlarla tutarlı davranır.

Özel rapor

Yönetim için hazırlanan aylık özet, müşteriye gönderilen özel biçimli bir belge ya da sektörün istediği bir döküm, rapor tasarım aracıyla Canias'ın içinde üretilebilir. Raporun hangi veriden, hangi yetkiyle ve hangi biçimde çıkacağı önce yazılı olarak tanımlanır. Ölçütlerin tanımı netleşmeden yazılan rapor, ilk toplantıda tartışma konusu olur.

İş akışı ve onay

Kademeli onay, belirli tutarı aşan siparişte ek kontrol ya da bir kayıt kaydedilmeden önce yapılan iş kuralı denetimi TROIA ile kurulabilir. Ancak önce bakılacak yer üreticinin modül listesidir: Canias'ın modülleri arasında İş Süreçleri Yönetimi de sayılır. Lisansınızdaki standart modül ihtiyacı karşılıyorsa yeni kod yazmak yerine onu yapılandırmak daha doğrudur. Bunu keşifte birlikte kontrol ederiz.

Standart Koda Dokunmadan Uyarlama: Cross Tanımı

Canias'ta standart bir ekranın ya da sınıfın davranışını, onu değiştirmeden değiştirmenin yolu "cross" tanımıdır. TROIA kitabı cross'u, sınıf ve diyalog yükleyicilerini tanımlanan öğe yerine başka bir sınıf ya da diyalog kullanmaya zorlayan tanım olarak anlatır; kitaba göre bu sayede standart uygulamayı değiştirmeye gerek kalmaz.

Kitapta anlatılan özellikler şunlardır:

  • Bir veritabanı kaydıdır, çalışma anında uygulanır, derlemeye girmez.
  • İki seviyesi vardır: aynı veritabanına bağlı tüm kullanıcıları etkileyen sistem cross'u ve bir kullanıcıya ya da profile tanımlanan kullanıcı cross'u.
  • Öncelik sırası: kullanıcının kendi cross'u, sonra profil, sonra sistem.
  • Zincir kurulabilir (A yerine B, B yerine C); döngü hatadır.
  • Değişiklik, kullanıcı yeniden giriş yaptığında etkili olur.

Kullanıcı ve profil seviyesi, bir uyarlamayı önce tek kişide ya da küçük bir grupta denemeye imkân verir. Örnek senaryo: yeni onay ekranı önce satın alma departmanının profiline tanımlanır, birkaç hafta orada kullanılır, sorunsuzsa sistem seviyesine taşınır.

Güncellemede ne olur?

Üretici, yapılan değişikliklerin standart koddan türetilen ilgili işlevi etkilediğini, standart kodun kendisini değiştirmediğini ve müşteriye özel uyarlamaların güncellemelerden sonra da kaldığını belirtir. TROIA kitabı ise cross'ların sürüm yükseltmesindeki davranışını ayrıca anlatmaz. Biz bunu bir garanti olarak değil, üreticinin beyanı olarak aktarıyoruz: standart sınıf yeni sürümde değiştiyse, onun yerine geçen özel sınıfın da gözden geçirilmesi gerekebilir. Bu yüzden her yükseltmeden önce özel geliştirmelerin listesi çıkarılır ve test ortamında denenir.

İçeride mi Dışarıda mı? TROIA ile Ekran ya da Ayrı Uygulama

Bir ihtiyacın Canias'ın içinde TROIA ile mi, dışarıda ayrı bir uygulamayla mı çözüleceği, ekranı kimin kullanacağına ve verinin nerede doğduğuna göre belirlenir. Canias kullanıcısı olan ofis personeli için içeride yazmak çoğu zaman en sade yoldur. Canias'ı hiç açmayan bayi, tedarikçi ya da saha personeli için ise ayrı bir uygulama ve Canias'a bağlanan bir servis daha uygundur.

ÖlçütTROIA ile içerideAyrı uygulama ve servis
KullanıcıCanias kullanıcısı olan personelBayi, müşteri, tedarikçi, saha
Yetki ve oturumCanias'ın kendi yetki sistemiAyrı kullanıcı yönetimi, teknik kullanıcı
İş kuralıDoğrudan Canias'ın içindeCanias tarafındaki servis üzerinden
ArayüzMasaüstü ve web istemciTarayıcı, telefon, tablet, kiosk
BağımlılıkTROIA bilgisi, geliştirme yetkisiServis tanımı, ağ ve güvenlik kurgusu

Dışarıdaki uygulama da sonunda Canias'a yazar. Belgelenmiş dış yol TROIA Web Service'tir; kitaba göre bu servis, web servisi olarak kaydedilen bir TROIA sınıf metodudur. Yani ayrı uygulama yolunda da Canias tarafında küçük bir TROIA servisi yazılır ve dış uygulama yalnız onu çağırır. Veritabanına doğrudan yazmayı önermiyoruz, çünkü bu yol Canias'ın iş kurallarını ve kontrollerini atlar. Raporlama için salt okunur erişim ise ayrı bir konudur.

Karma çözüm de mümkündür. Onay kararı Canias'ın içinde TROIA ile verilir; onay bekleyen kayıtların özeti, yöneticinin telefonundaki sade bir ekranda gösterilir ve karar yine Canias servisi üzerinden kaydedilir.

Canias Modül Geliştirme İçin Sizden İstenecekler

Canias modül geliştirme başlamadan önce kurulumunuzla ilgili birkaç bilgi ve erişim netleşmelidir. Bunlar eksik kaldığında tahmin yapılır; tahmin de kapsamı ve süreyi belirsizleştirir.

İstenenNeden gerekliKimden
Sürüm ve build bilgisiKullanılabilecek özellikler buna bağlıBT ekibiniz
Test ortamıCanlıya dokunmadan geliştirme ve denemeBT ekibiniz, gerekirse IAS
Geliştirme yetkisi ve lisansIDE ve kaynak koda erişim koşullarıIAS ile sözleşmeniz
Teknik kullanıcıKişiye bağlı olmayan servis ve test hesabıBT ekibiniz
Süreç sahibiEkranın doğru olduğunu onaylayacak kişiİlgili departman
Örnek veri ve belgelerFormlar, raporlar, mevcut Excel dosyalarıİlgili departman

Lisans konusu

TROIA ile geliştirme için gereken lisans, bakım sözleşmesi ve geliştirme ortamına erişim, IAS ile sizin aranızdaki konulardır; bunları biz sağlamayız. Üreticinin sayfaları kaynak koda erişimi bakım sözleşmesine bağlar ve uyarlamaların IAS danışmanlarınca ya da eğitimli şirket personelince yapılabildiğini yazar. Üçüncü bir ekibin sizin adınıza geliştirme yapmasının koşullarını ise yayımlanmış bir belgede bulamadık. Bu yüzden bu konuyu işe başlamadan önce kendi sözleşmenize bakarak ve gerekirse IAS'a sorarak netleştirmenizi öneriyoruz.

Test ortamı ve canlıya alma

Test ortamı, canlı sistemin yakın tarihli bir kopyasıyla çalışmalıdır. Geliştirme orada yapılır, süreç sahibi orada dener, onay verildikten sonra değişiklik canlıya planlı bir zamanda taşınır. Canlıya alınan her öğe, değişiklik talebi numarasıyla birlikte bir listeye yazılır. Bu liste, bir sonraki sürüm yükseltmesinde en çok işe yarayan belgedir.

Ne yapmıyoruz

Kesin süre ve fiyatı keşiften önce vermiyoruz; hangi ekranın, hangi kuralın ve hangi raporun gerektiği mevcut kurulumunuz görülmeden tahmin edilemez. IAS'ın bayisi ya da iş ortağı değiliz ve Canias üzerinde vaka çalışmamız yok. TROIA ile ekran ve servis yazıyoruz; yazdığımız her şeyi sizin test ortamınızda, yazılı kapsamla teslim ediyoruz.

Sıkça Sorulan Sorular

Canias'a özel ekran eklemek için IAS'a başvurmak şart mı?

Üretici, uyarlamaların IAS danışmanlarınca ya da eğitimli şirket personelince yapılabildiğini yazar; Canias kullanan bazı şirketlerin kendi bünyesi için TROIA bilen geliştirici aradığı da iş ilanlarından görülüyor. Dışarıdan bir ekibin sizin adınıza çalışmasının koşulunu ise yayımlanmış bir belgede bulamadık. Ayrıca geliştirme ortamına ve kaynak koda erişim, IAS ile aranızdaki bakım sözleşmesi ve lisans koşullarına bağlıdır. Bu koşulların işe başlamadan netleşmesi gerekir.

TROIA öğrenmesi zor bir dil mi?

TROIA, Java Sanal Makinesi üzerinde çalışan dördüncü nesil, nesne yönelimli bir dildir ve kendi IDE'siyle gelir. Çoğu zaman dilin kendisinden çok, Canias'ın veri yapısını ve standart sınıflarını tanımak zaman alır. IAS Business Academy'nin eğitim takviminde 9.03 sürümünün geliştirme ortamına yönelik eğitim de yer alır.

Özel geliştirme sürüm yükseltmesinde kaybolur mu?

Üretici, standart koddan ayrı tutulan uyarlamaların güncellemelerden sonra da kaldığını belirtir. Yine de bu kontrolsüz kabul edilmemelidir: özel sınıfın yerine geçtiği standart sınıf değiştiyse uyarlamanın da gözden geçirilmesi gerekebilir. Yükseltme öncesi özel geliştirme listesi çıkarılıp test ortamında denenir.

Canias'a veritabanından doğrudan kayıt yazabilir miyiz?

Önermiyoruz. Veritabanına doğrudan yazmak, Canias'ın iş kurallarını, kontrollerini ve bağlı kayıtlarını atlar. Yazma işlemleri TROIA iş kuralları ya da TROIA Web Service üzerinden yapılmalıdır; raporlama için salt okunur erişim ise ayrıca değerlendirilir.

Masaüstü ve web istemcide özel ekran aynı mı çalışır?

TROIA kitabına göre iki istemci aynı uygulama modeli katmanını paylaşır; bu yüzden iş kuralı aynı çalışır. Ekranın yerleşimi ve kullanım rahatlığı ise iki istemcide ayrı ayrı denenmelidir.

Sonraki Adım: İhtiyacı Tek Sayfada Yazın

Canias'ta eksik kalan süreci tek bir sayfada yazın: kim kullanacak, hangi veriyi girecek, hangi kurala uyacak, sonunda hangi rapor çıkacak. Bu sayfa hem içeride mi dışarıda mı kararını hem de kapsamı belirler.

Mersin merkezli yazılım ekibi olarak Canias entegrasyonu ve TROIA ile özel ekran, rapor ve servis geliştiriyoruz; mevcut kurulumunuzu değiştirmeden, ERP entegrasyonu ve özel geliştirmeyi yazılı kapsamla yürütüyoruz. İlk keşif görüşmesi ücretsizdir ve online yapılır. Kurulumu yerinde görmek gerekirse ziyaret ayrıca planlanır. Kapsam yazılı netleşir, sabit fiyatla çalışılır ve teslim sonrası 15 gün ücretsiz hata düzeltme sözleşmede yer alır. İhtiyacınızı konuşmak için iletişime geçin; isterseniz WhatsApp'tan da yazabilirsiniz.

YAZAR

Doğuhan Bulut

Kurucu & CTO

Muhasebe/ERP entegrasyonları, otomasyon ve web mimarisi. 10+ yıl yazılım geliştirme deneyimi.

SIRADAKİ ADIM

Canias’a modül ya da dış uygulama mı?

Mevcut canias kurulumunuza TROIA ile ekran ve rapor ya da web servis üzerinden çalışan ayrı bir uygulama: hangisinin işinize uyduğunu 30 dk ücretsiz online keşifte birlikte çıkaralım.

Canias entegrasyonu sayfası
BENZER İÇERİKLER İSTERSEN

Aylık dijital özet bültenimiz

Ayda 1 e-posta — yeni yazılar, KOBİ + KVKK güncellemeleri, entegrasyon ve otomasyon notları. Spam yok, istediğiniz an çıkış.