Client kod çalıştıramaz, sadece arayüzü çizer
TROIA platformunda kod yalnızca application server üzerinde çalışır. Client (en yaygını Java/Swing masaüstü client'ı) kullanıcı etkileşimini sunucuya iletir ve sunucudan gelen ekranı çizer — kendisi tek satır TROIA kodu bile yürütmez. Development ortamı da (TROIA IDE) client'ın bir parçasıdır; yani bir TROIA uygulaması geliştirmek için sunucuya bir client üzerinden bağlanmak zorunludur.
Tek bir application server birden fazla client'a hizmet verebilir; kullanıcı sayısı arttıkça birden fazla sunucu paralel çalıştırılabilir.
License Server ve RMI Registry
License Server, kullanıcı sayısı ve modül (uygulama grubu) bazında lisans kontrolü yapan ayrı bir servistir. Application server, ilk kullanıcı girişinde License Server'a erişmeye çalışır; License Server erişilemezse yeni kullanıcı girişi yapılamaz — ama zaten oturum açmış kullanıcılar çalışmaya devam edebilir.
RMI Registry, platformun tüm bileşenleri (client-server, server-server, server-license server) arasındaki iletişim altyapısını sağlar; Java'nın RMI mekanizmasını kullanır. Bu yüzden diğer bileşenlerin çalışabilmesi için tek bir RMI Registry'nin ayakta olması şarttır.
Diğer bileşenler
- Load Balancer: sunucu kaynaklarına ve tanımlı kurallara göre client'ları en uygun sunucuya yönlendirir.
- SSO Gateway: tek oturum açma (single sign-on) sağlar.
- Workbench: sistem yöneticilerinin application server cache'ini, kullanıcı oturumlarını ve çalışan uygulamaları izleyip yönetebildiği bir yönetim aracıdır.
- System Reporter: sunucu bileşenlerinin durumunu belirli periyotlarla raporlar.
Sürüm bilgisine kod içinden erişmek
Hangi application server sürümüyle çalıştığınızı öğrenmek istediğinizde SYS_VERSION sistem değişkenini okumanız yeterli:
OBJECT:
STRING VERSIYON;
VERSIYON = SYS_VERSION;
Sonuç
TROIA mimarisini anlamanın en pratik faydası şudur: bir hata aldığınızda "bu client'ta mı yoksa sunucuda mı oldu" sorusunu doğru sormaya başlarsınız. Kod her zaman sunucudadır; client sadece sonucu gösterir.
Yorumlar (0)
Yorum Yaz