Client/Server-webapplikationer - hur brukar man göra?

Permalänk

Client/Server-webapplikationer - hur brukar man göra?

Hej,

Jag har rätt så bred fråga och vet inte var jag ska börja.. :/ Det är så att jag undrar lite hur man brukar göra i webapplikationer när data ska skickas fram och tillbaka från frontend och backend (client och server?). Jag har läst massa kurser, gått på praktik och hört talas om massa begrepp, men aldrig fått lära mig hur man gör i praktiken.

Jag försöker få till ett mer konkret exempel här nedanför.
Man har en app där användaren loggar in. Front-end vet då vilken användare som är inloggad. Då brukar frontend spara någon information om användaren ? Vad kan det vara? Något slags id (en siffra?) Eller kan det vara någon slags singelton-objekt eller Enterprise Java Bean som är en slags User-objekt med massa saker i?

Och sen kanske användaren har en tabell och skriver in massa saker i som hen vill spara.

Vi kan säga att röd text är sånt som inte går att ändra i gränssnittet/GUI:t. Blå text är sånt som inte går att ändra just nu, men som användaren matade in någon annan gång, man kanske kallar texten generisk. Sen är det lila text och det är det som användaren kan skriva in i gränssnittet/frontend här och nu.

Spara något:
När användaren vill spara texten så trycker hen på "Spara". Och då händer något. Alltså som jag förstått det så händer det massor. Man kanske har någon metod onClickListener som i sin tur kör en lambda-metod som gör något. Men vad brukar hända här. Brukar det vara så att koden som körs nu i lambda-metoden hämtar text från UI-objekten i GUI:t och hämtar data om vilken användare det är. Sen sparas det i någon slags datastruktur i form av ett objekt? Hur vet man vad man ska välja för struktur? Kanske alltid någon form av array? Och sedan skickas objektet via t ex REST till backend? Backend tar emot objektet med all text och sparar den sedan i databasen, kanske via ORM/JPA eller med rå SQL?
Är det så det brukar gå till t ex vid sparning? Kanske i en Android, iOS, GWT, Java EE-tillämpning. Finns det något vedertaget begrepp/designmönster som beskriver steg för steg vad som görs? T ex först händer det, sen händer det. Steg 1: ... , Steg 2: ..., ... Steg 7:.. .

Hur brukar du/man t ex göra vid sparnings-tillvägagångssättet i en webapplikation? Och hur gör du med användar-hantering i frontend?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

För att vara lite tråkig; det beror på. Det enklaste är att välja ett populärt ramverk och sätta sig in i hur det fungerar då många av dina frågor har "vilket som" svar. Det beror på användningsområde, preferens av utvecklarna och många andra faktorer.

Här har vi ett exempel på hur ett REST system kan se ut:

Så här kan inloggning/authentication se ut

Permalänk
Skrivet av l4nky:

För att vara lite tråkig; det beror på. Det enklaste är att välja ett populärt ramverk och sätta sig in i hur det fungerar då många av dina frågor har "vilket som" svar. Det beror på användningsområde, preferens av utvecklarna och många andra faktorer.

Här har vi ett exempel på hur ett REST system kan se ut:

https://www.ibm.com/developerworks/library/ws-RESTservices/Figure_1_ArchitectureOverview.gif

Så här kan inloggning/authentication se ut

https://i.stack.imgur.com/U554L.png

Okej, då får man hitta några ramverk att dyka ner lite mer i. Kanske bättre för att det blir mer konkreta saker att tänka på då. Jag har fått för mig vissa saker. Att t ex REST är enklare att använda och lära sig än till exempel SOAP? Kortare inkörningskurva? Men bara för att REST är lättare än SOAP betyder det ju inte att det är lätt att använda REST om man inte hållit på med det så mycket själv? Hmm.

Bra bilder där. Särskilt bild nr 2. Jag tycker om modeller, där man kan se vad som händer. Föst händer x, sen händer y. Jag märkte att när jag skrev någon komplex frontend-kod i iOS en gång så tappade jag lätt bort mig bland alla kodrader.

Kan man påstå att JPA/ORM är enklare än att skriva SQL-queries? Kanske "beror på" där också. .

Bild nr 1 om "REST". Den var lite mer ny för mig, särskilt Web tier. Hmm, den kanske är en bra översikt att sätta sig in i så man förstår hur det funkar med REST. Hmm, är dessa Front controller, ActionController, RESTAction, Helper Services vedertagna begrepp inom REST t ex? Och dendär Web tier finns alltså oftast i klient-koden/front-end?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX