welk XML en JSP boek aan te bevelen.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Voor een project waar ik mee bezig ben ga ik zometeen ook aan de slag met JSP, welk boek kan ik hiervoor het beste nemen? Voor XML geld hetzelfde.

  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
Hmm, ik heb voor school een boek moeten ebstellen wat ik helemaal niet nodig heb (echt handig, kost ook 'maar' 180 piek!), daar ben ik nu een beetje in aan het kijken. Zitten XML hoofdstukken in, JSP, Servlets en nog meer. Boek is 1600(!) pagina's dik en heet 'Professional Java Server Programming: J2ee Edition' en is van Wrox. ISBN: 1-861004-65-6. Kijk even of je hier meer info over kunt vinden, het lijkt me een heel handig boek, heb alleen nog tijd gehad er mee bezig te gaan.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
centjes zijn geen probleem, mijn werkgever betaald het :) En over het algemeen heb ik liever per onderwerp een boek. Maar 1600 blz is nogal wat je :)

En het aanschaffen van boeken voor school, tip:
niet meteen alles kopen maar gewoon even kijken onder de colleges of je het werkelijk nodig bent. Dan kun je het als nog kopen :) Heb namelijk zelf ook een aantal boeken op de plank staan die ik maar een paar keer heb ingekeken.

  • Ritch
  • Registratie: December 1999
  • Laatst online: 28-08 17:03
Op donderdag 17 januari 2002 18:22 schreef Alarmnummer het volgende:
centjes zijn geen probleem, mijn werkgever betaald het :) En over het algemeen heb ik liever per onderwerp een boek. Maar 1600 blz is nogal wat je :)
1600 is errug dik ja, is van dat bijbel papier dus het is nog enigszins handelbaar :).
En het aanschaffen van boeken voor school, tip:
niet meteen alles kopen maar gewoon even kijken onder de colleges of je het werkelijk nodig bent. Dan kun je het als nog kopen :) Heb namelijk zelf ook een aantal boeken op de plank staan die ik maar een paar keer heb ingekeken.
Ik koop ook geen boeken meer voor de tijd, daar ben ik nu wel achter ;)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik vind/vond "Coreservlets and Javaserverpages" wel goed :)

(isbn: 0-13-089340) er is ondertussen ook een deel2 van.

Verwijderd

Op mijn werk (stage) moest ik ook werken met JSP, daar gebruikte ik het boek:

http://www.oreilly.com/catalog/jserverpages/

ik vind het een goed boek, goed leesbaar en ik heb er veel aan gehad. ;)

suc6

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
XML boek is simpel (zeker gezien jouw interesses):

Wrox - Professional XML :9~

Wat betreft JSP ben ik niet zo op de hoogte van goede boeken. Heb weleens goede stukken gezien waarin werd getoond hoe goed je JSP kan gebruiken om XML content op te leveren.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hoezo wil je trouwens met JSP gaan werken? Servlets zijn veel leuker en geen enkel probleem voor je...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op donderdag 17 januari 2002 20:08 schreef mbravenboer het volgende:
Hoezo wil je trouwens met JSP gaan werken? Servlets zijn veel leuker en geen enkel probleem voor je...
Servlets is ook meer werk :P

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
ACM: Servlets is ook meer werk :P
Daarom ;) .

Persoonlijk vind ik JSP onzin en onnodig beperkend. Servlets bieden je tenminste zonder omwegen alle capaciteiten van de taal Java. Zeker als je met XML werkt ipv HTML vallen nog meer voordelen van JSP weg (JSP als template engine). JSP zorgt voor onduidelijke code.

Ik heb het gevoel dat het meer ontwikkeld is om ook iets te hebben wat op ASP/PHP lijkt.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
donderdag 17 januari 2002 20:08 schreef mbravenboer het volgende:[/b]
Hoezo wil je trouwens met JSP gaan werken? Servlets zijn veel leuker en geen enkel probleem voor je...
[/quote]
In principe is er toch geen verschil tussen een servlet en een JSP pagina? JSP pagina wordt tenslotte ook gecompileerd tot servlet.

Na de zomervakantie moeten we (het liefst) een webbased systeem opleveren waarmee studenten een miniwereld kunnen creeeren (draaiend op die dikke rekenmachine die ik nou aan het bouwen ben). De java gui is voor een groot deel klaar, dus we zetten dus niet alle kansen op 1 paard :)

Een onderdeel van het systeem is bv het starten van een sessie (er wordt een rekensessie op de server gestart) en die begint te inferences/redeneren en misschien moeten er dingen aan de gebruiker worden gevraagd (onderdeel van het systeem). De gebruiker moet die vragen kunnen beantwoorden/oude antwoorden kunnen herzien en het redeneren ook kunnen stoppen. Een rudimentaire versie van de how tree kunnen jullie op mij site al bewonderen maar ik zal binnenkort even een nieuwe erop zetten (ziet er een stuk beter uit).

We willen dit grotendeels doen met html bij de client en de rest van de intelligentie op de server. Voordeel aan dit systeem is dat bij de client niets bijzonders geinstalleerd hoeft te worden. Dit is namelijk wat lastiger omdat het algemene NT bakken zijn op de RuG (Rijks Universiteit Groningen) en ik denk niet dat het netwerkbeheer het op prijs zou stellen als iedereen administrator rights heeft :+

Nu blijft de vraag wat je op de server gaat gebruiken om met de gebruiker te kunnen communiceren. Ik dacht dat JSP hiervoor wel geschikt was. (Alleen ziet die code er zo k*t uit) Misschien dat ik het ook wel fout heb en servlets hiervoor beter geschikt zijn. Maar ik heb op dit gebied nog weinig ervarig (html intussen redelijk wat).

Maar als jullie nog andere ideeen hebben dan hoor ik ze graag.

PS:
ik heb eindelijk (na vele maanden lezen en schrijven) records, lijsten en functies (zelf te definieren) erin. Dit was nogal lastig omdat ik werk met niet monotone logica en ik werelden moet splitsen als ik inconsistenties tegenkom. De functies worden ook goal driven opgelost en binnenkort komt hier wel een stukje van op mijn site te staan. Die how boom is heel aardig om te zien doordat de parameters helemaal door de functies heen worden getrokken. Als je bijvoorbeeld in een recursieve funtie bij de 25e stap bent, en je hebt ineens belangstelling bij een variable die zijn waarde krijgt door de header van de functie dan gaat hij keurig netjes omhoog om die waarde op te halen of om hem nog te evalueren. Eventueel gaat hij door tot op het oorsponkelijke nivo.

vb.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
type_def
    TIntList = list of int;

function_def

    bool Element(int getal, getalLijst TIntList)
    begin
        if is_unknown(getalLijst) then begin
            Element:=bool(?);
        end else begin
            if size(getalLijst)=0 then begin
                Element:=false;
            end else begin
                if Head(getalLijst)=getal then begin
                    Element:=true;
                end else begin
                    Element:=Element(getal,Tail(getalLijt));
                end;
            end;
        end;
    end;

Voorbeeld van vervelende record:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type_def
    TPersoon = record
        sofinr int key;
        voornaam string;
    end;

variables
    b bool;
    jan TPersoon;
    kees TPersoon;
rules
    jan:=TPersoon(1,'Jan');
    kees:=TPersoon(1,'Kees');
    b:=jan.sofinr=kees.sofinr;
goal 
    b;

In 1e instantie zou je denken b=true omdat 1=1. Maar Jan en Kees kunnen samen niet in 1 wereld bestaan en daarom kan b uberhaubt niet worden uitgevoerd. Het hele systeem berust nu op een paar hele eenvoudige principes waarin het heel eenvoudig is om inconsistenties te detecteren (en eventueel daarop te gaan wereld splitsen). Ik denk dat ik wel een redelijk cijfer krijg op mijn afstudeer opdracht :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: In principe is er toch geen verschil tussen een servlet en een JSP pagina? JSP pagina wordt tenslotte ook gecompileerd tot servlet.
Uiteraard, maar Java wordt gecompileerd naar Java bytecode. Dat wil nog niet zeggen dat Java en Javabytecode dus hetzelfde is ;) . JSP biedt een onnodig complexe syntax voor een niet al te complex probleem...
Nu blijft de vraag wat je op de server gaat gebruiken om met de gebruiker te kunnen communiceren. Ik dacht dat JSP hiervoor wel geschikt was.
Uiteraard, maar Servlets zijn hier ook uitermate geschikt voor. Het belangrijkste verschil is een Servlet gewoon 100% Java code is.
Alleen ziet die code er zo k*t uit
Exact :+ .

Zeker als je XML gaat gebruiken zie ik maar weinig voordelen van JSP. Servlets bieden je gewoon de standaard omgeving die je gewend bent. Uiteraard hoef je niet te lang in JSP te blijven hangen wat betreft de code, maar toch vind ik het volkomen onnodig.
[niet monotone logica, werelden splitsen, inconsistenties, goal driven, how boom]
Vind je het erg als ik je niet volg? ;) . Ik heb me al vrij vroeg voorgenomen om me te beperken tot predicaat en propositie logica ;) . Niet monotoon redeneren, goals en werelden zijn meer iets voor kunstmatige intelligentie en das absoluut niet mijn vakgebied :) . Wat precies je doel is of wat je nu opgelost heb zie ik daarom ook niet echt ;) . Ik begrijp niet monotoon redeneren wel en zie de inconsistenties ook wel, maar ik krijg al hoofdpijn als ik moet gaan bedenken hoe je dat op moet lossen ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
We gaan een deel van de wetgeving automatiseren. Er bestaat al een oud systeem geschreven in C en Delhi maar dit kan niet veel meer aan dan propositie logica en een via de database gesimuleerde versie van predicaten logica. En hierin heb je zeker niet de vrijheid om zelf predicaten/functies en records te definieren.

De reden dat we gebruik maken van niet monotone logica is dat je op basis van verschillende regels verschillende conclusies kan krijgen. Het is de bedoeling van dit systeem dat alle mogelijke conclusies worden bepaald zodat een jurst ze naast elkaar kan leggen en met elkaar kunnen vergelijken (dat doen juristen namelijk) :)

Ik denk dat ik zometeen ook maar even ergen heel diep in het systeem een nieuwe regel ga toevoegen..
code:
1
2
3
if verdachte.naam='peter veentjer' then begin
   schuldig:=false;
end;

:) :)

simpel voorbeeld van onze versie van niet monotone logica:
code:
1
2
3
4
5
   a:=1;
   a:=2;
   b:=1;
   b:=2;
   c:=a+b;

c=2,c=3,c=3 en c=4;

hier wordt het lastiger door.. afhankelijke oplossingen (b is afhankelijk van a).
code:
1
2
3
4
   a:=1;
   a:=2;
   b:=a;
   c:=a+b;

je krijgt nu niet 4 antwoorden maar 2.. c=2 en c=4. Dit is ook nog vrij eenvoudig *ahum* maar probeer afhankelijkheden maar eens te bepalen in functies (variablen in functies kunnen in elk nivo weer nieuwe waarde opleveren zonder dat er inconsistenties onstaan). En het is ook niet mogelijk om eerst alle waarden van alle variablen te bepalen want sommige variablen krijgen hun waarde door vragen aan de gebruiker. De gebruiker word dan lastig gevallen met vragen waarvan het antwoord er niet toe doet:

"is de overledene getrouwd?"
nee
"wat is de naam van de vrouw?"
hou je bek
"command.com wordt verwijderd"

:P

En om het compleet te maken gaan we binnenkort ook meta redenatie toevoegen. Dit is een stuk eenvoudiger dan het klinkt. Het zijn gewoon uitspraken over je uitspraken (die in principe ook niets anders zijn dan domme data). En via deze meta redenatie komen we weer uit op de andere versie van default logica (conclusies herzien na verloop van tijd).

Maar ik heb al een paar keer gedacht dat het niet meer ging lukken want je hebt niets om op terug te vallen. Maar je zet wel door omdat je er al zo godsellendig veel tijd in hebt gestoken (heel wat avonden en nachten prakadenken) Daarom ben ik ook zo blij dat het gelukt is.. En het streelt de ego ook natuurlijk :P

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
genoeg erover opgeschept :)

ik zal nog even kijken naar die servlets en die programmeren inderdaad stukken fijner dan jsp.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik vind het wel leuk om te lezen hoor ;) . Wat lees je eigenlijk aan literatoor over niet monotone logica? Ik neem toch aan dat je niet alles zelf gaat trachten te verzinnen?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Blue-eagle
  • Registratie: September 2000
  • Niet online
Javaserverpages in 24 uur, te kopen bij o.a. Comcol.nl
Have fun :D

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op donderdag 17 januari 2002 21:58 schreef mbravenboer het volgende:
Ik vind het wel leuk om te lezen hoor ;) . Wat lees je eigenlijk aan literatoor over niet monotone logica? Ik neem toch aan dat je niet alles zelf gaat trachten te verzinnen?
Niet monotone logica valt onder de categorie default logica. En daarover is behoorlijk wat literatuur verschenen. Maar alle dingen die ik heb gezien hebben een systeem waarin ze na verloop van tijd conclusies herzien. Hiervoor hebben ze ook hun eigen vorm van logica ontwikkeld.

In essentie hebben wij helemaal geen niet monotoon systeem. Hij blijft net zo lang werelden opsplitsen tot die wel consistent zijn (monotoon).

bv
code:
1
2
   a:=1;
   a:=2;

zou je kunnen herschrijven naar 2 werelden:

wereld1:
code:
1
   a:=1;

wereld2:
code:
1
   a:=2;

Hierdoor is eigelijke default logica (zoals zij die gebruiken) niet interessant meer omdat zij juist wel gaan redeneren met inconsistente beweringen en ik ga ze detecteren en verder redeneren met een verzameling werelden met consistente beweringen.

Zij gebruiken hiervoor meestal een of andere vorm van een matrix waarin na genoeg argumenten voor een conclusie van waarde veranderd en vanaf dat punt verder geredeneerd gaat worden met die waarde.

Mijn aanpak is geweest om ieder object te kunnen identificeren en te controleren of hij al een keer geevalueerd is. Krijg je een nieuwe conclusie 'afgeleid door een andere regel' voor dat object dan ga je gewoon de huidige wereld splitsen en plaats je een bewering in de ene wereld en de andere bewering in de andere. Je gaat nu verder rekenen met 2 consistente werelden. Het is essentie niet meer dan het perumuteren van oplossingen.

mijn boeken (op dit gebied) zijn voornamelijk:

"Default Reasoning: Casual and Conditional Theories" van Hector Geffner

"Prolog: Programming for artificial intelligence" van Ivan Bratko

en in het begin:

"Introduction to knowledgebase systems" van R.A. Frost maar dit boek is een typisch voorbeeld van makkelijke dingen moeilijk.

Het hele systeem is in veel gevallen niet meer dan prolog. Veel ideeen van prolog zitten er ook in, alleen ziet het er wat anders uit. Binnenkort komt er ook een eenvoudige versie van 'matching' in.

bv.
code:
1
2
3
4
5
6
7
8
9
10
11
bool parent(X Persoon, Y Persoon) 
begin
   parent:=X.sofinr = Y.parentnr;
end;

bool Grandparent(X Persoon, Y Persoon)
variables
   Z Persoon;
begin
   Grandparent:=parent(X,Z) and parent(Z,Y)
end;

Hierin kan je heel eenvoudig matchen door Z te kiezen uit een wereld met personen. Eigelijk stelt dit helemaal niets voor tov Prolog, maar het kan wel makkelijk zijn om allerlei indirecte informatie tussen objecten te bepalen. Naarmate ik meer over prolog lees vind ik het een steeds mooiere taal worden.

vb:
code:
1
2
3
4
5
6
Offspring(X persoon, Y persoon)
variables
   Z Persoon;
begin
  Offspring:=parent(X,Y) or (Parent(X,Z) and offspring(Z,Y));
end;

Dit kan ongelovelijk handig zijn voor bv.
code:
1
b:=Offspring(Adam,Alarmnummer);

:)

Maar ik heb weinig gehad aan de literatuur om een oplossing voor die tegenstrijdige beweringen te vinden. Dus ik heb alles zelf verzonnen :) Het enigste wat ik jammer vind is dat ik niet altijd de woorden heb om iets te kunnen uitdrukken terwijl de gedachten er wel zijn (lastig om een ander dan iets uit te leggen). Vandaar dat ik wel over zit te denken om alsnog weer eens een poging te wagen op de Universiteit (en dit keer minder blowen en serieuzer ermee bezig zijn).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
zal ook nog even stukje van die meta redenatie uitleggen.

stel dat je het volgende hebt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
rules
   pinguin:=true;
   if pinguin then begin
    vogel:=true;
   end; 

   if vogel then begin
    vliegen:=true;//regel1
   end;

   if pinguin then begin
    vliegen:=false;//regel2
   end;
goal
   vliegen;

Dan heb je een inconsitentie omdat een pinguin kan vliegen op basis van regel1 maar niet kan vliegen op basis van regel2. Je zou nu ook het volgende kunnen schrijven:

wereld1:
code:
1
2
3
4
5
6
7
8
9
10
11
rules
   pinguin:=true;
   if pinguin then begin
    vogel:=true;
   end; 

   if vogel then begin
    vliegen:=true;//regel1
   end;
goal
   vliegen;

wereld2:
code:
1
2
3
4
5
6
7
8
9
10
11
rules
   pinguin:=true;
   if pinguin then begin
    vogel:=true;
   end; 

   if pinguin then begin
    vliegen:=false;//regel2
   end;
goal
   vliegen;

Je krijgt in wereld1 vliegen is true en in wereld2 vliegen false.

Maar je weet dat rege2 beter is dan regel1 (regel 1 is namelijk de algemene regel of de default regel) en regel2 de speciale (ook wel specialis)

Je zou met de metaredenatie conclusies kunnen selecteren/filteren op basis van regels over de regels. En in dit geval hou je alsnog vliegen=false over. Maar we hebben hier nog niets concreets voor bedacht. Dit komt in de toekomst nog wel een keer :)

Verwijderd

Persoonlijk vind ik JSP onzin en onnodig beperkend. Servlets bieden je tenminste zonder omwegen alle capaciteiten van de taal Java. Zeker als je met XML werkt ipv HTML vallen nog meer voordelen van JSP weg (JSP als template engine). JSP zorgt voor onduidelijke code.
is het niet zo dat je jsp en servlets samen kan laten werken
vb:
je post een html form naar een servlet,
de servlet doet al het werk (natuurlijk in pure java)
je forward de pagina request naar een jsp voor de output (dus hier geen enkele bewerking, alleen output)

Dit lijkt mij een stuk simpeler dan de layout ook in de servlet te stoppen

Verwijderd

JSP zorgt voor onduidelijke code.
Daarvoor waren Tag-Libraries ontwikkeld. Hierdoor kreeg je overzichtelijk JSP-code.

(Trouwens:
Ik vind/vond "Coreservlets and Javaserverpages" wel goed
(isbn: 0-13-089340) er is ondertussen ook een deel2 van.
Is een de betere boeken om JSP/Servlet mee te leren en 'Professional JAVA XML Programming' wrox, isbn: 1-86-1002-85-8] behandelt JSP/Servlets/JDBC/XML/XSLT/XHTML en dit nog browser-neutral).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ik heb gekozen voor:
Professional XML 2nd Edition van Wrox


en
Java Servlet Programming, 2nd Edition van O`Reilly
omdat deze op javaworld werd aanbevolen.

iedereen bedankt voor de inzet :)
Pagina: 1