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

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx

Introduktion till Entity Framework och LINQ. Källa och läs mer https://msdn.microsoft.com/en-us/data/aa937709.aspx Introduktion till Entity Framework och LINQ Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är Entity Framework? The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping

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

Systemutvecklare SU14, Malmö

Systemutvecklare SU14, Malmö Systemutvecklare SU14, Malmö Tentamen, Tenta Utveckling med ramverket.net(35 YH-poäng) Plats: Plushögskolan Malmö Tid: 2 februari 2015, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna, suddgummi. Ej

Läs mer

Webservice & ERP-Integration Rapport

Webservice & ERP-Integration Rapport 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...

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

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

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

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

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

Dag König Developer Tools Specialist Microsoft Corporation

Dag König Developer Tools Specialist Microsoft Corporation Dag König Developer Tools Specialist Microsoft Corporation Magnus Timner Transcendent Group Olov Mattsson Know IT Krav Testning Microsoft Team System Arkitektur Bygga Kodning Vinn en XBOX 360 Elite Alla

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

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

Dynamiska webbsystem. Ajax

Dynamiska webbsystem. Ajax Dynamiska webbsystem Ajax AJAX och web 2.0 Web 2.0 är egentligen bara ett buzzword för en modern webbsajt. Innehållet skulle till exempel vara: Rich internet application (ajax, flash, silverlight) (rich

Läs mer

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna.

Allmänna anvisningar: Skriv dina svar på svarsblanketten (se nästa sida) Markera och ange alla svar tydligt och entydigt efter instruktionerna. Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2014-06-13

Läs mer

Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved.

Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved. SAS Enterprise Guide 3.0 och framåt Daniel.Ringquist@swe.sas.com Copyright 2003, SAS Institute Inc. All rights reserved. SAS Enterprise Guide Ett Windowsbaserat rapporterings och analysverktyg. Enterprise

Läs mer

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver

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

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign Rodolfo Weisser.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign Översikt Rodolfo har mycket lång erfarenhet av systemutveckling i C# och på Microsoftplattformen och har god kunskap om Visual Studio

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

Installationsanvisningar

Installationsanvisningar Installationsanvisningar Hogia Webbrapporter INNEHÅLLSFÖRTECKNING Systemkrav version 2013.x 3 Installation av IIS för Windows Server 2008 5 Nyinstallation av Hogia Webbrapporter 8 Installation och inloggning

Läs mer

Systemkrav Bilflytt 1.3

Systemkrav Bilflytt 1.3 Systemkrav 1.3 Systemkrav Systemkrav 2016-11-22 2 (9) Systemkrav 1.3 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för

Läs mer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0 för version 1.6.0 Innehållsförteckning Innehållsförteckning...2 Krav för...3 Systemskiss...3 Systemkrav Server...4 Operativsystem*...4 Program i servern...4 Databas...5 Backup...5 Systemrekommendation

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

Från Data till Process

Från Data till Process Från Data till Process - Om bryggor och annat KommITS 17 nov 2005 Perspektiv och definitioner SOA för utvecklare: Service orientation är ett sätt skapa dynamiska, samverkande och löst kopplade applikationer.

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

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

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

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

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

Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012.

Sammanfattning. Applikationen är utvecklad i Microsofts utvecklingsmiljö Visual Studio 2012. Sammanfattning Inom ramen för kursen Självständigt arbete i Teknisk Fysik (15 hp) har en databaskopplad webbapplikation utvecklats. Arbetet var utformad som ett konsultuppdrag med pappersbruket Gruvön

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

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

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

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

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

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

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

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

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

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

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

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

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

Axalon Process Navigator SP Användarhandledning

Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP Användarhandledning Axalon Process Navigator SP 2013, senast reviderad: den 11 juni 2014 Innehåll Innehåll... 2 Om denna användarhandledning... 3 Syfte... 3 Vem är denna handledning

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

Ö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

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

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1 för version 1.3.1 Copyright information 2011 Tidomat AB. Med ensamrätt. Ingen del av detta dokument får återges, lagras i dokumentsökningssystem eller vidaresändas i någon form utan ett skriftligt godkännande

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

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

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

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

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

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer

Institutionen för Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink. Laboration: Flerskiktade applikationer Institutionen för 2014-11-17 Tillämpad fysik och elektronik Stefan Berglund och Per Kvarnbrink Laboration: Flerskiktade applikationer Målsättning Syftet med denna laboration är att ge den studerande kunskap

Läs mer

Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!

Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om

Läs mer

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt...

Vad är molnet?... 2. Vad är NAV i molnet?... 3. Vem passar NAV i molnet för?... 4. Fördelar med NAV i molnet... 5. Kom igång snabbt... Produktblad för NAV i molnet Innehåll Vad är molnet?... 2 Vad är NAV i molnet?... 3 Vem passar NAV i molnet för?... 4 Fördelar med NAV i molnet... 5 Kom igång snabbt... 5 Bli kostnadseffektiv... 5 Enkelt

Läs mer

Installationsanvisningar

Installationsanvisningar Installationsanvisningar Hogia Webbrapporter INNEHÅLLSFÖRTECKNING Systemkrav version 2011.XX 3 Installation av IIS för Windows Server 2003 5 Installation av IIS för Windows Server 2008 8 Nyinstallation

Läs mer

En integration av betalningssystem på hemsida

En integration av betalningssystem på hemsida Beteckning: Akademin för teknik och miljö En integration av betalningssystem på hemsida Benjamin Leetmaa Maj 2011 Examensarbete, 15 högskolepoäng, B Datavetenskap Ingenjör Online Examinator: Bengt Östberg

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

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

Utveckling av mötesplats på Internet

Utveckling av mötesplats på Internet Beteckning: Institutionen för matematik, natur- och datavetenskap Utveckling av mötesplats på Internet Johan Wennberg och Martin Hallmo Juni 2007 Examensarbete, 10 poäng, B Datavetenskap Internetteknologiprogrammet

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

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001

Datalagringsmetodik och arkitektur i Java. Projektdefinition. Projektdefinition. Björn Brenander. 7 maj 2001 Datalagringsmetodik och arkitektur i Java Projektdefinition Dokumenttitel Projektdefinition Dokumentansvarig Dokumentförfattare Björn Brenander Dokumentnamn Projektdefinition.doc Version 16 Ref. nr. Skapades

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

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Sida: 1(7) Installationsanvisningar VisiWeb Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Detta dokument Detta dokument beskriver hur man installerar VisiWeb på en

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

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

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

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

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20 Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?

Läs mer

för iscala & Epicor ERP

för iscala & Epicor ERP Epicor Storefront t för iscala & Epicor ERP Fred Boström Bitlog AB 1 Vad är Epicor Storefront? Epicor Storefront hjälper tillverkare, distributörer och detaljister att organisera och sälja sina produkter,

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

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

Distribuerade System, HT03

Distribuerade System, HT03 UMEÅ UNIVERSITET 21 oktober 2003 Institutionen för Datavetenskap Laborationsrapport Laboration Middleware Distribuerade System, HT03 Jini Namn: Anders Holm, c00asm@cs.umu.se Kjell Johansson, c00kjn@cs.umu.se

Läs mer

WINDOWS PRESENTATION FOUNDATION LEKTION 1

WINDOWS PRESENTATION FOUNDATION LEKTION 1 WINDOWS PRESENTATION FOUNDATION LEKTION 1 Mahmud Al Hakim mahmud@alhakim.se www.alhakim.se COPYRIGHT 2015 MAHMUD AL HAKIM WWW.WEBACADEMY.SE 1 MÅL Kursens övergripande mål Efter avslutad kurs ska den studerande

Läs mer

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Manuell installation av SQL Server 2008 R2 Express för SSF Timing Manuell installation av SQL Server 2008 R2 Express för SSF Timing Innehåll 1. Metoder att installera...1 2. Förutsättningar...2 DotNet Framework 3.5...2 MSI Installer 4.5...2 3. Hämta SQL Server 2008 R2

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

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

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

SIL SOAP API 4.0. beta prerelease

SIL SOAP API 4.0. beta prerelease SIL SOAP API 4.0 beta prerelease Nyheter och förändringar gentemot SIL SOAP API 3.1 Sid 1/19 Innehållsförteckning 1. Inledning... 4 2. Sammanfattning... 4 3. Tekniska förutsättningar... 5 3.1. Generellt...

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

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

Kapitel 4 Arkivmenyn Innehåll

Kapitel 4 Arkivmenyn Innehåll Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

ASP.NET Web Forms. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Vad är Web Forms?

ASP.NET Web Forms. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Vad är Web Forms? ASP.NET Web Forms Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Vad är Web Forms? Web Forms är en del av ASP.NET ramverket. Web Forms är kontroll- och händelsestyrd programmeringsmodell

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

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

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

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

Eva Hellstöm - Christina Strand

Eva Hellstöm - Christina Strand GIS-data som underlag för detaljplan Använd AutoCAD Map 3D för att läsa in GIS-data från länsstyrelsen m.fl. Synliggör din detaljplan för allmänheten med Mapguide Eva Hellstöm - Christina Strand AutoCAD

Läs mer

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram

Läs mer

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Vad är en databas? Databasutveckling Med MySQL/MariaDB Databasutveckling Med MySQL/MariaDB Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Vad är en databas? Från Wikipedia En databas (tidigare databank) är en samling information som är organiserad

Läs mer

Integrationsmöjligheter till Quality ID

Integrationsmöjligheter till Quality ID Integrationsmöjligheter till Quality ID Pulsen AB POSTAL ADDRESS Pulsen Application AB F O Petersons gata 9 421 31 Västra Frölunda Sweden VISITING ADDRESS F O Petersons gata 9 TEL +46 (0)31-709 82 00 FAX

Läs mer

F2 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16

F2 Exchange 2007. 2013-01-16 EC Utbildning AB 2013-01-16 F2 Exchange 2007 1 F2 Idag: Exchange i SBS 2008 Planering av systemet Exchange struktur, AD/GC/hierarki Core Components Management, Connectors Serverroller 2 Exchange Server i Small Business Server 2008?

Läs mer