CANIAS'a özel bir mobil uygulama yazmadan önce bilinmesi gereken
Bir müşteri "ERP'ye mobilden erişmek istiyoruz" dediğinde, akla ilk gelen genelde sıfırdan bir mobil uygulama geliştirmek oluyor. CANIAS ekosisteminde bu ihtiyacın hazır bir cevabı var: Mobile Toolkit — iOS ve Android'de çalışan, React Native ile yazılmış, CANIAS ERP fonksiyonlarına REST web servisleri üzerinden erişen resmi bir uygulama. Ama burada net bir sınır çizmek gerekiyor: bu bir "özelleştirilebilir mobil framework" değil, hazır ve kapalı bir istemci.
Mimari: neden doğrudan business layer'a değil, REST üzerinden
Mobile Toolkit, application server'daki diğer business layer class'larıyla doğrudan konuşmuyor. Tüm istekler SYSMOBILETOOLKIT class'ı üzerinden, REST web servisleri aracılığıyla yönlendiriliyor. Bu, troiada-web-servis-sunmak yazısında ele alacağım web servis mimarisiyle aynı prensibe dayanıyor — mobil istemci de tıpkı harici bir üçüncü parti sistem gibi ele alınıyor, TROIA kodunu asla doğrudan çalıştırmıyor (bu ayrım troia-platformu-nasil-calisir yazısındaki "TROIA kodu yalnızca application server'da çalışır" ilkesiyle birebir tutarlı).
Etkinleştirme için gereksinimler
- TROIA Platform build'i 25.04.20-01 sonrası olmalı.
- CANIAS sürümü en az 9.03.
- REST web servislerinin doğru şekilde devreye alınmış ve istemcilerin bağlanacağı tüm ağlardan erişilebilir olması gerekiyor — bu son madde, VPN arkasındaki bir ERP'de mobil erişimi düşünürken en çok gözden kaçan kısım: mobil cihaz genelde şirket ağının dışındadır, REST endpoint'i sadece iç ağdan erişilebilirse Mobile Toolkit dışarıdan hiç çalışmaz.
Sunucu tarafı konfigürasyonu
Sunucu config dosyasının [System] bölümüne şu satır eklenir:
MobileToolkitRestURL = {webclienturl}/rest/stateless/v1/?profile={profiladi}
Buradaki {profiladi}, client-profiles.cfg dosyasında tanımlı olmalı ve doğru application server/load balancer adreslerini içermeli. Bu iki dosya arasındaki tutarsızlık (profil tanımlanmamış ya da yanlış sunucuya işaret ediyor), Mobile Toolkit kurulumlarında en sık karşılaşılan "bağlanamıyor" şikayetinin kaynağıdır.
Yetkilendirme: MOBILETOOLKIT transaction hakkı
Bir kullanıcının mobil erişim kodunu görebilmesi için SYST03 - System Users transaction'ında MOBILETOOLKIT transaction hakkına sahip olması gerekiyor. Bu hak verilmeden kullanıcı, ayarlar ekranında QR kodunu hiç göremiyor — "kurulumu yaptık ama kullanıcı QR kodu bulamıyor" şikayetinin ilk kontrol noktası bu yetkidir.
Cihazı bağlamak
Kullanıcı mağazadan ("Canias Mobile Toolkit" araması ile) uygulamayı indirir, yetkisi varsa Ayarlar → Mobile Toolkit altında "Personal Mobile Toolkit Access Code" adlı bir QR kod görür ve bunu uygulamada bir kez tarayarak bağlantıyı kurar. Bağlantı kurulduktan sonra cihaz, push bildirimleri için kullanıcı hesabına bağlanır; Ayarlar → Mobile Toolkit (Devices) altından bağlı cihazlar görüntülenip silinebilir.
Ne yapılabilir, ne yapılamaz
Şu anki yetenekler: kullanıcı push bildirimleri, KPI listesi, BPM süreçleri, mail yönetimi. Belgelerde altı çizilen kesin bir kısıtlama var: UI, temel işlevsellik ya da herhangi bir seviyede özelleştirme yapmak mümkün değil. Yani bir müşteri "Mobile Toolkit'e özel bir ekran/rapor eklensin" isterse, cevap bu aracın kapsamı dışında — böyle bir ihtiyaç için ya CANIAS'ın web servisleri üzerine sıfırdan bir mobil istemci yazılmalı, ya da talebin Mobile Toolkit'in mevcut dört yeteneğinden biriyle karşılanıp karşılanamayacağı değerlendirilmeli.
Sık yapılan hatalar
- REST servislerinin dış ağdan erişilebilirliğini test etmeden kurulumu tamamlamak — iç ağda "çalışıyor" görünen bir REST endpoint, mobil veri/farklı bir ağdaki cihazdan erişilemeyebilir; kuruluma başlamadan önce hedef ağ topolojisini netleştirin.
- MOBILETOOLKIT transaction hakkını unutmak — kullanıcı "QR kodu göremiyorum" dediğinde ilk kontrol edilecek şey konfigürasyon değil, bu transaction hakkı.
- Özelleştirme talebini Mobile Toolkit üzerinde çözmeye çalışmak — belgeler bunu açıkça yasaklıyor; müşteri beklentisini proje başında bu sınırla hizalamak, sonradan "neden ekleyemiyoruz" tartışmasını önler.
client-profiles.cfg'deki profil adınıMobileToolkitRestURL'deki ile eşleştirmemek — iki dosyanın birbirine referans veren alanlarını ayrı ayrı güncelleyip birini unutmak, sessiz bağlantı hatalarına yol açar.
Sıradaki adım
Bir sonraki yazıda string işlemlerine (STRINGBUILDER ile performanslı birleştirme, PARSE ile string üzerinde gezinme) döneceğim.
Yorumlar (0)
Yorum Yaz