Omstrukturering av en operativ app för Gestical
Innowise migrerade alla klientapplikationer till ett enda Azure-baserat ekosystem med en enhetlig teknikstack.

Översikt över kunder
Gestical är ett schweiziskt företag som fokuserar på energieffektivitet, särskilt när det gäller mätning och redovisning av värme- och vattenförbrukning i bostads- och industribyggnader. Kärnan i verksamheten utgörs av en egenutvecklad svit av sammankopplade applikationer som stöder allt från planering av uppdrag och fältarbete till rapportering och fakturering.
Medan projektets komplexitet ursprungligen underskattades, förbättrade den efterföljande förstärkningen av teamet avsevärt operativ organisation och kommunikation. Detta gjorde det möjligt för Innowise att professionellt hantera invecklade tekniska lager och leverera högkvalitativa resultat som uppfyllde våra affärsmål.

Utmaning
Med tiden hade Gesticals applikationsekosystem - Gestical Web, Gestical Plan och Gestical MIF - vuxit betydligt i fråga om funktioner och systembelastning. Arkitektur, infrastruktur och prestandaoptimering hade dock inte utvecklats i motsvarande grad. Innowise anlitades för att modernisera kärnapplikationen Gestical Web.
- Systemnedgångar och avbrott. Gestical-systemet var inte utformat för dynamisk skalning. I takt med att antalet byggnader, enheter och användare ökade, ökade också risken för avbrott och systemnedgångar.
- Stort beroende av dokumenterade arbetsflöden utanför systemet. Många grundläggande affärsprocesser hade inte integrerats i systemet eller dokumenterats på ett adekvat sätt, vilket innebar att allt måste dokumenteras utanför systemet. Följaktligen var medarbetarna tvungna att förlita sig på dokumentation utanför systemet för att utföra sina arbetsuppgifter. Detta resulterade i en ökning av det manuella arbetet, en långsammare verksamhet och en större risk för att inte ha fullständig information i systemet.
- Föråldrad teknikstack. Applikationerna byggdes med en föråldrad version av ASP.NET MVC och hostades på en enda Azure virtuell maskin.
- Icke-optimerad databas. Kundens lokala databas saknade normalisering och indexering, vilket påverkade prestandan.
Modernisera dina interna system med Innowise
Lösning vi levererade
Stegvis modernisering av Gestical-plattformen
Innowise implementerade en stegvis moderniseringsstrategi som omvandlade Gesticals äldre system till en molnbaserad, skalbar och säker plattform.
Moderniseringen omfattade Gesticals centrala operativa applikation, Gestical Web, som användarna använder för att hantera byggnader, övervaka enheter, generera rapporter och energikostnader.
Omarbetning av arkitektur och modernisering av plattform
Moderniseringen inleddes med en omfattande utvärdering av det befintliga ekosystemet i Gestical Web. Den äldre applikationen byggdes med en föråldrad version av ASP.NET MVC och hostades på en enda Azure virtuell maskin, vilket skapade skalbarhetsbegränsningar och prestandaproblem.
Vårt team implementerade Gestical Web på nytt med hjälp av Next.js och NestJS och distribuerade det till Azure App Service, en molnhanterad PaaS-plattform. Detta tillvägagångssätt minskade kundens arbete med att hantera infrastrukturen och de löpande underhållskostnaderna.
Migrering och optimering av databaser
En kritisk del av moderniseringen var migreringen och optimeringen av databaslagret. För att hantera kritiska prestandaproblem migrerade vi den egenhyrda MySQL-databasen till Azure Database for MySQL.
Införande av ett enhetligt API-lager
Tidigare hade flera applikationer direktåtkomst till databasen, vilket skapade dolda beroenden. Detta gjorde uppdateringar riskfyllda och ökade komplexiteten i migreringen.
Vi införde ett centraliserat REST API-lager som nu fungerar som den enda kommunikationspunkten mellan klientens applikationer och databasen. Detta tillvägagångssätt standardiserade datautbytet, stärkte valideringen och åtkomstkontrollen och minskade den arkitektoniska komplexiteten avsevärt.
Alla systemkomponenter i Gestical Web interagerar nu genom detta säkra API-lager.
Arbetet med Gestical-plattformen krävde en noggrann anpassning mellan befintliga system och den nya arkitekturen. Vårt team fokuserade på att utforma en skalbar grund som gör det möjligt för plattformen att utvecklas samtidigt som kontinuiteten för den löpande verksamheten upprätthålls.

Aliaksandr Kavalchuk
Projekt- ledareTeknik
Backend
NestJS
Frontend
React, TypeScript
Databas & Dataåtkomst
MySQL, TypeORM
Autentisering och säkerhet
Azure AD
Team
Designer

Resultat
Gestical Web-plattformen arbetar nu inom en enhetlig backend-arkitektur, vilket förbättrar systemets tillförlitlighet och skapar en stabilare miljö för hantering av operativa arbetsflöden.
Genom att distribuera plattformen på Azure App Service minskade kunden kostnaderna för infrastrukturunderhåll och förenklade den löpande plattformshanteringen.
Med introduktionen av en centraliserat REST API-lager, Kommunikationen mellan applikationer och databas är nu standardiserad och säkrare, vilket minskar dolda beroenden och gör det enklare att implementera framtida systemuppdateringar.
Dessa steg skapar en strukturerad, säker och skalbar molnbaserad grund för den fortsatta stegvisa moderniseringen av Gestical-plattformen.









