Om te beginnen ben ik een leek op het gebied van programmeren en ben op zoek naar advies van jullie!
Momenteel ben ik bezig met een project waarbij ik verschillende databases, voornamelijk MySQL, maar zeker ook andere type databases zoals .csv, .txt, .xml en .xls wil koppelen aan een website/platform.
Het is de bedoeling dat obv van een zoekopdracht op het platform/website er een request naar de aangesloten databases gaat en er wordt teruggekoppeld of er informatie in de database zit die voldoet aan de zoekopdracht.
Na wat eigen onderzoek heb ik gelezen dat het middels PHP mogelijk is om een MySQL database te koppelen. Is het met PHP ook mogelijk om de andere type databases te koppelen?
Zijn is mogelijk 'standaard' tools of scripts die voor deze koppeling kunnen zorgen en op welke manier krijg ik de informatie uit de verschillende databases?
(Excuus als dit wat veel vragen zijn, maar ik probeer het voor mezelf duidelijk te hebben hoe het werkt aangezien ik het als complete leek, erg interessant vind!)
Klopt, totdat je met precizies gaat werken, volgens mij kwam dat in een andere draadje voorbij.
Casper Richelle op 20/04/2019 19:46:23
De bedoeling zal wel zijn om synchroon te werk te gaan. Dit om de voorraden zo up-to-date mogelijk te houden.
Mja, maar dan ben je nog steeds afhankelijk van de werkwijze van deze partijen en die zullen dit (directe updates) dan moeten ondersteunen, tenzij je dus een dikke vinger in de pap hebt zoals @Rob aangaf en je zelf gaat voorschrijven hoe en wanneer je informatie wilt.
Ook ben ik benieuwd wat je hier mee wilt gaan doen? Want dit (een soort van vergelijkingssite) is niet echt meer een noviteit.
De werkwijze zal ik in de loop der tijd wel naar mijn hand zetten om zo een eenduidig systeem te ontwikkelen.
Het wordt geen vergelijkingssite zoals deze nu bestaan, dit is inderdaad niet vernieuwd.
Om het kort door de bocht te zeggen (helaas kan ik het niet in detail uitleggen) wordt het een matchmaker voor de e-commerce/m-commerce. De consument moet weer bij de beste deal kunnen komen, iets wat nu zeker nog niet het geval is.
Zou een REST API vanuit mijn kant helpen om te zorgen voor een koppeling voor doorlopende updates wanneer er een wijziging in de voorraad is?
Alle informatie die jullie in de afgelopen posts ga ik voor mezelf even overzichtelijk maken zodat ik ik beeld krijg aan welke dingen ik moet gaan denken.
Dan zou die aanbieder iets in de vorm van een PUSH-mechanisme op moeten zetten.
Met andere woorden: Kijk eens per aanbieder eens wat hun mogelijkheden zijn. Als je dat weet, dan kan je per stuk een importeer-script maken.
Aah op die manier! Ben inderdaad al bezig met verschillende webshops en zelf ook een feed aan het maken om het uit te kunnen vogelen!
[size=xsmall]Toevoeging op 21/04/2019 19:51:24:[/size]
Wat betreft het PUSH-mechanisme, op google kom ik vrij veel verschillende dingen tegen en door mijn gebrek aan kennis op dit gebied weet ik niet precies wat dit inhoud. Is er een PUSH-mechanisme aan te raden?
PUSH: de andere partij drukt (push) het bij jou naar binnen.
PULL: jij moet het bij de andere partij ophalen (binnentrekken = pull).
PUSH is meestal aan te bevelen, omdat je dan direct een berichtje krijgt als de ander wat te melden heeft (en daar niet zelf constant om hoeft te vragen). Moet die andere uiteraard wel een beetje real-time PUSH-en (en niet volgens een vast schema).
Dit zijn echter heel algemene kreten. Dat kun je dan nog op 100 verschillende manieren uitvoeren (het is niet vorm vast). Dus wederom "een soort API op basis van REST/SOAP/whatever".
Hartelijk dank allen voor jullie reacties! Voor dit moment heb ik genoeg informatie om te beginnen.
Bij eventuele vragen/adviezen kom ik graag terug voor jullie expertise!
Je kan dit op diverse manieren gaan doen. Het belangrijkste hier is dat het opvragen van de data de request niet vertraagt. Je wil dus best de data up to date houden achter de schermen, dus onafhankelijk van de request van de gebruiker. Hierbij kan je best werken met RabbitMQ (of een ander soort queue systeem) die bijvoorbeeld een API call verstuurt waarbij je data opvraagt van de verschillende shops. Deze dienen dan wel een goede endpoint te hebben (bv. REST-api). Deze commands kan je offloaden op de queue en in de achtergrond runnen.
Vervolgens wanneer je al deze data hebt in je MySQL (of gelijk welke relationele database je neemt), kan je deze doorzoeken. Mocht je willen werken met een snelle zoekengine of wanneer je echt heel veel data hebt raad ik je wel aan om een NoSQL database te nemen voor je search. Deze data dien je dan wel periodiek up te daten naar wat je in je relationele database hebt.
Het is inderdaad de bedoeling dat de request niet vetraagt wordt door de hoeveelheid data, althans zo min mogelijk vertraging.
Met welke frequentie zal er een API call gedaan kunnen worden? Het is namelijk van belang dat wanneer er een zoekopdracht gedaan wordt op het platform de info up to date is. Er zal een beta gerund worden met 20-30 shops om te kijken hoe het systeem zich houdt. Ik ben bang dat bij een call dat je daarmee ook shops 'called' waar de voorraad in de tussentijd niet is veranderd. Wat is de snelheid van een call?
Waar het allemaal inderdaad om draait is dat een request zo snel mogelijk het gewenste resultaat oplevert. Het is om te beginnen ook belangrijk dat er redelijk snel begonnen kan worden met testen en dus met een recht door zee manier te beginnen.