Starší systém - Legacy system

V roce 2011 byl MS-DOS v některých podnicích stále používán ke spouštění starších aplikací, jako je tento systém správy potravinových služeb USA Navy .

V oblasti výpočetní techniky je starší systém starou metodou, technologií, počítačovým systémem nebo aplikačním programem , „který se týká předchozího nebo zastaralého počítačového systému“ nebo je stále používá. Označování systému jako „staršího“ často znamená, že vydláždilo cestu standardům, které jej budou následovat. To může také znamenat, že systém je zastaralý nebo potřebuje výměnu.

Starší kód je starší zdrojový kód počítače . Mohlo by to jednoduše odkazovat na existující kódovou základnu organizace, která byla napsána po mnoho let, nebo by to mohlo znamenat kódovou základnu, která je v určitém ohledu zastaralá nebo podporuje něco zastaralého. Kód s dlouhou životností je náchylný k hnilobě softwaru , kde změny v běhovém prostředí nebo v okolním softwaru nebo hardwaru mohou vyžadovat údržbu nebo emulaci nějakého druhu, aby mohly fungovat. Starší kód může být přítomen k podpoře staršího hardwaru, samostatného staršího systému nebo staršího zákazníka používajícího starou funkci nebo verzi softwaru.

I když se tento termín obvykle týká zdrojového kódu, může se vztahovat také na spustitelný kód, který již neběží na novější verzi systému, nebo k tomu vyžaduje vrstvu kompatibility . Příkladem by mohla být klasická aplikace pro Macintosh, která nebude běžet nativně na Mac OS X , ale běží uvnitř klasického prostředí , nebo aplikace Win16 běžící na Windows XP pomocí funkce Windows na Windows v XP.

Příkladem staršího hardwaru jsou starší porty, jako jsou porty PS/2 a VGA, a CPU se staršími nekompatibilními sadami instrukcí . Mezi příklady staršího softwaru patří starší formáty souborů, jako je .swf pro Adobe Shockwave nebo .123 pro Lotus 1-2-3 , a textové soubory kódované pomocí starších kódování znaků, jako je EBCDIC .

Přehled

Přestože je systém Windows XP od dubna 2014 mimo podporu, vydrží i nadále v oblastech, jako je software operačního systému ATM .

K prvnímu použití pojmu dědictví k popisu počítačových systémů došlo pravděpodobně v 70. letech minulého století. V osmdesátých letech se běžně používalo k označení stávajících počítačových systémů, aby se odlišily od návrhu a implementace nových systémů. Legacy bylo často slyšet během procesu převodu, například při přesunu dat ze staršího systému do nové databáze.

I když tento termín může naznačovat, že někteří inženýři mohou mít pocit, že systém je zastaralý, starší systém lze i nadále používat z různých důvodů. Je možné, že systém stále zajišťuje potřeby uživatelů. Rozhodnutí ponechat starý systém může být navíc ovlivněno ekonomickými důvody, jako jsou výzvy návratnosti investic nebo zablokování dodavatele , inherentní výzvy řízení změn nebo řada dalších důvodů jiných než funkčnost. Zpětná kompatibilita (například schopnost novějších systémů zvládat starší formáty souborů a kódování znaků ) je cíl, který vývojáři softwaru často zahrnují do své práce.

I když se již nepoužívá, starší systém může nadále ovlivňovat organizaci kvůli jeho historické roli. Historická data možná nebyla převedena do nového formátu systému a mohou existovat v rámci nového systému s použitím přizpůsobeného přechodu schémat , nebo mohou existovat pouze v datovém skladu . V obou případech může být vliv na business intelligence a provozní výkaznictví významný. Starší systém může zahrnovat postupy nebo terminologii, které již v aktuálním kontextu nejsou relevantní, a mohou bránit nebo zaměňovat chápání použitých metod nebo technologií.

Organizace mohou mít pádné důvody pro zachování staršího systému, například:

  • Systém funguje uspokojivě a majitel nevidí důvod jej měnit.
  • Náklady na přepracování nebo výměnu systému jsou neúnosné, protože jsou velké, monolitické a/nebo složité.
  • Rekvalifikace na nový systém by byla nákladná ve ztraceném čase a penězích, ve srovnání s očekávanými citelnými přínosy jeho nahrazení (což může být nula).
  • Systém vyžaduje téměř konstantní dostupnost , takže jej nelze vyřadit z provozu a náklady na návrh nového systému s podobnou úrovní dostupnosti jsou vysoké. Mezi příklady patří systémy pro správu účtů zákazníků v bankách , počítačové rezervační systémy , řízení letového provozu , distribuce energie ( energetické sítě ), jaderné elektrárny , vojenská obranná zařízení a systémy, jako je databáze TOPS .
  • Způsob fungování systému není dobře znám. K takové situaci může dojít, když návrháři systému opustili organizaci a systém buď nebyl plně zdokumentován, nebo došlo ke ztrátě dokumentace.
  • Uživatel očekává, že systém bude možné snadno vyměnit, když to bude nutné.
  • Novější systémy provádějí nežádoucí (zejména pro jednotlivé nebo neinstitucionální uživatele) sekundární funkce, jako například a ) sledování a hlášení aktivity uživatelů a/nebo b ) automatická aktualizace, která vytváří bezpečnostní chyby „ zadních dveří “ a nechává koncové uživatele závislé na dobrém víra a poctivost dodavatele poskytujícího aktualizace. Tento problém je obzvláště akutní, když tyto sekundární funkce novějšího systému nelze deaktivovat.

Problémy, které přináší starší výpočetní technika

Někteří softwaroví inženýři považují starší systémy za potenciálně problematické z několika důvodů.

  • Pokud starší software běží pouze na zastaralém hardwaru , náklady na údržbu systému mohou nakonec převážit náklady na výměnu softwaru i hardwaru, pokud nějaká forma emulace nebo zpětná kompatibilita neumožní softwaru běžet na novém hardwaru.
  • Tyto systémy může být obtížné udržovat, zlepšovat a rozšiřovat, protože systému obecně chybí porozumění; zaměstnanci, kteří na to byli experti, odešli do důchodu nebo zapomněli, co o tom věděli, a zaměstnanci, kteří vstoupili do pole poté, co se stal „dědictvím“, se o tom vůbec nedozvěděli. To může být zhoršeno nedostatkem nebo ztrátou dokumentace. Společnost Comair vyhodila svého generálního ředitele v roce 2004 kvůli selhání zastaralého staršího plánovacího systému posádky, který narazil na omezení, které nikdo ve společnosti neznal.
  • Starší systémy mohou mít chyby zabezpečení ve starších operačních systémech nebo aplikacích kvůli nedostatku dostupných nebo aplikovaných oprav zabezpečení. Mohou existovat také výrobní konfigurace, které způsobují problémy se zabezpečením. Tyto problémy mohou vystavit starší systém riziku napadení útočníky nebo znalými zasvěcenými osobami.
  • Integrace s novějšími systémy může být také obtížná, protože nový software může využívat zcela jiné technologie. Integrace napříč technologiemi je ve výpočetní technice zcela běžná, ale integrace mezi novějšími a podstatně staršími technologiemi není běžná. Jednoduše nemusí být dostatečná poptávka po vývoji integrační technologie. Část tohoto „lepicího“ kódu příležitostně vyvíjejí prodejci a nadšenci konkrétních starších technologií.
  • Rozpočtová omezení často vedou společnosti k tomu, aby neřešily potřebu nahrazení nebo migrace staršího systému. Společnosti však často neuvažují o rostoucích nákladech na podporu (lidé, software a hardware, vše výše zmíněné) a neberou v úvahu enormní ztrátu schopností nebo kontinuity podnikání, pokud by starší systém selhal. Jakmile jsou tyto úvahy dobře pochopeny, pak na základě osvědčené návratnosti investic nové, bezpečnější a aktualizované platformy technologických zásobníků není tak nákladné jako alternativa - a rozpočet se najde.
  • Vzhledem k tomu, že většina starších programátorů vstupuje do důchodového věku a počet mladých inženýrů, kteří je nahrazují, je velmi malý, je k dispozici alarmující nedostatek dostupné pracovní síly. To má za následek potíže s udržováním starších systémů a také zvýšení nákladů na pořízení zkušených programátorů.

Vylepšení starších softwarových systémů

Tam, kde není možné nahradit zastaralé systémy praxí vyřazování aplikací , je stále možné je vylepšit (nebo „znovu postavit“). Většina vývoje často přechází do přidávání nových rozhraní do staršího systému. Nejvýraznější technikou je poskytnout webové rozhraní pro sálovou aplikaci na bázi terminálu. To může snížit produktivitu zaměstnanců v důsledku pomalejší doby odezvy a pomalejších akcí operátora založených na myši, ale často je to považováno za „upgrade“, protože styl rozhraní je pro nekvalifikované uživatele známý a jeho použití je snadné. John McCormick pojednává o takových strategiích, které zahrnují middleware .

Vylepšení tisku jsou problematická, protože starší softwarové systémy často nepřidávají žádné pokyny k formátování nebo používají protokoly, které nejsou použitelné v moderních tiskárnách pro PC/Windows. K zachycení dat a jejich převodu na modernější kód lze použít tiskový server. Dokumenty Rich Text Format (RTF) nebo PostScript lze vytvořit ve starší aplikaci a poté je před tiskem interpretovat na počítači.

Biometrická bezpečnostní opatření je obtížné implementovat na starších systémech. Fungujícím řešením je použít server Telnet nebo HTTP proxy k umístění mezi uživateli a sálovým počítačem k implementaci zabezpečeného přístupu ke starší aplikaci.

Změnou prováděnou v některých organizacích je přechod na software pro automatizované obchodní procesy (ABP), který generuje kompletní systémy. Tyto systémy se poté mohou propojit se staršími organizačními systémy a použít je jako úložiště dat . Tento přístup může poskytnout řadu významných výhod: uživatelé jsou izolováni od neefektivnosti svých starších systémů a změny lze rychle a snadno začlenit do softwaru ABP.

Ke zdokonalení staršího softwaru lze také použít modelové metody reverzního a dopředného inženýrství .

Příklad NASA

Andreas Hein z Technické univerzity v Mnichově zkoumal využití starších systémů při průzkumu vesmíru. Podle Heina jsou starší systémy atraktivní pro opětovné použití, pokud má organizace schopnosti pro ověřování, ověřování, testování a provozní historii. Tyto schopnosti musí být integrovány do různých fází životního cyklu softwaru, jako je vývoj, implementace, používání nebo údržba. U softwarových systémů je schopnost používat a udržovat systém klíčová. Jinak bude systém stále méně srozumitelný a udržovatelný.

Podle Heina ověřování, validace, testování a provozní historie zvyšují důvěru ve spolehlivost a kvalitu systému. Shromažďování této historie je však často nákladné. Program NASA Space Shuttle, který je nyní v důchodu, využíval velké množství technologií ze 70. let. Výměna byla nákladově neúnosná kvůli nákladnému požadavku na letovou certifikaci. Původní hardware splnil drahé požadavky na integraci a certifikaci letu, ale jakékoli nové vybavení by muselo projít celým tímto procesem znovu. Tento dlouhý a podrobný proces vyžadoval rozsáhlé testy nových komponent v jejich nových konfiguracích, než mohla být v programu Space Shuttle použita jedna jednotka. Každý nový systém, který zahájil proces certifikace, se tedy de facto stane starším systémem v době, kdy bude schválen k letu.

Celý systém Space Shuttle, včetně pozemních a nosných prostředků, byl navíc navržen tak, aby fungoval společně jako uzavřený systém. Protože se specifikace nezměnily, všechny certifikované systémy a komponenty fungovaly dobře v rolích, pro které byly navrženy. Ještě předtím, než měl být Shuttle v roce 2010 v důchodu, NASA zjistila, že je výhodné nadále používat mnoho technologií sedmdesátých let, než upgradovat tyto systémy a recertifikovat nové komponenty.

Pohledy na starší kód

Někteří v softwarovém inženýrství dávají přednost popisu „staršího kódu“, aniž by to znamenalo zastaralost. Mezi nejrozšířenější neutrální koncepce patří zdrojový kód zděděný od někoho jiného a zdrojový kód zděděný ze starší verze softwaru . Eli Lopian, generální ředitel společnosti Typemock, to definoval jako „kód, který se vývojáři bojí změnit“. Michael Feathers zavedl definici staršího kódu jako kódu bez testů , což odráží perspektivu, že se starším kódem je zčásti obtížné pracovat kvůli nedostatku automatizovaných regresních testů . Také definoval testy charakterizace, aby začal testovat starší kód .

Ginny Hendry charakterizovala tvorbu kódu jako výzvu pro současné kodéry k vytvoření kódu, který je „jako ostatní dědictví v našich životech - jako starožitnosti, dědictví a příběhy, které jsou uchovávány a láskyplně předávány z generace na generaci. Co když dědictví kód byl něco, na co jsme hrdí? "

Další použití pojmu Legacy ve výpočetní technice

Pojem podpora starších verzí se často používá ve spojení se staršími systémy. Termín může odkazovat na funkci moderního softwaru. Například operační systémy se „starou podporou“ dokážou detekovat a používat starší hardware. Tento výraz lze také použít k označení obchodní funkce; např. prodejce softwaru nebo hardwaru, který podporuje nebo poskytuje údržbu softwaru pro starší produkty.

„Starý“ produkt může být produkt, který se již neprodává, ztratil podstatný podíl na trhu nebo je verzí produktu, který není aktuální. Starší produkt může mít oproti modernímu produktu určitou výhodu, takže je pro zákazníky lákavé jej mít u sebe. Produkt je skutečně „zastaralý“ pouze tehdy, má -li pro nikoho výhodu - pokud by se nikdo, kdo by se rozhodl racionálně, rozhodl jej získat nový.

Termín „starší režim“ často konkrétně odkazuje na zpětnou kompatibilitu . O softwarovém produktu, který je schopen fungovat, jako by to byla jeho předchozí verze, se říká, že „běží ve starším režimu“. Tento druh funkce je běžný v operačních systémech a internetových prohlížečích, kde mnoho aplikací závisí na těchto základních komponentách.

V éře počítačových sálových počítačů běželo mnoho aplikací ve starším režimu. V moderním obchodním výpočetním prostředí je n-tier nebo 3-tier architektury obtížnější umístit do staršího režimu, protože obsahují mnoho komponent tvořících jeden systém.

Technologie virtualizace je nedávnou novinkou, která umožňuje starším systémům pokračovat v provozu na moderním hardwaru spuštěním starších operačních systémů a prohlížečů na softwarovém systému, který emuluje starší hardware.

Architektura brownfieldu

Programátoři si vypůjčili termín brownfield ze stavebnictví, kde dříve rozvinutá půda (často znečištěná a opuštěná) je popisována jako brownfield .

  • Brownfield architektura je typ softwarové nebo síťové architektury, která zahrnuje starší systémy.
  • Nasazení Brownfield je upgrade nebo doplnění stávající softwarové nebo síťové architektury, která zachovává starší komponenty.

Alternativní pohled

Existuje alternativní příznivý názor - rostoucí od konce bubliny Dotcom v roce 1999 - že starší systémy jsou jednoduše počítačové systémy, které se používají:

Starší kód “ se často liší od navrhované alternativy skutečným fungováním a škálováním.

Analytici IT odhadují, že náklady na výměnu obchodní logiky jsou zhruba pětkrát vyšší než náklady na opětovné použití, a to i se snížením rizika selhání systému a narušení zabezpečení. V ideálním případě by firmy nikdy nemusely přepisovat většinu základní obchodní logiky: debety = kredity jsou trvalým požadavkem.

Odvětví IT reaguje „modernizací starších verzí“ a „starší transformací“: rekonstrukcí stávající obchodní logiky pomocí nových uživatelských rozhraní, někdy pomocí scrapingu obrazovky a přístupu povoleného službou prostřednictvím webových služeb . Tyto techniky umožňují organizacím porozumět jejich stávajícím kódovým aktivům (pomocí nástrojů zjišťování), poskytovat nová uživatelská a aplikační rozhraní stávajícímu kódu, zlepšovat pracovní postup, omezovat náklady, minimalizovat rizika a užívat si klasické kvality služeb (téměř 100% provozuschopnost, zabezpečení, škálovatelnost) , atd.).

Tento trend také vyzývá k zamyšlení nad tím, proč jsou starší systémy tak odolné. Technologové se od začátku znovu učí důležitosti zvukové architektury , aby se vyhnuli nákladným a riskantním přepisům. Nejběžnějšími staršími systémy bývají ty, které přijaly známé architektonické principy IT s pečlivým plánováním a přísnou metodikou během implementace. Špatně navržené systémy často nevydrží, protože se opotřebovávají a protože jejich vlastní chyby vyžadují výměnu. Mnoho organizací tedy znovu objevuje hodnotu obou svých starších systémů a teoretické základy těchto systémů.

Viz také

Reference

Další čtení

externí odkazy