Wat heb je nodig om een webservice op te zetten?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Seb Janssen

Seb Janssen

19/11/2022 21:19:53
Quote Anchor link
Hallo,

Ik ben mij aan het orienteren op het opzetten en inrichten van een webservice. Het betreft een toepassing waarbij ik gebruikers vanuit excel naar mijn eigen webservice wil leiden. Een voorbeeld van de excelfunctie waar mijn gebruikers gebruik van moeten kunnen maken ziet er bijvoorbeeld als volgt uit:

WEBSERVICE(HYPERLINK("https://geodata.nationaalgeoregister.nl/locatieserver/v2/free?wt=xml&rows=1&fq=type:adres&q=postcode:"1023AB" & " AND huis_nlt:" & "112"))

De webservice heeft tot doel om bijv. van een productcode de omschrijving op te halen. Het betreft een CSV-bestand met iets meer dan 1 mln regels (twee kolommen: productcode en omschrijving).


Ik heb zelf geen enkele ervaring met webservices, anders dan dat ik bovengenoemd voorbeeld van geodata als gebruiker veelvuldig raadpleeg. En naar aanleiding daarvan vroeg ik me af of ik zelf ook een webservice zou kunnen opzetten.

Mijn vraag is wat ik nodig heb om hiervoor een webservice in te richten?
Moet er een SQL-databse gebouwd worden waar het CSV-bestand in wordt opgenomem of kan dat ook eenvoudiger?
In wat voor omgeving moet de webservice draaien? Kan dat door gebruik te maken van een Microsoft dienst (Azure, of een andere applicatie)?
Gewijzigd op 23/11/2022 16:02:28 door - Ariën -
 
PHP hulp

PHP hulp

04/12/2022 09:16:47
 
- Ariën  -
Beheerder

- Ariën -

19/11/2022 21:31:45
Quote Anchor link
Als je wilt filteren en sorteren,d an is een database zeker wel erg handig.
Je kan inderdaad gebruik maken van cloud-oplossingen, zoals Azure of Amazon, maar daar heb ik geen ervaring mee.
 
Seb Janssen

Seb Janssen

19/11/2022 21:43:41
Quote Anchor link
Ok. Nee sorteren en filteren is allemaal niet nodig. Het betreft een eenvoudige Lookup-functie. De gebruiker zal naar verwachting een lijst met gemiddeld 5.000-10.000 productcodes hebben in excel, waarbij voor elke productcode simpelweg de omschrijving moet worden opgehaald.
 
- Ariën  -
Beheerder

- Ariën -

19/11/2022 21:48:41
Quote Anchor link
Ik denk dat een database nog steeds het beste is voor een goede performance.
 
Ad Fundum

Ad Fundum

20/11/2022 12:34:55
Quote Anchor link
Ik ken Excel gelukkig niet zo goed, dus ik heb het even op moeten zoeken:
https://support.microsoft.com/nl-nl/office/webservice-functie-0546a35a-ecc6-4739-aed7-c0b7ce1562c4

De WEBSERVICE()-functie in Excel roept dus een URL aan, en zet de gegevens vermoedelijk in Excel. Het maakt niet uit waar die webservice zich bevindt, het mag op internet zijn of het intranet.
De URL mag niet langer dan 2k zijn, en de waarde die de webservice terug geeft mag niet langer dan 32k zijn.
Dat lijkt me dan toch niet zo moeilijk.

Het protocol in het voorbeeld is HTTP, maar ik zou daar HTTPS van maken (HTTP met versleuteling tegen meekijken) tenzij je op een DMZ zit op het eigen intranet.

Voor HTTP heb je nodig een webserver die een resultaat teruggeeft afhankelijk van de query, ofwel dynamische content.
Ik zou je aanraden om XAMPP op een Windows testomgeving te zetten met Excel 2013+, en vanuit Excel links te maken zoals "http://127.0.0.1:80/?q=zoekterm". Vervolgens kan je met een editor een het bestand index.php maken in de webroot map, en dynamische content maken, met of zonder de database van XAMPP.
 
Seb Janssen

Seb Janssen

22/11/2022 17:30:55
Quote Anchor link
Dank. Ik ken XAMPP niet, maar begrijp ik goed dat deze software in principe op een lokale machine draait en dus 24/7 aan moet staan om de wegservice beschikbaar te houden? Ik heb even gezocht of zoiets ook in de cloud kan en kom dan deze tutorial tegen: https://www.apachefriends.org/docs/hosting-xampp-on-azure.html. Zit ik dan in de goede richting?

En de tweede vraag is hoe ik iemand kan vinden die iets dergelijks voor mij kan opzetten?
 
- Ariën  -
Beheerder

- Ariën -

22/11/2022 17:46:31
Quote Anchor link
XAMPP is een kant-en-klaar pakket waarmee je in luttele minuten een (lokale) webserver mee op kan zetten.

X staan voor Windows/Linux/Mac
A staat voor Apache als webserver
M staat voor MySQL/MariaDB
P staat voor PHP
P staat voor Perl, wat volgens mij haast niet meer gebruikt wordt.

Op wat voor ondersteund platform je het installeert, dat ligt bij jouw. maar als je een Azure abo'tje hebt bij Microsoft, dan kan je die link inderdaad volgen. En anders moet je de Download-link volgen, en dit op je computer installeren.

Voor de rest is het programmeren met PHP.
Gewijzigd op 22/11/2022 17:53:13 door - Ariën -
 
Ad Fundum

Ad Fundum

23/11/2022 09:50:36
Quote Anchor link
Seb Janssen op 22/11/2022 17:30:55:
En de tweede vraag is hoe ik iemand kan vinden die iets dergelijks voor mij kan opzetten?

Als de dienst over internet bereikbaar moet zijn, kan je samenwerken met een hosting-partij. Je kunt shared hosting doen of een VPS, die beheerd wordt door de hoster.
Dan heb je alleen de infrastructuur en heb je nog een dienst nodig die wordt ontwikkeld. Je kunt dit zelf doen, maar dat is zonder kennis niet eenvoudig om het veilig te (blijven) doen. Een alternatief is dat je het laat ontwikkelen door een internetbureau. Er zijn ook full-service internetbureau's die zowel ontwikkeling als hosting doen.
 
Seb Janssen

Seb Janssen

23/11/2022 10:08:13
Quote Anchor link
Helder. Ik had even de hoop dat de Microsoft Cloud omgeving (Azure in dit geval) voldoende zou bieden om de webservice via internet bereikbaar te maken, maar daar het dus toch een hosting partij tussen. Ik zal eens navraag doen bij de provider van onze website.
 
- Ariën  -
Beheerder

- Ariën -

23/11/2022 10:36:11
Quote Anchor link
Azure is voor een beginner overkill. Met een webhostingdienst, met shared hosting kan je al een mooie start maken, zolang je niet met extra serverapplicaties in de weer gaat. Anders is een beheerde VPS een beter idee.

Wat is je kennis tot nu toe?
 
Ad Fundum

Ad Fundum

23/11/2022 11:32:41
Quote Anchor link
Seb Janssen op 23/11/2022 10:08:13:
Helder. Ik had even de hoop dat de Microsoft Cloud omgeving (Azure in dit geval) voldoende zou bieden om de webservice via internet bereikbaar te maken, maar daar het dus toch een hosting partij tussen. Ik zal eens navraag doen bij de provider van onze website.

Als je bij een organisatie zit die al gebruik maakt van Azure, dan zou het (technisch) daar ook op moeten kunnen. En als Azure op het intranet draait, is ook de veiligheid een minder groot issue.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.