A szövőgéptől a felhőtechnológiáig

Az elmúlt évtizedek alatt teljesen átalakult a szoftverfejlesztés világa. Ahhoz, hogy megértsük a mai kor programozási paradigma-változásait érdemes egy gondolat erejéig visszatekinteni a múltjára, kialakulására.

A modern programozást két évszázaddal megelőzően, a 18. században Joseph Marie Jacquard lyukkártyák segí­tségével állí­totta be a szövőgépek mintázatát. A modell meglehetősen egyszerű volt, a szövet minden sorának megfelelően elhelyezkedett egy lyuk-pozí­ció, ahol van lyuk, ott megy a keresztszál. A gép előállí­tása ugyanakkor hosszú és bonyolult mérnöki munkát követelt, sok éven keresztül dolgoztak rajta mí­g elkészült, majd folyamatosan finomí­tották, pontosí­tották. Ez a gép ugyanakkor cél-eszköz volt, csak és kizárólag erre a feladatra lehetett használni.

Sok matematikust, mérnököt foglalkoztatott, hogy hogyan lehetne univerzális gépet csinálni, olyat, amit nem kell célfeladatra épí­teni, hanem valamilyen módon megmondhatjuk neki, hogy mit csináljon. Neumann János Alan Turing elmélete alapján megalkotta a Neumann-architektúrát, ami a mai napig leí­rja az elterjedt számí­tógépeink működési alapjait. Az pedig, hogy mit csináljon a számí­tógép, maga a programozás.

 

Amikor berobbant az internet…

A programozást eredetileg a Jacquard-kártyák által ihletett – az 1980-as évekig az IBM rendszereiben is használt – lyukkártyák segí­tségével végezték. A feladat azonban komoly szaktudást igényelt. Fortran, Cobol és számos Assembler nyelvben végezték a kódolást. Mai szemmel nézve faék-egyszerűségű feladatokat is hetekig tartott megtervezni, leprogramozni, lyukasztani, debuggolni úgy, hogy napokkal később kapjuk meg az eredményeket. Aztán jött hardverek tekintetében a mágnesszalag, mágneslemez, az egyre komolyabb processzorok, a személyi számí­tógépek és ezzel egyidejűleg a programozási hatékonyság növelése érdekében szoftver tekintetében az egyre absztraktabb programozási nyelvek. Ilyenek voltak kezdetben a Pascal, C, Basic, Smalltalk. Egyre fontosabb szerepet kapott a programozási módszertan (procedurális, moduláris) és költség-hatékonyság szempontjából egyre fontosabbá vált a kódok újrafelhasználhatósága, karbantarthatósága, mint erőforrás-gazdálkodás. A programozás úgy zajlott, hogy az elkészült specifikációk alapján a fejlesztők el tudták készí­teni a programokat, ami megfelelő tesztelés után éles üzembe állhatott. Egy-egy ilyen program-fejlesztési projekt során a technológia adott és a követelmények jól definiáltak voltak.

A ’90-es években az internet térhódí­tásával óriási lendülettel terjedtek el a hálózatba kapcsolt rendszerek, í­gy azok bonyolultsága, komplexitása is. A programozóknak egyre nehezebb dolga volt egy-egy domain (téma) megismerésével, ezért olyan módszerek jöttek létre, mint az Objektum-Orientált, melyek egyre közelebb hozták a programozást a való világhoz, egyre több olyan utasí­tás került egy programba, ami hamarabb megérthető, í­rható és olvasható. A szoftveripar újabb és újabb technológiai elemet hozott létre, hogy egyszerűsí­tsék a fejlesztők munkáját és növeljék hatékonyságukat.

162235 71 lynda 

Akárcsak a legojáték

A 21. század IT elvárásrendszere olyan komplex informatikai struktúrát kí­ván meg, melyeket a hagyományos követelményelemzési módszerekkel már nem lehet hatékonyan kielégí­teni. Ezért olyan keretrendszerek (például JavaEE, Spring, AngularJS, NodeJS) jöttek létre, melyekben legoelem-szerűen lehet a kész megoldásokat egymásra épí­teni, Szolgáltatás Orientált Architektúra (SOA) szemlélettel az egyes elemek csatlakozásai jól definiáltak, ezek megfelelő alkalmazása, integrálása és új szolgáltatások í­rása valósí­tja meg a programozást. Ugyanakkor ez azt is jelenti, hogy a követelmény-meghatározás és a programozás között már nincs túl nagy szakadék. Ha pontosan tudott, hogy mi a feladat, akkor kis túlzással már készen is van a fejlesztés: ergo nem tud elszakadni egymástól a megrendelő és a programozó. Ha viszont nincsenek rendszeres interakcióban, akkor nem olyan szoftver valósul meg, amit a megrendelő szeretett volna. Erre a problémakörre ad megoldást az egyre népszerűbb – IdomSoft által is vallott és bevezetés alatt lévő – agilitás, ami keretet ad az ilyen tí­pusú együttműködéseknek.

 

Hova jutott el a szakma 2019-re?

Mi mondható el, milyen is egy modern nagyvállalati szoftver? Emlí­thetnénk a felhőtechnológiát, de mivel mindenki, aki egy távoli szerveren futtat valamilyen szoftver-komponenst, már felhőt kiált, ez a kifejezés annyira amortizálódott, hogy inkább nem használjuk. Használjuk azonban azokat a tulajdonságokat, amik azt megtestesí­tik.

Nagyon magas absztrakciós szinten születik a kód, mindenki egy szeletét ismeri a teljes rendszernek, emiatt nagy összhangra van szükség ahhoz, hogy szinergikusan együtt tudjanak a komponensek működni. Azon túl, hogy a szoftverkiadás folyamatát gyorsí­tani (CI-CD) és szabványosí­tani (kódelemzés, biztonsági ellenőrzés) kell, ajánlatos a fejlesztést automata teszteszközök segí­tségével támogatni, hogy a fejlesztést követően minél kevesebb idő menjen el a minőségbiztosí­tással. A rendszerek infrastruktúrafüggetlensége okán érdemes konténerizációt használni, hogy a fejlesztői környezet minél kevésbé térjen el a majdani működési környezetétől.

Ez azonban nem csupán az üzleti szektorra érvényes. A magyar kormányzat számára is fontos például, hogy a részére készülő alkalmazások modern, versenyképes és szabályozott keretek között folytatható fejlesztések során jöjjenek létre, ezért egy egységes úgynevezett íllami Alkalmazás-fejlesztési Környezet (íAFK) kialakí­tását határozta meg. A környezet nem hoz létre új intézményeket, hanem a már meglévőket ruházza fel új szerepekkel a következő öt kiemelt célt szem előtt tartva:

– új alkalmazások fejlesztése az elavult technológiák kizárásával

– központi, naprakész forráskód-kezelés és kódminőség ellenőrzés

– sablonizált, nyilvántartott dokumentálás

– egységes technológiai szolgáltatások

– alacsony költséggel üzemeltethető technológiák.

Ezt az új alapokra helyezett állami célú szoftverfejlesztések keretében létrejövő hatékony környezetet az IdomSoft Zrt. alakí­tja ki és fejleszti tovább. Ezzel nemcsak egyszerűen programozást biztosí­tva, hanem szakértői támogatást nyújtva az alkalmazásfejlesztés minden egyes szereplőjének annak érdekében, hogy az alkalmazásfejlesztés eredményeként az állami célok teljesülése mellett a fejlesztők, mint ügyfeleink számára is valóban minőségi termék születhessen.

162236 70 idomsoft logo 

Karlócai Balázs, az IdomSoft Zrt. vezérigazgatója

További tartalmak

Legolvasottabb tartalmak

Strategy

Valós idejű adózás

Human

Az egészség hálózatai

Technology

Egy év, amely átírta az emberiség és a mesterséges intelligencia viszonyát

Strategy

Exportcikk lehet a DÁP-ból

ITBUSINESS heti hírlevél feliratkozás

.
Scroll to Top