Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18
Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning... 2 Beskrivning av hård- och mjukvara som använts... 3 Systembeskrivning... 3 UML-modell... 4 Gränssnitt i C#... 5 Gränssnitt i JAVA... 5 Kort beskrivning av varje moduls funktion... 6 Dokumentation av buggar... 6 1
Bakgrund Vi läser för nuvarande fjärde terminen på det Systemvetenskapliga Kandidatprogrammet. Kunskaperna som tillämpades hade vi fått genom tidigare kurser inom bland annat mjukvaruutveckling i Java, databashantering i SQL, modellering i UML samt programkonstruktion i C#. Läran om databaser från tidigare IS-Projekt har hjälpt oss tillämpa dessa nya system på ett bättre och effektivare sätt då vårt program enkelt kopplades till en redan skapad databas och effektivt kommunicerade med den för utbyte av information. I vårt fall data från CRONUS-databasen. Resultatet av detta är ett effektivt informationssystem som genom kommunikation med en databas resulterar i högre effektivitet främst i form av säkerställd information och snabbare responstider. Till detta projekt har vi även tagit nytta av CRONUS-databasen för att skapa en Webservice som är kompatibel med C# samt JAVA. Syfte Syftet med projektet är att integrera kunskaperna som vi har fått genom programmering och databas under utbildningens gång för att tillämpa dessa under praktiken. Även objektorienterad modellering har ingått i praktikfallet. Vi ska utforma ett program som uppfyller de krav vi satte i början av projektet genom att arbeta utefter MVC arkitektur, använda oss av namngivningskonventioner samt designa ett snyggt och användarvänligt gränssnitt. Detta ska göras genom att programmera på ett enkelt och genomtänkt sätt. Dessa kunskaper kan även vara till stor hjälp i framtiden för olika arbetsgivare och projekt vid uppvisning av lärandeportföljen MAHARA. Projektbeskrivning Uppgiften var att skriva en webservice med en eller flera webmetoder vars uppgift är att ta emot ett filnamn som parameter, hitta filen som eftersöks och sedan returnera dess innehåll till klienten som anropade webservice. Andra uppgiften var att använda oss av en webservice för att hämta information från samma databas som vi använt under terminens gång. Vi har använt oss utav en webservice med webmetoder som returnerar en collection av objektinstanser av de entiteter vi har lagrat i databasen. För att hantera CRONUS-databasen har vi implementerat ett program i JAVA och ett annat i C# där man kan utföra samma uppgifter som exempelvis skapa eller radera anställd. 2
Beskrivning av hård- och mjukvara som använts Hårdvaran som använts är skolans datorer i EC-byggnaden samt våra egna bärbara datorer. Skoldatorerna var inga märkvärdiga med så snabba processorer eller stort lagringsminne vilket inte är så viktigt vid detta arbete. Mjukvaran är först och främst operativsystemet Windows XP på skolans datorer som kan tyckas vara lite äldre men fortfarande fullt dugligt. På våra egna datorer har vi använt oss av Windows 7. För mjukvaruimplementation, det vill säga programmering i C#, har vi använt oss av Microsoft Visual Basic 2012. Inför modelleringen har vi använt oss av Microsoft Visio 2012. Vidare har program som Microsoft SQL Server och slutligen Microsoft Word använts. Kravspecifikation Kravspecifikationen för programmet; Registrering av Anställd Hitta en anställd och dess uppgifter Ta bort en Anställd Uppdatera en Anställd Systembeskrivning Employee tabellen i CRONUS-databasen är grunden i programmet och den data som hämtas ur databasen omvandlas till objekt som sedan visas i gränssnittet visuellt i form av tabeller och rutor. Gränssnittet består i sin tur av två huvudflikar med Employee Handling samt en för Queries. Där finns knappar för att registrera, söka, uppdatera och radera. Navigeringen är väldigt enkel och lätthanterlig. 3
UML-modell (Användes för att få fram en collection av entiteter via Webservice) EGEN DATABAS från Programkonstruktion. 4
Gränssnitt i C# Gränssnitt i JAVA 5
Kort beskrivning av varje moduls funktion Lägg till anställd: För att lägga till en anställd väljer man först fliken Employee Handling. Där efter måste man fylla i personnummer, förnamn, efternamn, telefonnummer etc.. När samtliga fält är ifyllda klickar man på knappen Create Employee. Om något fält är tomt så får man fram ett felmeddelande. Söka anställd: För att söka på en anställd kan man trycka på Update, sedan kommer man vidare till en lista som man får fram via en Search knapp. Därefter kan man välja den önskade anställd. Radera anställd: För att ta bort en anställd krävs det att man söker på anställds namn i sökfältet och trycker på Search därefter skall man trycka på Select för att överföra informationen till fälten. Sedan kan man bara trycka på Delete för att radera personen. Uppdatera anställd: För att uppdatera anställd krävs det att man söker på anställds namn i sökfältet och trycker på Search därefter skall man trycka på Select för att överföra informationen till fälten. Sedan kan man bara trycka på Update för att uppdatera personens nya uppgifter. Söka queries: För att söka på de olika queries har vi implementerat en ny flik som håller en table för resultaten samt en combobox där man kan välja en specifik query, t.ex. all metadata från Employee. Dokumentation av buggar C# - Går ej att söka med information i sökfältet, fungerar fint utan 6