Under årens lopp har en mängd olika modeller mjukvaruutveckling och arkitekturer visades och sedan bleknat i popularitet . Längs vägen , bidrog vardera till farkosten och påverkat hur programvaran är uppbyggd . Två av dessa modeller , komponentbaserad utveckling och tjänsteorienterad arkitektur , gjort betydande bidrag till dagens utvecklingsmodeller . Komponentbaserad utveckling ledde mot både snabb utveckling och visuell programmering , medan serviceorienterad arkitektur , eller SOA , utvecklats till molntjänster där du tillgång server - side-programvara via en webbläsare . Komponentbaserad utveckling
Visual Basic , JavaBeans och Delphi programmering varje förlita sig på en uppsättning av dra och släpp komponenter hämtas från en palett på någon typ av arbetsyta . Tillsammans med inbyggda komponenter , kan utvecklare skapa egna kontroller anpassade för att utföra funktioner anpassade till deras egna behov. Utvecklare skapar uppsättningar av återanvändbara komponenter först , och sedan använda dem som byggstenar för att skapa nya affärslösningar . Detta är grunden för komponentbaserad utveckling . Addera Service-Oriented Architecture
SOA använder ett antal webbservrar att fördela datorkraft för att lösa stora affärsproblem . När en webbläsare visas en webbsida , skickar den först en förfrågan till en webbserver väntar sedan resultatet och visar det på sidan . En webbtjänst , byggstenarna i SOA , bygger på samma webbsida förfrågningar och svar för att samordna arbetet mellan datorer . Varje dator har en uppsättning tjänster som den kan utföra och andra datorer beställa tjänsterna .
Likheter
Även programmerings modeller verkar helt annorlunda , det övergripande visionen är mycket samma . Både komponenter och tjänster har vardera en fördefinierad uppsättning metoder eller funktioner som de utför . Programvara designers börja med att definiera byggstenar som representerar verkliga objekt . Dessa kan vara fakturor , kontoutdrag , kunder eller andra affärsenheter . Designern definierar då ett antal meddelanden eller funktioner som talar om objektet att göra något . Till exempel kan ett checkkonto objekt har en funktion som returnerar den nuvarande balansen eller det kan ha en funktion som tar emot en betalning , öka sin balans och publicera kontrollen i sitt register .
Skillnader
stora skillnader centrum kring omfattning och teknik . En del lever på en enda dator och all kommunikation sker i en enda låda . Tjänster lever på flera datorer , ofta i olika fysiska platser och kommunikation sker över nätverk . Komponenter genomför oftast mycket små , korniga funktioner . En typisk komponent uppgift kan vara att läsa och skriva data från en enda databas tabell eller skriva en transaktion . Tjänster omfattar ofta flera divisioner eller ens olika företag . Typiska webbtjänster kan du publicera en försäljning från regionala filialer till det centrala kontoret eller skicka en lista på lönelistan kontroller till företagets bank .