New Media Science (NMS) bruker Lotus eSuite DevPack - en utviklingspakke for Java som gir tilgang til en rekke ferdige moduler, se beslektede artikler i spalten til høyre - til å utvikle komponent-baserte Internett-applikasjoner. Folkestad forteller at mens kunder tidligere var fornøyd med en webtjener som ekspederte flate html-filer til en nettleser, stilles det nå høyere krav til utseende og funksjonalitet.
- Man er på vei bort fra den statiske informasjonstjeneren. Nå ser man mer på nettstedet som et programvaresystem. Arkitekturen til et nettsted følger nå modellen til vanlig tre lags klient/tjener-miljøer. Hos klienten er det en nettleser og Java, og webtjeneren er en applikasjonstjener med Java servlets, og Domino eller tilsvarende mellomvare som henter informasjon fra en database.
Nøkkelen til denne arkitekturen er plattformuavhengighet.
- Java tilbyr mer enn bare et funksjonelt brukergrensesnitt. Enterprise JavaBeans er blitt en viktig standard. Nå kan vi matche Java på klienten med Java på serveren. Vi kan utvikle betydelig mer kompleks programvare til web-steder.
Utfordringen er å realisere dette potensialet gjennom moderne prinsipper for gjenbruk av moduler.
- Kundene har tilsynelatende svært ulike behov, og det er vanskelig å isolere basisfunksjonalitet. Standardiserte løsninger er ikke gode nok. Derfor trenger vi en fleksibel tilnærming som gjør at vi ikke bruker tid på standardfunksjonalitet. eSuite gir oss tilgang på en rekke former for standardfunksjonalitet, blant annet tekst, tabeller, presentasjonsgrafikk osv.
Dette gir en komponent-basert utvikling som Folkestad presiserer ikke er bundet til Notes. Han legger til at eSuite er ett av flere verktøy NMS sverger til. Andre er InfoBus - standarden for kommunikasjon mellom Java-applikasjoner - og Suns standard for plug-in-baserte brukergrensesnitt, Swing.
- Poenget med Swing er at du skiller funksjon og utseende når du definerer et grensesnitt. Et bestemt utseende eller stil, defineres gjennom en plaf-modul (for "pluggable look and feel"). Når du lager grensesnittet tenker du i første omgang bare på selve elementene som knapper, knapperader, menyer osv. Så kan du velge blant et utvalg standard-plaf-moduler, eller utvikle en egen som passer til kunden, og som gir alle nettsidene en ensartet stil. Sun har også laget en ordning der Swing-definerte grensesnitt automatisk kan rette seg etter standarden på plattformen der applikasjonen kjøres, for eksempel Windows eller Mac.
Windows-versjonen er klar allerede, mens Mac er under arbeid. Ellers finnes det en Motif-plaf, og tre ferdige plattformuavhengige moduler. Den Swing velger dersom du ikke har bestemt noe annet, er "Java look and feel", tidligere kjent som "Metal".
Swing er utviklet av Sun i nært samarbeid med Netscape. Navnet dukket opp på JavaOne-konferansen i 1997. Det er en serie objektorienterte Java-klasser, tilgjengelig gjennom JFC 1.1 (Java Foundation Classes). Swing karakteriseres ellers som en utvidelse av Lightweight UI Framework som ble en del av Java Abstract Windowing Toolkit (AWT) med Java Development Kit (JDK) 1.1. Noen av komponentene i Swing er 100% Pure Java-utgaver av kjente komponenter fra AWT, som Button, ScrollBar og List. Andre er komponenter på et høyere nivå, som tree-view og list-box. I likhet med de øvrige komponentene i AWT følger Swing-komponentene spesifikasjonene for JavaBeans.
Swing-appleter distribueres gjennom Java Plug-in som ble kunngjort på årets JavaOne-konferanse i april. Dette er en allmenn metode for å distribuere Java-appleter. Prinsippet er at utvikleren utstyrer web-siden der appleten skal publiseres med en spesiell porsjon html-kode. Hvis nettleseren aldri har kjørt en applet med Java Plug-in, gjøres brukeren oppmerksom på forholdet, og kan godta at Plug-in-koden lastes ned. Da kjøres appleten automatisk. Hvis nettleseren allerede har lastet ned Java Plug-in, kjøres appleten straks.