APPLIKATION FÖR SAMORDNING AV ENTREPRENÖRER
|
|
- Birgitta Ek
- för 10 år sedan
- Visningar:
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)
Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.
Entity Framework Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen. Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se
Webbtjänster med API er
Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se
ASP.NET Thomas Mejtoft
ASP.NET Introduktion till ASP.NET Utveckla i ASP.NET I ASP.NET kan och bör man separera HTML-kod från övrig kod (C#, VB ) I enklare fall läggas kod i script-block Vanligtvis läggs den i en Code Behind-fil
Mål med lektionen! Repetera och befästa kunskaperna.
Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer
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
Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).
Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.
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
Webbtjänster med API er
Webbtjänster med API er Mål med lektionen! Titta på hur service:ar fungerar och hur vi programmerar dem. Vad lektionen omfattar WCF Service WCF Services Vad är en WCF service? En WCF Service är ett program
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
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...
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
Language Integrated Query, LINQ, och databaser
Language Integrated Query, LINQ, och databaser 1 Imperativ eller deklarativ programmering Imperativ programmering Du som programmerare beskriver i detalj alla steg som måste utföras för att lösa en viss
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
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
Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
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
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
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
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer
Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se
Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo
Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till
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
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.)
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
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
Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server
Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.
Systemkrav. Artvise Kundtjänst
Systemkrav Artvise Kundtjänst Sida 2/6 Innehållsförteckning 1 Inledning... 3 1.1 System... 3 2 Artvise Kundtjänst Databas... 3 2.1 Systemkrav för databasserver... 3 2.2 System... 3 2.3 Programvara... 4
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
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
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
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,
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.
TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7
för version 1.7 Innehållsförteckning Innehållsförteckning... 2 Krav för... 3 Systemskiss... 3 Systemkrav Server... 4 Operativsystem*... 4 Program i servern... 4 Databas... 5 SMTP inställningar för mail....
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å
Webbserverprogrammering
Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets
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
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
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
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
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
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
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
Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.
Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling
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
Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:
WEBBUTVECKLING Ämnet webbutveckling behandlar de tekniker som används för att presentera och bearbeta information i webbläsaren samt utifrån dessa tekniker skapa och vidareutveckla statiska och dynamiska
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
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
WEBBAPPLIKATION FÖR ADMINISTRERING AV DOKUMENT
Datateknik C, Examensarbete, 15 högskolepoäng WEBBAPPLIKATION FÖR ADMINISTRERING AV DOKUMENT Paul Kasselia Dataingenjörsprogrammet, 180 högskolepoäng Örebro vårterminen 2015 Examinator: Lars Karlsson WEB
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
WEBBSERVERPROGRAMMERING
WEBBSERVERPROGRAMMERING Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets syfte Undervisningen i ämnet
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...
Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.
Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.
Microsoft Visual Studio 2017
Microsoft Visual Studio 2017 Efter den inledande teorin om programmering är det dags för praktik. I bokens förord (sid 3) konstaterade vi: Programmering är i allra högsta grad ett praktiskt ämne. Du kommer
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.
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
Systemkrav Bilflytt 1.4
Systemkrav 1.4 Systemkrav 2018-08-28 2 (9) Systemkrav 1.4 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan
Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).
1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att
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
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
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...
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
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
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:
Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer
Webbtjänster med API er
Webbtjänster med API er Repetera kunskaperna Mål med lektionen! Vad lektionen omfattar Repetition av kursen. Webbtjänster? En webbtjänst är en tjänst som erbjuds av en elektronisk anordning till en annan
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...
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Systemrekommendation. Artvise Contact Center
Systemrekommendation Artvise Contact Center 2017-01-10 Sida 2/6 Innehållsförteckning 1 Inledning... 3 1.1 System... 3 2 Artvise Contact CenterDatabas... 4 2.1 Systemrekommendationer för databasserver...
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
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
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
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
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
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
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
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
Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer
Disposition 1. Kopplingen mellan Processanalys (DFDdiagram) och konceptuell modellering (ERdiagram) (se kap 4) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer Databasen (Kap 2) Den relationella
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
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
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
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
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...
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
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
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
Komma igång med Qlikview
Denna instruktion är till dig som är ny i Qlikview och snabbt vill komma igång med grundläggande funktioner. Innehåll 1 Introduktion... 2 1.1 Behörighet... 2 1.2 Webbläsare... 2 2 Installation av Qlikview
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
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
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
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
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
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,
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
Facit Tentamen 17/3 Informationsinfrastruktur
Facit Tentamen 17/3 Informationsinfrastruktur Teoridel (30 p) 1) Svar Application infrastructure innehåller system och tjänster som tillhandahåller funktionalitet och information till olika verksamheter.
Microsoft Dynamics 365 Business Application vs. ERP. Företagen måsta sätta sig själva i förarsätet
Microsoft Dynamics 365 Business Application vs. ERP Slutsats från mina 5 artiklar om ämnet: Tema Dynamics 365 Business Application 2017-05-10 Created by: Mikael Petersén: Vi är inne i ett stort teknikskifte
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:
Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse
Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i
Instruktioner för uppdatering från Ethiris 5.x till 6.0
Instruktioner för uppdatering från Ethiris 5.x till 6.0 Nedan följer instruktioner för hur man går till väga vid uppdatering av ett Ethirissystem version 5 till version 6. När man uppdaterar Ethiris från
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...
Metoder (funktioner) Murach s: kap Winstrand Development
(funktioner) Murach s: kap 6 2013-01-23 1 Winstrand Development Metoder I C# kan vi dela in koden i block en kodsekvens ska köras likadant på flera ställen i applikationen. Detta block kallas för en metod
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
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