bilde Kunnskapssenter
I kunnskapssenteret vil IMC og partnere legge inn dokumenter som vil være nyttig for deg som ønsker å utvikle gode web sider. Her vil du også finne nyttig informasjon vedrørende tjenester fra IMC. Dokumentene vil ligge på forskjellig nivå, og målet er at de skal være nyttig både for deg som har enkle behov, og for bedrifter som utvikler avanserte løsninger.
Kunnskap for alle nivåer
På disse sidene kan du finne informasjon både for de som ønsker grunnleggende forståelse av Internett, og de med mer avanserte behov. Velg det du ønsker fra menyen til venstre.

På menyen finner du også "Bruk av tjenester", der finner du informasjon om hvordan du bruker tjenester som filoverføring, e-post, e-post katalog osv.

Teknologier som benyttes av IMC
IMC legger stor vekt på å bygge robuste løsninger med gode teknologier. Uansett størrelse på web tjenesten, er det viktig at det gjøres noen valg av teknologier og arkitekturer. Det finnes ikke "riktige" teknologier, men det er forskjell på gode og dårlige. IMC har valg en lagdelt arkitektur, med følgende hovedteknologier:

DATALAGET

På datalaget har IMC valgt å bruke standard teknologier. De viktigste teknologiene er:

  • SQL databaser
  • LDAP katalogserver
  • Filer

Som SQL database benytter IMC hovedsaklig MySQL. MySQL er en enkel relasjonsdatabase, som støtter de basale sql egenskapene. Sql er den dominerende standarden for databaser, og dersom en skriver applikasjoner på en god måte, har det lite betydning hvilken relasjonsdatabase som velges.

For lagring av katalogdata benytter IMC OpenLDAP, en open source database for Unix baserte operativsystemer. OpenLDAP følger LDAP standarden, og kan kommunisere med klienter som følger LDAP standarden. LDAP er en ledende standarden for internett kataloger. Netscape har vært en av de ledende kreftene for å utvikle LDAP løsninger, og LDAP har fått bred støtte fra internett verdenen, og benyttes også mye for intranett. LDAP egner seg godt for lagring om organisasjoner, personer, nettverksutstyr og annen lignende informasjon som lagres i kataloger. En av fortrinnene med LDAP er at det gir lynraske oppslag, mye raskere enn for sql databaser. Men ingenting er gratis, og det er også tilfelle i denne sammenheng. Kostnaden for å få lynraske oppslag, er at det tar lengre tid å legge inn data. LDAP passer derfor godt for data som hentes ofte men oppdateres sjelden. 

For noen tilfeller lagres også informasjon i filer. Noen eksempler på dette kan være konfigurasjonsfiler for enkelte programmer, dokumenter etc. Og selvfølgelig web sider, gitt at de ikke er lagret i et databasebasert publiseringssystem.

FORRETNINGSLOGIKK

Mange utviklere skiller ikke forretningslogikk og presentasjonslogikk. Eller for å si det på en enkel måte, enkle script brukes både for logikk og presentasjon. IMC benytter i stor grad applikasjonsserver mellom presentasjonslaget og datalaget. De siste årene har SUN, og resten av java miljøet utviklet en standard for java baserte applikasjonsservere, kalt Entity Java Beans (EJB). IMC benytter denne i de tilfellene hvor det er behov for applikasjonsserver. EJB har tre hovedkomponenter:

  • Entitets bønner
  • Sesjons bønner
  • Meldingsbønner

Entitets bønner er dataobjekter som gjenspeiler data som ligger i databasen. Ved bruk av en EJB server er det ikke nødvendig å skrive noe kode for å lagre data i sql databasen. Dette håndterer sql serveren helt på egen hånd. Men dersom du ønsker mer kontroll med lagringen, er det mulig å overta skriving av sql kommandoer på egen hånd.

Sesjonsbønner er forretningslogikk, og dette er kanskje den viktigste grunnen til å benytte en applikasjonsserver. Ved å bruke sesjonsbønner på en applikasjonsserver, kan presentasjonslaget holdes helt rent for forretningslogikk. Ved å gjøre det på denne måten, blir det også mulig å tilknytte flere klienter til den samme forretningslogikken. For eksempel vil det være enkelt å gjøre noen av administrasjonsfunksjonene for IMC sine web sider tilgjengelig for mobile klienter.

Den siste typen bønner er meldingsbønner. Denne er forholdsvis ny i ejb. Meldingsbønner gjør blant annet at applikasjonsserveren kan håndtere køsituasjoner. Dersom det er behov for å sende meldinger mellom asynkrone systemer, vil meldingsbønner være en god mekanisme. Klienter kan da legge en melding i innkøen til en meldingsbønne, og så fortsette med å gjøre noe annet, mens meldingsbønnen vil  prosessere alle meldingene i tur og orden. Meldingsbønnen kan også håndtere situasjoner hvor kommunikasjonen med andre systemer er nede i begrensede tidsrom, ved at meldinger ligger i en meldingskø.

IMC benytter JBoss, en open source applikasjonsserver, som plattform.

PRESENTASJONSLAGET

På presentasjonslaget benytter IMC stort sett java servlets og java server pages for sin egen utvikling. På presentasjonslaget finnes det ulike scripting språk som kan benyttes. IMC har altså falt ned på java servlets og java server pages. Som server benyttes Apache for statiske filer, og Tomcat for java servlets og java server pages. 

Med teknologiene ovenfor kan det lages dynamiske grensesnitt. Men det er fortsatt ett problem som gjenstår. Ved å bruke scripting språk direkte, blir det fort uoversiktlig kode. Grunnen til det er at når f.eks et skjema blir postet til en server, skal følgende skje:

  • En skal finne ut hvordan requesten skal håndteres
  • Datamodeller skal oppdateres
  • En ny side skal vises, og det kan være forskjellige sider som skal vises avhengig av hvordan data ble prosessert

Det er vanskelig å implementere dette på en god måte uten en god front-end arkitektur. IMC har falt ned på Struts som teknologi for å lage godt strukturerte frontends. Struts er et MVC rammeverk (Model View Controller). Struts gjør at en vil ha god oversikt selv for store løsninger. 

OPERATIVSYSTEM

Teknologiene ovenfor er basert på åpne standarder, og kjører på de fleste plattformer. IMC har valgt Linux som plattform for egne tjenester. Men på grunn av at alle applikasjoner er basert på åpne standarder, kan tjenestene enkelt overføres til andre plattformer inklusive Microsoft og Sun plattformer. Årsaken til at IMC har valg Linux, er at Linux gir god pris/funksjonalitet. Linux utvikles av et stort antall av programmerere, og det kommer kontinuerlig ny programvare. Linux har oppnådd tilsvarende effekt som Microsoft har gjort. Forskjellen er at for Linux deltar programmererne både på å videreutvikle selve operativsystemet og programvare basert på den, mens Microsoft har et partnerprogram for selskaper som utvikler applikasjoner på toppen av operativsystemet. Ved å bruke standard teknologier, er IMC lite bundet til Linux som plattform, siden alle applikasjoner enkelt kan portes til andre operativsystem. Dermed blir ikke valget av operativsystem så viktig, IMC kan nårsomhelst gå over til et annet operativsystem, uten at vi ser noen grunn til å gjøre det.

MODELLERING

IMC utvikler interaktive applikasjoner for web og andre ip baserte teknologier, hvor funksjonaliteten er i fokus. Et eksempel på en slik applikasjon er isp tjenestene til IMC. For slike applikasjoner er det viktig å ha god kontroll over hva som skal utvikles før utviklingen starter. For å sikre god modellering benytter IMC en utviklingsmodell kalt Unified Modelling Language (UML). UML er et modellverktøy som har tatt inn i seg det beste fra flere tidligere modelleringsmetoder. UML fokuserer på grafisk modellering, og gir en god sporbarhet fra funksjonelle krav til implementering. De første fasene av UML benyttes til å avdekke behovene til et system. Dersom løsningen utvikles sammen med kunder, benyttes "use case" i UML til å diskutere hvilke funksjoner systemet skal implementere. Når det er enighet om de overordnede funksjonene i systemet, benytter IMC andre modelleringsmetoder i UML til å beskrive de tekniske delene av systemet. Og deretter kan vi starte implementering, ved bruk av teknologiene ovenfor.

Presentasjoner
Her vil du finne presentasjoner fra IMC og partnere. Disse presentasjonene er benyttet i ulike sammenhenger, ta en titt på de du er interessert i:
Presentasjon Utviklet for
Foredrag om mikrojava (2MB) Java brukerforum i Norge
Foredrag om java og mobil (4MB) Java brukerforum i Norge
Dersom du er interessert i mer informasjon om mobile løsninger, anbefaler vi å ta en titt på www.mobic.com. Ta også en titt på www.mobic.no, hjemmesidene til hovedaksjonæren i IMC, Mobic AS.
Copyright INTERNET MARKETING CONSULT AS 2018 Mobinor Mobinor Mobinor Mobinor Mobinor Mobinor