Utveckling
Expertis

Erfarna utvecklare och konsulter för helhetsleveranser

Lemontrees utvecklingsteam kan hjälpa er med helhetsleveranser av utvecklingsprojekt, men också stötta på konsultbasis inom en rad olika områden som kan ingå i en helhetsleverans. Vi har gedigen erfarenhet av projekt med hög komplexitetsnivå och branschspecifika kravställningar. Vi sätter oss i just era utmaningar och analyserar, utvecklar, implementerar och stöttar er genom hela resan.

Då vi dessutom har testautomatiserings- och DevOps-experter kan vi knyta ihop säcken och leverera hela projekt med alla komponenter som behövs för en färdig leverans.

Kontakta oss för konsultation eller frågor inom DevOps och utveckling

Har du frågor eller behöver hjälp med dina projekt inom DevOps och utveckling? Tveka inte att höra av dig till oss. Fyll i formuläret så återkommer vi till dig inom kort. Vi finns här för att hjälpa dig att ta nästa steg i din digitala utveckling.

Systemarkitektur

Lemontree har levererat och kvalitetssäkrat system i två decennier – låt oss hjälpa dig också!

Vi har utvecklat och förfinat komplicerade systemstrukturer hos kunder med mycket avancerad kravställning, dels utifrån hastighets- och skalbarhetsperspektiv, dels genom att arbeta nära kunden och med deras branschspecifika nischbehov.

Vi kan hjälpa dig som allra till oss innan du vet hur ska göra. Sedan stöttar vi dig genom hela processen.

Vilket system ska ni använda? Det är inte en självklar fråga. Det finns både licensprodukter för många ändamål, men vad som kanske är allt vanligare idag är att använda open source-ramverk. Kostnaden för dessa är naturligtvis lägre än en licensprodukt, men du betalar i stället för implementeringen. Vi har satt ihop en liten guide för vad det är viktigt att tänka på – och hur vi kan bistå er.

Systemarkitektur

Din guide i open source-djungeln

Att använda ett open source-ramverk kan erbjuda många fördelar, till exempel kostnadseffektivitet, anpassningsbarhet och en stor användargemenskap som kan bidra till att lösa problem. Men det finns också utmaningar att ta hänsyn till. Vad är det egentligen som är svårt i open source-världen idag? Vi hjälper er att navigera:

  1. Ni behöver veta vad som passar er organisation. Här kan vi agera bollplank och ge stöd och råd i hur ni ska tänka och agera mot bakgrund av er redan existerande produktkatalog och vad ni vill uppnå framöver.
  2. Ett open source-ramverk implementerar inte sig självt. Våra experter är väldigt vana att implementera nya ramverk, även i en redan komplex struktur med legacysystem och många microservices.
  3. Open source-ramverk drivs vanligtvis av ett community av utvecklare och det finns inte alltid en formell supportstruktur som är tillgänglig. Det kan innebära att man inte har tillgång till snabb och effektiv support om man stöter på problem eller behöver hjälp. Att använda ett open source-ramverk kan alltså kräva att utvecklarna har specifik kunskap och erfarenhet av ramverket. Det kan innebära att man behöver investera tid och pengar i utbildning för utvecklare och personal för att säkerställa att de har de rätta kunskaperna för att arbeta med ramverket. Våra utvecklare stöter på nya språk och ramverk nästan varje dag och är helt fenomenala på att anpassa sig till nya omständigheter och hjälper er både med uppstart och support.
  4. Säkerhet: Eftersom open source-ramverk är öppna för allmänheten att använda och modifiera, finns det en risk för att säkerhetsbrister kan utnyttjas av illvilliga användare. Det kan också vara svårt att identifiera och åtgärda säkerhetsproblem på grund av den öppna källkoden och det stora antalet bidragande utvecklare. Vi har både kompetens och lösningar för att säkerhetskontrollera kod.
  5. Kompatibilitetsproblem: när man använder ett open source-ramverk är det viktigt att säkerställa att det är kompatibelt med de andra teknikerna och systemen som används i organisationen. Om det finns kompatibilitetsproblem kan det leda till buggar och andra problem som kan påverka produktiviteten. Vi vet av erfarenhet komplexitetsnivån ofta ökar snabbt när det gäller kompatibilitet. Detta är ingen dussinkunskap. Många klarar helt krasst inte av att se hela bilden. Våra team har dock gjort detta i ett flertal mycket avancerade projekt.
  6. Beroende av utvecklargemenskapen: open source-ramverk är ofta beroende av en aktiv och engagerad utvecklargemenskap för att fortsätta utvecklas och uppdateras. Om gemenskapen minskar i storlek eller inte längre stöder ramverket kan det innebära att man inte längre har tillgång till uppdateringar eller support, vilket kan leda till problem för organisationen. Vi kan bistå er över tid med förvaltning och att upprätthålla kompetens.

Systemintegration

Avancerad systemintegration handlar om att koppla samman flera olika system på ett sömlöst sätt för att skapa en enhetlig, effektiv och stabil IT-infrastruktur. Det innebär att man tar itu med mer komplexa integrationer där flera olika system eller teknologier behöver samverka.

Här är några steg som kan ingå i processen för att genomföra en avancerad systemintegration:

  1. Planera integrationen: För att genomföra en avancerad systemintegration krävs en noggrann planering. Detta inkluderar att identifiera de olika systemen som behöver integreras, definiera integrationsscenario, förbereda data och identifiera eventuella säkerhets- eller integritetsrisker.
  2. Designa integrationen: Nästa steg är att skapa en detaljerad design för integrationen. Detta inkluderar att definiera gränssnitt mellan systemen, bestämma hur data ska flyta mellan systemen, utveckla och testa API:er och andra integrationskomponenter, och säkerställa att systemen fungerar tillsammans.
  3. Implementera integrationen: När integrationen har planerats och designats kan man börja implementera den. Detta inkluderar att integrera tredjepartsverktyg och komponenter, migrera data, testa och felsöka systemet och säkerställa att allt fungerar som det ska.
  4. Testa och validera: Efter att integrationen har implementerats behöver man testa och validera systemet för att säkerställa att allt fungerar som det ska. Detta inkluderar tester på alla nivåer av systemet, inklusive enhetstester, integrationstester, systemtester och acceptanstester.
  5. Dokumentera och underhålla: Efter att integrationen har implementerats och testats behöver man dokumentera och underhålla systemet. Detta inkluderar att dokumentera integrationsscenario, underhålla API:er och andra integrationskomponenter, övervaka systemet och felsöka eventuella problem som uppstår.

Genom att följa dessa steg kan man genomföra en avancerad systemintegration och skapa en enhetlig, effektiv och stabil IT-infrastruktur. Det är dock viktigt att ha i åtanke att det är en krävande process som kräver tid, resurser och teknisk kompetens.

Vi har moderniserat kundlösningar i 20 år och har mycket gedigen erfarenhet av komplexa systemintegrationer. Vi utvärderar och implementerar nya ramverk hela tiden och det är ingen dussinkunskap. Det blir snabbt komplext, vilket vi vet och kan hantera. Lås oss hjälpa dig!

Digital Integration Hub

Vi har ofta använt produkten Digital Integration Hub (DIH) vid integrationer. Typkunden för DIH är någon som sitter på en stor gammal datalösning (legacy-system) och som har hastighets- och skalbarhetsproblem. Här handlar det inte nödvändigtvis om att skriva om eller kasta ut systemen utan i stället att kapsla in dem. Detta innebär att i stället för att prata med stordatorn så pratar man med tjänsterna i DIH, och får således helt andra svarstider. Det som händer när man lägger något ”emellan” det gamla systemet och det nya är att ni i stället jobbar mot DIH är att ni i stället för att lägga tid på komplicerad och lågeffektiv förvaltning av de gamla systemen, kan fokusera på affärslogik och verksamhetsutveckling.

Sugar

Vi har över tid utvecklat det professionella servicepaketet Sugar, vilket kan alltså användas av de som vill bygga ett tredje generationssystem från början. För att det ska vara möjligt och också begränsa tidsåtgången, erbjuder vi förbestämda tekniker, arbetssätt och applikationshantering som hanterar de tuffa uppgifter som annars skulle ta åratal att implementera själva.

SUGAR är alltså både en plattform med avancerade teknologier och en metod för hur ni ska koda. I stället för att ägna mycket möda på att överväga verktyg och därefter förvalta dem individuellt och sinsemellan, vilket kan vara både komplicerat och svårhanterligt, erbjuder SUGAR en standardiserad metod som skapar lugn och ro i ditt utvecklingsteam. Detta möjliggör också för större spetskompetens då det finns ett utarbetat system inom vilket alla arbetar. SUGAR är alltså ramverket för dig som kodar, medan att t.ex. deploya till Kubernets är det administrativa.

Sugar är en vidareutveckling av Gigaspaces produkter, som ligger i botten. Därefter har vi anpassat produkten med både avancerade teknologier och metoder. Vi har t.ex. byggt en workflowmotor, ett OAUTH och ett microservices-ramverk som enskilda produkter inom ramen för Sugar.

Systemutveckling

Idag blandar många ihop utveckling med administration och förvaltning av verktyg. Det gör inte vi. Vi vet skillnaden och vi kan utveckla på riktigt. Förenklat kan man säga att val av verktyg är underordnade för oss. Vi har omfattande erfarenhet av att utveckla utan att använda färdiga komponenter eller tredjepartsverktyg. Detta kräver omfattande tekniskt kompetens och erfarenhet. Vi kan också vidareutveckla på redan valda ramverk och applikationer och anpassar oss efter er verksamhet och verktygslåda.

Vi har kompetens inom olika områden, inklusive men inte begränsat till:

Backend: Java, Spring, Springboot, C++, Python, .Net

Frontend: React, iOS, Android, NodeJS, Jenkins

Systemutveckling

Processteg för att utveckla avancerade applikationer från grunden

Här är några steg som kan ingå i processen för att utveckla en avancerad applikation från grunden:

  1. Definiera kraven: För att lyckas med en avancerad utveckling från grunden är det viktigt att man har en klar bild av vad man vill uppnå. Detta inkluderar att definiera funktionella och icke-funktionella krav, användarbehov, tekniska begränsningar och mål.
  2. Designa arkitekturen: Nästa steg är att skapa en detaljerad arkitekturdesign, inklusive en övergripande systemarkitektur, databasdesign, användargränssnitt, API:er och integrationspunkter.
  3. Implementera systemet: När arkitekturen har definierats kan man påbörja implementeringen av systemet. Detta inkluderar att skapa kodbasen, integrera tredjepartsverktyg och komponenter om nödvändigt, testa systemet och hantera eventuella buggar och problem som uppstår under processen.
  4. Testa och validera: En avancerad utvecklingsprocess kräver omfattande tester för att säkerställa att systemet fungerar som avsett. Detta inkluderar tester på alla nivåer av systemet, inklusive enhetstester, integrationstester, systemtester och acceptanstester.
  5. Deploya och underhålla: När systemet är testat och validerat kan det implementeras och deployas i produktionsmiljön. Efter det är det viktigt att man fortsätter att övervaka och underhålla systemet för att säkerställa att det fortsätter att fungera korrekt.

Genom att följa dessa steg kan man utveckla en avancerad applikation från grunden och uppnå en hög grad av anpassning och kontroll över systemet. Det är dock viktigt att ha i åtanke att det är en krävande process som kräver tid, resurser och teknisk kompetens. Vi hjälper er från ax till limpa.