Examensarbete i datavetenskap, naturvetenskapliga fakulteten, Lunds universitet Distribuerat Ramverk för Java Micro Edition Niclas Hognert Mobiltelefoner har länge varit begränsade vad gäller programutbudet. De program som finns tillgängliga på dem är förutbestämda av leverantören. Sun Microsystems har utvecklat en bantad utgåva av Java som fungerar på små enheter som mobiltelefoner och handdatorer. Med denna utgåva ges andra möjlighet att utveckla program för de små enheterna, med mycket begränsad funktionalitet. Det är upp till leverantörerna att leverera telefonerna med Java funktionaliteten. Telefonerna kommunicerar över http som är standardprotokollet på webben. Företag börjar visa intresse av att använda telefonerna som klienter i större system. För ett antal system kan gemensamma funktioner härledas. Att utveckla dessa gemensamma funktioner om och om igen för varje nytt system är inte försvarbart. För att lösa problemet med att uppfinna hjulet gång på gång kan ett ramverk byggas. Ett ramverk bör således innehålla funktioner som är återkommande i flera system. Fördelar med att använda sig av ett ramverk vid utveckling är framförallt att spara tid. Färdigutvecklade klasser och komponenter kan enkelt användas. Återanvändning av design och komponenter är mycket effektivare än att leta upp ett par klasser från ett tidigare system för återanvändning. Rapporten lägger fokus på olika arkitekturer för att bygga ett ramverk. Tre olika arkitekturer tas upp, en traditionell byggd som en webbapplikation, en som bygger på att skicka meddelanden och en som bygger på Web services. Att se till arkitekturen på ett nytt system säkrar förhoppningsvis framtida utveckling av systemet. Det brukar i dessa sammanhang pratas om att systemet måste ”skala”. Med detta menas att systemet måste klara de framtida krav på belastning och funktionalitet som satts upp. I detta fall har det skapats ett distribuerat ramverk för att lösa kommunikationen mellan klienterna (mobiltelefonerna) och serversidan. Att få underliggande funktioner som kommunikation, användarhantering och datalagring transparent för programmeraren i ett senare skede är ett mål i sig. Varken prestanda eller säkerhet är aspekter som tagits upp speciellt i detta arbete, ty det går för tillfället inte att utvärdera dessa två variabler. Swedish official title: Distribuerat Ramverk för Java Micro Edition Swedish credits: 20p Supervisor: Robert Pallbo, Computer Science Submission date/time: 2002-06-14 Examensarbete i datavetenskap, naturvetenskapliga fakulteten, Lunds universitet Distributed framework for Java Micro Edition Niclas Hognert Computer Science Spring 2002 Abstract in English Mobile phones has for long time been a restricted area for people who want to make their own applications. Sun Microsystems has developed a Java Micro Edition, which can be run on small devices, such as mobile phones and personal digital assistants. The aim of this report is to develop a framework for distributed systems with mobile phones as clients. This is done from a software architecture point of view. A framework is a collection of common functionalities to support developers with recurring implementations. The study is performed on a architectural level and three different architectures has been evaluated with a scenario based method. The report highlights message-driven systems, Web Services and traditionally web applications with Java Servlets, Enterprise JavaBeans and Java Server Pages. All communication is done with the http. This is at present time the only protocol supported by the small devices. The best architecture to use in the framework is the traditional web application. Abstract in Swedish Distribuerat Ramverk för Java Micro Edition Det har inte tidigare funnits möjlighet för privatpersoner eller företag i allmänhet att skriva applikationer för mobiltelefoner. Sun Microsystems har lanserat en ny version av Java, Java 2 Micro Edition, som kan användas på mobiltelefoner. Denna rapport har fokus på hur man skall utveckla ett ramverk för distribuerade system med mobiltelefoner som klienter. Ett ramverk skall innehålla vanligt återkommande funktioner. Detta för att utvecklare inte skall behöva implementera dessa funktioner för varje applikation som skall utvecklas. Studien är lagd på en arkitektonisk nivå och tre arkitekturer utvärderas med hjälp av en scenariobaserad metod. Rapporten behandlar meddelandedrivet system, Web services och en traditionell webbapplikation med Java Servlets, Java Server Pages och Enterprise JavaBeans. Kommunikationen mellan server och klient sker i samtliga fall över http då detta är det enda protokoll som det finns stöd för. Den arkitektur som anses mest lämpad för ändamålet är den traditionella webbapplikationen.