Gjennom årene har en rekke programvareutvikling modeller og arkitekturer dukket opp og deretter falmet i popularitet . Underveis bidro hver til håndverket og påvirket måten programvaren er bygget . To av disse modellene , komponentbasert utvikling og service - orientert arkitektur , gjort betydelige bidrag til dagens utviklingsmodeller . Komponentbasert utvikling ledet mot både rask programutvikling og visuell programmering, mens tjenesteorientert arkitektur , eller SOA , utviklet seg til cloud computing tjenester der du har tilgang til server-side programvare via en nettleser . Komponentbasert utvikling
Visual Basic, JavaBeans og Delphi programmering hver avhengige av et sett med dra og slipp -komponenter trukket fra en palett på noen type arbeidsflate. Sammen med innebygde komponenter, kan utviklere lage sine egne kontroller tilpasset til å utføre funksjoner tilpasset deres egne behov. Utviklere lage sett av gjenbrukbare komponenter først , deretter bruke dem som byggesteiner for å skape nye forretningsløsninger. Dette er grunnlaget for komponentbasert utvikling .
Tjenesteorientert arkitektur
SOA bruker en rekke webservere for å fordele datakraft til å løse store virksomhet problemer . Når en leser viser en webside , sender det først en forespørsel til en webserver deretter venter på resultatene og viser det til side . En web-tjeneste , byggesteinene i SOA , avhengig av de samme web- forespørsler og svar for å koordinere arbeidet mellom datamaskiner . Hver datamaskin har et sett av tjenester som det kan utføre og andre datamaskiner be om disse tjenestene .
Likheter
Selv om programmering modellene synes ganske annerledes , den generelle visjonen er mye det samme. Både komponenter og tjenester hver har et forhåndsdefinert sett av metoder eller funksjoner som de utfører. Programvare designere begynne med å definere byggesteiner som representerer virkelige objekter . Disse kan være fakturaer , kontoutskrifter , kunder eller andre foretak . Designeren definerer deretter en rekke meldinger eller funksjoner som forteller at objektet skal gjøre noe . For eksempel kan en brukskonto objektet har en funksjon som returnerer sin nåværende balanse , eller det kan ha en funksjon som mottar en betaling , øke sin balanse og legge ut sjekken i sitt register .
Forskjeller
store forskjeller sentrum rundt skala og teknologi . En komponent bor på en enkelt datamaskin og all kommunikasjon skjer inne i en enkelt boks . Tjenester live på flere datamaskiner , ofte plassert på forskjellige steder og kommunikasjon skjer over nettverk. Komponenter vanligvis gjennomføre svært små, detaljerte funksjoner. En typisk komponent oppgave kan være å lese og skrive data fra en enkelt database tabell eller poste en transaksjon . Tjenester ofte strekke seg over flere divisjoner eller til og med forskjellige selskaper. Typiske webtjenester kan legge ut salg fra regionale avdelinger til det sentrale kontoret eller sende en liste over lønn sjekker til selskapets bank .