SharpThoughts .NET
Om SharpThoughtsFokus OmråderProjekt Erfaringer

SharpThoughts
+45 26 52 75 17
kh@sharpthoughts.net
Cvr: 30771990

-- maj 2013 # juni 2014 --

Jobcenter Part II (Schultz Information)

1 måned efter i drift sættelsen af jobcenter løsningen hos Vejle kommune indgik jeg en ny aftale med Schultz. Løsningen blev udvided for nye kunder, nye ønsker fra eksisterende kunder blev implementeret mens løbende ændringer i lovgivningen gjorde nyudvikling til et must.

  • Communication Foundation (WCF)
  • .NET 4.5
  • C#
  • ASP.NET MVC
  • SQL
  • Microsoft Dynamics CRM
  • Message Queuing
-- april 2013 --

Rettelser i forbindelse med miljø ændringer (MJK)

En løsning som stadig kørte på .NET 1.1, lavet i Visual Studio 2002, havde nogle host navne og ip adresser indbagt i kildekoden. Maskinerne som kørte løsningen skulle skifte ip adresser og løsningen fejlede efter processen. Denne opgave blev løst ved først at upgradere til .NET 3.5, Visual Studio 2008, og så fjerne de hard-coded referencer ved at erstatte dem med konfigurerbare parametre.

Jeg var også med til at redeploye og teste opførslen af løsningen efter rettelserne var udført.

  • C# 3.5
  • Subversion
  • IIS 6.0
  • Deployment
-- april 2012 # marts 2013 --

Jobcenter løsning til det offentlige (Schultz Information)

Schultz Information har stor erfaring indenfor rådgivning for det offentlige, med fokus på den evig skiftende lovgivning. Som led i virksomhedens strategi for mere og mere at blive leverandør af it løsninger er det største igangværende projekt udvikling af en jobcenter løsning.

Visionen for projektet er simpel men ambitiøs; at indarbejde den gældende lovgivning på området i en effektiv løsning så det bliver nemt for jobcentermedarbejderne at sagsbehandle hurtigt og korrekt. Schultz har valgt Dynamics CRM fra Microsoft som bærende platform for løsningen. Løsningen er dog langt fra stand-alone; der er store krav til integration med andre offentlige services. Der skal for eksempel afleveres og hentes data fra blandt andet DFDG (Det Fælles Data Grundlag), KMD Aktiv og ams portalen.

SharpThoughts har primært ydet udviklingsassistance til 'integrationsbussen', sub-systemet som tager sig af alt integration med andre systemer. Udadtil snakker integrationsbussen for det meste secured SOAP over https genereret med WCF, men nogle af de eksisterende offentlige services skulle benyttes gennem filoverførsel og -hentning via FTPS eller SFTP da de bagvedliggende mainframe løsninger ikke er blevet opgraderet endnu. I sub-systemet er der blandt andet også blevet udviklet asynkrone kø mekanismer og datawarehousing til afrapportering af processeret data. En MVC web applikation giver adgang til loggen og indblik i hvad integrationsbussen har foretaget sig.

  • Communication Foundation (WCF)
  • .NET 4.0
  • C#
  • ASP.NET MVC
  • SQL
  • FTPS
  • SFTP
  • Microsoft Dynamics CRM
  • Message Queuing
-- juli 2010 # marts 2012 --

Enterprise System udvikling (Thomas Cook Airlines)

Thomas Cook Airlines Scandinavia transporterer hver dag tusindvis af rejsende. Deres in-house software til at holde styr på alt fra bookinger og flyafgange til beregning af den optimale sædefordeling for passagererne skulle omtænkes og udvikles fra scratch.

Da projektet var 3 måneder i gang manglede Thomas Cook en ny resource til projektet. SharpThoughts har implemeteret en del centrale services for systemet, nemlig: et configurationssystem som automatiserer generering af proxies til alt WCF communication og connections til databaser alt afhængig af det aktuelle 'miljø', en central logbook, en integrationsservice op imod Navision økonomisystemet som automatisk bestiller de ønskede varer/sæder og andre. Ud over det har jeg været meget involveret i søgerutinerne i applikationen, som for eksempel quick search muligheder og udvikling af et domain specific language (DSL) til at udtrykke søgninger hurtigt og præcist.

Kernen af det nye system blev taget i drift oktober 2011 hvorefter flere features og muligheder er blevet implementeret.

  • Communication Foundation (WCF)
  • .NET 4.0
  • C#
  • SQL
  • Presentation Foundation (WPF)
  • Workflow Foundation (WF)
-- januar 2010 # juni 2010 --

WPF Windows Applikationsudvikling (MJK)

MJK er en dansk producent af måleapparater, primært for vandindustrien. Deres programerbare styringer tilbyder et hav af konfigurationsmuligheder.

For at sikre MJKs kunder en positiv brugeroplevelse i forbindelse med opsætningen af apparaterne har SharpThoughts udarbejdet en Windows baseret WPF applikation som skaber forståelse for apparaternes virkning. Via et USB kabel kan kunderne nemt hente konfigurationsværdierne op til programmet, ændre disse og sende dem tilbage.

SharpThoughts har blandt andet udfyldt følgende tekniske opgaver/roller i projektet: UI designsprototype, prototyper af kommunikationslayeret med abstrakte protokoller og transporter, løsningsdesign og arkitektur, endelige implementation og problemshooting under initiele tests.

Samtidig har SharpThoughts sat MJK's nye .NET udviklingsmedarbejder ind i totalløsningen da han skal varetage den daglige vedligeholdese og fremtidige videreudvikling af applikationen.

  • Windows Presentation Foundation
  • .NET 3.5
  • C#
  • XML
-- marts 2010 # marts 2010 --

Opdatering Koncernfælles Intranet (MultiData)

I dette miniprojekt har SharpThoughts implementeret et ændringsønske i MultiDatas Koncernfælles Intranet.

Dette MOSS baserede intranet har vidensformidling som central ide og blev tidligere implementeret i et samarbejde med SharpThoughts (se nedenunder).

  • Microsoft Office SharePoint Server 2007
  • .NET 3.5
  • C#
-- oktober 2009 # december 2009 --

Reworking Security Infrastructure. (Workcompany)

Under sidste års samarbejde med SharpThoughts dukkede der hos Workcompany en god idė op. Vi var i gang med at lave backend arkitekturen om så den blev struktureret efter solide SOA principper. Sikkerheden, og især adgangskontrol var på det tidspunkt en af de ting Workcompany helst så løst på en anden måde. Under flere brainstorms kom vi i samarbejde med it-chefen frem til et nyt koncept.

Konceptet blev også hurtigt afprøvet i en prototype ved siden af de andre opgaver dengang. Derefter startede der dog en travl periode for Workcompany hvor der blev besluttet at sætte en fuld implementering i bero.

Nu, næsten præcis et år senere tog Workcompany kontakt med SharpThougts for at implementere den nye sikkerhedsmodel. De fleksibele authentikerings- og authorizeringsservices er blevet implementeret mens SharpThoughts også har fungeret som mentor for at hjælpe hele Workcompanys udviklingsteam på vej med den nye infrastruktur, og WCF generelt.

  • .NET 3.5
  • Windows Communication Foundation
  • Language Integrated Query
  • C#
  • SQL
-- juni 2009 # oktober 2009 --

Backend udvikling til Vodafones' 360.com. (Vodafone - ZYB)

I en sen fase i projektet joinede SharpThoughts ZYB's/Vodafones backend team i København. Opgaven gik for det meste ud på at udbedre bugs men også at fremstille design og dokumentation for features planlagt for efter første release.

ZYB havde tiltrukket en større gruppe af talentfulde konsulenter til at hjælpe til under udviklingen i denne travle fase. Samarbejdet hos ZYB blev koordineret ifølge det agile SCRUM projektstyringsmetode.

Ved siden af standard udbedring af fejl i C# backenden, som udelukkende var exponeret gennem SOA grænseflader (WCF) har SharpThoughts lavet implementationsprototyper af blandt andet GPS algorytmer i F#.

  • .NET 3.5
  • Windows Communication Foundation
  • Language Integrated Query
  • C#
  • F#
-- juni 2009 # juli 2009 --

SharePoint videnspartner. (Solution Team A/S)

Solution Team er en leverandør af SharePoint løsninger. I denne travle periode har SharpThoughts hjulpet til med analysearbejde for forskellige udviklingsopgaver, samt lavet løsningsdesignforslag og tidsestimater for disse.

Til tidsestimaterne blev der efter behov fremstillet prototyper af komponenter som indgik i den foreslåede architektur.

  • .NET 3.5
  • Windows Communication Foundation
  • Language Integrated Query
  • SharePoint
  • CSS
  • HTML
  • JavaScript
-- marts 2009 # september 2009 --

Rådgiver for belgisk offentlig .NET projekt. (procAT)

Da procAT vandt en opgave for NMBS, de belgiske sporbaner, i forbindelse med deres niche viden indenfor RFID påtog de sig samtidig at fremstille en avanceret distribueret .NET løsning.

proCat valgte SharpThoughts til at uddanne dens medarbejdere i de mest relevante teknologier som løsningen krævede, så som WCF, ASP.NET, LINQ. Samtidig har SharpThoughts leveret grundarkitekturen for løsningen. Projektet går ud på at en identifikationsnøgle på en vogn kan udlæses mens den passerer med høj hastighed forbi en udlæser. Alle data samles ind og processes for adskillige andre systemer hos NMBS.

Projektet er i gangværende og SharpThoughts fungerer pt. som rådgiver og kodereviewer.

  • .NET 3.5
  • Windows Communication Foundation
  • Language Integrated Query
  • ASP.NET
  • CSS
  • HTML
  • JavaScript
-- januar 2009 # maj 2009 --

Udvikling af MOSS internetapplikation. (Saxo Bank)

En kommerciel hjemmeside ejet af en af Saxo Banks vigtigste partnere skulle skifte platform til MOSS 2007.

I projektets forløb blev der udviklet master pages med layout pages og skræddersyede webparts så de resulterende sider var klar til at blive stylet endeligt for at opfylde kundernes krav.

SharpThoughts har deltaget i alle af disse udviklings- og, efterfølgende, testprojekter.

  • .NET 3.5
  • Microsoft Office SharePoint Server 2007
  • WebParts
  • MasterPages
  • Page Layouts
-- august 2008 # december 2008 --

SOA arkitektur for high-load backend til webapplikation (Workcompany)

Som led i en kontinuerlig kvalitetsforbedring i Workcompanys Workcyclus produkt blev det besluttet at den eksisterende 'engine' skulle erstattes af en service orienteret n-tier backend bygget med WCF.

I modsætning til den eksisterende backend der blev opdelt i horizontale lag, som det ses i rigtig mange eksisterende systemer, blev det besluttet at opdele den i vertikale slices, services. Hver af disse services er faktisk autonom kørende applikationer i sig selv. De ejer selv en del resurser som de har eneret på. Disse services kan derfor distribueres over en hel serverpark når belastningen på systemet stiger, mens hele systemet selv bliver mere fleksibelt overfor fremtidige ændringer. Det passede også godt ind i strategien om at stille nogle af servicerne tilgængelig gennem internettet for betalende kunder.

SharpThoughts har lavet SOA arkitekturen ud fra dataanalyser i samspil med kunden. Dette har service per service resulteret i de optimale genbrugelige servicekontrakter og datakontrakter, en proces kaldet for 'contract factoring'. SharpThoughts har også implementeret en del af servicerne, taget sig af WCF konfigurationen og sikret de ekstern tilgængelige services med X509Certificates.

  • .NET 3.5
  • Windows Communication Foundation
  • SQL Server
  • X509Certificate
-- januar 2008 # juli 2008 --

SharePoint baseret koncernfælles intranet (MultiData)

Efter en merger med Bluegarden der har kontorer i Norge og Sverige ønskede MultiData en koncernfælles platform både for publisering af virksomhedsinformationer og for at fremme samarbejdsmulighederne på tværs af landegrænserne.

SharpThoughts har påtaget sig rollen som løsningsarkitekt på SharePoint delen i designfasen af projektet, hvilket blandt andet har indeholdt dimensionering af serverparken der skal køre SharePoint farmen med testmiljøer og produktionsmiljø, samt rollen som udvikler af skræddersyede komponenter der skulle plugges ind i SharePoint. Disse omfatter funktionalitet for et custom look and feel af intranettet, logik til præsentation og søgning af medarbejdere, nyhedssektioner og værktøj til oprettelse og vedligehodelse af projektrum.

I mange tilfælde er WCF blevet brugt for at etablere genbrugelige services der bliver brugt af flere af de udviklede SharePoint WebParts.

  • Microsoft Office SharePoint Server 2007
  • Windows Communication Foundation
  • WebParts
  • MasterPages
  • Page Layouts
  • CSS
  • WSS
-- oktober 2007 # december 2007 --

Stort MCMS til SharePoint migreringsprojekt (ProActive)

Stort migreringsprojekt for en af ProActives vigtigste kunder. Kunden fik lavet en Microsoft Content Management Server (MCMS) løsning af ProActive i 2002. I år migreres løsningen så til Microsoft Office SharePoint Server (MOSS) med alt indhold der er blevet oprettet af de ca 200 redaktører hos kunden.

Da der ikke findes en god standard løsning til at flytte alt indhold fra et MCMS system til MOSS har Sharpthoughts på opfordring fra ProActive fremstillet et værktøj til dette formål. Løsningen læser alle data, for eksempel tekst og billeder samt filer der kan downloades af hjemmesidens brugere, ud af det eksisterende miljø via MCMS objekt modellen. Alt indhold bliver lagret i et stort XML dokument der efterbehandles før det automatisk bliver importeret til SharePoint (oprettet via MOSS objekt modellen).

Migreringsværktøjet opretter alle sites og subsites baseret på de korrekte site templates, samt alle sider baseret på de rigtige MOSS page layouts. Efter migreringen er udført produceres der ved anvendelse af XSLT en XHTML rapport på baggrund af XML filen der dokumenterer migreringens forløb. No touch migrering.

  • Microsoft Office SharePoint Server 2007
  • XML
  • XSLT
  • MCMS
  • Regular Expressions
  • JavaScript
-- juli 2005 # september 2007 --

Teknisk teamlead for ESDH system (HUR / Movia)

Projektet gik ud på løbende at innovere Movias ESDH system, med optimal brugeroplevelse og -tilfredshed til formål. I tæt samarbejde med Movias projektledelse gennemgik vi ønsker og krav så de kunne prioriteres i den rigtige kontekst. Acceptance tests blev udarbejdet.

Jeg varetog design/arkitektur for løsningerne. Til implementationen havde jeg ud over mig selv 2 andre udviklere som ressource. Jeg koordinerede arbejdet og sikrede efterfølgende at løsnignerne overholdt den ønskede kvalitet.

Afsluttende i hver udviklingscycle blev alle acceptance tests udført af Movia og leverancen godkendt.

  • Windows Communication Foundation
  • SOA
  • ASP.NET
  • SQL
  • C#
  • JavaScript
C# & F# => (#)Thoughts