Yazılımcı üç ay önce aramıza katıldı. İlk görevi: veriyi okuyan her programı bulmak. CUST-BALANCE Müşteri ana kaydındaki bir alanı kontrol etti. Yöneticisi ona cevabın muhtemelen kırk civarında program olduğunu söyledi. Eksik olan ve en son 2021'de güncellenen CMDB ile başladı. Uygulama envanterini kontrol etti, sistemleri belgeledi ancak içlerindeki programları belgelemedi. On iki yıldır ekipte olan kıdemli geliştiriciye sordu, o da elli, belki altmış diye tahmin etti, kesin olarak söylemek zor. Ana bilgisayar kaynak kütüphanesini açtı ve COBOL dosyalarını tek tek okumaya başladı.
Altı gün sonra, elinde kırk yedi programdan oluşan bir liste vardı. Listenin eksiksiz olduğundan emin değildi.
Altı gün süren bu manuel arama, eski kod tabanının, kat planı olmayan bir binadaki her dosya dolabının çekmecesini tek tek açarak bir belge arama işlemine eşdeğeridir. Dosya dolapları mevcuttur. Belgeler içlerindedir. Binada indeks, arama çubuğu veya "bu konudan bahseden her şey nerede?" diye sormanın bir yolu yoktur. Eski kod tabanları için kurumsal arama, tam olarak bu sorunu çözmek, bir COBOL veya ana bilgisayar uygulaması varlığının örtük envanterini saniyeler içinde açıkça sorgulanabilir hale getirmek ve yanıtların bellekten derlenmek yerine kaynak kodla doğrulanabilmesini sağlamak için vardır.
Her Şeyi Saniyeler İçinde Bulun
SMART TS XL Eski kod tabanınızdaki her alanı, programı, copybook'u ve işi sorgulanabilir hale getirir.
DAHA FAZLASINI ÖĞRENİN…Kurumsal Arama'nın Eski Kodlar İçin Anlamı Nedir?
SharePoint, Confluence, Slack, Google Workspace gibi modern ortamlar için kurumsal arama oldukça iyi anlaşılmıştır. Bir sorgu yazarsınız, dizin sıralı sonuçlar döndürür, siz de sonuçlara tıklarsınız. Arama, modern içerik sistemlerinin meta veriler (başlık, yazar, tarih, etiketler ve tam metin dizininin anlamlı sonuçlar üretmesi için yeterli metin) taşıması nedeniyle çalışır.
Eski kod tabanları, arama için önemli olan her boyutta farklılık gösterir:
İçerik kod, metin değil. Bir COBOL kaynak kütüphanesinde "CUST-BALANCE" için tam metin araması, yorumlar, veri tanımları ve prosedür bölümü referansları da dahil olmak üzere, bu tam dizeyi içeren her dosyayı döndürür. Bu içerik için kullanışlı olan arama motorunun yalnızca metni değil, COBOL sözdizimini de anlaması gerekir.
İlişkiler katalogda değil, kodda yer alıyor. CUSTPROC ve CUSTMSTR arasındaki bağlantı veritabanında değil, CUSTPROC içindeki COPY ifadesinde bulunuyor. Bu bağlantıları bulmak için metni indekslemek değil, kodu ayrıştırmak gerekiyor.
Envanter tanımı gereği eksiktir. Belgelenmemiş eski bir kod tabanında hangi programların mevcut olduğu, ne yaptıkları veya aralarındaki ilişkinin ne olduğu konusunda güvenilir bir katalog bulunmaz. Arama, keşif mekanizması olmalıdır.
Sorular yapısal niteliktedir, anahtar kelime tabanlı değildir. Eski bir kod tabanında arama yapan bir geliştirici yapısal bir kalıp arar: belirli bir alt programı çağıran her program, belirli bir anahtarda belirli bir veri kümesini okuyan her program. Bunlar anahtar kelime sorguları değil, grafik geçiş sorgularıdır.
Eski Kod Tabanlarında En Değerli Altı Arama
| # | Sorgu kalıbı | Kim soruyor? | ne üretir |
|---|---|---|---|
| 1 | Alan çapraz referansı | Geliştirici, mimar | Bir alanı okuyan, yazan veya yeniden tanımlayan her program. |
| 2 | Etki alanı | Değişiklik kurulu, teknik lider | Önerilen şema değişikliğinin etki alanı |
| 3 | Ölü kod | Modernizasyon ekibi | Sıfır gelen üretim referansına sahip programlar |
| 4 | Desen arama | Uyumluluk, güvenlik | Yapısal kod kalıbına uyan her program |
| 5 | İş kuralı çıkarımı | Analist, İş Analisti, Denetçi | Basitleştirilmiş dil açıklaması ve kural kataloğu |
| 6 | Düzenleyici maruz kalma | GDPR, HIPAA, PCI ekibi | Kişisel tanımlayıcı bilgilere veya düzenlemeye tabi alanlara erişen her program |
1. Alan düzeyinde çapraz referans: Bu veriler nerede kullanılıyor?
"CUST-BALANCE alanını okuyan, yazan veya yeniden tanımlayan her programı bulun." Bu, giriş bölümündeki geliştiricinin altı gün boyunca manuel olarak yanıtlamaya çalıştığı soruydu. Kurumsal düzeyde eski kod araması, bağımlılık grafiğini copybook'taki alan tanımından copybook'u içeren her programa ve alana erişen her paragrafa kadar tarayarak saniyeler içinde yanıtlar.
Sonuç sadece bir program listesi değil, okuyucuları yazarlardan, yeniden tanımlamaları yorumlardan ayıran yapılandırılmış bir envanterdir. Bu sonuca bakan geliştirici, kırk yedi programın CUST-BALANCE'a referans verdiğini bilmekle kalmaz, aynı zamanda bunlardan on dördünün ona yazdığını, ikisinin farklı bir düzenle yeniden tanımladığını ve altısının yalnızca yorumlarda referans verdiğini de bilir.
2. Önerilen değişikliğin etki alanı
“CUST-BALANCE alanını dokuz basamaktan on bir basamağa çıkarırsam ne bozulur?” Bu, her değişiklik danışma kurulunun bir şema değişikliğini onaylamadan önce yanıtlaması gereken etki analizi sorusudur. Arama, değiştirilen alandan dışa doğru ilerler: onu tanımlayan copybook'u hangi programlar içerir (derleme zamanı kapsamı), bu programlardan hangileri alanı düz bir dosyaya yazar (veri sözleşmesi kapsamı), hangi alt sistemler bu düz dosyaları okur (sistemler arası kapsam). Cevap, yapılandırılmış ve doğrulanabilir olan etki yarıçapıdır.
3. Ölü kod tespiti: Hiç çalışmayan kodlar nelerdir?
“CUSTMGMT kütüphanesindeki hangi programlar hiçbir üretim JCL işi tarafından asla çağrılmaz?” Bu sorgu, kapsamdaki her program için gelen bağımlılıkların izlenmesini ve sıfır gelen üretim referansına sahip olanların filtrelenmesini gerektirir. Sonuç, kütüphanede var olan ancak asla çalıştırılmayan programlar olan ölü kod envanteridir; bu da her modernizasyon programının bütçe ayırmadan önce ihtiyaç duyduğu geçiş kapsamı azaltımıdır.
4. Desen araması: X işlemini yapan her programı bulun.
“Dosya durumunu kontrol etmeden dosya açan her programı bulun.” Bu, tüm portföy genelinde belirli bir kod modelini tanımlayan bir uyumluluk aramasıdır. Anahtar kelime aramasından farklı olarak, bu yapısal analiz gerektirir: arama motorunun, bir OPEN ifadesinin ardından gelen bir FILE STATUS kontrolünün, bu kontrolün olmadığı bir ifadeden farklı olduğunu anlayacak kadar COBOL sözdizimini iyi anlaması gerekir. Dört bin programdan oluşan bir portföyde bu modeli dakikalar içinde bulmak, sistematik olarak değerlendirilen bir uyumluluk durumu ile bir olay bir açığı ortaya çıkardığında değerlendirilen bir durum arasındaki farkı yaratır.
5. İş kuralı çıkarma: Bu ne işe yarar?
“GLPOST7’nin ne yaptığını açıklayın ve uyguladığı her kuralı listeleyin.” Bu bir dokümantasyon sorgusudur; kullanıcı, dört bin satırlık COBOL kodunu okumadan bir programın amacını ve mantığını anlamak istiyor. Kurumsal arama, yapısal taslağı ortaya çıkarır: programın hangi dosyaları okuyup yazdığı, hangi EVALUATE koşullarını içerdiği, hangi alt programları çağırdığı ve hangi verileri dönüştürdüğü. Yapay zeka kavrayışıyla birleştiğinde, bu yapısal taslak, yapılandırılmış bir kural kataloğu içeren sade bir dil açıklamasına dönüşür.
6. Mevzuat kapsamı: Düzenlemeye tabi veriler nerede işleniyor?
“Kişisel tanımlayıcı bilgiler (PII) alanlarına, isme, sosyal güvenlik numarasına (SSN), doğum tarihine ve adrese erişen her programı bulun.” Bu bir uyumluluk envanteri sorgusudur. Arama motoru, tüm kopyalama kitaplarındaki alan tanımlarını tarar, PII adlandırma kalıpları ve veri türü imzalarıyla (SSN için PIC 9(9), isim için PIC X(30)) eşleşen alanları belirler ve bu kopyalama kitaplarını içeren her programı izler. Sonuç, GDPR veri sahibi erişim talepleri ve HIPAA değerlendirmelerinin gerektirdiği PII işleme envanteridir.
Standart arama araçları neden bunu yapamaz?
Genel kurumsal arama için kullanılan araçlar (Elasticsearch, Coveo, Glean, Microsoft Search) belge ve bilgi araması için tasarlanmıştır. Doğal dil içeriğini indeksleme, alaka düzeyine göre sıralama ve bir sorguya en yakın anlamsal eşleşmeyi ortaya çıkarma konusunda mükemmeldirler. Ancak bunların hiçbiri COBOL'u anlamaz.
Bir COBOL kaynak kütüphanesine metin arama motoru uygulamak, sorgu dizesiyle eşleşen ancak sorgu amacına uymayan sonuçlar üretir. "CUST-BALANCE" araması, bu karakterleri içeren dosyaları döndürür, ancak eşleşmenin bir alan tanımı, bir MOVE ifadesi, bir READ anahtarı veya bir yorum olup olmadığını size söyleyemez. Alanı doğrudan değil de bir copybook aracılığıyla referans alan programları bulmak için COPY bağımlılık grafiğini tarayamaz. Üretimde çalışan programları ölü kod programlarından ayırt edemez. Bir JCL DD ifadesini çağırdığı programa kadar takip edemez.
Bunlar arama motorunun kalitesinin sınırlamaları değil, arama modelinin sınırlamalarıdır. Kod üzerinde metin araması bir kategori hatasıdır. Eski kod tabanlarının yanıtlanması gereken sorular bağımlılık grafiği sorguları, yapısal desen eşleşmeleri ve anlamsal kod analizidir. Bu soruları yanıtlayan araç, kodun yazıldığı dili anlamalıdır.
ASK AI: Doğrulanmış Kurumsal Bağlam Üzerinde Doğal Dil
Yukarıdaki altı arama modeli de kesin yapısal sorgular gerektirir. COBOL ile her gün çalışan geliştiriciler bu sorguları oluşturabilir. Ancak yanıtlara ihtiyaç duyan, ancak COBOL bilmeyen mimarlar, analistler, uyumluluk görevlileri ve proje yöneticileri bunu yapamaz.
ASK AI bu boşluğu dolduruyor. İndekslenmiş, yapılandırılmış ve doğrulanmış uygulama zekasının üzerine kuruludur. SMART TS XL Soruları sade bir dille üretir ve kabul eder:
“Bu programlardan hangileri gecikme cezası uyguluyor ve nerede?”
“Bu 40 yıllık programı sade bir dille açıklayın.”
“CLAIMS tablosuna dokunan her işi ve programı haritalandırın.”
“Ödeme döngüsündeki her doğrulama kuralını çıkarın.”
ASK AI ile genel bir yapay zeka sohbet aracı arasındaki en önemli fark, başlangıç bağlamıdır. Genel bir sohbet aracı boş bir komut istemi kutusuyla başlar; kullanıcı doğru dosyaları bulmalı, doğru kodu yapıştırmalı ve önemli bir şeyin gözden kaçmamasını ummalıdır. ASK AI ise kurumsal olarak keşfedilmiş, kontrollü bir sonuç kümesinden başlar: gerçek programlar, kopyalama dosyaları, DB2 tabloları ve JCL işleri. SMART TS XL Dizinlenmiş ve yapılandırılmıştır. Her cevap kaynak kanıtla bağlantılı kalır. Her bulgu kaynağına kadar izlenebilir.
Bu, eğitim verilerinden yola çıkarak en iyi tahminleri yapan bir yapay zeka değil. Bu, gerçek kod tabanından doğrulanmış bağlam üzerinde çalışan bir yapay zeka; bir COBOL kılavuzunu bir kez okuyan birine sormakla, sizin özel COBOL kodunuzun her satırını okuyan birine sormak arasındaki fark gibi.
Üç katman, tek bir zeka yığını:
- Kurumsal AramaYapısal sorgular saniyeler içinde yanıtlanıyor, yapay zekaya gerek yok.
- AI'YA SORUNDoğrulanmış kurumsal bağlam üzerinden doğal dil, içeride SMART TS XL
- MCP KonektörüAynı zekâ seviyesi, herhangi bir cihazdan onaylanmış herhangi bir yapay zekâ asistanı tarafından kullanılabilir.
| Genel Yapay Zeka Sohbeti | SMART TS XL + Yapay Zekaya Sor | |
|---|---|---|
| Başlangıç bağlamı | Elle yapıştırılan kod parçacıkları | Kurumsal olarak keşfedilen sonuç kümeleri |
| Uygulama ilişkileri | Zamanında gelmedi | Kod, veri, işler, şemalar, bağımlılıklar |
| ölçek | Dosyaları tek tek | Arka plan analizinde binlerce program |
| İzlenebilirlik | Yanıt kaynaktan ayrıldı | Bulgular kaynak satırlarıyla bağlantılıdır. |
| Tekrarlanabilirlik | Kişisel tercihe bağlıdır. | Kaydedilen, paylaşılan, parametrelendirilmiş istemler |
| Model seçimi | Satıcının modeli | Kurum onaylı model |
MCP Bağlayıcısı: Herhangi Bir Yapay Zeka Asistanından Kurumsal Arama
Model Bağlam Protokolü (MCP), yapay zeka asistanlarının harici araçları çağırmasına olanak tanıyan açık bir standarttır. SMART TS XL MCP Connector, herhangi bir MCP uyumlu asistanın çağırabileceği araçlar olarak, eksiksiz uygulama zekası katmanını, kurumsal aramayı, çapraz referans raporlarını, alan soy ağacını, kontrol akışı analizini ve etki analizini sunar.
Pratik sonuç: Claude, ChatGPT, Microsoft Copilot, Gemini veya Grok kullanan bir geliştirici, halihazırda kullandığı asistan aracılığıyla eski kod tabanıyla ilgili soruları sade bir dille sorabilir ve doğrulanmış, kaynak kodla bağlantılı yanıtlar alabilir. SMART TS XL Farklı bir araç açmadan, veri dışa aktarmadan, kod kopyala yapıştır yapmadan analiz yapın.
MCP Bağlayıcı sayfasındaki etkileşim, bunun tam olarak nasıl göründüğünü göstermektedir:
Kullanıcı soruyor: "GLPOST7 programını açıklayın ve etkilediği her şeyi gösterin."
MCP aramaları:
get_member_content,get_control_flow,cross_reference_reportYanıt: “GLPOST7, talep akışından günlük GL işlemlerini gönderir. 2 DB2 tablosunu okur, 4 toplu iş tarafından çağrılır ve ödeme döngüsüyle 3 copybook'u paylaşır. İşte her adımın kaynak satırına bağlantılı olduğu sade bir dille anlatım.”
Daha önce yalnızca saatlerce kaynak dosyaları, JCL ve toplu işlem zamanlayıcı dokümanlarını okuyan bir COBOL uzmanı tarafından elde edilebilen bu yanıt, onaylanmış herhangi bir yapay zeka asistanından saniyeler içinde geliyor. Bilgi, LLM'nin eğitim verilerinde değil, başka bir yerde bulunuyor. SMART TS XLUygulama zekası katmanı, talep üzerine MCP konektörü aracılığıyla ortaya çıkarılır.
MCP Bağlayıcısı, bağlı herhangi bir asistana altı temel yetenek sunar:
| Yetenek | Ne yapar |
|---|---|
| Kurumsal çapta arama | Dizinlenmiş her ortamdaki programlar, alanlar, işler ve veri türleri. |
| Talep üzerine kaynak | Üyelere ait içerik ve herhangi bir program veya kopyalama defteri için önceden işlenmiş kod. |
| Çapraz referans raporları | Programlar, çalışma sayfaları, tablolar ve işler genelinde kullanım yeri analizi |
| Alan ve veri soy ağacı | COBOL veri yapıları aracılığıyla alan ilişkileri ve yeniden tanımlamalar |
| Kontrol akışı ve AST | Yapılandırılmış programlama anlayışı: sözdizimi ağaçları, karmaşıklık, çağrı grafiği |
| Örgütsel bağlam | Müşteri, kullanıcı ve alan bağlamı sayesinde asistanlar sizin terimlerinizle yanıt verir. |
Tüm bunlar salt okunur, kimlik doğrulamalı ve rol tabanlıdır; yapay zeka asistanı bu zekaya erişir. SMART TS XL Kuruluşun verdiği izinler dahilinde.
Altı Günden Saniyelere: Neler Değişiyor?
Makalenin başındaki geliştiriciye geri dönelim. Onun "CUST-BALANCE'ı okuyan her programı bulun" sorusu, çapraz referans sorgusudur. SMART TS XLKurumsal arama özelliğini kullanarak alan adını yazıyor ve çapraz referans raporunu alıyor: erişim türüne (okuma/yazma/yeniden tanımlama) göre yapılandırılmış, her biri erişimin gerçekleştiği kaynak satırına bağlı kırk yedi program. Altı gün otuz saniyeye dönüşüyor.
Elli veya altmış diye tahmin eden kıdemli geliştiricinin belirsiz olması yanlış değil; bu belirsizlik, sistematik olarak indekslenmemiş bir kod tabanına karşı hafızadan çalışırken verilebilecek dürüst bir cevaptır. Kod tabanı indekslendiğinde belirsizlik ortadan kalkar. Tahmin doğrulanmış bir sayıya dönüşür ve doğrulanmış sayı, takip eden her analizin temelini oluşturur: alan genişletmesinden önce etki değerlendirmesi, modernizasyon dalgasından önce geçiş kapsamı, regresyon test paketinden önce test kapsamı.
Belgelenmemiş eski kod tabanları için kurumsal arama, bir verimlilik aracı değildir. On yıllarca hafıza ve sezgiyle yönetilen sistemler hakkında güvenilir kararlar almanın ön koşuludur. Envanter sorgudan ortaya çıkar. Bağımlılıklar analizden ortaya çıkar. Kodda kilitli olan bilgi, yapılandırılmış arama, sade dilli yapay zeka sorguları ve MCP aracılığıyla bağlanan her onaylı yapay zeka asistanı aracılığıyla ekibin her üyesine erişilebilir hale gelir.
Ne kadar SMART TS XL Eski kod tabanları için kurumsal arama olanağı sunar.
SMART TS XL'S kurumsal arama Bu sistem, COBOL programları, JCL iş akışları, copybook'lar, DB2 tabloları, veri kümeleri ve aralarındaki tüm bağımlılıklar dahil olmak üzere eksiksiz uygulama ortamını indeksler ve COBOL sözdizimini, JCL yapısını ve programlar arası bağımlılıkları anlayan bir arama arayüzü aracılığıyla sorgulanabilir hale getirir. Saniyeler içinde yanıt veren sorgular, daha önce günler süren manuel inceleme gerektiren sorgularla aynıdır.
ASK AI bu yeteneği doğal dile genişletiyor: Mimarlar, analistler, uyumluluk görevlileri ve proje yöneticileri, eski kod tabanı hakkında sade İngilizce ile sorular sorabilir ve belirli kod tabanını hiç görmemiş bir dil modelinin genel bilgisine değil, doğrulanmış yapısal analize dayalı yanıtlar alabilirler. Yanıtlar gerçek programlara yöneliktir, gerçek kaynak satırlarına bağlıdır ve kaydedilmiş ve paylaşılan istem şablonları aracılığıyla tekrarlanabilir.
MKS MCP Konektörü Bu zekayı, kuruluşun onayladığı her yapay zeka asistanına entegre ediyor: Claude, ChatGPT, Copilot, Gemini, Grok. Bir geliştirici, eski bir kod tabanıyla ilgili bir soruyu telefondan sorduğunda, bir yanıt alıyor. SMART TS XLUygulama zekası, yapılandırılmış, doğrulanmış, kaynak bağlantılı, araç değiştirmeye veya veri dışa aktarmaya gerek kalmadan çalışır. MCP bağlayıcısı salt okunur, kimlik doğrulamalı ve rol tabanlıdır: Onaylanmış yapay zeka, kuruluşun izinleri dahilinde çalışır, onları aşmaz.
Uygulama bağımlılık eşlemesi, çapraz referans sorgularının doğruluğunu sağlayan temeldir: her CALL, her COPY, her veri kümesi akışı, her JCL program referansı, herhangi bir arama çalıştırılmadan önce bağımlılık grafiğinde yer alır. Kurumsal aramanın ürettiği çapraz referans raporları, kaynak metne karşı anahtar kelime eşleştirmesinden değil, bu yapısal modelden türetilir.
Statik kod analizi, bir arama motorunu bir kod zekası platformundan ayıran yapısal katmanı ekler: Eşik değerinin üzerinde döngüsel karmaşıklığa sahip her programı, FILE STATUS kontrolü yapmadan dosya açan her programı, REDEFINES varyantında bir alanı referans alan her programı bulan sorgular; bunlar metin aramaları değil, yapısal sorgulardır ve statik analizin sağladığı ayrıştırılmış, analiz edilmiş anlayışı gerektirir.
Tek satırda özetlenen dönüşüm: COBOL dosyalarında altı gün süren manuel arama → erişim türüne göre yapılandırılmış, kaynak satırlarına bağlı, doğrulanmış çapraz referans raporuyla otuz saniye.
Kod tabanı biliyor. Artık ona sorabilirsiniz.
Altı günlük manuel aramanın sonunda ortaya çıkardığı bilgi her zaman kod tabanında mevcuttu. CUST-BALANCE'ı okuyan her program her zaman kaynak kütüphanesindeydi. Her programı copybook'a bağlayan COPY ifadeleri her zaman kaynaktaydı. Yürütme bağlamını tanımlayan JCL her zaman iş kütüphanesindeydi. Sorun bilginin yokluğu değil, onu ortaya çıkaracak bir mekanizmanın yokluğuydu.
Eski kod tabanları için kurumsal arama, işte bu mekanizmadır. Dizine eklenmiş, yapılandırılmış, sorgulanabilir uygulama zekası, kodla ilgili yapısal soruları günler yerine saniyeler içinde yanıtlar ve ASK AI ve MCP Bağlayıcısı aracılığıyla, kuruluşun kullandığı onaylı herhangi bir yapay zeka asistanından bu soruları sade bir dilde yanıtlar.
Kod tabanı her zaman cevabı biliyordu. Artık ekipteki herkes bu soruyu sorabilir.


