|
<< İçindekileri Görüntülemek İçin Tıklayın >> Yer: Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 5. Servis yüzeyleri > 5.13 Yönetim arayüzü (wwwroot) |
Paketle gelen web arayüzü StaticFile uygulamasından sunulur ve
AdminREST uçlarını kullanır. Menü dört gruptan oluşur:
| Grup | Sayfalar |
|---|---|
| Veritabanı | Veritabanları (kayıt, kimlik kartı, görev zamanlayıcı, Parametreleri düzenle —
ALTER DATABASE … SET PARAMETERS: kayıtlı bağlantı dizesi; ****** bırakılan kimlik
alanları kayıtlı değerini korur, yeni değerler veritabanı yeniden açıldığında geçerli olur — açıklama, durum,
yükseltme ve Kapat — CLOSE DATABASE: depoyu silmeden ayırır, MASTER kaydını kaldırır),
Veritabanı kurulumu (yeni PostgreSQL / Firebird sunucusuna dağıtım setinden ürün veritabanı),
Katalog (nesneler, kolon/ilişki/indeks/bağımlılık/öznitelik/yetki/dil
sekmeleri — indeks sekmesinde koşul, ifade anahtarı ve USING INDEX — DDL düzenleyici), Veri (tablo satırları, sunucu taraflı sayfalama ve satır
düzenleme), Motor işleri (ivd$scheduler_jobs), Yükseltme,
Yükseltme komutları (ivd$upgrade editörü),
Yerelleştirme (ivd$localization), Veri sözlüğü (seviye 3 ve 4
nesnelerinin açıklaması ve doc.summary / doc.module öznitelikleri, kolon ve parametreleri,
bağımlılıkları ve kaynağı; Açıklama yaz COMMENT ON ve ALTER … SET ATTRIBUTES
üretir, nesneyi yeniden tanımlamaz), Onarım işleri (ürünün onarım yordamları: liste
yordamların özniteliklerinden kurulur — rpr.list = E listede gösterir, rpr.group
grup, rpr.order sıra, rpr.default = E öntanımlı seçili, rpr.firm_param
firma parametresinin adı (öndeğer IFIRMA_NO), rpr.args öteki parametrelerin JSON
varsayılanları, rpr.call = SELECT satır döndüren yordam, rpr.warning onay
penceresindeki uyarı; başlık ui.caption, özet doc.summary; firma listesi
NETSIM.FIRMALAR_MUHA görünümünün FIRMA_NO, FIRMA_ADI kolonlarından. Liste ağaçtır:
gruplar üst düğüm, işler altında; grup işaretlenince altındaki bütün işler seçilir, satıra tıklanınca açıklaması ve
çağrı metni ağacın altında görünür. Seçilenler sırayla, her biri kendi işleminde çağrılır; bir
yordamın hatası ötekileri durdurmaz; firma boşsa yordama NULL gider, yani bütün firmalar), SQL konsolu |
| Kimlik | Kullanıcılar ve roller — MASTER login'leri, kullanıcı eşlemesi ve nesne yetkileri (GRANT / REVOKE) —, bağlı kullanıcılar, oturumlar |
| İzleme | İzleme, günlükler, olay günlüğü (ivd$event_log), süreçler,
iş parçacıkları, görevler |
| Sistem | Lisanslar, WS uç noktaları, mesaj kuyruğu (ivd$message_queue),
IoT cihazları, WhatsApp, kılavuzlar (ajan, IVEDI SQL ve ürün veritabanından üretilen veri sözlüğü
kılavuzu) |
Arayüz bütün yazma işlemlerini motorun /ivedi yüzeyi üzerinden yapar (sayfalar durumsuz
POST /ivedi/execute, SQL sayfası bir WebSocket oturumu) ve çalıştıracağı deyimi her zaman onaydan
önce, bağlantı parametrelerindeki parolayı maskeleyerek gösterir. Bileşenler DevExtreme'dir; kopyası wwwroot/extern/devextreme
altında gelir, derleme adımı yoktur ve dışarıya hiçbir istek çıkmaz. Arayüzün kök dizini
physicalRoot ile bildirilir; dağıtımda ${APPDIR}/wwwroot olmalıdır.
Yükseltme komutları sayfası. Seçilen veritabanının ivd$upgrade satırlarını
(seviye 3/4 yükseltmesinin olay komutları) düzenler; ürünün üstveri veritabanında bu, deponun
IVD$UPGRADE tablosudur ve derleme betiği oradan üretir. Olay adı soldaki ağaçtan seçilir
(Upgrade.Run.Before|After ya da <Nesne>.<Olay>.Before|After: Domain, Generator,
Exception, Role, Function, Table, View, Procedure, Trigger, Privilege, Index × Insert, Update, Delete); ağaçta
olmayan bir ad, küçük harfli komut ve noktalı sayı olmayan sürüm reddedilir. Sürüm penceresi başlangıç dahil,
bitiş hariçtir. Metin motor deyimidir; iki lehçe ayrışıyorsa NATIVE_SQL(FIREBIRD q'{..}', POSTGRESQL q'{..}'),
tablo adı için {$TABLO$} yer tutucusu (editör dokunmaz, yükseltme açar). Doğrulama
seçili satırın metnini dil sunucusuyla (/ivedi, mode: "lsp") Firebird ya da PostgreSQL
lehçesine çevirip sözdizimini denetler, hiçbir şey çalıştırmaz; {$TABLO$} denetim için verilen tablo
adıyla açılır. Her yazma onay penceresinden geçer.
Yükseltme sayfası. Seçilen veritabanının kimlik kartını (ürün kodu, durum,
yürütme kipi, güvenlik yapısı, katalog sürümü, seviye 3 ve seviye 4 sürüm damgaları) gösterir; katalog
yükseltmesini (UPGRADE [PREVIEW] [BACKUP TO]), seviye paketi işlemlerini
(EXPORT LEVEL, UPGRADE LEVEL … FROM — gerektiğinde
ALLOW DOWNGRADE, CONFIRMED, normal bir veritabanını güvenlikliye çeviren
CONVERT TO SECURITY, güvenlikliyi normale çeviren CONVERT TO NORMAL ve depoda açık kalan diğer oturumları kapatan TERMINATE SESSIONS ile —, DROP LEVEL), benimsemeyi (ADOPT LEVEL ile hepsini, ya da tür seçip tek bir nesneyi:
ADOPT TABLE | VIEW | PROCEDURE | FUNCTION | TRIGGER | COLLATION | SEQUENCE | DOMAIN |
EXTERNAL FUNCTION | EXCEPTION) ve yükseltme geçmişini
(ivd$upgrade_history) buradan yürütür. Geçmiş satırına tıklandığında o işlemin
raporunun tamamı açılır ve metin olarak indirilebilir; açık rapor Kaydı sil ile, geçmişin
tamamı Tümünü sil ile silinir (veritabanına ve kimlik kartına dokunulmaz). Koşan bir işlem ilerleme çubuğu, son eylem ve
geçen süreyle (sa:dk:sn.fff) izlenir ve İptal düğmesiyle durdurulabilir; iptal edilen
yükseltmenin raporu CANCELED satırıyla biter ve veritabanı ACTIVE durumuna döner.
Raporun ELAPSED_MS kolonu deyim başına süreyi, özet satırı evre toplamlarını verir. İşlem
bittiğinde yazılan özetteki işlem sayısı yalnız gerçekten yapılan değişiklikleri sayar: planın satırları,
bilgi satırları ve değişiklik yapmayan satırlar (UNCHANGED — paketle aynı tablolar tek satırda, eklenecek
satırı kalmamış tohum tabloları —, SKIPPED, KEPT) sayılmaz; aynı paketle yinelenen bir
yükseltme yalnız her seferinde koşan seviye komutlarını gösterir. Önizlemede plan satırları sayılır. Seviye
seçicisi ürünü adıyla gösterir (3 (ÜRÜN), 4 (KULLANICI)). Seviye damgasını yazan deyimler
(BEGIN/END LEVEL, SET LEVEL … VERSION) arayüzde yoktur; onları ürünün
derleme betiği yazar.
İşlem şeridindeki nokta sunucudan her ileti geldiğinde yanıp söner ve son iletiden bu yana geçen süreyi
gösterir: 5 saniyeye kadar yeşil, 30 saniyeye kadar sarı, daha uzun sessizlikte kırmızı. Uzun bir adım
(yüzlerce nesnenin katalog satırlarını yazan bir COMMIT) ilerleme çubuğunu uzun süre aynı yerde
tutabilir; nokta yeşil kaldıkça işlem sürüyordur.
UPGRADE LEVEL uygulaması (önizleme değil) kendi günlük dosyasını yazar:
<günlük dizini>\upgrade\<VERİTABANI>_L<seviye>_<yyyyMMdd_HHmmss>.log. Dosyanın başında
paket (yol, boyut, başlık) ve veritabanı (depo, parola maskeli; kimlik kartı) bilgisi, ardından her evre,
çalıştırılmadan önce tam metniyle her deyim, her rapor satırı (eylem, hata/uyarı işareti, süre) zaman
damgasıyla, sonda hata ve uyarı sayısı ile toplam süre yer alır. Dosya adı işlem başlarken şeritte salt
okunur gösterilir ve oradan indirilebilir; raporda da LOG satırı olarak kalır. Uygulama
başlamadan önce katalog kimlik dizileri denetlenir: tablodaki en büyük kimliğin gerisinde kalan dizi
ilerletilir (raporda SEQUENCE SET).
Paket alanının sunucudan seçme penceresi yalnız *.xnsdbs dosyalarını listeler (pencereden tüm
dosyalara geçilebilir); istemciden yükleme de tarayıcının dosya penceresini .xnsdbs'e süzer. Yüklenen
dosya dinleyicinin limits.maxContentSize sınırına tabidir (öndeğer 200 MB).
Kılavuzlar. Bu belge ve IVEDI SQL Kullanıcı Kılavuzu arayüzün
“Kılavuzlar” sayfasından açılır; dosyalar wwwroot/docs altından sunulur ve
statik kökün geri kalanı gibi kimlik istemez. Eksik görünüyorlarsa o dizin
kopyalanmamış demektir.
Giriş, MASTER veritabanındaki bir login ile yapılır ve yönetim paneli
SYSADMIN rolünün üyesi (ya da SYSDBA) olmayı gerektirir.
Oturum çerezle taşınır; yalnızca /ivedi çağrıları (durumsuz uç Basic başlıkla, WebSocket oturumu
open gövdesinde) parolayı da gönderir, bu yüzden arayüz parolayı tarayıcının oturum deposunda tutar.
Arayüzün ana alışkanlığı onay penceresini okumaktır: her yazma düğmesi yalnız bir SQL deyimi üretir ve onu çalıştırmadan önce gösterir; deyim beklenen değilse Vazgeç. Sayfalar görev sırasıyla:
| Sayfa | Ne için |
|---|---|
| Ana Panel | Durum kartı: başlangıç zamanı, çalıştırılabilir, komut satırı, sürüm, süreç ve oturum sayıları. Üst çubukta tema, Kompakt görünüm ve dil (Türkçe / İngilizce; motor iletileri de seçilen dilde gelir). Aksiyonlar kartındaki düğmeler (yapılandırmayı yükle, uç noktaları tazele, hizmeti yeniden başlat) canlı sistemde kullanıcıları etkiler; alışkanlıkla basılmaz. |
| Veritabanları | Liste MASTER kayıtlarıdır; parametrelerde kullanıcı ve parola ****** ile maskelidir. Satırdaki
⚠ Sunucu boş/localhost uyarısı kaydın yalnız ajanın makinesinden erişilebildiğini söyler:
uzak istemciler (NetsimApp, web) varsa parametredeki sunucu adı makinenin ağ adı olmalıdır. Satıra
tıklanınca kart ve düğmeler açılır: görev zamanlayıcı aç/kapat, Parametreleri düzenle, servis kullanıcısına
geçir, Açıklama yaz (COMMENT ON DATABASE), durum, yükseltme önizleme / yükselt, Kapat.
Kapat kaydı siler, dosyayı silmez; aynı parametrelerle Veritabanı Kaydet
(OPEN DATABASE) kaydı geri getirir. Kayıtta “Bu depoda IVEDI kataloğu yok, oluşturulsun
mu?” sorusu çıkıyorsa yanlış dosya seçilmiştir: vazgeçin. |
| Veritabanı kurulumu | Yeni bir sunucuya dağıtım setinden ürün veritabanı kurar. Önce Denetle (hiçbir şey yazmaz), sonra Kur; kurulan veritabanı ayrıca kaydedilir. |
| Yükseltme | Sıra her zaman aynıdır: depo süper kullanıcısının adı ve parolası (yalnız bu oturuma gider) →
katalog yükseltmesi Önizleme → Yükselt → seviye paketi seç (sunucudan
.xnsdbs ya da istemciden yükle) → Paket önizleme → Paketi uygula.
Önizleme “ne yapacağım” sorusudur ve hiçbir şey yazmaz; özetteki VERSION satırı
geriye işaret ediyorsa yanlış (eski) paket seçilmiştir. Katalog yükseltmesi kartı yalnız
katalog yükseltme beklerken etkindir. Seviye paketi kartının ilk satırında seviye, paket
dosyası ve Paketi uygula vardır; Paket önizleme, CONFIRMED,
ALLOW DOWNGRADE, ADOPT CODE, CONVERT TO SECURITY / NORMAL seçenekleri,
dışa aktarma ve seviye silme kapalı gelen İleri seviye işlemler bölümündedir (işaretli seçenek sayısı
başlıkta görünür). Seçenekler önizlemenin söylediği durumda işaretlenir, “ne olur ne
olmaz” diye değil. Uygulama her zaman veritabanını tek başına alır: 10 saniye sonra kalan oturumlar
kapatılır (TERMINATE SESSIONS).
Yedek kartındaki Standart yedek döngüsü (öndeğeri işaretli) yükseltmeyi
veritabanının kopyasında yapar: önceki yedek {db}_yedek1 silinir (onayda adıyla söylenir),
oturumlar kapatılır, {db} {db}_yedek1 adını alır, ondan {db}_yedek0
kopyası üretilir ve yükseltme kopyada koşar; başarılıysa kopya, başarısızsa {db}_yedek1 yeniden
{db} olur. {db} yokken {db}_yedek1 hiçbir adımda silinmez. Firebird
döngüsü yalnız ajanın makinesindeki dosyada çalışır, PostgreSQL kopyası sunucuda üretilir (kopya sırasında
kaynağa başka bağlantı olmamalıdır). Döngü dosyayı yeniden adlandırmadan önce depodaki öteki bağlantıları — başka bir
ajanınkiler (MCP sunucusu, başka küme) dahil — kapatır; dosya yine de açık kalırsa döngü hiçbir şeyi değiştirmeden
kendiliğinden geri alınır ve hata iletisi dosyayı tutan bağlantıları söyler. Sayfa kapansa da koşu sunucuda sürer; sayfa yeniden açılınca kart
döngünün canlı durumunu (adım ve son bilgi) gösterir, yarım kalmış döngü için Devam et ve
Geri al sunar. Her adımın başlangıcı ve bitişi süresiyle sunucu günlüğüne yazılır; kopya sürerken
20 saniyede bir kopyalanan boyut (MB ve yüzde) hem ilerleme çubuğuna hem günlüğe gelir. Döngü bitene kadar
veritabanı açılmaz. Döngü dışında yedek gerekiyorsa
Yedek dosyası katalog yükseltmesinden önce tek dosyalık yedek alır.
Hata çıkarsa damga yazılmaz, veritabanı LEVEL3_UPDATE durumunda kalır; neden giderilip aynı
paket yeniden uygulanır. Yanlışlıkla İptal edilen koşu veritabanını ACTIVE'e
döndürür, seviye eski kalır: paket yeniden uygulanır. Hangi durumda hangi sıra: aşağıdaki
Veritabanı yükseltme bölümündeki senaryolar. |
| Katalog | Veritabanı, tür ve ad süzgeciyle nesne listesi; tür seçilmezse alan, kısıt ve domain satırları da gelir. Nesnenin sekmeleri arasında Buna bağlı olanlar, bir tabloyu değiştirmeden önce bakılacak yerdir. Verisini aç aynı nesneyi Veri sayfasında açar. |
| Veri | Sıralama ve süzgeç satırı sorguya çevrilir, sayfalama sunucudadır. Satır düzenleme yalnız birincil
anahtarı olan tablolarda açılır; her yazma onaya gelir (UPDATE … WHERE <anahtar> = …). |
| SQL | Betiğin tamamı tek işlemdir: hata yoksa COMMIT, varsa ROLLBACK. Ürün tabloları
NETSIM şemasındadır (select count(*) from netsim.KULLANIC); şemasız ad bulunmaz.
Sayfa hizmet hesabının yetkisiyle çalışır. Çalıştırılan betikler Geçmiş sekmesinde kalır; Nesneler
sekmesinden ad sürüklenir. |
| Kullanıcılar | Login'ler MASTER'dadır; panele giriş SYSADMIN üyeliği ister. Login ekle onayında
(CREATE USER … FOR LOGIN … PASSWORD) parola açık görünür. Kullanıcı eşlemesi,
login'in bir veritabanında hangi kullanıcı olduğudur; nesne yetkileri GRANT / REVOKE üretir. |
| Bağlı Kullanıcılar, Oturumlar | Hesap listesi değil, şu an bağlı olanlar. Kapanma isteği gönder istemciye not gösterip kısa süre sonra kapanmasını ister; Zorla sonlandır oturumu hemen keser. Oturumlar sayfası yalnız kimliği doğrulanmış oturumları (web / masaüstü / diğer) sayar. |
| İzleme, Loglar, Olay günlüğü, SQL izleme, Süreçler, Motor işleri | İzleme 5 saniyede bir yenilenir (makine, hizmet süreci, bağlantı havuzu, dinleyiciler). Loglar seviye süzgeci, arama ve indirme verir; Olay günlüğü ve Motor işleri veritabanı seçtirir; SQL izleme Başlat sonrası başka sekmede koşan sorguları satır satır gösterir. |
| Lisanslar, WS Uç Noktaları, Kılavuzlar | Lisans dosyası yoksa liste boştur ve Sistem ID görünür; yeni lisans bu numarayla istenir.
WS Uç Noktaları ürünün WEBSENDP uçlarını seçilen veritabanından okur; yükseltme bekleyen bir
veritabanında hata verir, önce yükseltme tamamlanır. |
| Belirti | Nereye bakılır |
|---|---|
| “Yükseltme hata verdi” | Yükseltme → Yükseltme geçmişi → satıra tıkla → Yalnız hata ve uyarılar;
hata satırının DETAIL'i ve raporun LOG satırındaki günlük dosyası (destek
çağrısında istenecek ilk dosya). Hata varsa damga yazılmamıştır, veritabanı LEVEL3_UPDATE'tedir:
neden giderilip aynı paket yeniden uygulanır. |
| “Kullanıcı bağlanamıyor” | Bağlı Kullanıcılar / Oturumlar (bağlı mı?); Loglar'da kullanıcı adıyla arama (401, lisans, parola); Veritabanları'nda kaydın durumu ve Sunucu boş/localhost uyarısı (uzak istemci bağlanamaz). |
| “Zamanlanmış iş çalışmadı” | Motor işleri, veritabanı seçili: “Görev zamanlayıcı KAPALI — işler koşmaz” görünüyorsa Veritabanları kartından (ya da Motor işleri'nden) görev zamanlayıcıyı aç. Görevler sayfası ajanın kendi zamanlayıcısını gösterir, ürün işlerini değil. |