Laden...

Wo platziere ich den Webservice zur Verbindung zwischen MySQL Datenbank und Xamarin Forms App?

Erstellt von Gugof vor 3 Jahren Letzter Beitrag vor 3 Jahren 771 Views
G
Gugof Themenstarter:in
1 Beiträge seit 2020
vor 3 Jahren
Wo platziere ich den Webservice zur Verbindung zwischen MySQL Datenbank und Xamarin Forms App?

Hallo,

ich habe einen Apache Server mit MySQL und phpmyadmin auf meinem Raspberry laufen.
Ich möchte nun eine App in Xamarin.Forms programmieren die sicher auf die MySQL Datenbank zugreift.

Soweit ich gelesen habe brauche ich einen Webservice, weil direkt in der App auf die Datenbank zugreifen nicht sicher ist.

Ich hab aber glaube ich noch ein Verständnisproblem.
Muss ich den Webservice auf meinem Server ablegen. Dieser kann ja dann einfach in PHP geschrieben sein und dort definiere ich die einzelnen Abfragen die auf meine Datenbank stattfinden dürfen?

In Xamarin greife ich dann mit Webservice Klassen auf meinen Webservice zu oder?

Bin bei meiner Recherche nicht so richtig schlau geworden. Vll. kann mir das einer genauer erklären ob das so überhaupt sicher realisierbar ist oder ob ich meine Datenbank auf einen externen Dienst auslagern sollte, der nicht in meinem Heimnetzt liegt.

Schonmal Danke im Voraus 😃

verwendetes Datenbanksystem: <MySQL>

P
441 Beiträge seit 2014
vor 3 Jahren

Richtig, der Webservice sollte nicht auf dem Client PC / Handy liegen.
Er muss aber nicht auf dem gleichen Server liegen wie die Datenbank.

In deinem Fall sollte er auf dem RPI liegen, er kann (aber muss nicht) in PHP geschrieben sein. Du könntest dort auch einen ASP.NET Core Web API hinlegen - geschrieben in C#.

T
2.219 Beiträge seit 2008
vor 3 Jahren

Anstelle eines Webservice, was sehr nach SOAP klingt, solltest du die WebAPI verwenden.
Dadurch hast du mit Json als Format auch gleich eine Kompakte Schnittstelle zwischen deiner Anwendung und Web.

WebAPI

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.