Exjobbsförslag från företag

Detta är ett uppsatsförslag hämtat från Nationella Exjobb-poolen. Klicka här för att komma tillbaka till samtliga exjobbsförslag.

Förslaget inkom 2003-05-13

Felhantering och loggning i EJB

OBS! ANSÖKNINGSTIDEN FÖR DETTA EXJOBB HAR LÖPT UT.
SYFTE: Syftet med exjobbet är att studera hur man bäst utför loggning i EJB. Det innebär både att ta fram riktlinjer för hur programmeraren ska göra för att skriva till loggen, vilka olika nivåer man ska ha för loggningen samt hur och till vad man ska skriva loggen (en databas och/eller på en fil samt i vilket/vilka format). Vilka standarder finns? När ska man logga fel som uppstår?
MÅL: Att ta fram fungerande klasser och eventuellt interface för att kunna logga från en EJB-miljö med servlets, JSP och statiska
klasser. Klasserna ska vara tillräckligt bra för att fungera i en stor produktionsmiljö med höga prestanda- och driftsäkerhetskrav.
Programmeringsguidelines med programexempel för hur loggning görs samt när man loggar fel och när man använder vilka loggningsnivåer ska också tas fram.
BAKGRUND: Loggning kan låta som en enkel sak som kan lösas utan större tekniska bekymmer. Det är det också när man gör laborationer på universitetet och det program som exekverar längst håller på i 10 sekunder och eventuella fel kan hanteras genom att man skriver stacktracen på consolen och avslutar programmet. Trots det är det möjligt att dålig loggning är den enskilda orsak som kommer att kosta mest pengar i EJB-projekt och driftmiljöer.
I grunden handlar det om att lösa fyra problem:
(1) Säkerställa att ALLA fel verkligen loggas. Det finns system där man anser sig logga men där en felaktig SQL-sats som ger databasfel passerar utan att något märks, data bara inte fungerar. Det är naturligtvis helt oacceptabelt.
(2) Säkerställa att alla programmerare använder loggningen på ett standardiserat sätt så att det går att hitta i loggarna.
(3) Se till att det går att ändra loggnivå under drift. Om något allvarligt fel uppstår vill man kunna öka graden av loggning för att se vad som går fel. Om man startar om servern kanske det inte går att upprepa felet.
(4) Se till att loggningen går fort. Loggningen kommer med största sannolikhet vara den del av koden som körs flest gånger. Det är viktigt att det går fort att skriva logginformation, men framför allt att det går fort att avvisa de anrop som inte ska loggas. Trace-loggarna som placeras först i varje metod kommer att anropas extremt ofta. Det kan röra sig om tusentals gånger per sekund i en produktionsmiljö och då är det viktigt att det går fort att avvisa dem.
ENTERPRISE JAVA BEANS (EJB):: EJB är gjort för flerlagersarkitekturer det vill säga man har ett databaslager, ett eller flera lager med affärslogik och ett presentationslager. EJB är gjort för att användas i affärslogiklagret/lagren. Presentationslagret kan bestå av Java-program på klienten eller en del på servern som genererar HTML (JSP eller servlets) och en del på klientdatorn som presenterar informationen (Netscape eller Explorer). EJB är ett standardiserat tillägg till Javastandarden (en del av J2EE). EJB är en samling javaklasser och interface som används för att bygga komponenter i Java. Komponenterna har ett väldefinierat gränssnitt, är återanvändbara och uppfyller vissa krav så att de kan installeras i en applikationsserver. När man skriver sina EJB ska man fokusera på affärslogiken, alltså vad komponenten ska göra. Man ska däremot inte behöva bry sig om infrastrukturtjänster som transaktionshantering, behörighetshantering, samtidighetsproblem (trådsäkerhet), databaskopplingar och liknande. Man gör istället inställningar hur man vill att dessa tjänster ska skötas och det är applikationsserverns jobb att se till att de sköts på det viset.
I dag är så gott som alla datorsystem väldigt komplexa och servar väldigt många klienter. Genom att ha all intelligens i en applikationsserver, det vill säga ha koden på ett fåtal ställen istället för hos tusentals klienter, blir uppdatering och modifiering av programvaran mycket mer lätthanterlig. Man kan också bygga system med mycket större säkerhet och prestanda än i traditionella client/server-system eftersom affärslogiklagret som ligger i en skyddad miljö kan göra behörigh

  GÅ TILL XJOBB.NU FÖR FULLSTÄNDIG INFO OM DETTA EXJOBB




Informationen om uppsatsförslag är hämtad från Nationella Exjobb-poolen.