Toon posts:

[algemeen] Applicatie ontwikkelen met data oa voor internet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben inmiddels aardig thuis in VB en VB.NET en kan ook al een aardige windows applicatie bouwen. Tot nu toe heb ik de data altijd uit een MS access db gehaald.

Maar nu kan ik ws een applicatie bouwen voor iemand die er echt serieus gebruikt van gaat maken. Maar nu is mijn vraag: hoe wordt de data opgeslagen bij een grote 'echte' applicatie. Het lijkt me niet dat een echt bedrijf een MS access db gebruikt en een MS SQL server lijkt me overkill voor een applicatie. Verder moet een gedeelte van de data ook op het internet beschikbaar zijn.

XML lijkt me ook geen oplossing als je ongeveer 10.000 records hebt en als je MySQL wilt gebruiken dan moet je bij elke installatie MySQL installeren. Kortom hoe kan je het beste zo'n applicatie aanpakken qua data.

Ik kijk uit naar jullie reacties en zal actief meedenken!

  • BoomSmurf
  • Registratie: Maart 2003
  • Laatst online: 13-06-2025

BoomSmurf

Am-Ende!

Hmm het klinkt op het eerste gezicht dat je wel een database wilt gebruiken, maar geen database wilt installeren en draaien. Dan denk ik, gebruik een embedded database server. Zoals bijvoorbeeld Firebird Embedded (een database server in een DLL) of sqldb (lang niet alle functionaliteit van een 'grotere' RDBMS). Maar, je wilt delen van de data wel op internet beschikbaar maken. Dan zit je volgens mij toch vast aan een niet-embedded database, afhankelijk van hoe je het precies beschikbaar wilt maken. Als jij en een webserver en met je applicatie in de database wil werken dan zal dat wel moeten. Als het echter jou applicatie is die af en toe wat dingen upload naar een webserver, dan kan het embedded.

Maja, MSDE is ook zo geinstalleerd weet je :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

XML is minder geschikt voor data opslag maar meer voor data uitwisseling en data transformatie.

Verwijderd

De belangrijkste vragen in dit geval zijn :
- Hoeveel (gelijktijdige) gebruikers zullen gebruik maken van de database ?
- Hoeveel data moet je opslaan ?

Uit ervaring weet ik dat tot +/- 10 gebruikers ( 5 bij intensief gebruik van de db ) en ongeveer 200-300 MB aan data je eigenlijk Access wel kunt blijven gebruiken. Zelf al een paar keer gedaan voor applicaties in een professionele omgeving.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 06-05 19:34

Tomatoman

Fulltime prutser

Voor Access wordt in de praktijk vaak een grens van ongeveer 10 gebruikers aangehouden, zoals FFrenzy uit eigen ervaring weet. Wil je meer gebruikers bedienen of heb je de behoefte aan geavanceerdere mogelijkheden zoals views, triggers of stored procedures, dan moet je overstappen naar een andere database. Zo niet, dan is er niets mis met een Access database. Laat iedereen maar roepen dat Access niet deugt, in heel veel gevallen is Access uitstekend geschikt.

Bedenk echter wel dat je voor vrijwel iedere database wat moet installeren. Om toegang te krijgen tot Access moet je bijvoorbeeld de Jet Engine installeren. Op computers waarop Microsoft Office al is geïnstalleerd is de Jet Engine al aanwezig. Installatie van de Jet Engine is heel eenvoudig. In je (Windows Installergebaseerde) installatieprogramma voeg je gewoon de desbetreffende merge module toe en de installatie gebeurt volautomatisch.

Ook de Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) kun je - net als veel andere database engines - heel eenvoudig installeren via een merge module. MSDE is gratis (ook voor eindgebruikers), bedoeld voor maximaal 25 gelijktijdige gebruikers, bedoeld voor desktopapplicaties. De voordelen zijn (1) dat je kunt experimenteren met een full-blown database zonder dat je fors moet investeren, (2) dat je compatible bent met het wereldwijd meest gebruikte DBMS (SQL Server) en (3) dat er ontzettend veel informatie over te vinden is. MSDE is interessant als je een stap hoger wilt dan Access, maar geen geld hebt voor programma's zoals Microsoft SQL Server, IBM DB2 of een Oracle database. MySQL zou voor jou een alternatief kunnen zijn, al is dat beperkt schaalbaar en mist het veel geavanceerde functionaliteit. Firebird is misschien wat minder geschikt wegens het beperkte marktaandeel.

Wil je een overzicht van veelgebruikte databases die je eenvoudig als merge module kunt uitrollen, kijk dan eens hier.

[ Voor 9% gewijzigd door Tomatoman op 07-06-2005 01:57 ]

Een goede grap mag vrienden kosten.


Verwijderd

Je kunt natuurlijk een applicatie maken voor bijvoorbeeld o.a. Windows XP e.d., en de data daarvoor opslaan op een externe, gehuurde webserver zoals dit ook gebruikelijk is voor een website (mits niet zelf gehosted wordt).

Je kunt voor de windowsapplicatie dan verplicht stellen dat er een verbinding moet zijn met internet voor het gebruik ervan. Je kunt een externe database zoals MySQL ook aanroepen vanuit een VB applicatie lijkt me; heb daar echter geen verstand van maar het lijkt me wel logisch.

Verwijderd

Topicstarter
de applicatie zal een magazijnapplicatie worden. De computer zal in het magazijn staan en het is nog niet bekend of er een constante internetverbinding zal zijn. Maar daat pleit ik wel voor!
Verder komt het op een best wel grote website te staan met ongeveer 480 unieke bezoekers per dag. Dus ik zit te twijfelen aan MS Access. Verder heb ik bij mn host standaar MySQL zitten maar die wil deze database niet beschikbaar maken voor buiten ivm beveiligingsredenen. Het moet toch kunnen dat je zo'n mysql db beschikbaar maakt voor buiten. Want dan zou ik simpel de MySQL db kunnen gebruiken.

Ik zit me ook af te vragen hoe ik de data op de site ga krijgen als ik bijvoorbeeld gebruik ga maken van MS Access. Moet ik dan gaan werken met XML? Dan zal ik geen wijzigen kunnen uitvoeren lijkt me. En om de database direct aan te spreken op een normale PC lijkt me uit veiligheidsoverwegingen niet echt een goede optie. Heeft iemand een idee?

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:08
Waarom wil je die databank op een server zetten op het internet ?
Als het een applicatie is voor een bedrijf, kan je die DB toch op een server binnen het netwerk plaatsen :?

Als dat niet mogelijk is, dan kan je webservices maken die je host op die server waar die DB staat. Je webservices praten met de databank, en je windows applicatie praat dan met die webservices.

Mijn idee is: als je die applicatie daadwerkelijk voor een bedrijf moet bouwen; zeg dan aan dat bedrijf dat ze beter dat werk door iemand laten doen die er ervaring mee heeft, die het professioneel kan aanpakken, en die weet wat hij doet. Ik heb nu zo'n beetje de indruk dat jij dat best wil doen, om iets bij te leren, om geld te verdienen, whatever, maar ik denk dat het jouw klant en jou zuur kan opbreken. Zeker als jij het alleen gaat doen, zonder ondersteuning van iemand die eea aan ervaring en bagage heeft.

https://fgheysels.github.io/


Verwijderd

Topicstarter
[b][message=23539920,noline]Mijn idee is: als je die applicatie daadwerkelijk voor een bedrijf moet bouwen; zeg dan aan dat bedrijf dat ze beter dat werk door iemand laten doen die er ervaring mee heeft, die het professioneel kan aanpakken, en die weet wat hij doet. Ik heb nu zo'n beetje de indruk dat jij dat best wil doen, om iets bij te leren, om geld te verdienen, whatever, maar ik denk dat het jouw klant en jou zuur kan opbreken. Zeker als jij het alleen gaat doen, zonder ondersteuning van iemand die eea aan ervaring en bagage heeft.
Ik begrijp je helemaal. Maar het is niet voor een bedrijf maar voor een grote autoclub. En het is ook nog niet zeker dat ik het ga doen maar ik wou me eerst orrienteren van hoe en wat. Als ik het niet zie zitten dan kaats ik het af. Wat ik wel sowieso moet doen is dat ik die data op de internetsite moet zien te krijgen. Dus mij werd meegevraagd om mee te denken.

Het lijkt me wel een uitdaging en er valt veel van te leren. Binnenkort ga ik examen 70-305 (Webapplicaties met VB.NET) doen en daarna ga ik bezig met het examen voor windows applications dus het is altijd handig als je een echte applicatie gebouwd hebt of ga bouwen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:08
Wat ga je nu eigenlijk maken, een webapplicatie, of een windows app ?

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op dinsdag 07 juni 2005 @ 10:47:
Wat ga je nu eigenlijk maken, een webapplicatie, of een windows app ?
een windows app. Alleen moet de data ook via een webapp beschikbaar zijn. Snappie?

  • BoomSmurf
  • Registratie: Maart 2003
  • Laatst online: 13-06-2025

BoomSmurf

Am-Ende!

Het is mijn iig nog steeds niet helemaal duidelijk wat je nu precies wilt. Misschien als je een wat gedetailleerdere uitleg geeft kunnen we beter antwoorden? Vooral wat nu precies waar beschikbaar moet zijn, waar het gewijzigd kan worden, etc. Wie wat waar hoe en waarom!

  • wibra
  • Registratie: Januari 2005
  • Laatst online: 04-02 19:35
i second that.

misschien een tekeningetje dat de boel zou verduidelijken?

  • joca
  • Registratie: Oktober 2000
  • Laatst online: 12-07-2025
Ik snap wat je boedoeld, maar waarom tijd in een webinterface en een windows (stand-alone) prog steken als ze alletwee gebruik maken van dezelfde database.

Waarom maak je geen geebruik van een webinterface voor beiden, je kan iets met rechten maken waardoor de bezoekers die extern de database benaderen (je website bezoekers) minder mogelijkheden hebben. Je intranet gebruikers hebben bijvoorbeeld wel alle rechten.

  • whoami
  • Registratie: December 2000
  • Laatst online: 15:08
De keuze tussen windows en web applicatie heeft niet altijd alleen met 'rechten' te maken.
Je kan bewust kiezen voor een windows interface, omdat dit een 'rijkere' interface is. (Voor data-entry app's bv, is een windows interface handiger).

https://fgheysels.github.io/


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 10:04
Verwijderd schreef op dinsdag 07 juni 2005 @ 10:20:
De computer zal in het magazijn staan en het is nog niet bekend of er een constante internetverbinding zal zijn.
Afhankelijk van wat je bereikbaarheid moet zijn maakt het eigenlijk niet uit. Eeen internetverbinding is nooit constant, dus als het plat ligt en je applicatie moet blijven werken zit je zowieso aan een lokale db vast.

Dus een valide vraag is : Wat zijn de eisen die aan je applicatie gesteld gaan worden, oa mbt bereikbaarheid en betrouwbaarheid?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • joca
  • Registratie: Oktober 2000
  • Laatst online: 12-07-2025
whoami schreef op dinsdag 07 juni 2005 @ 12:13:
De keuze tussen windows en web applicatie heeft niet altijd alleen met 'rechten' te maken.
Je kan bewust kiezen voor een windows interface, omdat dit een 'rijkere' interface is. (Voor data-entry app's bv, is een windows interface handiger).
Dat klopt, maar de TS gaf niet echt een moticatie aan waarom hij twee applicaties gaat ontwikkelen. Ik kreeg het idee dat hij daarvoor had gekozen omdat daar zijn ervaring ligt.

Verwijderd

Topicstarter
ik snap niet dat jullie me niet snappen :P

Er moet gewoon een een applicatie komen voor een clubmagazijn. Er komen dus allemaal producten in met de prijs en aantal. Deze applicatie moet makkelijk te gebruiken zijn in het magazijn zelf.

Nu komt pas het internetgebeuren: Er moet een overzicht komen van alle artikelen die in het magazijn aanwezig zijn op de webpagina van de club.

That's all.

  • pistole
  • Registratie: Juli 2000
  • Laatst online: 09:26

pistole

Frutter

Dus gewoon een applicatie die lokaal draait en dagelijks/uurlijks/whatever een bestandje uitpoept die vervolgens elders op de website gebruikt?

Ik frut, dus ik epibreer


Verwijderd

De website staat dus op een geheel ander netwerk over het internet.. dan wordt het zoiezo moeilijk om het van die MySQL database over het internet te gebruiken...

dus intern moet er iets anders worden gebruikt. en dat hangt dan weer af van hoeveel applicaties er op hoeveel pc's moet worden geplaatst. als er meerdere pc's die applicatie moeten kunnen runnen, zou je gewoon een andere 'echte' gecentraliseerde database moeten gebruiken, (ook in verband met locken e.d.)
als de applicatie maar op 1 pc nodig zou zijn (waar ik overigens nooit voor zou kiezen ivm uitbreidingsmogelijkheden, maar dat terzijde), dan kan je elk soort opslagmethodiek kunnen gebruiken tot en met komma en enter gescheiden files (hoeft niet echt langzamer te zijn opzich als je het een beetje goed schrijft). XML kan, ligt eraan of je al een beetje ervaring hebt met die DOM of andere XML libraries, want het is wat uitzoekwerk. (xml werd al gezegd dat het wat ongeschikt is, dus dat neem ik bij deze terug)

en voor de website hoef je opzich maar iets te uploaden qua of gegenereerde webpagina's, of andere data (desnoods over http) om via de website te verwerken in de MySQL database van de website.

lijkt me...


edit:

klinkt misschien wat onprofessioneel.. maar recent heb ik zelfs een 'mirror' van een website kunnen creeren door op beide sites dezelfde php/mysql te laten draaien en de insert, update, en delete queries via http of https door te laten sturen (base64+urlencoded), inclusief buffering als de andere webserver offline is en later bij online weer doorsturen...
(vraag me af of er een andere meer wat professionelere aanpak is :/)

[ Voor 26% gewijzigd door Verwijderd op 07-06-2005 16:18 . Reden: duidelijke spellinghopeloosheid etc ]

Pagina: 1