Avatar billede trp79 Nybegynder
18. juni 2003 - 08:20 Der er 58 kommentarer og
2 løsninger

Konstruktiv kritik af opgave

Hejsa,
jeg ved ikke helt om det er muligt det her. Men det er sådan at vi har skrevet en opgave og godt kunne tænke os lidt konstruktiv kritik omkring vores sikkerhedsafsnit i denne opgave. Afsnittet kommer ind på noget omkring java, samtidighedsproblemer, EJB, synchronized... Jeg kan desværre ikke smide afsnittet op da der er fodnoter osv.
Men kunne man ikke lave det på en sådan måde at jeg mailer det til en (hvis en kunne tænke sig at læse det igennem) og personen derefter kommer med kritikken her på siden?
Eller er det helt udelukket og i uoverenstemmelse med exp's regler?
Avatar billede riversen Nybegynder
18. juni 2003 - 08:26 #1
læg det til download istedet. Det er nemmere
Avatar billede arne_v Ekspert
18. juni 2003 - 08:26 #2
Det er nok at bøje reglerne for meget.

Som et absolut minimum må:
  - alle der beder om det have det tilsendt
  - de mest relevante pointer posts her med et lille citat og kommentarern
    så andre kan have  nytte af det

Er fodnoterne osv. nødvendige for forståelsen ?
Avatar billede arne_v Ekspert
18. juni 2003 - 08:27 #3
(iøvrigt lyder det som noget jeg måske kan bidrage lidt til)
Avatar billede trp79 Nybegynder
18. juni 2003 - 08:36 #4
Jeg uploader den selvfølgelig riversen :o)
Jeg har klippet en masse overfødige (overflødige for sikkerhedsafsnittet ud)screenshots ud. Opgaven ligger nu på www.confunded.dk/TP/opg.zip

--> Arne
Jeg glemte så at nævne at der også er en enkelt tabel og at nogle er fodnoter henviser til et fx et bilag eller kommer med en forklaring.

Det er hele vores opgave jeg har oploadet, da jeg er bange for at det går galt med krydshenvisninger osv. hvis jeg bare klippede sikkerhedsafsnittet ud.

Håber det nu er i overenstemmelse med exp regulativer.
Ellers kan jeg evt. summere op på det hele til sidst?
Avatar billede trp79 Nybegynder
18. juni 2003 - 08:38 #5
Det ville være super dejligt med et par bidrag :o)
Avatar billede trp79 Nybegynder
18. juni 2003 - 08:46 #6
Det skal iøvrigt nævnes at ejb ikke er i vores pensum. Vi har blot bevæget os ind på det fordi vi havde fået forståelsen af, at det var smart, og at det kunne bruges med fordel i vores opgave.

Så hvis vi har misforstået noget helt, må i endelig sige til :o)
Avatar billede arne_v Ekspert
18. juni 2003 - 08:50 #7
Jeg er ikke engang kommet til det afsnit du vil have kommentarer til men:

#Enhver computer med Internet adgang skal kunne anvende systemet. Der kræves
#dermed platformuafhængighed, og vi foreslår derfor, at systemet programmeres i
#Java, som er et platformsuafhængigt programmeringssprog.

Øh ?  Ligger der en implicit forudsætnig om fat client ? Med en browser
baseret web løsning kan server principielt kodes i asssembler og stadig
virke på alle browsere (selvom JSP/servlets + EJB nok ville være
nogete smartere) !
Avatar billede arne_v Ekspert
18. juni 2003 - 08:53 #8
#Vi vil anbefale, at KMD baserer systemet på en clustered EJB
#applikationsserverteknologi, da denne teknologi overholder ACID  kriterierne ,
#tilbyder en høj  horisontal skalerbarhed , og sikrer en høj oppe tid, da der
#ikke skal tages højde for den enkelte computer i clusteret.

J2EE clustrere skalerer fremragende horisontalt, men medmindre man
bruger det allerdyreste Oracle og DB2 kram så skalerer databasen
kun vertikalt, hvilket ofte er flskehals.
Avatar billede arne_v Ekspert
18. juni 2003 - 08:55 #9
#EJB (Enterprise JavaBean) er en serverteknologi J2EE udgør.

J2EE består primært af:
  JSP
  Servlet
  EJB
  JCA

#J2EE er en overbygning på J2SE.

Nemlig (og det er der en del som ofte misforstår).
Avatar billede arne_v Ekspert
18. juni 2003 - 08:58 #10
#Da vi anbefaler, at systemet skal programmeres i Java, ville det være naturligt
#at bruge Javas funktionalitet synchronized til at opnå seriel equivalens og til
#at forebygge samtidighedsproblemerne, som kunne opstå i forbindelse med
#transaktionerne

server: hvis i bruger J2EE og alle de rigtige patterns så burde det ikke
være nødvendigt med synchronized keyword i jeres kode. J2EE containeren vil
indeholde en masse synchronized. Hvis I kodede en hel monolitisk
server, så ville I med garanti have brug for synchrinized.

client: er næppe multithhreaded
Avatar billede arne_v Ekspert
18. juni 2003 - 08:59 #11
Svarene kommer stykvis som jeg læse. Håber det er OK.

Jeg forsøger at citere lidt så andre kan forstå hvad jeg babler løs om.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:01 #12
En meget vigtige ting i forbindelse med J2EE og database
adgang er commit option A, B og C.

Og måske skulle I også lige forbi Transaction Isolation Level,
fordi det er relevant ved JDBC fra session beans og BMP entity beans.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:01 #13
--> Arne 18/06-2003 08:50:39
Nej, der ligger ingen implicitte forudsætninger om fat client. Vi har dog aldrig haft med andet at gøre end java på vores studie, deraf konklusionen.
Men det du siger er da helt klart noget vi ikke har tænkt over/viste. Er der nogen idag som koder servere i assembler eller lign?

--> Arne 18/06-2003 08:53:35
Forrygende pointe, det viste jeg i hvert fald ikke. Hvordan skalerer man iøvrigt en database horisontalt?
Avatar billede arne_v Ekspert
18. juni 2003 - 09:04 #14
#På serveren oprettes der en pulje af bønner og hver klient får deres egen
#instans af en bønne når de har brug for én.

Det er ikke generelt helt rigtigt.

Det er rigtigt hvis i bruger stateful session beans og en client
holder forbindelsen til den gennem hele sessionen.

Det er en mulighed men lidt tungt.

Stateles session beans som er få objekter der bliver kaldt af mange tråde
er betydeligt mere effetktive.

Og det kan også virke uden synchronized i koden !
Avatar billede arne_v Ekspert
18. juni 2003 - 09:06 #15
Det med assembler var bare en joke. Selvfølgelig bruger man
moderne teknologi. Det var kun logikken i jeres argument
jeg anfægtede. Platforms uafhængighed på client og server er
to forskellige ting. Platforms uafhængighed på client
er "gratis" med en browser løsning.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:08 #16
hehe, okey så er jeg med.... det er altså en mindre ting, var helt nervøs ;o)
Avatar billede arne_v Ekspert
18. juni 2003 - 09:10 #17
Database clustering er en kompleks sag. Man skal have 2 database
servere som begge har en komplet kopi af alle data. Ændringer
skal udføres på begge. Forespørgsler kan load balances. Tænk
på det som to RAID 1 hard-diske - det er bare tabeller og record
i stedetfor disk blokke. Jeg mener at Oracle og IBM tager 7 cifrede
beløb for den slags legetøj (der er også diverse billigere alternativer
men ikke nogen der bruges ret meget).
Avatar billede arne_v Ekspert
18. juni 2003 - 09:13 #18
#Et alternativ til KMDs digitale signatur ville være TDCs, men sikkerheden er her
#ikke så høj, derfor faldt valget på KMDs. En nærmere diskussion kan ses i Bilag
#12

Nok muligt men Danmark *har* valgt TDC's løsning.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:13 #19
--> Arne 18/06-2003 08:58:30
De 3 comit typer du snakker om, er de alle i forbindelse med nested transactions og er vi inde i noget omkring Atomic commit protocols eller noget two-phase commit protocol? Kan de 3 typer (a,b,c) forklares kort?
Avatar billede arne_v Ekspert
18. juni 2003 - 09:15 #20
#Sikrings Type 2 illustrer, at vi foreslår brugen af SSL end-to-end security.

SSL (og dermed HTTPS) er transport level security ikke application
level security.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:17 #21
--> Arne 18/06-2003 09:13:05
Ja det punkt hænger lidt i vores opg. Men det er set ud fra et rent sikkerheds perspektiv, således at det ikke er "alle og enhver", der kan anmelde et dødsfald. Vi tænker på et ekstrem tilfælde hvor man bestiller en digital signatur hos tdc for en anden uskyldig person (en læge) og modtager hans post ved at stille sig ved hans postkasse.
Men ja danmark har valgt.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:17 #22
Nej. A, B og C har noget at gøre med hvorvidt J2EE app-serveren er ene
om at bruge databasen. Hvis den ved at den er ene, så kan den cache
data. Hvis den ved den ikke er ene om det, så kan den ikek cache, fordi
en anden applikation (et gammelt COBOL program) kan have opdaterer
data side.

Hvis man sætter den commit option der siger at den er ene og den så ikke
er det, så får man store problemer.

Det relaterer sig kun til CMP entity beans.

Og bemærk at en session bean der bruger JDEBC til at opdatere data er faktisk
nok til at CMP entity beans ikke kan caches.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:20 #23
#Ved anvendelsen af dette middleware (Java RMI) sikrer man brugen af at-most-one
#invocation semantic , og man har mulighed for at nå et højere sikkerhedsniveau,
#da man i Java RMI kan sætte en sikkerhedspolitik. Dette bekræfter igen vores
#anbefaling omkring EJB, da disse gør brug af RMI .

Jeg ved ikke om jeg vil kalde RMI for middleware. Det er en teknologi til
at generere noget kode med (proxy GoF pattern). Det genererede kan
muligvis kaldes middleware.

EJB kan bruge RMI, men kan også bruge anden teknologi. EJB er meget
interface orienteret og implementationerne kan være meget forskellige.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:21 #24
#Derfor bør KMD også stille en UPS  til rådighed

Tror jeg de griner lidt af hos KMD.

Du kan nok regne med at KMD har batterier til et par timers
drift og en diesel generator til flere ugers drift.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:23 #25
#Passwordet vil bestå af 6 tilfældigt udvalgte tal og bogstaver.

Password policies er et stort område.

6 er lavt efter dagens standard for adgang til sensitive sager.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:24 #26
Husk iøvrigt at man skal forhindre password guessing d.v.s. at f.eks.
efter 3 forgæves forsøg kan en bruger først forsøge igen efter 10 minutter.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:27 #27
Der skal iøvrigt tages stilling til application managed versus container
managed login.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:28 #28
#En anden ting, der taler for SSL er, at det er en meget udbredt standard, som
#alle moderne browsere understøtter.

Ja. Er vi så tilbage ved en browser baseret løsning ? Ellers er det jo ikke
så vigtigt !
Avatar billede arne_v Ekspert
18. juni 2003 - 09:29 #29
#og standardisere kommunikationen med Java RMI.

Har I styr på det komplekse emne der hedder RMI og firewalls ?

Mange vælger HTTP (gerne i form af web services) udelukkende fordi
HTTP kan gå gennem firewalls uden problemer.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:33 #30
#Statement s2= dbConnection.createStatement();

PrepatedStatements har ofte nogle fordele ikke bare performance
ved multiple kald men også til at håndtere strenge med single quotes i !
Avatar billede arne_v Ekspert
18. juni 2003 - 09:35 #31
#Mener KMD ikke, at RAID 6 performer godt nok bør de overveje RAID 1, hvor hver
#harddisk har en mirror disk.

RAID 0+1 er vist ret udbredt til prof. brug !
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:35 #32
--> Arne 18/06-2003 09:15:02 (SSL)
Ups, ja det er der i hvert fald en fejl. Vores bog (Distributed systems concepts and design, g. coulouris et.al)er lidt uening med dig, da den skriver (s.79)at ssl er præsentation level:
--Layer---    --ex--
Application  http, ftp, smtp, corba iiop
Presentation  Secure sockets, Corba, data rep
Session
Transport    TCP, UDP
Network      IP;ATM virtual circuits
Data link    ethernet MAC, ATM cell transfer, PPP
Physical      Ethernet baseband signalling, ISDN

--> Arne 18/06-2003 09:21:56 (UPS)
Jep det er vi nu også ret sikre på... det skal jo heller ikke blive for kedeligt at læse ;o)
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:39 #33
--> Arne 18/06-2003 09:28:21 (browserløsning)
Ja det kan jeg egentlig godt se, vi cykler lidt rundt i det. Det er vel underordnet om browseren understøtter ssl, hvis vi afvikler det i en applet. Men hvis det afvikles via jsp/servets, så skal browseren vel understøtte det?
Avatar billede arne_v Ekspert
18. juni 2003 - 09:39 #34
Ah. Den kære OSI model.

Hvad lag noget er i OSI modellen (som kun drejer som netværks protokoller)
og hvordan det forholder sig i en software arkitektur er to helt
forskellige ting.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:43 #35
Jeg tror at det er meget vigtigt at I gør det klart om i bruger:

ren browser ----(HTML over HTTP)---- JSP/servlet ---- EJB --- database

browser ---- applet ----(SOAP over HTTP)---- web service servlet ---- EJB --- database

browser ---- applet ----(EJB kald)---- EJB --- database

client application ----(SOAP over HTTP)---- web service servlet ---- EJB --- database

client application ----(EJB kald)---- EJB --- database

Det er ret vigtigt for ret mange ting !
Avatar billede arne_v Ekspert
18. juni 2003 - 09:43 #36
JSP/servlets genererer HTML og de virker derfor med enhver browser.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:44 #37
--> Arne 18/06-2003 09:35:14 (RAID)
Ja der laver vi lidt kage i den, for i bilag 8 foreslå vi nemlig at de skal benytte raid 1. Raid 0+1 kender jeg ikke men det kunne jo være jeg skulle kigge lidt på den og fortælle lidt om det i mit forsvar.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:46 #38
0 = striping
1 = mirroring
0+1 = striping + mirroring

0+1 kræver 4 diske, som så opfattes som 1 disk dobbelt så stor som
de fysiske diske.
Avatar billede arne_v Ekspert
18. juni 2003 - 09:47 #39
Jeg tror at jeg er færdig. Bruger interfaces er ikke lige min kop te.
Avatar billede trp79 Nybegynder
18. juni 2003 - 09:48 #40
--> Arne 18/06-2003 09:43:15 (ren browser vs application)
Har lige 2 spørgsmål hertil:
Hvad er SOAP over http?
Hvad er web service servlet (vs servlet)?

Det er helt klart det punkt jeg vil tage op til mit forsvar så.
Anbefalingen må vel være at det bliver:
ren browser ----(HTML over HTTP)---- JSP/servlet ---- EJB --- database
Da jeg i hvert fald ved at de i forvejen ikke bruger applet og ikke ren application.
Avatar billede soreno Praktikant
18. juni 2003 - 09:58 #41
Designdokument - Opgaven - Kvalitetsmål

Jeg synes i skulle skrive hvorfor i har prioriteret som i har. Hvorfor er "Flytbart" irrelevant (osv..).


Konklusion
"Efter vores overbevisning følger vi registerlovens krav til håndteringen af sikkerhed omkring disse data."

Registerloven blev erstattet af persondataloven i 2000
"Efter vores overbevisning" er et uholdbart argument, i fralægger jer ansvaret ved at formulere det sådan. Har i undersøgt området gundigt nok ?
Prosa har lavet en pjece om persondataloven:
http://www.prosa.dk/persondataloven/
Avatar billede arne_v Ekspert
18. juni 2003 - 10:04 #42
SOAP over HTTP = Web Service kommunikation (SOAP er en form for XML)

En web service servlet er en servlet som tager et SOAP dokument,
læser det og kalder det der nu skal kaldes med dataene.

Normalt vil det ikke være en man selv skriver men en der kommer med ens
web service toolkit.
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:05 #43
--> soreno 18/06-2003 09:58:16
I opgaveteksten er der henvist til registerloven, så det er egentlig derfor den er med. Jeg viste dog ikke at den er blevet erstattet af persondataloven.
Vi skriver godt nok "efter vores overbevisning", og det er tyndt. Men vi skriver så også følgende på side 20:
"Et krav til registreringen af persondata er, at den følger registerlovens  krav om registrering og sikring af personlige data. Vi har efter en gennemgang af registerloven vurderet, at vores system lever op til disse krav, men før implementeringen vil en gennemgang med en jurakyndig person være på sin plads."
Så ja, vi fralægger os ansvaret, men har samtidig kigget loven igennem og henvist til den i et par fodnoter. Men ja det er nok ikke helt godt nok.
Avatar billede arne_v Ekspert
18. juni 2003 - 10:08 #44
En web service er faktisk lidt ligesom RMI, bare:
  - den bruger HTTP som transport d.v.s. den kan nemmere gå gennem firewalls
  - den bruger et standard format SOAP d.v.s. at en .NET client kan
    snakke med en Java server
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:08 #45
--> Arne 18/06-2003 09:46:40 (RAID 0+1)
Hvis jeg forstår dig ret.... altså der skal være 2 diske (for at vi kan strippe) og så skal der være 2 diske (som mirror). Altså minimum fire diske i alt.
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:13 #46
Det er jo forrygende med al den respons, jeg er virkelig taknemmelig :o)
Måske jeg skulle hive lidt flere points op af skuffen.

Angående ssl igen.... hvis vi bruger ssl i en java applikation, så befinder vi os vel stadig i præsentations laget og ikke i applikationslaget (ifl osi modellen). Der sammen gælder vel hvis man bruger https? Altså det hele i følge osi modellen.
Avatar billede soreno Praktikant
18. juni 2003 - 10:20 #47
Præsentationslaget i OSI er lig med applikationslaget i TCP/IP (som må formodes benyttet når vi taler http(s).

Lag 5, 6, 7 i OSI er applikationslag i TCP/IP

OSI                          TCP/IP
Applikation          Applikation
Præsentation          Applikation
Session              Applikation
Transport            Transport
Netværk              Netværk                 
Datalink              Datalink
Fysisk                Fysisk

(Håber ikke at ovenstående illustration bliver alt for kludret)
Avatar billede arne_v Ekspert
18. juni 2003 - 10:25 #48
RAID 0+1 er minimum 4 diske.
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:29 #49
Så vil jeg gerne sige mange tak for hjælpen, så hvis Søren o lige smider et svar også kan han også få lidt points. Arne jeg har oprettet et spg mere med points til dig http://www.eksperten.dk/spm/366222
Avatar billede soreno Praktikant
18. juni 2003 - 10:30 #50
Der er nogle gode illustrationer af raid her:
http://www.bytepile.com/raid_class.php
Avatar billede soreno Praktikant
18. juni 2003 - 10:30 #51
Ok.
Avatar billede arne_v Ekspert
18. juni 2003 - 10:30 #52
Vertikale lag i OSI eller TCP/IP er ikke det samme
arkitektur.

Set fra et netværks synpunkt er SSL (HTTPS) et højt niveau
i protokol stakken.

Men set fra en arkitektur synsvinkel er SSL (HTTPS) noget transport
fordi det er transparent. Afsender kalder en metode med noget
ukrypteret. Modtager kalder en metode og får det samme ukrypteret.

Hvordan funktionaliteten fordeler sig mellem SSL librariet, operativ
systemets TCP/IP komponent og net kortet er sådan set ligegyldigt.
Avatar billede soreno Praktikant
18. juni 2003 - 10:32 #53
trp:

Du kan justere points sådan:
http://www.eksperten.dk/justerpoint.phtml?qid=366180
Avatar billede soreno Praktikant
18. juni 2003 - 10:33 #54
(så behøver du ikke oprettet ekstra spørgsmål)
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:37 #55
så ved jeg da hvordan jeg justere pointene en anden gang :o)
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:42 #56
Lige til sidst.. kan man på nogen måde undersøge om netborger.dk kører med jsp, servlet eller hvad de nu bruger?
Avatar billede trp79 Nybegynder
18. juni 2003 - 10:45 #57
De bruger så formentlig asp. Kan asp arbejde sammen med ejb?
altså noget i denne stil:
ren browser ----(HTML over HTTP)---- ASP---- EJB --- database
Avatar billede arne_v Ekspert
18. juni 2003 - 11:26 #58
Nej.

ASP----EJB vil kræve en masse krumspring og vil ikke være en
anbefalelses værdig løsning.
Avatar billede arne_v Ekspert
18. juni 2003 - 11:28 #59
Og ja www.netborger.dk ser ud til at bruge ASP.
Avatar billede arne_v Ekspert
18. juni 2003 - 11:29 #60
Men:
              |--ASP engine
browser--IIS--|
              --JSP engine (f.eks. JRUN)--EJB comtainer

er en mulighed !
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
Kategori
Kurser inden for grundlæggende programmering

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