16. juli 2005 - 23:50Der er
8 kommentarer og 1 løsning
Klient - server applikation
Hej Eksperter.
Jeg er ved at lave en java applikation, som skal forbinde til en database server (MYSQL) og hente noget data som så skal præsenteres. Hvad er den rigtige måde at gøre det på.
Umiddelbart vil jeg jo bare bruge JDBC, og så hente det data jeg skal bruge, men er det nu også smartest ?
Den skal konstant være forbundet, og hive en del data ud
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
17. juli 2005 - 08:02#1
Umiddelbart ja, så er JDBC måden.
Hvad havde du i tankerne? At pakke som (web)service eller ? Det kan være en løsning hvis du har rigtigt mange klienter der henter de (i princippet) samme data, så kan du lave noget server-side caching men eller må JDBC være vejen frem med den løsning.
Bemærk også at selv databasen til gåes viaJDBC behøver din kode ikke nødvendigvis at lave JDBC kald idet du kan komme et lag imellem (f.eks. Hibernate eller JDO).
Ja det er lige det der er spørgsmålet, bør jeg vælge løsningen med client-Server , eller skal jeg bare lade min applikation spørge direkte i databasen? Hvad har jeg at vinde hvis jeg bruger client-server løsningen? det jeg umiddelbart kan se skulle være en fordel, er når jeg nu har 20-30 klienter på, som alle henter det samme data, så sparer jeg nogle db kald. men dataen skal jeg jo stadig flytte.. så er det nu også det værd ?
Ok, jeg kan se det fornuftige i client-server løsningen, og det må uden lige være det som er mest "korrekt". Men hvad vil du så anbefale nu hvor jeg laver en klient som skal præsentere data fra database serveren grafisk, du ved men nogle fine kurver osv ?
Det som jeg umiddlbart tænkte på var at at klienten åbner en bidirectionel tcp socket mod en server, hvorefter man kan spørge efter/ modtage data.
Men er det nu den bedste løsning ? , som alternativ kiggede lidt på Corba og RMI , men jeg kan ikke rigtig se om de er de rette valg, det skal jo heller ikke gøres sværere end højst nødvendigt.
CORBA tror jeg ikke er et godt valg til dine behov.
RMI kunne være en mulighed. Så slipper du selv for at rode med sockets. Du bliver dog så også bundet til RMI modellen.
Socket er en klassisk løsning.
Hvis applikationen kun skal vise kurver udfra data så tror jeg at det eneste gode argument for 3 tier fremfor 2 tier er sikkerheden. Enhver veltrænet chimpanse kan decompile en java app og læse et database password.
Så hvis det heller ikke betyder noget og det skal være så nemt som muligt, så er 2 tier nok løsningen.
Hvis du skal lære noget af det så skal du nok gå 3 tier, fordi i langt de fleste tilfælde er der et af argumenterne for 3 tier som har betydning.
Tak for dine forklaringer, jeg tror at jeg vil starte med Tier 2, når jeg har det på plads, så vil jeg nok kigge på Tier 3. Jeg skal nok heller ikke gabe over for stort brød :-) ihvetifald ikke sålænge det er på hobby niveau.
Hvis du ligger et svar.. så skal jeg lukke spørgsmålet, og jeg siger tak for hjælpen
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.