Understand
Understand Dashboard ile IBM i uygulama nesnelerini ve bağımlılıklarını eşleyin ve doğrudan tarama verilerinden yapısal soruları yanıtlamak için Bob'u kullanın.
Understand, IBM Bob Premium Package for i ile birlikte gelen bir kod zekası bileşenidir. Seçtiğiniz IBM i uygulama kitaplıklarını tarar ve programlar, servis programları, modüller, dosyalar, komutlar, veri alanları ve veri kuyrukları dahil keşfedilen tüm nesneleri kataloglayarak uygulamanın kapsamlı bir modelini oluşturur. Understand ayrıca bu nesneler arasındaki ilişkileri haritalandırarak program çağrıları, dosya erişim kalıpları, servis programı bağlamaları, SQL referansları, tetikleyiciler, yabancı anahtar ilişkileri, günlükleme yapılandırmaları ve veritabanı kısıtlamaları gibi bağımlılıkları yakalar.
Tarandıktan sonra Bob, her kaynak üyeyi okumadan doğrudan tarama verilerinden yapısal soruları yanıtlayabilir ve Understand Dashboard, nesneleri, bağımlılıkları ve içgörüleri keşfetmek için görsel bir arayüz sağlar.
Tüm tarama verileri nesnelerin kendisinden türetilir. Understand kaynak kodunu okumaz veya ayrıştırmaz. Kaynak üyeler sistemdeki derlenmiş nesnelerle senkronize değilse, tarama kaynağı değil nesneleri yansıtır.
Ön Koşullar
- Code for IBM i aracılığıyla aktif bir IBM i bağlantısı.
- Understand kurulabilmesi için öncelikle
vscode-ibmi-bob.understand.installLibraryayarı yapılandırılmalıdır. Mevcut bir kullanıcı kitaplığı olmayan özel bir kitaplık seçin. Kitaplığa erişimi yalnızca yetkili kullanıcılarla sınırlandırın.
Taranan uygulama verileri özel bir kütüphanede tutulur. Bu kütüphaneye başka kullanıcılara erişim verirsen, söz konusu kullanıcılar doğrudan yetkiye sahip olmadıkları nesnelere ait verileri görebilir.
Başlarken kılavuzu
Yerleşik Understand kılavuzu başlamanın en hızlı yoludur. Komut paletinden Get Started with Understand komutunu çalıştırarak açın veya VS Code'daki Get Started sekmesini açıp Understand your IBM i applications turunu seçin.
Kılavuz sizi şu adımlarda yönlendirir:
- IBM i'a bağlanma
- Understand bileşenini yükleme
- İlk uygulamanızı oluşturma
- Uygulamayı tarama
- Sonuçları Bob ile keşfetme

Understand Dashboard
Understand Dashboard, uygulamaları yönetmek ve tarama sonuçlarını keşfetmek için merkezi arayüzdür. Komut paletinden Open Understand Dashboard komutuyla veya Bob sohbet görünümü başlık çubuğundaki Understand Dashboard simgesine tıklayarak açın.

Pano şu sekmeler halinde düzenlenmiştir:
| Sekme | Amaç |
|---|---|
| Overview | Understand bileşenini yükleyin, güncelleyin ve durumunu izleyin. |
| Applications | IBM i uygulamalarınızı oluşturun, tarayın ve yönetin. |
| Libraries | Seçilen uygulamaya kitaplık ekleyin veya kaldırın. |
| Objects | Taranan her nesneyi arayın ve filtreleyin; neyi kullandığını ve onu neyin kullandığını görmek için bir nesne seçin. |
| Insights | Nesne ve bağımlılık sayıları, en çok başvurulan nesneler, dinamik SQL riskleri, tetikleyiciler, yabancı anahtarlar ve günlük kaydı olan nesneler. |
| Messages | Her tarama adımı için tanılama ve durum bilgileri. |
| Settings | Yükleme kitaplığı ayarına hızlı erişim. |
Understand bileşenini yükleme
Herhangi bir uygulamayı taramadan önce Understand bileşenini IBM i üzerine yüklemelisiniz.
Understand Dashboard'u açın ve Overview sekmesine gidin.
Yükleme kitaplığı ayarlanmamışsa bileşen kartında Set install library seçeneğini belirleyin ve ayarlar düzenleyicisinde kitaplık adını girin.
Panoya dönün ve Install Understand seçeneğini belirleyin.
Bir uzantı güncellemesiyle daha yeni bir sürüm sunulduğunda, Overview sekmesindeki aynı kart bir Update Understand eylemi sunar.

Uygulama oluşturma
Bir uygulama, bordro sistemi için PAYLIB ve PAYDTA gibi tek bir IBM i uygulamasını temsil eden sıralı ilgili kitaplıklar listesinden oluşur.
Applications sekmesinde New application seçeneğini belirleyin:
- Bir görünen ad ve isteğe bağlı bir açıklama girin.
- Bir kitaplık adı yazmaya başlayın. Liste, bağlı sistemde bulunan kullanıcı kitaplıklarını görüntüler ve sistem kitaplıklarını (
Q*,SYS*ve#*) hariç tutar. - Önerilen bir kitaplığı seçin veya bir kitaplık adı eklemek için Enter tuşuna basın. Kitaplıklar eklendikleri sırayla taranır.
Kitaplıkları istediğiniz zaman Libraries sekmesinden ekleyebilir veya kaldırabilirsiniz.

Bir uygulamayı tarama
Tarama işlemi, uygulamanın kitaplıklarındaki her nesneyi analiz eder ve aralarındaki bağımlılıkları kaydeder. Taramayı başlatmak için Applications sekmesinde bir uygulamanın yanındaki Scan düğmesini seçin.
- Tarama ilerlemesi panonun alt kısmında görüntülenir. Taramalar özel bir SQL işinde çalışır ve tarama devam ederken diğer pano sekmelerini kullanmaya devam etmenize olanak tanır.
- Tarama tamamlandığında, uygulama nesneleri tarafından başvurulan ancak henüz uygulamaya dahil edilmemiş ek kitaplıkları belirleyebilir. Bu önerileri Libraries sekmesinde inceleyin.
- Tarayıcının çözümleyemediği nesneler, bağımlılıklar veya başvurular için Messages sekmesini kontrol edin.
Understand sistemdeki derlenmiş nesneleri okur, kaynak üyeleri okumaz. Dinamik çağrılar (program adının bir değişkende saklandığı durumlar) ve dinamik SQL tablo referansları gibi bağımlılık ilişkileri nesne taraması tarafından görülemez ve yakalanmaz. Dinamik SQL ile işaretlenen nesneler, panoda ve Bob'un yanıtlarında manuel inceleme gerektiren alanlar olarak vurgulanır.

Belirli bir kütüphanede değişiklik yaparken tüm uygulamayı yeniden taraman gerekmez. Dizininizi hızlıca güncel tutmak için Libraries sekmesinden tek tek kütüphaneleri tarayabilirsiniz.

Nesneleri ve içgörüleri keşfetme
Bir tarama tamamlandıktan sonra sonuçları iki şekilde keşfedebilirsiniz.
Panoda, dizine eklenen her nesneyi aramak ve filtrelemek için Objects sekmesini kullanın. Bir nesnenin neyi kullandığını (giden bağımlılıklar) ve onun tarafından neyin kullanıldığını (gelen bağımlılıklar) dosyalar ve dışa aktarılan semboller sütunlarıyla birlikte görmek için nesneyi seçin. Insights sekmesi size toplu istatistikler sunar: nesne ve bağımlılık sayıları, en çok başvurulan nesneler, dinamik SQL riskleri, tetikleyiciler, yabancı anahtarlar ve günlük kaydı tutulan nesneler.


Bob ile, taranan uygulamanın bir özetiyle başlayan bir görevi IBM i Developer modunda açmak için Insights sekmesindeki Explore the Application with Bob düğmesini seçin. Buradan doğal dille sorular sormaya devam edebilirsiniz — bir programın neleri kullandığı, bir dosya değişirse nelerin bozulacağı, dinamik SQL'in nerede kullanıldığı, hangi programların OPM olduğu ve çok daha fazlası. Ayrıntılar için Bob'u Understand ile kullanma bölümüne bakın.
Bob'u Understand ile kullanma
Understand yüklendiğinde ve bir uygulama tarandığında Bob, hem IBM i Developer hem de IBM i Database modlarında altı Understand aracına ve üç Understand becerisine otomatik olarak erişim kazanır.
Bob, bir soru uygulama yapısını, nesne ilişkilerini veya bağımlılık analizini içerdiğinde otomatik olarak ilk bilgi kaynağı olarak Understand araçlarını kullanır. Bu aşağıdaki gibi görevleri kapsar:
ORDPROCprogramını ne çağırıyor? Neye bağımlı?CUSTMSTdosyasını silmek güvenli mi? Neler bozulur?- Hangi programlar OPM? Hangileri dinamik SQL kullanıyor?
PAYLIBuygulamasına ve modernizasyona hazırlığına ilişkin genel bir bakış ver.DBSRVservis programı neleri dışa aktarıyor ve bu prosedürleri kimler kullanıyor?
Bob bu soruları nesne tarama verilerinden yanıtlar. Belirli bir kaynak dosyasını açmasını açıkça istemediğin sürece yapısal analiz için kaynak üyeleri okumaz.
Bob'un belirli bir görev için Understand araçlarını kullanıp kullanamayacağını kontrol etmek için bir görevi başlatırken veya düzenlerken Understand izin grubunu yapılandırın.
Understand araçları yalnızca bileşen yüklendiğinde etkinleştirilir. Bu araçlar görünmüyorsa veya kullanılamıyorsa Understand henüz yüklenmemiştir. Bunları etkinleştirmek için Understand bileşenini yükleme bölümünde açıklanan yükleme sürecini tamamlayın.

Verileri güncel tutma
Understand verileri, uygulamanızın en son tarama anındaki durumunu temsil eder. Taramadan sonra nesneler eklenir, değiştirilir veya kaldırılırsa, verileri yenilemek ve güncel tutmak için yeni bir tarama çalıştırın. Bob ve Understand Dashboard, tarama sonuçlarının ne zaman güncel olmayabileceğini otomatik olarak belirterek yeniden taramanın ne zaman gerekli olduğunu belirlemenize yardımcı olur.