2.9 ICE-model

ICE-modellen beskriver de forskellige dele af systemet og hvem der kommunikerer sammen. For at give et overblik over systemet vises her først det samlede system fra WAP-telefon gennem PtG og et forsimplet MAOV-system, til de data der ligger i databasen. Desuden beskrives hvilke tier's de forskellige dele ligger på. MAOV ligger selv kun på tier 2, dog med nogle egne tabeller på tier 3.

Brugeren står med WAP-telefonen og kalder op til Portal-to-Go. Forespørgelsen sendes videre til MAOV-systemet, som henter de ønskede data fra databasen. Data'ene sendes tilbage til PtG som XML, der sendes igennem XSL-Transformeren til WAP-telefonen. Det er værd at bemærke at alle kald til MAOV-systemet går til MAOVAdapteren. Det er altså dens opgave at sende opgaven videre så den kan blive løst.

Internt i MAOV er systemet delt op efter funktioner. På den måde er det nemt at tilføje nye funktioner, da de andre kan forblive uændrede. De to objekter: MAOVAdapter og DBAccess er de samme på begge tegninger. Det er det store MAOV-objekt, der er delt ud på nedenstående figur.

Eftersom systemet kører som en Adapter, er de faktiske kendskabs-relationer ikke som man skulle forvente. Det er MAOVAdapteren der skal kende alle kontrol-objekterne, som derimod ikke skal kende hinanden i koden. Der er derfor indtegnet de logiske kendskabs-relationer (stiplede linjer), så man kan se hvilke objekter der fører brugeren videre til andre objekter.

Når MAOVAdapteren modtager en forespørgsel, sendes den videre til det relevante kontrol-objekt, der så svarer på forespørgslen. Der er ikke kun een forespørgsel til hvert kontrol-objekt, så forespørgslen er delt op i en action og en sub-action (action til MAOVAdapteren, sub-action til kontrol-objektet). Se de forskellige action-værdier og forklaring dertil, i afsnit XXX side XXX.

Når kontrol-objektet skal bruge data, opretter det et entitets-objekt der selv henter oplysningerne i databasen. Entitets-objektet får DBAccess med fra kontrol-objektet som henter det fra MAOVAdapteren. Alle entitets-objekterne har derfor reelt fat i DBAccess, men kun når de henter data fra databasen. Derfor er der ingen kendskabs-relationer mellem entitets-objekterne og DBAccess-objektet.

Herunder beskrives alle objekterne fra begge illustrationer kort.