IDEPAT opdracht D
Hogeschool Leiden
IDEPAT
Versie 1.0
,Versie 1.0
Inhoudsopgave
1. Practicumopdracht D State................................................................................................................2
1.1. Context.......................................................................................................................................2
1.2. Probleemstelling.........................................................................................................................2
1.3. Oplossing....................................................................................................................................3
1.3.1. Class diagrams......................................................................................................................4
1.3.2. Object interactie..................................................................................................................5
1.3.3. Object Oriented Design Principles.......................................................................................9
1.4. Peer Feedback...........................................................................................................................10
2. Bronnen...........................................................................................................................................11
1
Versie 1.0
, Versie 1.0
1. Practicumopdracht D State
1.1. Context
De Interactive Connectivity Establishment (ICE) protocol combineert verschillende NAT Traversal
Utilities, zoals STUN en TURN protocollen. Dit om een krachtig mechanisme te bieden waarbij
gebruik gemaakt kan worden van Offer/Answer gebaseerde protocollen, zoals SIP en XMPP.
ICE4j is een opensource API dat een Java implementatie bied van het ICE protocol, dat bruikbaar is
voor zowel SIP applicaties als XMPP applicaties. ICE4j heeft ook andere features zoals socket sharing
en support voor Pseudo TCP. Deze API wordt onderhouden door de Jitsi gemeenschap.
1.2. Probleemstelling
Het probleem bij de API ICE4j is dat er in de code heel veel if-statements zitten. Dit zorgt ervoor dat
wanneer er een nieuwe state wordt toegevoegd wordt die overal in de code moet worden
aangepast. Hierdoor is de code niet makkelijk uit te breiden en te onderhouden.
2
Versie 1.0
Hogeschool Leiden
IDEPAT
Versie 1.0
,Versie 1.0
Inhoudsopgave
1. Practicumopdracht D State................................................................................................................2
1.1. Context.......................................................................................................................................2
1.2. Probleemstelling.........................................................................................................................2
1.3. Oplossing....................................................................................................................................3
1.3.1. Class diagrams......................................................................................................................4
1.3.2. Object interactie..................................................................................................................5
1.3.3. Object Oriented Design Principles.......................................................................................9
1.4. Peer Feedback...........................................................................................................................10
2. Bronnen...........................................................................................................................................11
1
Versie 1.0
, Versie 1.0
1. Practicumopdracht D State
1.1. Context
De Interactive Connectivity Establishment (ICE) protocol combineert verschillende NAT Traversal
Utilities, zoals STUN en TURN protocollen. Dit om een krachtig mechanisme te bieden waarbij
gebruik gemaakt kan worden van Offer/Answer gebaseerde protocollen, zoals SIP en XMPP.
ICE4j is een opensource API dat een Java implementatie bied van het ICE protocol, dat bruikbaar is
voor zowel SIP applicaties als XMPP applicaties. ICE4j heeft ook andere features zoals socket sharing
en support voor Pseudo TCP. Deze API wordt onderhouden door de Jitsi gemeenschap.
1.2. Probleemstelling
Het probleem bij de API ICE4j is dat er in de code heel veel if-statements zitten. Dit zorgt ervoor dat
wanneer er een nieuwe state wordt toegevoegd wordt die overal in de code moet worden
aangepast. Hierdoor is de code niet makkelijk uit te breiden en te onderhouden.
2
Versie 1.0