Avatar billede ABCit Juniormester
24. januar 2020 - 12:54 Der er 1 løsning

Skjule forretningslogik

Jeg har lavet en client/server løsning, hvor client kalder en servlet med en xml-fil indeholdende input til en beregning, som foregår på serveren. Strukturen samt navngivning af elementer i xml-filen afspejler forretningslogik, som jeg helst vil undgå at publicere. Hvordan kan jeg bedst undgå at forretningslogikken bliver offentlig tilgængelig?
•    Kan jeg kryptere filen? (er måske ikke så anvendelig, da andre software leverandører skal kunne anvende servletten og dermed kende xml fomatet (dette er dannet ud fra en XSD-fil)
•    Kan jeg anvende unikke numre til hvert element i xml-filen, som kan benyttes til at mappe fra en hvilken som helst xml-fil over i min xml struktur, hvilket kan foregå på serversiden, hvorved min forretningslogik/-struktur vil være skjult?
•    Andre muligheder??
Avatar billede arne_v Ekspert
25. januar 2020 - 17:43 #1
De lyder umiddelbart som en noget tricky situation.

Du kan åbenlyst ikke gemme struktueren for dem der skal skrive data i det format.

Du kan omddøbe felterne. Det er er en ret triviel operation at omdøbe alle element navn og attribut navne i XML. XSLT, W3C DOM kode eller banal String kode,

Men hjælper det noget? Hvis du har et felt <topsecretbusinesslogic>noget</topsecretbusinesslogic> og erstatter det med <e7>notet</e7> og skriver i dokumentationen at e7 indeholder topsecretbusinesslogic - hvad er så skjult??

Den rigtige løsning må være at definere et format som kun afspejler input og output men ikke noget om implementations logikken.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester