APPLIKATION FÖR SAMORDNING AV ENTREPRENÖRER

Storlek: px
Starta visningen från sidan:

Download "APPLIKATION FÖR SAMORDNING AV ENTREPRENÖRER"

Transkript

1 Examensarbete 15 högskolepoäng C-nivå APPLIKATION FÖR SAMORDNING AV ENTREPRENÖRER Reg.kod: Oru-Te-DT3017-D106/08 Daniel Lindqvist Dataingenjörsprogrammet 180 hp Örebro vårterminen 2008 Handledare: Kjell Mårdensjö Examinator: Lars Karlsson APPLICATION FOR COORDINATION OF CONTRACTORS Örebro universitet Örebro University Institutionen för teknik Department of Technology Örebro SE Örebro, Sweden

2 Sammanfattning Denna rapport beskriver utvecklingen av en applikation för samordning av entreprenörer vid Outokumpu Stainless AB:s anläggning i Avesta, kallat Avesta Works. Målet var att skapa en bättre, och mer användarvänlig applikation än den som redan fanns inom företaget. Applikationen ska innehålla funktioner för att registrera entreprenörsarbeten inom Avesta Works, samt möjlighet att följa upp dessa. Syftet är att kunna följa upp vilka personer och vilka entreprenörer som befinner sig på området, och i slutändan få en säkrare arbetsmiljö Systemet består av ett användargränssnitt i form av en webbapplikation på företagets intranät, utvecklad i ASP.NET med C# i botten, en MS SQL Server databas, och ett serviceinterface i form av en WCF-service. Uppdraget bestod även av att testa en arkitekturmodell, som är framtagen av Outokumpu IT Delivery. Arkitekturen består av fem lager, i botten ett dataaccesslager, ett affärslager, ett fasadlager, ett servicelager och ett presentationslager på toppen. Abstract This paper describes the development of an application for coordination of contractors at Outokumpu Stainless AB s facilities in Avesta, known as Avesta Works. The assignment was to create a better and user-friendlier application than the one that already existed within the company. The applications main abilities should be to register and follow up coordinations. The purpose is to have knowledge about the work that is being executed by entrepreneurs within Avesta Works, and to know who s working for those entrepreneurs. This should hopefully, in the end, result in a safer working environment. The system consists of a user-interface in shape of a web-application which can be found on the company s intranet, developed with ASP.NET and C#, a SQL Server database and a service interface in shape of a WCF-service. The assignment was also to test a new architecture, which is created by Outokumpu IT Delivery. The architecture consist of five layers, with a data access layer in the bottom, a business layer, a façade layer, a service interface layer and on top a user interface. 2(24)

3 Förord Detta examensarbete är en del av min ingenjörsutbildning inom Datateknik vid Örebro Universitet. Arbetet är på C-nivå och omfattar 15 hp. Jag skulle vilja tacka Outokumpu Stainless som gett mig möjligheten att utföra detta examensarbete. Ett speciellt tack vill jag rikta till Kristoffer Rönnberg och Michael Carlborg som tagit sig tid att bistå med information. Avesta den 3 juni Daniel Lindqvist 3(24)

4 Innehållsförteckning 1 Inledning Företaget Syfte Systemkrav Funktionella krav Icke funktionella krav Teoretisk bakgrund NET Framework ASP.NET C# OR Mapping LINQ Windows Communication Foundation AJAX Genomförande Utvecklingsmiljö Arkitektur Data Access Layer Business Layer Facade Layer Service Interface User Interface Databasdesign Job Contractor Person Location JobLabor Checklist JobMeasure Webbapplikationen Söka samordningar Skriva ut en samordning Registrera samordning Redigera/Kopiera samordning Administrationsgränssnitt Val av OR Mapper Slutsats Referenser (24)

5 1 Inledning 1.1 Företaget Outokumpu är ett internationellt företag som tillverkar rostfritt stål. Kunderna finns i många branscher - från processindustrin och industriella maskiner till byggnad och konstruktion och elektrisk industri, transport, elektronik och informationsteknik samt catering och hushåll. Outokumpu verkar i omkring 30 länder och sysselsätter personer. Under 2007 uppgick koncernens försäljning var EUR 6,9 miljarder, varav cirka 95% genererades utanför Finland. Koncernens huvudkontor ligger i Esbo, Finland. Moderbolaget, Outokumpu Oyj, har varit noterat på Helsingfors fondbörs sedan 1988 Outokumpus fabriker i Finland, Sverige, Storbritannien och USA producerar ett brett sortiment av rostfria produkter, inklusive varmvalsat och kallvalsat, precision band, rör och långa produkter tillsammans med ett omfattande utbud av rördelar, flänsar och svetsning Outokumpus anläggning i Avesta, kallat Avesta Works, sysselsätter omkring 1000 personer. I Avesta specialiserar man sig på specialstål, främst breda produkter och så kallade duplexa stålsorter. Outokumpu IT Delivery är en serviceorganisation som är gemensam för hela koncernen. I Avesta arbetar ca 60 personer inom ITD, och totalt inom koncernen är det ca 170 personer. Man räknar med att inom kort anställa ytterligare ett 30-tal personer. 1.2 Syfte Syftet med detta är examensarbete är att säkerställa vetskap om vilka entreprenörsjobb som utförs inom ett specifikt område på Outokumpus anläggning i Avesta. Detta ska åstadkommas genom att utveckla en webapplikation som ska finnas tillgänglig via Avesta Works intranät. I applikationen ska användarna kunna registrera och följa upp samordningar. En samordning är något som görs för att organisera inblandade parter i det jobb som ska utföras. Man anger bl.a. var arbetet ska utföras, vem som utför jobbet, vilken tidpunkt det sker och man gör också riskbedömning och planering. Förutom själva applikationen ska även en ny arkitektur prövas. Arkitekturen är framtagen av Outokumpu IT Delivery men har hittills inte realiserats i någon konkret applikation som är avsedd för produktion. Syftet med arkitekturen är att skapa ett standardiserat sätt att bygga skalbara system, som är enkla att förvalta, underhålla och ansluta andra system till. 5(24)

6 2 Systemkrav Följande krav har ställts på applikationen. Dessa punkter är resultatet av en inledande workshop där beställare och samordnare runt om i verksamheten har deltagit. 2.1 Funktionella krav En samordning ska innehålla information följande: arbetsbeskrivning, beställare, samordnare, entreprenör, tidpunkt, personal, ev. arbetsorder, bryt & lås, larmpunkt, riskbedömning och planering. Samordningen ska sparas elektroniskt i sin helhet, och den ska vara redigerbar. Skulle samordningen behöva ändras så ska det kunna göras utan att det blir en reviderad utgåva. Förutsättningen är att startpunkten för arbetet inte startat. Om en samordning ändras under arbetets, exempelvis p.g.a. förändrade risker, ny personal etc. så ska det framgå att det är en reviderad utgåva. Samordningen ska finnas tillgänglig även efter samordningens avslut. Det ska finnas ett administrationsgränssnitt för uppdatering och hantering av samordnare, beställare, placeringar, risker, planer och annat som kan tänkas behöva uppdateras. Vid datumfält ska det finnas möjlighet att välja datum ur en kalender. Man ska med andra ord inte behöva bry sig om att mata in rätt datumformat. En möjlighet ska finnas att skriva ut samordningen, samt en lista på samordningar. Det ska gå att söka samordningar på beställare, samordnare, placering eller via fritext sök. Under Riskbedömning och Planering ska det, om man kryssat Ja, dyka upp en textruta där man ska förklara vad man tänkt vidta för förebyggande åtgärd. 2.2 Icke funktionella krav Förbättrat workflow, möjlighet att navigera mellan sidorna. Det ska vara enkelt och man ska inte tappa inmatade data när man navigerar tillbaka. Applikationen ska finnas tillgänglig, och hittas med enkelhet, via Avesta Works intranät. 6(24)

7 3 Teoretisk bakgrund I detta kapitel beskriv de olika teknikerna som jag använt mig av i utvecklingen av applikationen. 3.1.NET Framework.NET Framework är ett samlingsnamn för Microsofts senaste plattform för utveckling av applikationer. Det är en språkoberonde plattform och kommer med en stor mängd av klassbibliotek som är tillgängligt för alla.net kompatibla språk. Det spelar därför inte så stor roll om man programmerar i C#, Visual Basic, eller något annat kompatibelt språk. Det som krävs för att utveckla en.net applikation är en kompilator som översätter koden till så kallad MSIL, MicroSoft Intermediate Language. IL är bytekod och den kompileras vid körning JIT (Just In Time), precis som Java. Men till skillnad från Java så används ingen virtuell maskin för detta utan istället kompileras bytekoden till maskinkod av något som kallas CLR, Common Language Runtime. CLR hanterar bl.a. garbage collection och kodsäkerhet. Det tveklöst största utvecklingsverktyget för.net är Microsofts egna IDE (Integrated Development Environment), Microsoft Visual Studio.NET. Applikationen i detta projekt använder sig av.net Framework 3.5 [1][2] 3.2 ASP.NET ASP.NET är en teknik för att skapa dynamiska webbsidor, webbapplikationer och webservices. Precis som det låter är detta en anpassning av ASP för.net plattformen. ASP.NET är baserat på Common Language Runtime (CLR) och det innebär att man kan utveckla ASP.NET kod med något av de många.net kompatibla språken. Man slipper därmed skriva med inbäddade skriptspråk, och använder istället exempelvis C# för att skriva code behind. I detta projekt är användargränssnittet utvecklat i ASP.NET. [3] Se nedanstående exempel: namespace SamO.WWW { public partial class Register : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) {... 7(24)

8 3.3 C# C#, eller C Sharp som det är uttalas är själva flaggskeppet i.net plattformen och ses som dess kärnspråk. C# är utvecklat av Microsoft och chefsdesigner är Anders Hejlsberg som tidigare har jobbat med Turbo Pascal, J++ med flera. Språket utvecklades i samband med.net plattformen och är baserat på C++, men har även hämtat mycket ifrån andra språk, där Java och Delphi märks tydligast. Den största skillnaden mot dess föregångare C++ är troligtvis att det har automatisk skräpinsamling (garbage collection) och avsaknaden av pekare. [4] Nedan visas ett kodexempel för klassiska Hello World : using System; namespace HelloWorld { class Hello { public static void Main() { Console.WriteLine("Hello World!"); } } } I detta projekt är all kod, utom det statiska i användargränssnittet, skrivet i C#. 3.4 OR Mapping OR Mapping står för Object Relational Mapping och brukar ibland förkortas som O/RM. O/RM är en teknik för att mappa/konvertera entiteter mellan en relationsdatabas och ett objektorienterat programmeringsspråk. I och med denna mappning skapas ett så kallat dataaccesslager mot databasen. Man kan se detta lager som en virtuell objektdatabas. Anledningen till att man i så stor utsträckning använder sig av O/RM är att det finns en enorm klyfta mellan dagens moderna programmeringsspråk som är objektorienterade, och de databaser som vi lagrar informationen i. Data representeras som objekt i dagens programmeringsspråk, medan de i databasen representeras av rader i en, eller flera, tabeller. En O/RM hjälper till med det mödosamma arbetet att skapa relationerna mellan dessa två olika tekniker, genom att automatiskt skapa mappningen mellan en databas och dess tillhörande applikation. Den hjälper även till med att omvandla förändringar av data hos ett objekt i applikationen, till SQL operationer för att åstadkomma samma förändringar i databasen. Man brukar säga att den skapar så kallade CRUD metoder. CRUD står för Create Read Update och Delete och skulle då motsvara Insert, Select, Update och Delete i en relationsdatabas. Nedanstående bilder visar OR mappern LINQ to SQL (se mer om LINQ och LINQ to SQL i nästa kapitel). Det är denna OR mapper som används i detta projekt för att generera dataaccesslagret. Designläget visas i bilden till vänster, och till höger en del av den kod som skapas automatiskt av OR mappern. 8(24)

9 Kritiker menar dock att man med hjälp av OR mappers försöker lösa fel sida av problematiken mellan relationsdatabasen och objektmodellen. De menar att den objektorienterade modellen är otillräcklig som sådan för att fullt ut kunna täcka behoven av att manipulera data. En del kritiker menar också att man i många fall sätter arbetet av en databasadministratör, som optimering och prestanda, i skymundan. Dock går utvecklingen snabbt framåt och OR mappers blir bättre och bättre på att effektivisera komplexa SQL operationer. Ett annat problem är hur olika OR mappers hanterar cachning av objekt. Ofta har man cachat objekt för att få snabbare svarstider, som kanske i själva verket inte behöver. Problemen uppstår om det har skett en förändring på motsvarande objekt (rad) i databasen. När man i programmet hämtar om objektet så får man ett cachat objekt som är likadant som det första man hämtade, alltså som det såg ut innan förändringen gjordes. [5][6] I detta examensarbete har jag provat två stycken olika OR Mappers, dessa är LINQ to SQL och LINQ to LLBLGEN. Mer om det kan läsas i kapitel LINQ LINQ står för Language Integrated Query och uttalas Link. Det är en del av.net ramverket och släpptes först i och med version 3.5. Med LINQ kan man på ett enhetligt sätt, med hjälp av så kallade query operators, ställa frågor mot Arrays, Enumerable-klasser, relationsdatabaser, XML och andra datakällor. Det kräver dock att datat man frågar emot är inkapslat i ett objekt. Med andra ord om man vill fråga mot en relationsdatabas så måste man först göra en mappning mellan relationsdatabasen och programkoden. Detta görs förslagsvis med en OR Mapper (se föregående kapitel).[7] Nedanstående är ett exempel på LINQ som är hämtat ur samordningsapplikationen. LINQ används flitigt i applikationen för frågor mot olika typer av datakällor. Här används det för att hämta alla entreprenörer. var q = from c in objcontractormgr.getallcontractors() select new ContractorSC { ContractorID = c.contractorid, Name = c.name, Phone = c.phone }; return q.tolist(); 9(24)

10 LINQ Providers är specifika implementeringar som anpassar LINQ-frågorna för olika datakällor. Det finns en uppsjö av dessa och bland några kan nämnas: LINQ to SQL Som både konverterar LINQ till SQL Server-specifik SQL och fungerar som O/RM. LINQ to Google För Google-sökningar. LINQ to SharePoint Som används för Microsofts collaboration-verktyg SharePoint. 3.6 Windows Communication Foundation Windows Communication Foundation, förkortat WCF, är ett ramverk som skeppades med.net Framework 3.0. Det används för att skapa serviceorienterade applikationer (SOA). WCF binder samman en mängd olika tekniker som.net Remoting, COM+, MSMQ, Webservices med flera. WCF kan användas för att kommunicera SOAP-meddelanden (SOAP är ett protokoll för XML-meddelanden) mellan två processer, vilket gör WCF-applikationer kompatibla med alla processer som kommunicerar via SOAP. När en WCF process kommunicerar med en annan typ av process, används istället XML-baserad kodning för SOAP-meddelanden. När det kommunicerar med en annan WCF processen kodas SOAPmeddelandena i ett optimerad binärt format. Båda kodningarna överensstämmer med den datastruktur av SOAP-format, kallad Infoset. WCF kan även användas via protokoll som TCP, HTTP, MSMQ och Named Pipes. En WCF Service består av tre delar - en serviceklass som implementerar den tjänst som skall tillhandahållas, en mottagande miljö som ska fungera som värd för tjänsten, och en eller flera endpoints som klienterna ansluter till. All kommunikation med en WCF tjänst sker via endpoints. En endpoint innehåller ett servicekontrakt som definierar vilka metoder som finns tillgängliga via den. Varje endpoint kan ha egna uppsättningar av metoder. De definierar också en binding som anger hur en klient ska kommunicera med tjänsten och en adress där endpointen driftas. WCF tillhandahåller Windows Service Activation som kan användas för att köra tjänsten som en vanlig Windows-service. En WCF tjänst kan också driftas i IIS eller i någon process med hjälp av ServiceHost-klassen, som tillhandahålls av WCF. De kan också drifta sig själva, i form av en konsoll-applikation eller en Windows Form.[8][9] I detta projekt används WCF för att exponera de funktioner som är implementerade i fasadlagret (se kap. 4.2 angående arkitektur). På så vis kan även andra system, få tillgång till informationen. 10(24)

11 3.7 AJAX Asynchronous JavaScript And XML, AJAX, är en samling av tekniker som används för att skapa interaktiva webbtillämpningar. Ett syfte med AJAX är att skapa bättre interaktivitet för webbsidor genom att det sker en del utbyte av data bakom kulisserna så att hela webbsidor inte måste laddas varje gång det finns ett behov av att hämta data från servern. Detta kan öka en webbapplikations prestanda, interaktivitet och funktionalitet. Ajax är som det säger asynkront på så sätt att allt som tas emot inte behöver reflekteras i webbsidan. Ajax anrop görs normalt via JavaScript. Data hämtas med hjälp av XMLHttpRequest-objekt Ajax är en plattformsoberoende teknik som är baserad på öppna standarder som DOM och JavaScript. Den kan därför användas på många olika operativsystem, datorarkitekturer och webbläsare.[10] 11(24)

12 4 Genomförande I detta kapitel beskrivs design och arkitektur, utvecklingsmiljö samt den resulterande applikationen. 4.1 Utvecklingsmiljö Utvecklingsmiljön som använts i projektet är uppsatt i en virtuell pc för att få en avskärmad miljö som är enkel att återställa vid eventuella problem. Det är också en ren miljö där endast de nödvändiga applikationerna är installerade. Följande programvaror har använts under utvecklingen: Microsoft SQL Server 2005 Microsoft Visual Studio Team System 2008 Development Edition Linq to LLBLGen Pro 2.6 Beta LINQPad StarUML 12(24)

13 4.2 Arkitektur Arkitekturen består av en 5-skikts lösning som är framtagen av Outokumpu IT Delivery. Det här projektet är det första som använder sig av denna lösning. Arkitekturen består i denna applikation av en SQL Server 2005 databas i botten, en webbapplikation skriven i ASP.NET 3.5 med C#, och en WCF-service som webbapplikationen kommunicerar med för att hämta och skriva data. Koden för affärslogiken är skriven i C#. Arkitekturmodell 13(24)

14 4.2.1 Data Access Layer Detta lager sköter all kommunikation med databasen. Dataaccesslagret är automatiskt genererat av en OR Mapper, i denna applikation är det gjort med hjälp av LINQ to SQL. Här finns alla entiteter mappade samt funktioner som skapar SQL-kommandon för att läsa, skriva och uppdatera poster i databasen Business Layer I Business Layer finns alla grundläggande metoder, t.ex. att läsa alla poster från en tabell i databasen, att redigera en post och att ta bort och lägga till. All kommunikation mot databasen går via underliggande lagret DAL. Metoder som hämtar något returnerar en IQueryable<T> av aktuell typ. Det betyder att själva frågan mot databasen inte körs i detta läge, den skapas bara och returnerar själva frågan. Ett BusinessContract innehåller attributen, eller fälten hos aktuellt objekt Facade Layer I fasadlagret finner man affärslogiken. Här finns metoder som exempelvis att hämta en specifik samordning, med tillhörande placering. Eftersom placering på en samordning (tabellen Job), är en foreign key till tabellen Location, så sätter man här en relation mellan två stycken funktioner som returner IQueryable<T> i where-villkoret. Det kan se ut enligt följande: public IList<JobPresSC> getjobwithlocation(guid JobID) { var q = from j in objjobmgr.getalljobs() from l in objlocationmgr.getalllocations() where j.locationid == l.locationid && j.jobid == JobID select new JobPresSC {... }; return q.tolist(); } Här returneras en lista av servicekontrakt (se mer i kap ). Det är först när frågan returneras och man kör.tolist() på den som frågan verkligen körs mot databasen. Den går då via BL och DAL för att konverteras till SQL-kod. Man brukar kalla detta förskjuten exekvering Service Interface I detta lager exponeras alla interface via en WCF-service som körs som en standard Windows Service. Via olika slutpunkter (i WCF-termer endpoints ) får man sedan tillgång till de funktioner som gränssnittet exponerar. Man kan själv bestämma om dessa ska köras via SOAP, Http, eller något annat protokoll. I detta projekt sker kommunikationen via Http. 14(24)

15 Ett så kallat ServiceContract bestämmer vilka metoder som ska finnas tillgängliga via en endpoint, och ett DataContract innehåller vilka attribut som finns tillgängliga för aktuellt objekt User Interface I User Interface lagret finner man det grafiska gränssnittet som presenteras för användaren. Detta lager brukar på svenska kallas presentationslager. Det kan bestå av exempelvis en Windows Form eller en webbapplikation, eller i andra fall både och. Eftersom det mesta av logiken ligger i fasadlagret så kan man relativt enkelt byta ut detta om sådant fall skulle uppstå. I samordningsapplikationen används som beskrivet tidigare en webbapplikation i detta lager. Webbapplikationen hämtar och skriver data via WCF-servicen och dess slutpunkter som exponerar funktionaliteten. Detta kan göras enligt följande där jag hämtar alla placeringar: SILocationMgrClient locclient = new SILocationMgrClient(); LocationSC[] loc = locclient.getalllocations(); locclient.close(); 15(24)

16 4.3 Databasdesign När jag modellerade databasen strävade jag hela tiden efter att göra den, tillsammans med applikationen, så flexibel som möjligt. Tabellerna ska helst inte behöva växa på bredden, d.v.s. man ska inte behöva lägga till ytterligare en kolumn för minsta ändring. Ett exempel på detta är tabellen Checklist. Checklist innehåller alla checklistpunkter som ska fyllas i för varje samordning. Dessa skulle kunna ligga i huvudtabellen jobb, med en kolumn för varje punkt, men det hade inneburit en hel del extra arbete då en punkt skulle tas bort eller läggas till. Nu skapas istället alla checklistpunkter dynamiskt i webbapplikationen genom att läsa den tabellen. När man kryssat i en punkt i checklistan ska man dessutom fylla i en åtgärd, dessa sparas i tabellen JobMeasure. På så vis kan man enkelt via ett administrationsgränssnitt lägga till eller ta bort punkter från checklistorna. Databasmodell 16(24)

17 4.3.1 Job Innehåller alla övergripande detaljer för en samordning. Några exempel är; Arbetsbeskrivning, start- och slutdatum, huvudentreprenör, samordnare, beställare o.s.v Contractor Innehåller alla företag som är godkända för arbete inom Avesta Works Person Innehåller alla personer som är samordnare eller beställare (flaggor anger vilken typ) Location Innehåller en struktur som anger platser som arbetet kan utföras på. Den är av hierarkisk struktur genom att den har en kolumn Parent som anger förälder. Genom att skapa tabellen på sådant sätt kan jag även via en rekursiv funktion i applikationen bygga upp en grafisk trädstruktur med hjälp av en TreeView-komponent JobLabor Innehåller personal hos antingen huvudentreprenör, eller personal som i sin tur hyrts in av huvudleverantör. Här lagras bl.a. vilket jobb de är inne på, namn och vilket företag de tillhör Checklist Innehåller alla checkpunkter för en samordning. Dessa kan vara av typerna Risk eller Planering JobMeasure Innehåller åtgärder för varje punkt (ifrån checklist) som anses vara en risk eller något man bör planera inför jobbet. 17(24)

18 4.4 Webbapplikationen Webbapplikationen kommer att finnas tillgänglig via Avesta Works intranät. I detta kapitel beskrivs de olika delarna i applikationen Söka samordningar Det första man möts av i applikationen är en lista av samordningar. Listan visar som standard alla aktiva samordningar. Det går att söka på beskrivning, placering, entreprenör, beställare och samordnare. Ifrån listan kan man också välja att visa detaljer, redigera eller kopiera en samordning Skriva ut en samordning Ifrån listan kan man välja Visa. Man får då upp en utskrivbar sida som innehåller de flesta detaljer om en samordning. Vid klick på skrivarikonen öppnas en standard utskriftsdialog och skrivarikonen som man klickade på försvinner vid utskriften. 18(24)

19 4.4.3 Registrera samordning Under menyvalet Skapa ny samordning kan man registrera en ny samordning. Registreringsformuläret är uppbyggt av en AJAX-komponent, TabContainer, som i sin tur består av flera Tabs (flikar). Detta gör att man kan dela upp formuläret på ett smidigt sätt, och som dessutom gör att man på ett enkelt sätta kan gå framåt och bakåt i formuläret. Detta är annars ett vanligt problem man har i webbapplikationer när man försöker skapa ett naturligt workflow. Om man då är tvungen att hoppa mellan olika sidor så måste man hantera att data förloras i så kallade postbacks. Vid val av plats klickar man på den lilla ikonen till höger om texten Ingen plats vald!. Det öppnas då en AJAX Modal Popup. I denna dialog visas platser i form av en trädstruktur. Trädstrukturen skapas dynamiskt genom en rekursiv funktion som läser innehållet i tabellen Locations. Det blir därför enkelt den dagen man vill lägga till eller ta bort platser. 19(24)

20 Datumfälten styrs även de av en AJAX-komponent, Calender. Så fort man ställer sig i något av datumfälten dyker en kalender upp. Med kalendern är det enkelt att hoppa mellan olika månader och år, man säkerställer dessutom att datumen blir i rätt format. Under fliken Personal lägger man till namn, personnummer och företag på de personer som kommer att utföra arbetet. I flikarna Riskbedömning och Planering finns checklistor med risker och planer som ska hanteras. Klickar man i en riskpunkt dyker det automatiskt upp en ruta där en åtgärd måste fyllas i. Alla punkter och komponenter i dessa checklistor genereras dynamiskt. Det blir på så vis enkelt att lägga till eller ta bort punkter i listorna. När man har matat in alla uppgifter för sin samordning går man till sista fliken Spara. Vid klick på OK valideras alla fält som är obligatoriska. En summering av felen visas, och man kan även se respektive fel vid dess fält. 20(24)

21 4.4.4 Redigera/Kopiera samordning Via listan av samordningar kan man även välja att redigera eller kopiera en samordning. För dessa ändamål har jag återanvänt formuläret för registrering av samordningar. På så sätt blir det enklare att administrera/utveckla då förändringar endast behöver utföras i ett enda formulär. Att man har möjlighet att kopiera en samordning beror på att en entreprenör ofta återkommer och gör liknande, eller kanske ett exakt likadant, arbete men kanske vid en annan tidpunkt eller med annan personal. Man slipper då skriva om hela samordningen, utan kan istället gå in och ändra på exempelvis start och slutdatum. Det går naturligtvis även att ändra all annan data för aktuell samordning Administrationsgränssnitt Via administrationsgränssnittet kan man hantera följande: Administrationen kommer att skyddas av ett befintligt autentiseringssystem kallat Avesta Web Login. Personer Lägga till eller ta bort (inaktivera) personer. Ändra en persons egenskaper, samordnare och beställare. Platser Lägga till nya placeringar och ändra namn på befintliga. Entreprenörer Lägga till, ta bort (inaktivera), eller ändra namn på företag. Checklistor Lägga till eller ta bort (inaktivera) punkter under Riskbedömning och Planering. 21(24)

22 4.5 Val av OR Mapper I den arkitektur som beskrivs i föregående kapitel ska en OR-mapper användas för att generera ett s.k. dataaccesslager. En OR-mapper används för att mappa entiteter i databasen till objekt i koden. (se mer om detta i kap. 3.4). Eftersom arkitekturen är ny och inte helt fastställd så fick jag i uppdrag att testa OR Mappern Linq to LLBLGen Pro 2.6 (hädanefter LLBLGen Pro). LLBLGen Pro är en OR-mapper som är framtagen av Solutions Design. Fördelen med denna är att den har stöd för de flesta databaser, och den ska vara aningen snabbare än Microsofts egna produkt (LINQ to SQL). Den är även flexibel på sådant sätt att det går att modellera i designern för produkten. Det går att sätta upp arv mm direkt i GUI:t. Den version av LLBLGen Pro som jag använde mig av befann sig dessvärre fortfarande i betastadiet. Tidigare version hade inte stöd för LINQ och var därför inte ett alternativ. Till en början verkade allt fungera som förväntat, jag satte upp ett exempelprojekt och skapade en konsollapplikation där jag via lager-arkitekturen kunde utföra CRUD- (Create Read Update Delete) operationer. Problem uppstod dock när jag skulle börja skapa relationer (joins) mellan mina entiteter. Det visade sig att det ännu inte fanns stöd för att göra detta mellan flera funktioner som returnerar IQueryable<T>. Eftersom det fortfarande var några veckor kvar till releasen av den färdiga produkten, och därmed risk att försena projektet, så var jag tvungen att se mig om efter andra alternativ. Valet föll då på Microsofts egna produkt LINQ to SQL. Fördelarna med LINQ to SQL är den redan finns inkluderad i utvecklingsmiljön Microsoft Visual Studio Det finns också en hel del dokumentation att tillgå. Nackdelen är att den än så länge inte stöder någon annan databas än SQL Server. Eftersom både LLBLGen Pro och LINQ to SQL använder sig av en LINQ provider så är det relativt enkelt att bara byta ut dataaccesslagret som skapas av dessa OR-mappers. Det blev därför en ganska enkel uppgift att byta ut LLBLGen Pro mot LINQ to SQL. Väl utbytt så fungerade relationerna utmärkt. Vidare så kommer det förhoppningsvis även att vara en relativt enkel operation att byta ut LINQ to SQL mot framtida verktyg som t.ex. LINQ to Entities som är Microsofts kommande OR-mapper. 22(24)

23 5 Slutsats Resultatet av detta examensarbete är en väl fungerande applikation för samordning av entreprenörer med avseende på uppställda mål och förväntningar. Alla krav (anges i kap. 2) är idag uppfyllda. I skrivandets stund återstår testning och produktionssättning av applikationen, men det är och var planerat senare än slutdatumet för detta examensarbete. Administrationsgränssnittet ska också skyddas av ett behörighetssystem kallat Avesta Web Login, men eftersom gränssnitten för det systemet inte är klara förrän om ett par veckor har det inte kunnat implementeras. Det kommer dock att göras innan produktionssättningen av applikationen. Något som kunde ha gjorts lite bättre är kanske designen. Jag har inte haft så mycket tid som jag önskat att lägga ner på form och design, men jag anser ändå personligen att resultatet blev godkänt. Utvecklingsmöjligheterna är många. Eftersom interfacen exponeras av en WCF-service så öppnar detta för att även andra system skulle kunna hämta eller skriva data till applikationen. Ett önskemål om vidareutveckling är att integrera detta system till ett som hanterar körkort för skydd och säkerhet. Det finns idag ett krav att alla entreprenörer som arbetar inom området ska ha genomgått en kurs. Man skulle då kunna slå upp personnumret på aktuellt personal mot detta system och på så vis direkt kunna se om personen i fråga har genomgått denna kurs. Tyvärr är dock inte det systemet moget för en sådan integration ännu. Man skulle också kunna tänka sig en integration mot verksamhetssystem Maximo som används på orten. I Maximo hanterar man bland annat arbetsorder, och de kan i många fall vara relaterade till en samordning i denna applikation. Mindre förändringar som att lägga till eller ta bort punkter på checklistor, hantera platser osv. är väldigt enkla att genomföra eftersom allt sådant skapas dynamiskt. Det sparar både tid och pengar i förvaltningen av applikationen. Applikationen använder sig även av väldigt ny och modern teknik, vilket gör den relativt framtidssäker. Jag använder ordet relativ då utvecklingen går så otroligt snabbt framåt. Vad gäller den arkitektur som testats i detta projekt så återstår det fortfarande att se hur den klarar belastningen när den kommer ut i produktionsmiljö. När det gäller den initiala utvecklingen av en applikation så blir det en del extra arbete med den typ av struktur som denna arkitektur har, så var också fallet i detta projekt, men jag tror att man i det långa loppet kommer att tjäna på det med tanke på den skalbarhet arkitekturen innebär. Jag har någonstans läst att man med ett serviceorienterat angreppssätt får lägga till ca 30 % tid i den initiala utveckling men att har igen det mångdubbelt redan de första åren. Om det visar sig att arkitekturen håller även i produktionsmiljö så kommer jag varmt rekommendera att man fortsätter använda sig av denna. Eftersom jag tidigare inte hade jobbat med många av teknikerna som används i detta arbete så har jag även fått ut en hel del själv av examensarbetet. 23(24)

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Konsultprofil. Per Norgren (1983) Arkitekt & webbutvecklare

Konsultprofil. Per Norgren (1983) Arkitekt & webbutvecklare Konsultprofil Per Norgren (1983) Arkitekt & webbutvecklare Per Norgren är arkitekt och webbutvecklare som främst är inriktad på Mircosofts.Net-ramverk och EPiServer. Han har arbetat i branschen sedan 2007

Läs mer

VAD GÖR DU / VEM ÄR DU?

VAD GÖR DU / VEM ÄR DU? INNEHÅLL Vad blir din roll Databaser vad är och varför Terminologi Datamodellering vad är och varför Utvecklingsprocessen SQL vad är det Data / Information / Kunskap Kapitel 1 delar av. Praktisk Datamodellering

Läs mer

Henrik Häggbom Examensarbete Nackademin Våren 2015

Henrik Häggbom Examensarbete Nackademin Våren 2015 AV Henrik Häggbom Examensarbete Nackademin Våren 2015 1 INLEDNING Som examensarbete på min utbildning på Nackademin Programutveckling.NET kommer jag skapa ett webbaserat system för statistik, tabeller

Läs mer

Systemkrav Tekis-Bilflytt 1.3

Systemkrav Tekis-Bilflytt 1.3 Systemkrav 1. Systemkrav Systemkrav 2015-06-09 2 (8) Systemkrav 1. Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Diagnostisktprov Utveckla i Azure

Diagnostisktprov Utveckla i Azure .easec Diagnostisktprov Utveckla i Azure Mats Johannesson 2015-06-08 1 o Indikerar ett svar önskas. Flera svar önskas. Maxpoäng: 86 Din poäng: Godkänt: 43 poäng Väl Godkänt: 60 poäng 2 1. Vilka fyra alternativ

Läs mer

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5) Läs mig först Stockholms stad SOA-plattform 1 (5) Innehållsförteckning 1 Beskrivning av SDK 3 1.1 Software Developer Kit för Utvecklare... 3 1.2 Support för... 3 1.3 Omfattning... 4 1.4 Versionshantering...

Läs mer

KONSULTPROFIL Rodrigo

KONSULTPROFIL Rodrigo KONSULTPROFIL Rodrigo Systemutvecklare.NET/EPiServer/SharePoint Sammanfattning Rodrigo är en utåtriktad och glad person med båda fötterna på jorden som trivs både med att leda och samarbeta. Har jobbat

Läs mer

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold Nya möjligheter med Technology Björn Svensson, Björn Torold Vem är vi? 2 Copyright 2011 Lawson. All rights reserved. Nya möjligheter med Technology System Foundation Grid Förändrar basen i Installation

Läs mer

Engineering Bases viktigaste egenskaper

Engineering Bases viktigaste egenskaper Engineering Bases viktigaste egenskaper Med Engineering Base intåg på den Svenska marknaden är det många företag som inom de närmaste åren kommer att se över strategin kring sitt CAD system och utvecklingen

Läs mer

UTVECKLINGSMILJÖER Microsoft Visual Studio (2003-2013), SQL Server Management Studio 2008-2010, Eclipse

UTVECKLINGSMILJÖER Microsoft Visual Studio (2003-2013), SQL Server Management Studio 2008-2010, Eclipse KONSULTPROFIL Daniel Systemutvecklare.NET Sammanfattning Daniel har mer än 10års erfarenhet av utveckling i olika programspråk. Daniel har i första hand arbetat med Webbutveckling och känner att han har

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

Web Services. Cognitude 1

Web Services. Cognitude 1 Web Services 1 Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.)

Läs mer

QC i en organisation SAST 2008-09-16

QC i en organisation SAST 2008-09-16 QC i en organisation SAST 2008-09-16 1 Agenda Hur är vi organiserade inom test på SEB? Hur är QC uppsatt på SEB? Hur arbetar vi med QC i en stor organisation? Uppfyllde QC våra förväntningar och hur har

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Konsultprofil Joel Andersson Född 1976

Konsultprofil Joel Andersson Född 1976 Konsultprofil Joel Andersson Född 1976 Erfaren systemutvecklare som jobbat med olika typer av utveckling sedan 1998 i Microsoftmiljö med inriktning på.net (C#, VB.NET & ASP.NET) och SQL. Som konsult i

Läs mer

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program

Föreläsning 1. Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Föreläsning 1 Presentation av kursen Vad är programmering? Lite om java och utvecklingsmiljöer Aktivitetsdiagram Ett första program Deitel: 1.1-1.9, 2.1-2.3 DA101A Programmering Programmering, DA101A Kursansvarig:

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

Stored procedure i ASP.NET

Stored procedure i ASP.NET Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored

Läs mer

Din guide till. Teknisk Specifikation Säljstöd

Din guide till. Teknisk Specifikation Säljstöd Din guide till Teknisk Specifikation Säljstöd April 2014 Innehåll Systemkrav... 3 Operativsystem... 3 Mjukvara... 3 Maskinvara... 4 Datakällor... 4 Databas... 5 Databasstruktur... 5 Katalogstruktur...

Läs mer

Systemkrav och tekniska förutsättningar

Systemkrav och tekniska förutsättningar Systemkrav och tekniska förutsättningar Hogia Webbrapporter Det här dokumentet går igenom systemkrav, frågor och hanterar teknik och säkerhet kring Hogia Webbrapporter, vilket bl a innefattar allt ifrån

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2014 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB

Skapa ett eget programnu! NU! Komplett med programvara och konkreta exempel! Patrice Pelland. Swedish Language Edition published by Docendo Sverige AB NU! Skapa ett eget programnu! Patrice Pelland Komplett med programvara och konkreta exempel! Swedish Language Edition published by Docendo Sverige AB Kapitel 2 Installera Visual Basic 2005 Express Edition

Läs mer

Tips & Trix - Teknik Jeeves World 2011. Copyright 2011 Jeeves Information Systems AB

Tips & Trix - Teknik Jeeves World 2011. Copyright 2011 Jeeves Information Systems AB Tips & Trix - Teknik Jeeves World 2011 Copyright 2011 Jeeves Information Systems AB Agenda Formulärdesign Förbättra användarvänlighet För systemadministratören Tips vid sökning Nätverkskonfigurering Säkerhet

Läs mer

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio Ditt första C#-program med Visual Studio Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så

Läs mer

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F) L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Creo Customization. Lars Björs 2014-10-16

Creo Customization. Lars Björs 2014-10-16 Creo Customization Lars Björs 2014-10-16 Norra Europas största partner och återförsäljare av PTC relaterad programvara (Windchill, Creo, Arbortext, MathCad, Relex) 70 anställda Egen utvecklingsavdelning

Läs mer

Lektion 2, Grundläggande funktioner i ASP.NET

Lektion 2, Grundläggande funktioner i ASP.NET Lektion 2, Grundläggande funktioner i ASP.NET Lektionen behandlar kapitlen 3 och 4 i kursboken. Application och Page Framework Med Visual Studio 2005 levereras ett antal inbyggda verktyg bland annat SQL

Läs mer

Asp.net mvc intro PER KVARNBRINK, 2015-01-27

Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Asp.net mvc intro PER KVARNBRINK, 2015-01-27 Byggstenarna i ett mvc-projekt 1. Databasen 2. Datamodellen (M:et) 3. Entity framwork 4. Routing 5. Kontroller (C:et) 6. Vy (V:et) 7. Vymodeller 8. Troligen

Läs mer

dit06omr@cs.umu.se 12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE

dit06omr@cs.umu.se 12 juni 2009 Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE Projektplan Webb-baserat bokningssystem för flyg Kurs: Applikationsutveckling för internet, TFE VT-09 Innehållsförteckning Inledning & problembeskrivning...1 Systembeskrivning...2 Affärsobjekt...2 Databasen...4

Läs mer

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF! Denna beskrivning har gjorts på Windows 2000 Server (men bör fungera även på Windows XP Home Edition/Professional och Windows 2003 Server). Att installera Oracle 10g kräver ca. 2 GB hårddiskplats och ca.

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

360 Infrastruktur - 360 v.4.1 & SharePoint 2010. Magnus Larsson, Software Innovation

360 Infrastruktur - 360 v.4.1 & SharePoint 2010. Magnus Larsson, Software Innovation 360 Infrastruktur - 360 v.4.1 & SharePoint 2010 Magnus Larsson, Software Innovation Agenda 360 Grundinstallation 360 Avancerad installation 360 & Microsoft OneNote 360 Features installation 360 Grundinstallation

Läs mer

Jonas Daag Microsoftspecialist

Jonas Daag Microsoftspecialist Sofia Österman Jonas Daag Microsoftspecialist Systemutveckling/IT-Arkitekt KOMPETENS PROJEKLEDNING SYSTEMUTVECKLING SYSTEMFÖRVALTNING WEB FÖRÄNDRINGSHANTERING KRAVANALYS SÄKERHET MOBILITET MIGRERING LÖSNINGSARKITEK

Läs mer

Innehåll. MySQL Grundkurs

Innehåll. MySQL Grundkurs MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin

Läs mer

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Installera SoS2000. Kapitel 2 Installation Innehåll

Installera SoS2000. Kapitel 2 Installation Innehåll Kapitel 2 Installation Innehåll INSTALLATION MDAC och ODBC...2 Installera SoS2000 i arbetsplatsen...2 SoS2000 serverprogramvara...2 SoS2000 och övriga Office program...3 Avinstallera SoS2000...3 Brandväggar...3

Läs mer

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System

ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System ALM Live: Testfokus bättre mjukvarukvalitét med Visual Studio 2008 Team System Magnus Juvas Qwise Om oss: Qwise Vi hjälper systemutvecklingsteam att bli bättre. Vi är experter på ALM och Team System. Vi

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

ADO.NET Murach Kapitel 17-20

ADO.NET Murach Kapitel 17-20 Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

Middleware vad, hur, varför när?

Middleware vad, hur, varför när? Middleware vad, hur, varför när? Anders Kingstedt Askus AB Ersättas med en bild 1 Disposition Vad? Hur? Varför? När? Målsättning Ge er möjlighet att skilja på och 2 Vad? - är Middleware Ersättas med en

Läs mer

KONSULENT-ID: 2392 KONSULTPROFIL. IIS 7.0 Deepdive (MS E-Learning) 2009 BAKGRUND. Advanced WCF 2009 (Juval Löwy)

KONSULENT-ID: 2392 KONSULTPROFIL. IIS 7.0 Deepdive (MS E-Learning) 2009 BAKGRUND. Advanced WCF 2009 (Juval Löwy) KONSULENT-ID: 2392 KONSULTPROFIL NN har arbetat med systemutveckling av applikationer sedan Aug -98, han började som datakonsult på XX AB i Mars -99 (och stannade där i 3,5år) med bl.a försäkringsbranchen

Läs mer

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto lars.ohlen@tieto.com

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto lars.ohlen@tieto.com Programmering Hur, var, när och varför 22 November Lars Ohlén Tieto lars.ohlen@tieto.com Agenda Om mig Programmering Vad är? Varför kunna? Hur använda kunskapen? Framtiden Sammanfattning Q+A 2 Om mig Arbetat

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

Läs mer

INSTALLATIONSINSTRUKTIONER FÖR VIDA INNEHÅLL

INSTALLATIONSINSTRUKTIONER FÖR VIDA INNEHÅLL VIDA INSTALLATIONSINSTRUKTIONER VIDA 2015 INNEHÅLL 1 INLEDNING... 3 2 FÖRE INSTALLATION... 4 2.1 Checklista för åtgärder före installation... 4 2.2 Tredjepartsprodukter... 4 2.2.1 Adobe Reader... 5 2.3

Läs mer

PHP-presentation Dataföreningens Open Source-nätverk

PHP-presentation Dataföreningens Open Source-nätverk PHP-presentation Dataföreningens Open Source-nätverk Netera AB Jimmy Furland jimmy@netera.se Björn Hansson hansson@netera.se Introduktion HTML-inbäddat webbprogrammeringsspråk Står för PHP Hypertext Preprocessor

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Administrera din SAS miljö med SAS Metadata Server och SAS Management Console. Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. SAS Intelligence Value Chain

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

30 år av erfarenhet och branschexperts

30 år av erfarenhet och branschexperts 30 år av erfarenhet och branschexperts Integrerad Säkerhet Integrerad Säkerhet Varför överordnat system Användarvänlighet Kvalitet Trygghet Kostnadseffektivitet Varför ett överordnat system? Med stora

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

ProgramVaruProjektet Från idé till färdig produkt

ProgramVaruProjektet Från idé till färdig produkt Första veckan Den här veckan har hela gruppen suttit inne på Nordicstations kontor och arbetat. Vi experimenterar fortfarande med programmering i Silverlight och undersöker möjligheterna hos Windows Phones.

Läs mer

Tomas Borg, konsult, SAS Institute Elin Rydell, konsult, SAS Institute Copyright 2003, SAS Institute Inc. All rights reserved.

Tomas Borg, konsult, SAS Institute Elin Rydell, konsult, SAS Institute Copyright 2003, SAS Institute Inc. All rights reserved. SAS Business Intelligence Nya rapporteringsverktyg i SAS 9 Tomas Borg, konsult, SAS Institute Elin Rydell, konsult, SAS Institute Copyright 2003, SAS Institute Inc. All rights reserved. Kunskapsvärdekedjan

Läs mer

Kunskapsbank ICARUS DB

Kunskapsbank ICARUS DB Kunskapsbank ICARUS DB K E Y L O G I C A B 1 Innehållsförteckning 1 Innehållsförteckning 1 2 SQL Server 2005 3 2.1 Installation 3 2.2 Användargränssnitt (DBMS) för SQL Express 3 2.3 Undvik att transaktionsloggen

Läs mer

KAP 18 SQL SERVER AGENT

KAP 18 SQL SERVER AGENT KAP 18 SQL SERVER AGENT Tjänsten Sql Server Agent Operator Job Alert (larm) http://www.youtube.com/watch?v=ii1tc493bzm 1 VAD ÄR SQL SERVER AGENT? SQL Server Agent är en tjänst (service) som ansvarar för:

Läs mer

GIT L0012B. Implementation av geografiska informationssystem. Information inför kursstart

GIT L0012B. Implementation av geografiska informationssystem. Information inför kursstart GIT L0012B Implementation av geografiska informationssystem Information inför kursstart K U R S I N F O R M A T I O N Innehåll Registrering 2 Kursplan 2 Schema 2 Föreläsningar 2 Laborationer 2 Examination

Läs mer

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1 Installation/uppdatering av Hogia Personal fr.o.m. version 13.1 Viktig information gällande installation Från version 12.2 av Hogia Personal krävs Microsoft.Net Framework 3.5 SP1 för att installation skall

Läs mer

KONSULTPROFIL Michael

KONSULTPROFIL Michael KONSULTPROFIL Michael Systemutvecklare.NET/EPiServer Sammanfattning Michael är en skicklig och erfaren systemutvecklare inom.net-teknologin med fokus på EPiServer-baserade webblösningar. Han är utbildad

Läs mer

Systemintegration baserad på WCF System integration based on WCF

Systemintegration baserad på WCF System integration based on WCF Systemintegration baserad på WCF System integration based on WCF HT 2011 Examensarbete, 15 HP Program IngOnline, specialisering Datorteknik och inbyggda system, 180 hp Institutionen för tillämpad fysik

Läs mer

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips Lab1 Introduktion Förberedelse för planetlabben genom att kapsla in (skapa wrappers) systemanrop. 1 Syfte Få en känsla av hur Win32API fungerar, dvs programmerarens interface gentemot Windows. Känsla för

Läs mer

WHITE PAPER. Open End TM Funktionell översikt

WHITE PAPER. Open End TM Funktionell översikt Open End TM Funktionell översikt Open End tillför verksamhetsprocesser nya möjligheter genom att kombinera avancerad teknik för automatiserad informationshantering i realtid med intuition och hög användbarhet.

Läs mer

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

Slutrapport. APFy.me

Slutrapport. APFy.me Slutrapport APFy.me Innehållsförteckning 1 Inledning... 3 2 Mål och syfte... 3 3 Projektbeskrivning... 3 4 Leverabler... 4 5 Resultat... 4 6 Utvärdering och analys... 4 6.1 Utvärdering av resultat... 4

Läs mer

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill

Läs mer

Anvisningar för inkoppling till Mikrodataåtkomst vid SCB

Anvisningar för inkoppling till Mikrodataåtkomst vid SCB Anvisningar för inkoppling till Mikrodataåtkomst vid SCB Välkommen till systemet för mikrodataåtkomst, MONA. Denna handledning hjälper dig att snabbt komma igång och arbeta med MONA-systemet. Om du stöter

Läs mer

Entity Framework 4.0, en utvärdering av ett ORMramverk. Entity Framework 4.0, an evaluation of an ORM-framework Andreas Hall.

Entity Framework 4.0, en utvärdering av ett ORMramverk. Entity Framework 4.0, an evaluation of an ORM-framework Andreas Hall. Entity Framework 4.0, en utvärdering av ett ORMramverk Entity Framework 4.0, an evaluation of an ORM-framework Andreas Hall Daniel Hindrikes Akademin industri och samhälle Nr: IKA052010 EXAMENSARBETE,

Läs mer

Lab 5: ASP.NET 4.5 Site Navigation

Lab 5: ASP.NET 4.5 Site Navigation Lab 5: ASP.NET 4.5 Site Navigation Enkel navigering är en viktig del av en modern webbapplikation. Eftersom en stor del av utvecklingstiden för en site används för att bygga menyer, trädstrukturer och

Läs mer

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser. WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit. TNT ExpressShipper installation. Om ni redan har en ExpressShipper installation på företaget behöver ni först ta reda på vilken version som är installerad och sökvägen till databasen. Versionen ser ni

Läs mer

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern. Sync Master Sync Master är ett tilläggsprogram till Easy Planning som används för att automatiskt synka Outlook kalendrar med EP. Programmet ska installeras på en server som har en Outlook klient installerad.

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

VI SI CLOSETALK AB SYSTEMKRAV

VI SI CLOSETALK AB SYSTEMKRAV 2010-01-18 VI SI CLOSETALK AB SYSTEMKRAV 1 MJUK- OCH HÅRDVARUKRAV I detta dokument beskrivs de minimikrav och rekommendationer för mjukvara samt hårdvara som gäller för VISI System AB:s produkter. Visi

Läs mer

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Innehåll Inledning... 3 Fakta... 4 Innehåll... 4 Texthantering... 4 Granskning och versionshantering...

Läs mer

Sidrenderingsmodellen

Sidrenderingsmodellen Kapitel 3 Sidrenderingsmodellen I detta kapitel: Rendering av kontroller som taggar Paketera användargränssnitt som komponenter Lägga till kontroller med Visual Studio Sammanfattning Kapitel 3 snabbreferens

Läs mer

Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av

Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av Systemkrav 2014 för enanvändarinstallation fr o m version 2014.2 av Hogias ekonomisystem Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och som vi rekommenderar för

Läs mer

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2 Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering

Läs mer

Webbsidor och databaser i ASP.NET

Webbsidor och databaser i ASP.NET Webbsidor och databaser i ASP.NET med VB.NET Webbaserad applikationsutveckling december 2005 Innehållsförteckning 1 TABELLER OCH INSTÄLLNINGAR I DENNA SAMMANFATTNING... 3 1.1 Tabeller... 3 1.2 Lägga till

Läs mer

NU! NU! Bygg en webbplats NU! Bygg en webbplats. Swedish Language Edition published by Docendo Sverige AB. Bygg en webbplats.

NU! NU! Bygg en webbplats NU! Bygg en webbplats. Swedish Language Edition published by Docendo Sverige AB. Bygg en webbplats. web_omslag.qxp 2006-03-20 17:06 Sida 1 NU! CDn innehåller: Upptäck hur du: Använder "dra och släpp-metoden" för att lägga till text, bilder och andra objekt till en webbsida Skapar listrutor och dynamiska

Läs mer

Datorlaboration 0, Programmering i C++ (EDA623)

Datorlaboration 0, Programmering i C++ (EDA623) LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2013 Datorlaboration 0, Programmering i C++ (EDA623) Under den inledande datorlaborationen får du träna på de grundläggande

Läs mer

3.5 Visuell programmering

3.5 Visuell programmering 3.5 Visuell programmering Alla våra program hittills har varit C# Console Applications (sid 41) inkl. programmet MessageBox fast det genererade en grafisk meddelanderuta. Nu vill vi utnyttja grafikens

Läs mer

Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL. Version 1.2 2011-10-12

Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL. Version 1.2 2011-10-12 Jetshop AB WEBSERVICE-API 1.2 ANVÄNDARMANUAL Version 1.2 2011-10-12 1. Förord I det här dokumentet ges en generell beskrivning av det Webservice-API som är utvecklat av Jetshop AB, och är avsett för dig

Läs mer

Affärssystem för Gamersneed Sweden

Affärssystem för Gamersneed Sweden Dnr:922/22-07 Institutionen för teknik Examensarbete 15 högskolepoäng Affärssystem för Gamersneed Sweden Mattias Bertilsson & Johan Lindberg Oktober 2007 Institutionen för Teknik School of Engineering

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

URVAL AV UTFÖRDA FRILANSJOBB

URVAL AV UTFÖRDA FRILANSJOBB URVAL AV UTFÖRDA FRILANSJOBB Här följer information om ett urval av utförda frilansjobb. CONTENT MANAGEMENT- OCH GROUPWARE RAMVERK Kund: Sundance MD&M En modulär flashapplikation med en PHP och MySQL backend

Läs mer

Uppgraderingsinstruktion för Tekis-FB Avisering version 6.3.1

Uppgraderingsinstruktion för Tekis-FB Avisering version 6.3.1 Uppgraderingsinstruktion för Tekis-FB Avisering version 6.3.1 Allmänt Releasen omfattar uppgradering av Tekis Aviseringsprogram version 6.3.1 (för både Tekis-FIR och Tekis-KID avisering) samt databasuppgradering

Läs mer

Kom igång med Provectus Groupware

Kom igång med Provectus Groupware Kom igång med Provectus Groupware Provectus Groupware är en sammarbetsplattform för arbetsgrupper som innehåller alla de funktioner som en modern Microsoft Exchange lösning gör så som e-post, kalender,

Läs mer

TNK046 GIS - Databaser Laborationsuppgift 1 Introduktion till Microsoft Access 2007

TNK046 GIS - Databaser Laborationsuppgift 1 Introduktion till Microsoft Access 2007 Linköpings tekniska högskola ITN / Campus Norrköping Jan Petersson Uppdaterad av Marky Egebäck 17 november 2009 TNK046 GIS - Databaser Laborationsuppgift 1 Introduktion till Microsoft Access 2007 Översikt

Läs mer

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB

ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB ADITRO LÖSNINGAR FÖR EN ENKLARE JOBBVARDAG SUMMIT 2014 PER JOHANSSON & JOEL KÖHL ADITRO L FRÅN WINDOWS TILL WEB 2014-10-10 COPYRIGHT ADITRO. ALL RIGHTS RESERVED. 1 Agenda» Inledning/Bakgrund» Vad krävs

Läs mer

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version 2015.1 av GENERELLA KRAV

Hogias Ekonomisystem. Systemkrav för enanvändarinstallation fr o m version 2015.1 av GENERELLA KRAV Systemkrav för enanvändarinstallation fr o m version 2015.1 av Hogias Ekonomisystem Systemkraven specificerar de miljöer och förutsättningar som programvaran är testad i och som vi rekommenderar för att

Läs mer

Föreläsning 6 Databaser och säkerhet

Föreläsning 6 Databaser och säkerhet Databasbaserad publicering Föreläsning 6 1 Föreläsning 6 Databaser och säkerhet & Läs kapitel 13 i Databasteknik och kapitel 9 i boken PHP & MySQL: Novice to Ninja Databasbaserad publicering Föreläsning

Läs mer

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14 Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.

Läs mer