Jeg skal have lavet en løsning hvor jeg skal have nogle centrale data liggende tilgængeligt for rigtig mange brugere. I stedet for at de skal på databasen hvergang de skal bruge data vil jeg loade data op til en webservice der så køre konstant med loaded date. Er det en holdbar løsning eller er der bedre alternavtiver?
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
en webservice skal jo også have sine data et sted fra og medmindre du laver et andet datalag vil det jo også være databasen der skal hentes fra og så har du intet vundet - men gemmer du en kopi af dine data fx i en xml-fil eller i serverens cache så vil du selvfølgelig kunne undgå mange kald til databasen. Om en webservice så er nødvendig eller om du bare kan nøjes med et datalag der kun henter fra databasen såfremt der ikke ligger noget i cachen er svært at svare på uden at vide hvordan din applikation ellers hænger sammen, men som udgangspunkt vil det nok kun være nødvendigt med en webservice såfremt du skal gøre dine data tilgængelig for at andre kan programmere op imod dem og ikke bare til din egen applikation.
1) er web service et velegnet interface til formålet ? 2) vil den cache give nogle performance forbedringer ?
re 1)
Hvis service skal bruges af applikationer som er lavet i forskellige sprog (.NET, Java, C++, Python, PHP etc.) så: JA
Hvis service kun skal bruges af .NET applikationer så: NEJ (vælg en mere effektiv binær protokol)
re 2)
Formentlig ikke.
Der er principielt ingen grund til at tro at en cache i en middleware server skulle give bedre performance end cachen i databasen (en lokal cache vil derimod give en klar fordel).
Der er naturligvis undtagelser: hvis database serveren ikke kan opgraderes med mere memory eller hvis middleware serveren står ubenyttet hen etc..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.