Ettevõtte otsing dokumenteerimata pärandkoodibaaside jaoks

Ettevõtte otsing dokumenteerimata pärandkoodibaaside jaoks

Arendaja liitus kolm kuud tagasi. Tema esimene ülesanne: leida iga programm, mis loeb CUST-BALANCE kliendi põhikirje väli. Tema juht ütles, et vastus oli ilmselt umbes nelikümmend programmi. Ta alustas CMDB-ga, mis oli mittetäielik ja viimati uuendatud 2021. aastal. Ta kontrollis rakenduste inventuuri, mis dokumenteerib süsteeme, aga mitte nende sees olevaid programme. Ta küsis vanem arendajalt, kes on meeskonnas olnud kaksteist aastat, ja too pakkus viiskümmend, võib-olla kuuskümmend, raske kindlalt öelda. Ta avas suurarvuti lähtekoodi teegi ja hakkas ükshaaval COBOL-faile lugema.

Kuus päeva hiljem oli tal nimekiri neljakümne seitsmest programmist. Ta polnud kindel, kas see oli täielik.

See kuuepäevane käsitsi otsing on pärandkoodibaaside vaste dokumendi otsimisele, avades kõik dokumendikapi sahtlid hoones, millel pole korruseplaani. Dokumentatsioonikapid on olemas. Dokumendid on nendes. Hoonel pole indeksit, otsinguriba ega võimalust küsida: „Kus on kõik, mis seda mainib?“. Ettevõtte pärandkoodibaaside otsing on loodud just selle probleemi lahendamiseks, et muuta COBOLi või suurarvuti rakenduste pärandi kaudne inventuur sekunditega selgesõnaliselt päringuliseks, kusjuures vastuseid saab allika suhtes kontrollida, mitte mälust kokku panna.

Leia ükskõik mida sekunditega

SMART TS XL muudab iga teie pärandkoodibaasis oleva välja, programmi, märkmiku ja töö päringuliseks.

SAAGE LISATEAVET…

Mida tähendab ettevõtte otsing pärandkoodi jaoks

Ettevõtte otsing tänapäevastes keskkondades nagu SharePoint, Confluence, Slack, Google Workspace on hästi mõistetav. Sisestate päringu, register annab järjestatud tulemused ja klõpsate lingil. Otsing toimib seetõttu, et tänapäevased sisusüsteemid sisaldavad metaandmeid: pealkiri, autor, kuupäev, sildid ja piisavalt teksti, et täisteksti register annaks sisukaid tulemusi.

Pärandkoodibaasid on otsingu jaoks oluliste dimensioonide osas erinevad:

Sisu on kood, mitte proosa. Täistekstiotsing märksõnaga „CUST-BALANCE” COBOL-i lähtekooditeegis tagastab kõik failid, mis sisaldavad seda täpset stringi, sealhulgas kommentaarid, andmemääratlused ja protseduuride jagamise viited. Selle sisu jaoks kasulik otsingumootor peab mõistma COBOL-i süntaksit, mitte ainult teksti.

Seosed asuvad koodis, mitte kataloogis. CUSTPROCi ja CUSTMSTRi vaheline seos ei asu andmebaasis. See asub CUSTPROCi sees olevas COPY-lauses. Nende seoste leidmiseks on vaja koodi parsida, mitte teksti indekseerida.

Inventuur on definitsiooni järgi mittetäielik. Dokumenteerimata pärandkoodibaasil puudub usaldusväärne kataloog olemasolevate programmide, nende tegevuse või nendega seotud seoste kohta. Otsing peab olema avastamismehhanism.

Küsimused on struktuurilised, mitte märksõnapõhised. Arendaja, kes otsib pärandkoodibaasist, otsib struktuurimustrit: iga programm, mis kutsub esile konkreetse alamprogrammi, iga programm, mis loeb konkreetset andmestikku kindla võtmega. Need on graafi läbimise päringud, mitte märksõnapäringud.

Kuus kõige väärtuslikumat pärandkoodibaasi otsingut

#Päringu musterKes seda küsibMida see toodab
1Välja ristviideArendaja, arhitektIga programm, mis loeb, kirjutab või defineerib välja uuesti
2Mõju ulatusMuutuste nõukogu, tehniline juhtKavandatud skeemimuudatuse plahvatusraadius
3Surnud koodModerniseerimismeeskondProgrammid, millel pole sissetulevaid tootmisviideid
4MustriotsingVastavus, turvalisusIga programm, mis vastab struktuurikoodi mustrile
5Ärireeglite ekstraheerimineAnalüütik, BA, audiitorLihtsa keele selgitus ja reeglite kataloog
6Regulatiivne kokkupuudeGDPR, HIPAA, PCI meeskondIga programm, mis pääseb juurde isikut tuvastavale teabele või reguleeritud väljadele

1. Välja tasemel ristviide: kus neid andmeid kasutatakse?

„Leidke iga programm, mis loeb, kirjutab või määratleb uuesti CUST-BALANCE’i.“ See on küsimus, millele arendaja sissejuhatuses kirjutades kuus päeva käsitsi vastamisele kulutas. Ettevõtte pärimuskoodi otsing vastab sellele sekunditega, läbides sõltuvusgraafiku käsiraamatu väljadefinitsioonist iga programmini, mis käsiraamatut sisaldab, ja iga lõiguni, mis väljale juurde pääseb.

Tulemuseks pole lihtsalt programmide loend, vaid struktureeritud inventuur, mis eristab lugejaid kirjutajatest, ümberdefineeritutest ja kommentaaridest. Tulemust vaatav arendaja teab mitte ainult seda, et 47 programmi viitavad CUST-BALANCE'ile, vaid ka seda, millised 14 neist sellele kirjutavad, millised kaks defineerivad seda ümber erineva paigutusega ja millised kuus viitavad sellele ainult kommentaarides.

2. Kavandatud muudatuse mõju ulatus

„Kui ma laiendan CUST-BALANCE'i üheksakohaliselt numbrilt üheteistkümnekohalisele, mis siis katkeb?“ See on mõjuanalüüsi küsimus, millele iga muudatuste nõuandekogu peab enne skeemimuudatuse heakskiitmist vastuse saama. Otsing liigub muudetud väljast väljapoole: millised programmid sisaldavad seda defineerivat käsiraamatut (kompileerimise aja ulatus), millised neist programmidest kirjutavad välja lamefaili (andmelepingu ulatus), millised allavoolu süsteemid neid lamefaile loevad (süsteemideülene ulatus). Vastus on struktureeritud ja kontrollitav plahvatusraadius.

3. Surnud koodi tuvastamine: mis ei käivitu kunagi?

„Milliseid CUSTMGMT teegi programme ei kutsu ükski JCL-töö kunagi välja?“ See päring nõuab iga ulatusse kuuluva programmi sissetulevate sõltuvuste jälgimist ja filtreerimist nende programmide väljaselgitamiseks, millel pole sissetulevaid tootmisviideid. Tulemuseks on surnud koodi inventuur – programmid, mis on teegis olemas, kuid mida kunagi ei käivitata – see on migreerimise ulatuse vähendamine, mida iga moderniseerimisprogramm vajab enne eelarve koostamist.

4. Mustriotsing: leia iga programm, mis teeb X-i

„Leia iga programm, mis avab faili ilma FAILI OLEKUT kontrollimata.“ See on vastavusotsing, mis tuvastab kogu portfellist konkreetse koodimustri. Erinevalt märksõnaotsingust nõuab see struktuurianalüüsi: otsingumootor peab COBOL-i süntaksit piisavalt hästi mõistma, et tuvastada, et OPEN-lause, millele järgneb FILE STATUS-kontroll, erineb sellest, mis seda ei ole. Selle mustri leidmine nelja tuhande programmi portfellist minutitega on erinevus süstemaatiliselt hinnatud vastavusseisundi ja sellise vastavusseisundi vahel, mida hinnatakse siis, kui intsident paljastab lünga.

5. Ärireeglite väljavõtmine: mida see teeb?

„Selgita, mida GLPOST7 teeb, ja loetle kõik reeglid, mida see rakendab.“ See on dokumentatsioonipäring, kasutaja soovib mõista programmi eesmärki ja loogikat ilma nelja tuhandet rida COBOLi lugemata. Ettevõtte otsing toob esile struktuurilise ülevaate: milliseid faile programm loeb ja kirjutab, milliseid HINDAMIStingimusi see sisaldab, milliseid alamprogramme see kutsub ja milliseid andmeid see teisendab. Koos tehisintellekti mõistmisega saab sellest struktuurilisest ülevaatest lihtsas keeles selgitus struktureeritud reeglite kataloogiga.

6. Regulatiivne kokkupuude: kus reguleeritud andmeid töödeldakse?

„Leia iga programm, millel on juurdepääs isikuandmete väljadele: nimi, sotsiaalkindlustusnumber, sünniaeg, aadress.“ See on vastavuse inventuuri päring. Otsingumootor skannib väljade definitsioone kõigis õpikutes, tuvastab väljad, mis vastavad isikuandmete nimetamise mustritele ja andmetüübi allkirjadele (PIC 9(9) sotsiaalkindlustusnumbri jaoks, PIC X(30) nime jaoks) ning jälgib iga programmi, mis neid õpikuid sisaldab. Tulemuseks on isikuandmete töötlemise inventuur, mida GDPR-i andmesubjekti juurdepääsutaotlused ja HIPAA hinnangud nõuavad.

Miks tavalised otsingutööriistad seda teha ei saa

Üldise ettevõtteotsingu tööriistad – Elasticsearch, Coveo, Glean ja Microsoft Search – on loodud dokumentide ja teadmiste otsinguks. Need on suurepärased loomulikus keeles sisu indekseerimisel, asjakohasuse järgi järjestamisel ja päringule lähima semantilise vaste leidmisel. Ükski neist ei mõista COBOLi.

Tekstiotsingumootori rakendamine COBOL-i lähtekooditeegile annab tulemusi, mis vastavad päringustringile, kuid mitte päringu eesmärgile. Otsing „CUST-BALANCE” tagastab failid, mis sisaldavad neid märke, kuid ei suuda öelda, kas vaste on väljadefinitsioon, MOVE-lause, READ-võti või kommentaar. See ei suuda COPY sõltuvusgraafikut läbida, et leida programme, mis viitavad väljale otse, mitte otse tekstiraamatu kaudu. See ei suuda eristada tootmises töötavaid programme surnud koodist. See ei saa järgneda JCL DD-lausele programmile, mida see kutsub.

Need ei ole otsingumootori kvaliteedi piirangud, vaid otsingumudeli piirangud. Tekstiotsing koodi vastu on kategooriaviga. Küsimused, millele pärandkoodibaasid vastuseid vajavad, on sõltuvusgraafiku päringud, struktuurimustrite vasted ja semantilise koodi analüüs. Tööriist, mis neile vastuseid annab, peab mõistma keelt, milles kood on kirjutatud.

ASK AI: loomulik keel kontrollitud ettevõtte konteksti asemel

Kõik kuus ülaltoodud otsingumustrit nõuavad täpseid struktuuripäringuid. Arendajad, kes töötavad COBOLiga iga päev, saavad neid päringuid moodustada. Arhitektid, analüütikud, vastavusametnikud ja projektijuhid, kes vajavad vastuseid, kuid ei loe COBOLi, ei saa seda teha.

ASK AI ületab selle lünga. See tugineb indekseeritud, struktureeritud ja kontrollitud rakenduste luureandmetele, mis... SMART TS XL koostab ja võtab vastu küsimusi lihtsas keeles:

„Millised neist programmidest rakendavad hilinenud maksmise trahvi ja kus?“

„Selgitage seda 40 aastat vana programmi lihtsas keeles.“

„Kaardistage iga töö ja programm, mis puudutab CLAIMS tabelit.“

„Eemalda maksetsüklist kõik valideerimisreeglid.“

ASK AI ja üldise tehisintellekti vestlustööriista peamine erinevus seisneb algkontekstis. Üldine vestlustööriist algab tühja viibakastiga, kasutaja peab leidma õiged failid, kleepima õige koodi ja lootma, et midagi olulist vahele ei jäänud. ASK AI algab ettevõtte poolt avastatud ja kontrollitud tulemuste komplektist: tegelikest programmidest, märkmikest, DB2 tabelitest ja JCL töödest, mis... SMART TS XL on indekseeritud ja struktureeritud. Iga vastus jääb seotuks allikatõenditega. Iga leid on jälgitav allikani.

See ei ole tehisintellekt, mis töötab treeningandmete parimate oletuste põhjal. See on tehisintellekt, mis töötab tegeliku koodibaasist pärit kontrollitud konteksti põhjal – erinevus on selles, kas küsida kelleltki, kes on COBOLi käsiraamatut üks kord lugenud, või kelleltki, kes on lugenud iga rida sinu konkreetsest COBOList.

Kolm kihti, üks luurepakk:

  • Ettevõtte otsing, struktuurilistele päringutele vastatakse sekunditega, tehisintellekti pole vaja
  • KÜSI AI-lt, loomulik keel kontrollitud ettevõtte kontekstis, sees SMART TS XL
  • MCP-pistik, sama intelligentsus, mis on kättesaadav igale heakskiidetud tehisintellekti assistendile mis tahes seadmest
Üldine tehisintellekti vestlusSMART TS XL + KÜSI AI-lt
AlgkontekstKäsitsi kleebitud lõigudEttevõtte poolt avastatud tulemuste komplektid
Rakenduse seosedPuudub viipaltKood, andmed, töökohad, skeemid, sõltuvused
SkaalaÜks fail korragaTuhanded programmid taustaanalüüsis
JälgitavusVastus allikast eraldatudAllikaliinidega seotud leiud
KorratavusSõltub individuaalsest juhendamisestSalvestatud, jagatud, parameetritega päringud
Mudeli valikMüüja mudelOrganisatsiooni poolt heakskiidetud mudel

MCP-liides: ettevõtte otsing mis tahes tehisintellekti assistendi kaudu

Model Context Protocol (MCP) on avatud standard, mis võimaldab tehisintellekti assistentidel kutsuda välja väliseid tööriistu. SMART TS XL MCP Connector pakub tööriistadena täielikku rakenduste luurekihti, ettevõtte otsingut, ristviidete aruandeid, väljade päritolu, juhtimisvoo analüüsi ja mõjuanalüüsi, mida iga MCP-ga ühilduv assistent saab kasutada.

Praktiline tulemus: Claude'i, ChatGPT-d, Microsoft Copiloti, Gemini või Groki kasutav arendaja saab esitada juba kasutatavalt assistendilt lihtsas keeles pärandkoodibaasiga seotud küsimusi ning saada vastuseid, mis põhinevad kontrollitud ja allikaga seotud andmetel. SMART TS XL analüüs ilma teist tööriista avamata, andmeid eksportimata või koodi kopeerimata.

MCP Connectori lehe interaktsioon näitab täpselt, kuidas see välja näeb:

Kasutaja küsib: „Selgita programmi GLPOST7 ja näita mulle kõike, mida see puudutab.“

MCP kõned: get_member_content, get_control_flow, cross_reference_report

Vastus: „GLPOST7 sisestab igapäevaselt GL-i tehingud nõuete voost. See loeb kahte DB2 tabelit, seda kutsuvad välja neli partiitööd ja see jagab maksetsükliga kolme märkmikku. Siin on lihtsas keeles juhend, kus iga samm on lingitud selle lähteteksti reaga.“

See vastus, milleni oli varem jõudnud vaid COBOL-i ekspert, kes kulutas tunde lähtekoodifailide, JCL-i ja partiide ajastamise dokumentatsiooni lugemisele, saabub sekunditega igalt heakskiidetud tehisintellekti assistendilt. Teadmised ei ole õigusteaduse bakalaureuseõppe programmi (LLM) treeningandmetes. Need on ... SMART TS XLrakenduste intelligentsuse kiht, mis kuvatakse nõudmisel MCP-pistiku kaudu.

MCP Connector pakub igale ühendatud assistendile kuut põhifunktsiooni:

VõimeMida see teeb
Ettevõtteülene otsingProgrammid, väljad, tööd ja andmetüübid igas indekseeritud keskkonnas
Allikas nõudmiselLiikmete sisu ja eeltöödeldud kood mis tahes programmi või õpiku jaoks
RistviitearuandedKasutuskoha analüüs programmide, märkmike, tabelite ja tööde lõikes
Väli ja andmepärandVäljade seosed ja ümbermääratlused COBOL-andmestruktuuride kaudu
Juhtimisvoog ja ASTStruktureeritud programmi mõistmine: süntaksipuud, keerukus, väljakutsegraaf
Organisatsiooniline kontekstKliendi, kasutaja ja domeeni kontekst, et assistendid vastaksid teie tingimustel

Kõik see on kirjutuskaitstud, autentitud ja rollipõhine, tehisintellekti assistent pääseb juurde luureandmetele, mis SMART TS XL on organisatsiooni antud õiguste piires.

Kuuest päevast sekunditeks: mis muutub

Naaske selle artikli alguses oleva arendaja juurde. Tema küsimus „leidke iga programm, mis loeb CUST-BALANCE” on ristviitepäring. SMART TS XLettevõtte otsingus tippib ta välja nime ja saab ristviidete aruande: nelikümmend seitse programmi, mis on struktureeritud juurdepääsu tüübi (lugemine/kirjutamine/ümbermääratlemine) järgi ja igaüks lingitud lähteteksti reaga, kus juurdepääs toimub. Kuuest päevast saab kolmkümmend sekundit.

Vanem arendaja, kes arvas viiskümmend või kuuskümmend, ei eksi, kui ta on ebakindel – see ebakindlus on aus vastus, kui töötate mälu järgi koodibaasiga, mida pole kunagi süstemaatiliselt indekseeritud. Ebakindlus kaob, kui koodibaas indekseeritakse. Arvestusest saab kontrollitud arv ja kontrollitud arvust saab iga järgneva analüüsi alus: mõjuhindamine enne valdkonna laiendamist, migratsiooni ulatus enne moderniseerimislaine, testide hõlmatus enne regressioonikomplekti.

Ettevõtte otsing dokumenteerimata pärandkoodibaaside jaoks ei ole tootlikkuse tööriist. See on eeltingimus enesekindlate otsuste tegemiseks süsteemide kohta, mida on aastakümneid hallatud mälu ja intuitsiooni abil. Inventuur ilmneb päringust. Sõltuvused ilmnevad analüüsist. Koodis lukustatud teadmised muutuvad kättesaadavaks igale meeskonnaliikmele struktureeritud otsingu, lihtkeelsete tehisintellekti päringute ja iga heakskiidetud tehisintellekti assistendi kaudu, kes ühendub MCP kaudu.

Kuidas SMART TS XL Pakub ettevõtte otsingut pärandkoodibaasidele

SMART TS XL'S ettevõtte otsing indekseerib kogu rakenduste maastiku, COBOL-programmid, JCL-töövood, koopiaraamatud, DB2-tabelid, andmekogumid ja kõik nendevahelised sõltuvused ning muudab selle päringuliseks otsinguliidese kaudu, mis mõistab COBOL-süntaksit, JCL-struktuuri ja programmidevahelisi sõltuvusi. Päringud, mis annavad vastused sekunditega, on samad päringud, mis varem nõudsid päevi kestnud käsitsi uurimist.

ASK AI laiendab seda võimalust loomulikule keelele: arhitektid, analüütikud, vastavusametnikud ja projektijuhid saavad esitada küsimusi pärandkoodibaasi kohta lihtsas inglise keeles ning saada vastuseid, mis põhinevad kontrollitud struktuurianalüüsil, mitte keelemudeli üldisel tundmisel, mis pole konkreetset koodibaasi kunagi näinud. Vastused piirduvad tegelike programmidega, on lingitud tegelike lähtekoodi ridadega ja korratavad salvestatud ja jagatud käsurealt.

. MCP-pistik paneb selle intelligentsuse igasse organisatsiooni poolt heaks kiidetud tehisintellekti assistenti: Claude, ChatGPT, Copilot, Gemini, Grok. Arendaja, kes esitab telefonist pärandkoodibaasi küsimuse, saab vastuse... SMART TS XLrakenduste intelligentsus, struktureeritud, kontrollitud, allikaga ühendatud, ilma tööriistade vahetamise või andmete eksportimiseta. MCP-liides on kirjutuskaitstud, autentitud ja rollipõhine: kinnitatud tehisintellekt töötab organisatsiooni lubade piires, mitte nende ümber.

Rakenduse sõltuvuste kaardistamine on alus, mis muudab ristviidepäringute täpsuse: iga CALL, iga COPY, iga andmestiku voog ja iga JCL-programmi viide on sõltuvusgraafikus enne otsingu käivitamist. Ettevõtte otsingu loodud ristviidete aruanded pärinevad sellest struktuurimudelist, mitte märksõnade ja lähteteksti vastavusest.

Staatiline koodianalüüs lisab struktuurikihi, mis eristab otsingumootorit koodianalüüsi platvormist: päringud, mis leiavad iga programmi, mille tsüklomaatiline keerukus ületab teatud läve, iga programmi, mis avab faili ilma FAILI OLEKUT kontrollimata, iga programmi, mis viitab väljale REDEFINES variandis. Need on struktuuripäringud, mitte tekstiotsingud, ning need nõuavad staatilise analüüsi pakutavat parsitud ja analüüsitud arusaamist.

Ümberkujundamine ühel real: kuus päeva käsitsi otsimist COBOL-failides → kolmkümmend sekundit koos kontrollitud ristviidete aruandega, mis on struktureeritud juurdepääsutüübi järgi ja lingitud lähteteksti ridadega.

Koodibaas teab. Nüüd saate seda küsida.

Teadmised, mille kuuepäevane käsitsi otsing lõpuks annab, olid alati koodibaasis olemas. Iga programm, mis loeb CUST-BALANCE'i, oli alati lähtekooditeegis. COPY-laused, mis seovad iga programmi tekstiraamatuga, olid alati lähtekoodis. JCL, mis määratleb täitmiskonteksti, oli alati tööteegis. Probleem ei olnud mitte teabe puudumises, vaid mehhanismi puudumises selle esiletoomiseks.

See mehhanism on ettevõtte otsing pärandkoodibaaside jaoks. Indekseeritud, struktureeritud ja päringuid tegev rakenduste intelligentsus, mis vastab koodi struktuurilistele küsimustele sekundite, mitte päevade jooksul, ning mis ASK AI ja MCP Connectori kaudu vastab neile küsimustele lihtsas keeles mis tahes organisatsiooni poolt kasutatava heakskiidetud tehisintellekti assistendi kaudu.

Koodibaas on alati vastust teadnud. Nüüd saab igaüks meeskonnas seda küsida.