Laden...

Design-Frage Webshop

Erstellt von m@crotron vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.465 Views
M
m@crotron Themenstarter:in
233 Beiträge seit 2006
vor 9 Jahren
Design-Frage Webshop

Hallo,
ich bin momentan bei der Planung einer Anwendung und brauche eure Hilfe...

Geplant ist eine virtuelle Shopping-Mall mit mehreren Händlern (100 Händler mit ca 10.000 Artikeln).
Als Technologie wird ASP.NET MVC / Web-Api + js (jquery /angular) eingesetzt.

nun meine Fragen:

  1. Datenbank - Geplant ist hier eine MSSQL-DB.

Ich bin mir momentan aber nicht sicher, ob ich für jeden Kunden eine eigene DB nehme, oder eine DB für alle Kunden.

Ich tendiere eher zur Variante 2(eine DB), da ich hier später eine App für Win8/10 implementieren soll und nur eine DB abfragen muß.
Hier müsste ich dann allerdings immer die Vendor-Id in allen Abfragen mitgeben...

Was ist hier eurer Meinung nach sinnvoll ?

  1. Webanwendung

Frontend und Backend wird in MVC/WebAPI implementiert.

Die Frage ist hier:
Soll jeder Vendor eine eigene Webanwendung (ein eigenes Directory /subdomain etc. )bekommen oder kann ich das alles in einer Anwendung erschlagen ?
Einen gemeinsamen Warenkorb müßte ich dann natürlich auch implementieren ?!

Wie würdet ihr das realisieren ?

16.835 Beiträge seit 2008
vor 9 Jahren

Selbstverständlich verwendet man für ein Mandanten-System für jeden Mandanten eine einzelne Datenbank.
Es gibt hier auch rechtliche Aspekte, die in Frage kommen könnten, die Dich dazu zwingen werden. Wenn das ganze zertifiziert/auditiert werden soll wirst Du sowieso hier keine Alternative haben.

Auch für Punkt zwei wirst Du nicht am Stichwort Mandantenfähigkeit vorbei kommen.
Das hat auch was mit der Authentifizierung zutun, da Cookies immer auf die Domain gehen und hier zwingend eine Trennung des Mandanten über die Subdomain erfolgen muss.
Mit Hilfe des Cookies erfolgt auch die Mandantenerkennung der API, sodass keine VendorID übergeben werden muss (OWIN ist hier mittlerweile der Standard geworden).

Wenn Du auch noch ne App machen willst; dann verwende direkt WebAPI als Ausgangspunkt aller Daten und Authentifizierungen.
MVC hast Du hier also nur noch zum Hosten der WebAPI.

Die Anwendung selbst würde man in moderner Hinsicht nur noch per Angular und einem HTML umsetzen; nicht mehr mit MVC.
Klassisches MVC ist bereits out-dated und das Mischen sollte man absolut vermeiden.

M
402 Beiträge seit 2005
vor 9 Jahren

Hi...

@Abt, so wie ich das interpretiere würdest du beide Teile Backend und Frontend(Storefront) mit "statischem" HTML, Javascript(Angular) und WebApi aufbauen?

Das passt vermutlich aus Sicht eines Entwicklers weil das dann eben die aktuellsten Technologien sind.

Beim Backend bin ich voll bei dir.

Nur ist es aber auch so, dass ein Webshop nur verkauft wenn die Artikel bei Suchmaschinen gut gefunden werden und da kommt es auf die Indexierbarkeit einer Webseite an. Ich bin mir nicht 100% sicher aber Google kann mit "Full-Ajax" Webseiten bzw. SPAs nicht wirklich viel anfangen.

Ich würd mich niemals trauen einen Webshop online zu stellen den Google nicht 100%ig indexen kann. Hier geht meiner Meinung nach (noch) kein Weg an serverseitig generierten Artikelseiten vorbei.

16.835 Beiträge seit 2008
vor 9 Jahren

Nein, ich würde alles in statischem HTML aufbauen und eben Angular als MVVM nutzen; so wie es gedacht ist.
Eine absolute, reine 100% SPA (Single Page Application).

Angular ist auch 100% SEO fähig, indem bei der State-Verwaltung der HTML5-Mode aktiviert wird.
Damit sind für alle HTML Clients die Urls nach dem üblichen Schema domain.com/Category/Article/ID aufgebaut und nicht domain.com/**#!/**Category/Article/ID; also ohne den sogenannten Hashbang.
Im Zusammenspiel des Hashbangs und dem sogenannten HTML5-fragment (<meta name="fragment" content="!" />), könnte man aber auch Google dazu bringen, den Hashbang zu verstehen.

Google und Bing können damit - und auch mit Javascript - perfekt umgehen. Siehe dazu auch das Announcement Understanding web pages better
(Google Chrome wurde übrigens zuerst nur für die Suchmaschine entwickelt, sodass diese endlich Javascript versteht).

Hinzu kommt, dass man über schema.org/OpenGraph ebenfalls sehr viel SEO abdecken kann, genauso über Sitemaps.
Wenn man also moderne Elemente wie Angular nimmt, um eine SPA zu entwickeln, dann muss man auch den SEO modern aufbauen.

Ich kenne aber auch Webseiten, die fangen über die Robot.txt den Suchbot ab und liefern ihm Snapshots der Webseite. Dafür ist zB angular-phantomjs-runner geeignet.

M
402 Beiträge seit 2005
vor 9 Jahren

Hi Abt,

ist natürlich eine sehr interessante Info.

Würd mich interessieren ob es auch Seiten (produktiv) gibt die nach diesem Konzept arbeiten und ordentlich indiziert sind.

lg

16.835 Beiträge seit 2008
vor 9 Jahren

fussball.de ist komplett Angular; haben aber einige Fehler in Sachen SEO gemacht.
Ich selbst setze gerade eine Seite um, die genau die von mir genannten Elemente bzgl. SEO einsetzt - und das bisher mit sehr positiven Ergebnissen.

QuickIO.NET werde ich am WE, wenn ich wieder im Flieger sitz, komplett SEO-tauglich umsetzen.
Dann kann man sich da meine Umsetzung anschauen.