ProgramVaruProjektet Från idé till färdig produkt



Relevanta dokument
Webservice & ERP-Integration Rapport

Slutrapport för JMDB.COM. Johan Wibjer

Interaktiva applikationer för dator (WPF) och web (Silverlight) Grafisk utvecklingsmiljö. Hela produktioner: design, layout, animationer, skins, etc.

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Ny skalbar och öppen OLAP-teknologi, SAS OLAP server

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.6.0

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

Vision WEB Komma igång med Electrolux Webbokning Windows Server 2012 R2 8/31/2017

Ett spel skapat av Albin Wahlstrand

Instruktion för användande av Citrix MetaFrame

Webbtjänster med API er

Instruktion för användande av Citrix MetaFrame

Microsoft Expression Blend + Sketch Flow

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.

Kunskapsbank ICARUS DB

PROGRAMUTVECKLINGSPROJEKT

Priskamp. En prisjämförelsesite Björn Larsson

Daniel Akenine, Teknikchef, Microsoft Sverige

Labrapport över Rumbokningssytemet Grupp:1

Webbokning Windows 7,8.1 &10 Installationsmanual

RAPPORT. Vad har du fått för reaktioner på din konsert? Leader Bergslagen Box Skinnskatteberg Besöksadress: Kyrkvägen 7

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

Installera SoS2000. Kapitel 2 Installation Innehåll

Förändringar i v5.2 SR-1

1 Installationsinstruktioner

Filhanterare med AngularJS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

Instruktion för användande av Citrix MetaFrame

utbildning Översikt av funktioner i #fakta

Slutrapport Get it going contracts

Introduktion till Matlab

Jag försöker hämta in video via Ulead programmet men får bara in bilden och inget ljud.

Introduktion till MySQL

INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll

Den räta linjens ekvation

Model View Controller. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

ProgramVaruProjektet Från idé till färdig produkt

Den räta linjens ekvation

PROGRAMMERING A VB 2008 EXPRESS UTVECKLINGSVERKTYGET VISUAL BASIC

Rune Tennesmed. Oskar Norling 1DV430. Individuellt Mjukvaruutvecklingsprojekt 1DV430 Webbprogrammerare H12 Oskar Norling

Säkerställ er tillgänglighet Kommunikationsrapporteringsverktyg

Praktiska saker. Sida 1

Innehåll. Förändringar i v5.2

Skissa och gissa. Individuellt Mjukvaruutvecklingsprojekt, 1DV430. Christian Nilsson, cn222gc, WP

Installationsanvisningar

Funktioner. Räta linjen

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

TEKNISK INFORMATION CENTURI 8. Kungsholmsgatan Stockholm Telefon

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

PROJEKT ALBYLEN. Datum: 25 mars AV: Magnus Lindgren, Mattias Jonsson, Alexander Paskota, Jimmie Yngvesson, Erik Nilsson

Universe Engine Rapport

AVCAD 4.0 för Windows

Compose Connect. Hosted Exchange

Startguide för Administratör Kom igång med Microsoft Office 365

Extern åtkomst Manual för leverantör

Version 1.0. Benämning OSG Storage Engine. Senaste revidering Användarbeskrivning

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

Instruktion: Trådlöst nätverk för privata enheter

Databashantering och Beslutsstöd

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

O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation

Projektrapport EDA095

Att jobba med delade projekt i Quadri DCM

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

Innehåll. Förändringar i v5.3

Manual för version V2

Mål med lektionen! Veta kursmålen. Ha kännedom om några av de grundläggande begreppen.

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Excel Övning 1 ELEV: Datorkunskap Sida 1 Niklas Schilke

Instruktion för användande av Citrix MetaFrame

Kort om World Wide Web (webben)

Henrik Häggbom Examensarbete Nackademin Våren 2015

Teknikprogrammet, inriktning informations- och medieteknik

Michael Bodin

Så får du Microsofts Office-paket gratis

TIS-Web startguide 3.6. TIS-Web Startguide

Objektorienterad programmering Föreläsning 2

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Rapport från Praktik på SVOX AG till

Kommandon i menyfliksområdet På varje menyflik finns grupper och i varje grupp finns en uppsättning relaterade kommandon.

1 Installationsinstruktioner

Post Mortem för Get The Treasure!

Systemkrav. Artvise Kundtjänst

Lathund - TimeEdit Introduktion

ESMIKKO4 är den driftmässiga grundstommen i Schneider Electrics integrerade säkerhetssystem.

DATORINTRODUKTION. Laboration E ELEKTRO. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Ulf Holmgren

Introduktion till Matlab

Startanvisning för Bornets Internet

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

UTVECKLINGSMILJÖER Microsoft Visual Studio ( ), SQL Server Management Studio , Eclipse

ToDo ios-applikation. Mikael Östman. Mikael Östman - mo22ez Linnéuniversitetet

Övning: hitta buggarna

Transkript:

Första veckan Den här veckan har hela gruppen suttit inne på Nordicstations kontor och arbetat. Vi experimenterar fortfarande med programmering i Silverlight och undersöker möjligheterna hos Windows Phones. Det finns en hel del häftiga funktioner att leka med, som exempelvis touchscreenen som kan uppfatta flera, simultana händelser, lutningsfunktionen som växlar vyn beroende på hur man håller telefonen och mycket mer. Samtidigt var vi uppmärksammat potentiella problem vi bör tänka på framöver. Telefonen har relativt lite minne och kraft i jämförelse med en riktig dator - det som emuleras på datorn kanske inte alls är som det kommer vara på telefonen. Vi har också fått igång en WCF webservice. Telefonen kan genom den kommunicera mot en server på en dator. Det är genom en sådan service som vi senare ska kunna hämta resultat från databaser till telefonen. Under nästa vecka ska vi försöka bestämma hur gränssnittet ska se ut och titta lite på kuber (flerdimensionella databaser). Andra veckan Under veckan har vi experimenterat med SQL Server Analysis Services (SSAS). Vi lyckades kommunicera mot en sådan server och hämta data från en av kuberna till vår webservice. Queryspråket MDX (MultiDimensional expressions) är ganska likt SQL, men om man vill ta ut mer specifik data kan det snabbt leda till en lång och avancerad query. Detta blir något vi kommer behöva studera lite djupare om vi ska skriva en query-byggare till Windows Phoneklienten. Olika alternativ kring hur webservicen ska publiceras, bl.a. Microsoft IIS (Internet Information Services) och Cassini. I nuläget använder vi oss av Cassini eftersom den är inbyggd i visual studio och är bäst lämpad för debugging, men med IIS blir det mycket lättare att senare administrera över servicen. Utöver dessa finns många andra alternativ. Därför kommer webservicen att struktureras efter en tjänsteorienterad (service-oriented) arkitektur, för att göra det väldigt lätt att publicera servicen på olika sätt utan att ändra något i koden. På klientsidan har vi byggt ett stiligt användargränssnitt där användaren kan välja vilka dimensioner och mått (dimensions och measures) som ska hämtas från kuben via servicen. Vad gäller själva presentationen av data har vi fortfarande lite problem. Ursprungligen ville vi ha ett dynamiskt rutnät som utvidgas och anpassas efter användarens vy (likt excel). Dock har det visat sig vara svårt att ta fram exakta koordinater hos enstaka komponenter i detta rutnät för de som befinner sig utanför vyn, för att ta bort dessa.vi har alltså ett rutnät som bara kan växa och till slut slöar ner telefonen oerhört. Vi ska utforska möjligheten att begränsa rutnätets storlek och istället presentera data på flera blad, om så behövs. Tredje veckan Under veckan som gått har vi studerat queryspråket MDX och undersökt möjligheterna för att göra en querybyggare till Windows Phone-klienten. Vi har lyckats hitta några mönster som queries kan byggas upp efter utan att man behöver oroa sig för errors. Om användaren ska kunna ställa väldigt avancerade frågor kommer querybyggaren att bli oerhört rörig, så vi har tänkt att det ska finnas ett antal fördefinerade queries istället. 1 KTH Haninge

Gridsystemet i Windows Phone-klienten som vi tidigare hade lite problem med fungerar nu väldigt bra. Nästa steg är att skriva ut resultaten från queryn i gridens celler. Webservicen kan nu ta emot MDX-queries från en klient och skicka den vidare mot SSASdatabasen. Dock uppstod ett problem när vi skulle returnera resultatet till klienten. De resultat man som returneras kommer i form av CellSet-objekt som finns definerade i ADOMD.NETbiblioteket. Vi hade ursprungligen tänkt att det skulle räcka med att skicka ett sådant objekt till klienten. Det vi inte hade tänkt på är att Silverlight (som vår klient är uppbyggd i) inte använder samma runtime och är därför inte kompatibelt med ADOMD.NET-biblioteket. Istället får vi skriva ett antal serialiserbara klasser för att få med den information som krävs. En fördel med detta är att vi kan plocka bort det data klienten inte behöver. Nästa vecka ska vi försöka få ihop en simpel men fungerande klient och börja lite smått med rapporten. Fjärde veckan Statusrapport vecka 17 Grunderna för webbservicen är klara. Den kanske behöver någon liten extra funktion senare men för de mål vi har uppsatta just bör den klara det fint. Vi har inte hunnit stresstesta den ännu, men först och främst måste vi snickra ihop vår Windows Phoneklient!Windows Phone-klienten kommer att bli vår prioritet under resten av projektet. Än så länge har den ett gridsystem för att kunna visa data tabulärt, en inloggningsskärm samt en huvudmeny. Dock är dessa komponenter inte sammankopplade än. För övrigt har veckans arbete flutit på. Som vanligt uppenbarade sig ytterligare ett problem med Silverlight i kombination med WCF. Vi använder oss av så kallade Fault Contracts för att meddela klienten, från service-sidan, om exempelvis fel lösenord vid inloggning. Dessa meddelanden får responskoden 500 i http-headern. Av någon anledning så kommer Silverlight att ignorera dessa meddelanden. För att lösa detta är vi tvungna att ändra responskoden i samtliga felmeddelanden. Bilden visar hur data kan presenteras i vårt gridsystem. Tanken är att man också ska kunna drilla upp och ner i resultatseten man får. Logiken för detta är i stort sett klar. Det som återstår är att kunna markera rader (även kolumner senare om vi hinner) och se mer detaljerad data. 2 KTH Haninge

Bilden ovan visar hur man kan drilla i data i SQL Server Management Studio. I Torsdags fick vi nya direktiv om hur Windows Phone-klienten ska kunna presentera data. Vår handledare på Nordicstation, Niklas Arbin vill att data ska presenteras i form av Pie Charts och eventuellt andra slags grafer. För att åstadkomma detta kommer vi använda ComponentArts Windows Phone-komponenter. ComponentArt är ett företag som erbjuder grafiska komponenter till bl.a. Windows Phone. Paketet kostar ca $3000 så vi kommer än så länge köra med deras testpaket som är gratis i 30 dagar. Komponenterna är hyfsat enkla att använda, det är dokumentation som är usel. Vi kommer inte behöva ändra något på service-sidan utan graferna kommer hantera data på samma sätt som vårt gridsystem. Vår tanke är att man ska kunna byta mellan olika presentationssätt, vi får se hur mycket vi har tid med. Femte veckan. Vi har fått ännu mer specifika instruktioner kring hur klienten ska se ut samt ett use case. Detta har resulterat i att vi har skrivit om klienten totalt. Data kommer inte längre att presenteras tabulärt utan med komponenter från ComponentArt-paketet. WCF-servicen kommer nu att autentisera användare mot en av Nordicstations SQL-databaser. I databasen finns ett stort antal användare samt information om de rättigheter de har. Dessa rättigheter reglerar vilken information de får hämta från kuben. Vad gäller kuben har vi fått en helt ny. 3 KTH Haninge

Den nya kuben har mätvärden för NKI (Nöjd KundIndex) och NMI (Nöjd MedarbetarIndex). Dessa värden kan presenteras ur olika hierarkiska vyer, vi använder organisationshierarkin med nivåerna : Företag - Enhet - Grupp - Person. Här kommer rättigheterna in. En användare kan antingen vara företagschef, enhetschef, gruppchef eller agent. Företagschef - Kan se samtliga nivåer men är begränsad till sitt eget företag. Enhetschef - Kan se samtliga grupper i sin enhet samt nivåerna under grupper. Gruppchef - Kan se samtliga personer i sin egen grupp. Agent - ej definerat ännu. Vi arbetade väldigt hårt den här veckan och lyckades faktiskt få till allt det här och dessutom drillnings-funktionen som nämndes i den förra rapporten. Det som återstår att göra på klienten just nu är att kunna ställa in ett tidsfilter med hjälp av en tidslinje från ComponentArt samt att kunna få ut äctionsfrån kuben som eventuellt kan finnas på ett cellvärde. Vad gäller kravspecifikationen har uppgiften utvecklats så pass mycket att den inte är särskilt aktuell längre. Tyvärr glömde vi att ta screenshots av den nya klienten, det får bli till nästa rapport. Sjätte veckan Klienten är i stort sett helt klar. Under veckan som gått har vi fixat några buggar och rensat koden. Det som återstår är att göra en fin och färgglad vy för presentation på individnivå. På servicesidan upptäcktes ett logiskt fel som ledde till att klienten ibland fick fel resultatset från kuben. För att lösa detta var vi tvungna att gå en rejäl omväg. När man skriver MDX queries kan man hänvisa till en medlem på olika sätt, antingen med namnet eller med ett unikt ID-nummer. Eftersom klienten inte har tillgång till de unika ID-numren måste servicen läsa av queryn med hjälp av RegEx och översätta namnet till det riktiga ID-numret. Tyvärr glömde vi att ta screenshots igen. Det får dröja till nästa rapport (eller redovisningen om vi glömmer igen). Nu är det bara att avsluta rapporten, förbereda redovisningen och kanske plugga lite arbetsmiljö. Sjunde veckan I början av veckan bestämde vi oss för att ändra hostingmetod. Från en konsolapplikation till IIS, en ganska radikal förändring. Som tur var så hann vi precis publicera vår service idag (fredag 20/5). Det var relativt lätt att få servicen att funka med IIS lokalt, men när vi sedan skulle lägga över den på en serverdator ute i Lidingö uppstod en massa strul. Efter flera timmar lyckades vi dock lösa problemet och nu är det möjligt att nå web servicen utanför det lokala nätverket, vilket också innebär att vi troligtvis kan visa den live på redovisningen. För övrigt har vi slitit med att göra vårt gridsystem flashigtöch färgglatt. Till en början använde vi ComponentArts egna gridsystem, men den var otroligt seg så vi gjorde vår egen istället. Under utvecklingen att vårt egna gridsystem har diverse synvillor och dumma avrundningar i Silverlight satt käppar i hjulet för oss. 4 KTH Haninge

På onsdagen efter redovisningen i nästa vecka ska vi också visa upp vår applikation på Nordicstations månadsmöte. Kursutvärdering. Kursen som helhet har, precis som projektet i årskurs 1, varit den mest givande kursen på hela året. Den här gången slapp vi mycket av den, enligt oss, onödiga formalian som veckovis tidsrapportering med mera. Nu fick vi helt lösa tyglar från skolans sida, så när som på statusrapporter och projektrapport, och fick anpassa oss efter företagets krav istället. Att komma i kontakt med företag har nog varit den bästa delen med projektet. Dels har man chansen att skapa nya kontakter och dessutom ett smakprov på hur arbetslivet kan se ut efter utbildningen. Vi kan inte komma på något negativt som varit anknutet till själva kursen. Fast det kunde ha varit bra med lite fler påminnelser att man ska söka projektuppgift i god tid. Visserligen nämnde Håkan detta men det kunde ha arrangerats några extra möten innan projektkursen startade för att se till att alla har en uppgift innan projektet startar. 5 KTH Haninge