Tinklaraštis
SOAP išeina iš „Business Central": patikrinkite integracijas iki spalio
Pranešimai apie nebepalaikomas funkcijas retai patenka į antraštes, bet šis nusipelno jūsų dėmesio, nes gali nutildyti integracijas be jokio įspėjimo. Su „Business Central” 2026 leidimo 2 banga (release wave), t. y. 29 versija, pasirodančia spalį, „Microsoft” panaikina galimybę savo standartinius puslapius skelbti kaip SOAP web servisus. Tuo pačiu naujinimu dingsta ir jungiklis, kuris leido administratoriams tuos endpointus išlaikyti veikiančius. Po jo kelio atgal nebus.
Daugumai įmonių tai nieko nereikš. Kelioms tai bus tas dalykas, kuris išlenda pačiu blogiausiu metu: sustojęs banko duomenų srautas, nutilusi EDI jungtis įtempčiausią siuntų savaitę. Šio įrašo tikslas ir yra padėti suprasti, kuriai grupei priklausote, gerokai anksčiau nei spalį.
Kas iš tikrųjų nebepalaikoma
Būkime tikslūs, nes apimtis čia svarbi, o internete apie ją kalbama labai laisvai.
- Kas dingsta: galimybė pačios „Microsoft” puslapius skelbti kaip SOAP endpointus. Tai reiškia bet kurį puslapį iš bet kurios „Microsoft” išleistos programos, o tai platesnis ratas, nei daugelis mano: Base App, System App ir visos kitos pačios „Microsoft” programos. Galimybė panaikinama 29 versijoje.
- Kas kol kas nepatenka: SOAP endpointai, sukurti ant codeunit’ų, ir puslapiai, paskelbti iš jūsų pačių plėtinių, tų, kurie sukurti specialiai jūsų sistemai. SOAP apskritai tebėra nebepalaikomas, bet šiems dalykams patvirtintos panaikinimo datos nėra.
Vieną dalyką verta suprasti teisingai prieš einant naršyti po sistemą, nes jis veikia priešingai, nei tikėtumėtės. Nuo 26 versijos standartiniai puslapiai per SOAP blokuojami pagal nutylėjimą, o valdiklis yra funkcijų valdymo (Feature Management) raktas Disable SOAP web services on Microsoft UI pages. Tas raktas iš karto yra įjungtas, ir būtent jį išjungus SOAP toliau veikia. Taigi jeigu standartinio puslapio SOAP integracija jūsų sistemoje tebeveikia šiandien, kažkas tą raktą jau sąmoningai išjungė. 29 versijoje raktas dingsta, o kartu ir pats pasirinkimas.
Kur tai skauda realiame gyvenime
SOAP buvo daugybės tylių, ilgai veikiančių integracijų vamzdynas. Pirmiausia nerimautume dėl tų, kurios susijusios su pajamomis ir finansais:
- EDI jungtys su prekybos tinklais. Sugedęs srautas čia yra ne tik jūsų nepatogumas; daugelis tinklų už tai skiria baudas.
- Banko sąskaitų suderinimo ir iždo srautai. Neįvykęs duomenų perdavimas gali atidėti periodo uždarymą kelioms dienoms.
- Sandėlio, siuntimo ir trečiųjų šalių logistikos jungtys, sujungtos prieš daugelį metų ir nuo tada tiesiog veikiančios.
Klastingiausia dalis yra laikas. Tokios integracijos po atnaujinimo dažnai nutrūksta tyliai, o pastebimos tik mėnesio pabaigoje, ruošiant ketvirčio ataskaitą arba pačiame siuntų sezono įkarštyje. Būtent to scenarijaus verta išvengti paaukojus vieną popietę.
Gera žinia: alternatyvos vis tiek geresnės
„Microsoft” rekomenduojamas kelias yra pereiti prie REST API servisų. Sąraše yra ir OData v4, bet šiuo konkrečiu atveju su ja elkitės atsargiai: galimybė „Microsoft” puslapį skelbti per OData irgi naikinama viena banga vėliau, 30 versijoje (2027 leidimo 1 banga). Iškeitę standartinio puslapio SOAP endpointą į standartinio puslapio OData endpointą, nusipirksite maždaug metus ir grįšite į tą patį pokalbį.
Jei turite savo plėtinį, puslapio kopijavimas į jį ir skelbimas iš ten lieka palaikomas. Todėl klientus kreipiame prie API, o ne prie pakeitimo vienas į vieną su OData, ir laukiantis 30 versijos pokytis yra to priežastis. API yra greitesni, nuspėjamesni, geriau dokumentuoti, ir būtent į juos „Microsoft” investuoja. Daugeliu atvejų tai mažiau primena avarinę migraciją ir labiau seniai pribrendusios techninės skolos grąžinimą.
Kaip išsiaiškinti, ar tai jus liečia
Spėlioti nereikia ir nedera. Yra du patikrinimai, ir pirmasis užtrunka kelias minutes.
- Atsiverskite „Business Central” web servisų sąrašą (angliškoje sąsajoje – Web Services). Jame surašyta viskas, kas paskelbta išorei: objekto tipas ir tai, ar pažymėtas SOAP. Puslapio tipo įrašai su įjungtu SOAP ir yra jūsų kandidatų sąrašas, o jiems rasti nereikia jokių papildomų įrankių ar licencijų.
- Paskui telemetrija patikrinkite, kas iš tikrųjų kviečiama. Ten, kur aplinka siunčia telemetriją į „Application Insights”, kiekvienas kvietimas užrašomas su tipu (API, OData ar SOAP), objektu ir pakankamai duomenų kvietėjui atsekti. Nuo 26 versijos yra ir atskiras signalas apie nebepalaikomo endpointo kvietimą, kuris pažymi būtent šiuos atvejus. Jei „Application Insights” niekas taip ir nesukonfigūravo, tokios istorijos paprasčiausiai nėra, o ją susitvarkyti verta ir dėl kitų priežasčių.
- Susiekite kiekvieną endpointą su verslo procesu, kad rikiuotumėte pagal poveikį, o ne pagal techninį įdomumą.
Jei niekas nekviečia standartinio puslapio per SOAP, galite užverti šią kortelę ir grįžti prie savo darbų.
Nuo ko pradėtume mes
Klientams, turintiems bent kiek rimtesnį integracijų ūkį, per artimiausias savaites dirbtume tokia tvarka:
- Šį mėnesį: parenkite paprastą veikiančių SOAP endpointų sąrašą, pažymėdami, kokį procesą kiekvienas aptarnauja.
- Pirmenybė pinigams. EDI, banko srautai ir siuntos eina pirmi; vidinės ataskaitos ir malonūs priedai lieka gale.
- Perdarykite ant API ten, kur galite, o plėtinio kelią naudokite tik ten, kur pilnas perdarymas laiku nespės.
- Išbandykite su 29 versija dar prieš jai pasiekiant produkciją. Preview aplinkos pasirodo maždaug mėnesį prieš spalio leidimą, tad nieko nereikia atrasti gyvai.
- Kartą jau įlindę, paklauskite to klausimo, kurio visi vengia: ar ši integracija apskritai dar reikalinga, ar standartinis konektorius jau daro tą patį?
Spalis nebetoli, o tai retas atvejis, kai nebepalaikoma funkcija dingsta be atšaukimo mygtuko. Pora valandų patikrinimo dabar kainuoja gerokai mažiau nei nutrūkęs duomenų srautas per artimiausią periodo uždarymą.
Turite integraciją, kurią paveldėjote ir už kurią negalite laiduoti? Papasakokite savo istoriją ir išsiaiškinsime, kuo ji iš tikrųjų remiasi.