Hvad er komponent-software?
Komponentsoftware, undertiden kaldet componentware, henviser til et separat modul eller programmeringsobjekt, der fungerer uafhængigt af de andre komponenter i et system, mens kommunikationen med hele systemet opretholdes. På enklere vilkår er en komponent bygget til at levere en bestemt opgave eller tjeneste. Selvom denne type software engineering er baseret på objektorienteret programmering, betragtes den som en separat og mere avanceret klassificering kaldet serviceorienteret programmering. De enkelte komponentmoduler gør det muligt for et system at fortsætte med at fungere i tilfælde af, at et enkelt program går ned.
Udtrykket komponent-software beskriver passende den måde, hvorpå hvert af de enkelte programmoduler danner en komponent eller en del af hele systemet. Overvej for eksempel, hvordan en bil samles fra mange forskellige dele. Nogle dele er mere afgørende for dens funktion end andre, men som helhed, hvis et bestemt ikke-kritisk system svigter, f.eks. Radioen, vil resten af bilen fortsætte med at fungere. Komponentprogrammeringsprogrammering er et lignende designskema, hvor flere dele skaber et helt system.
Denne type software bruges ofte til programmering af applikationer, når komplet systemsvigt kan skabe problemer med sikkerhed eller være til gener. Sådanne applikationer inkluderer ordrebehandlings- og betalingssoftware, journalføringssoftware og endda internetbrowsere. De individuelle opgaver, der udføres af software af denne type, delegeres til individuelle komponent-softwarestykker. Disse stykker sikrer den stabile funktion af hele systemet og beskytter også systemsikkerheden, da hver komponent er isoleret fra de andre.
I tilfælde af internetbrowsere kan de individuelle komponenter muligvis tilbyde flere proces-browsing-sessioner. For den gennemsnitlige bruger betyder det, at når fem faner er åbne og et useriøst java-script får webstedet til at blive vist i en fane, fryses, kun den fane kompromitteres. Ved at lukke fanen kan resten af sessionen gemmes. Dette multiple processystem øger også sikkerheden i den moderne internetbrowser, fordi det holder hver proces i sin egen separate plads.
Mange moderne computeroperativsystemer (OS) bruger komponentsoftware i mindst en vis grad. Et eksempel er Windows OS. I dette system kan brugere muligvis aktivere eller deaktivere OS-komponenter for at tilpasse det til deres behov. Derudover er der inkluderet sikkerhedsforanstaltninger for at dræbe den tilknyttede proces og afslutte programmet uden at genstarte computeren. Denne evne har gjort komponent software til en vigtig del af software engineering.