Serialiseerimine on andmestruktuuri või objekti oleku teisendamine vormingusse, mida saab salvestada (näiteks faili või mälupuhvris või võrguühenduse kaudu edastada) ja hiljem (võimalik, et mõnes muus arvutikeskkonnas) rekonstrueerida. sama või ühilduv vorm. Rekonstrueerimisakti nimetatakse deserialiseerimiseks.
Tavaliselt teisendab serialiseerimine mällu salvestatud andmed vormi püsivaks salvestuseks. Selle vastand on deserialiseerimine, kus salvestatud andmed hangitakse püsivalt salvestuselt ja taastatakse mälus andmestruktuurina. Seda kasutatakse tavaliselt stsenaariumide puhul, kus andmeid on vaja salvestada või kahe või enama süsteemi vahel üle kanda.
Serialiseerimise näide on klassi objekti teisendamine baitide jadaks või stringiks. Kui see protsess on vastupidine, mis on deserialiseerimine, loob objekt algsest objektist täpse koopia ja vastava struktuuri mällu. Serialiseerimist kasutatakse stsenaariumide puhul, kus objekt tuleb saata võrguühenduse kaudu või salvestada faili.
Serialiseerimine on arvutiprogrammeerimises oluline mõiste, eriti veebirakenduste ja hajutatud andmetöötluse kontekstis. See võimaldab hõlpsalt ja tõhusalt andmevahetust erinevate süsteemide vahel. Näiteks JavaScript Object Notation (JSON) on populaarne andmevahetuse vorming, mida kasutatakse serialiseerimiseks. JSON on kerge, inimloetav ja paljude veebirakenduste ja -teenuste aluseks. Teine näide on XML, veebis andmevahetuse keel, mis sõltub suuresti andmete serialiseerimisest.
Erinevad programmeerimiskeeled pakuvad tuge andmete serialiseerimiseks ja deserialiseerimiseks. Enamik suuremaid keeli, nagu Java, .NET, Python ja C++, pakuvad serialiseerimisel natiivset tuge, samas kui teised toetuvad kolmandate osapoolte teekidele.
Serialiseerimine mängib andmete turvalisuses olulist rolli ja seda kasutatakse laialdaselt andmete kaitsmiseks pahatahtlike rünnakute eest. See on küberturvalisuse põhikontseptsioon ja valge mütsiga häkkerid peavad võimalike rünnakute tuvastamiseks ja tõkestamiseks mõistma serialiseerimist.
Serialiseerimine on arvutiprogrammeerimises oluline mõiste ja seda kasutatakse laialdaselt andmete salvestamiseks, edastamiseks ja vahetamiseks ning infoturbeks. Seda kasutatakse kaotatud andmete taastamiseks või objektide rekonstrueerimiseks ning see on oluline hajutatud andmetöötluses ja võrgupõhistes rakendustes. Selle põhimõtetest ja parimatest tavadest teadlik olemine on arendajatele ja IT-turbespetsialistidele hädavajalik.