Arkitekturfilosofi

Jeeves grundades 1992 med tanken att inga två företag är varandra exakt lika och att mjukvara ska lyfta fram och automatisera de affärsprocesser och arbetsflöden som skiljer det ena företaget från det andra. Vi var medvetna om vilka de största problemen som affärsystemsanvändare brottades med var: Antingen var de tvungna att förändra sin verksamhet för att kunna använda systemet (vilket gjorde att företaget förlorade greppet om sin ursprungliga vision medan de slösade tid på att ta fram kringgående lösningar och dåligt anpassade arbetsflöden), eller så var de tvungna att förändra mjukvaran för att kunna bevara företagets affärsprocesser (och spenderade massor med pengar på uppgraderingar och specialanpassningar, både nya och gamla).

Vi visste att det måste finnas ett bättre sätt. Vi måste kunna hitta en lösning på dessa problem som samtidigt också kan ge slutanvändaren en lägre total ägandekostnad. Vi tog oss an uppgiften att skapa en programvarulösning för affärssystem som kunde tillhandahålla lättbyggda, mycket anpassningsbara implementationer som också var enkla att uppgradera. Vi ville bygga en mjukvarulösning som skulle göra det möjligt för företag att implementera sina affärsstrategier i affärssystemet och som skulle kunna hjälpa dem att ta vara på allt som gör dem unika. Vi såg framför oss en ERP-lösning som skulle vara så lätt att anpassa att den skulle kunna hjälpa företag att växa, anpassa sig efter förändrade marknadsvillkor och serva sina kunder på ett bättre sätt.

Jeeves ERP:s geniala arkitektur är resultatet av vårt engagemang för att lösa dessa problem. Att vår arkitektur kan kallas ”genial” beror inte bara på den tekniska uppbyggnaden, utan också på det oerhörda värde den tillför våra kunder.

Den arkitekturella revolutionen

Alla de olika definitioner som finns av ordet arkitektur utgörs alla av en beskrivning av en process bestående av planering, design och slutligen byggande av fysiska strukturer. Vi studerar arkitekturen hos byggnader och städer på samma sätt som vi studerar konstverk och klassificerar dem i kategorier efter liknande stil och uppbyggnad.

Det fungerar på samma sätt när det gäller mjukvaruarkitektur. Arkitekturen avgör hur användbar, flexibel och varaktig en programvara är och precis som när det handlar om byggnader kan mjukvaruvaruarkitektur kategoriseras och klassificeras. Genom historien kan man se hur stilen på mjukvaruarkitekturer har förändrats, och även vilka begränsningar och fördelar olika system har haft beroende på vilka grundproblem skaparna av affärssystemet har velat lösa.

"Best Practice system"

Många av de affärssystem som finns ute på marknaden idag är formade av hur de först kom till: De designades utefter vad den första kunden efterfrågade och vidareutvecklades sedan efter efterföljande kunders behov. Mycket ofta har det blivit så att dessa arkitekturer av en tillfällighet har fått utgöra ryggraden i lokala on-premise-system som egentligen skapats för att passa några få företags verksamhet men som i slutändan har kommit att använas av många olika företag. Mycket ofta begränsas också dessa arkitekturer av stelbenta databaser och gammal teknik som är mycket svår att vidareutveckla och uppgradera när det behövs. Förändringar i en del av systemet får ofta stora konsekvenser i andra delar av systemet. Sådana här system, som är uppbyggda för att passa ett litet antal företag, kallas ofta för ”best-practice-system” eftersom de helt enkelt implementerar de särskilda processer som bäst passar en särskild grupp företag ­– d.v.s. systemen är anpassade efter de arbetsmetoder som varit ”praxis” inom just dessa företags verksamhet. Tyvärr blir dessa system snabbt svåra att ändra och för att kunna använda dem krävs det att ett företag förändrar sina affärsprocesser så att de arbetar som de företag som systemet skapades för. Kunder som har använt dessa system ber istället om en lösning som tillåter dem att enkelt anpassa systemet efter de processer som särskiljer dem från andra företag på marknaden. 

Konfigurerbara system

Efter best-practice-systemen kom ”10 000-switcharsgorillan”, vilket var en populär arkitekturstil på 1990-talet som berömda SAP gick i täten för. Dessa system byggdes inte för att möta behoven hos några få utvalda företag, utan för att passa alla företag, oavsett vilken bransch de var verksamma inom. Funktioner för alla tänkbara behov inkluderades i kodbasen och allt man behövde göra var att ”konfigurera” systemet. Efter att kunder valt bland de tusentals parametrar och datavisningar som fanns tillgängliga, var det dags att påbörja en lång och tröttsam kundutvecklingsprocess. Tillämpningar tenderar att vara komplexa och ta lång tid att genomföra på grund av att man måste installera, sortera, konfigurera och testa massiva mängder kod. Precis som med tidigare system, är det svårt att vidareutveckla och testa 10 000-switcharkitekturen. Därför blev dessa system nästan omöjliga att uppgradera utan att det krävdes en total återimplementering. Användare blev snabbt frustrerade på den föråldrade tekniken, ägandekostnaden och att det var så enormt dyrt att uppgradera. 

Multi-tenant Saas-lösningar

På 2000-talet fick motgångarna med den här typen av system leverantörer att springa i motsatt riktning. Programvaruleverantörer övergav tankarna på ett mycket anpassningsbart, dyrt system och fokuserade återigen på enkelhet; enkelheten i att alla delar samma system, databas och infrastruktur som kräver minimal konfigurering. De krympförpackade i stort sett programvaran och placerade den i ett moln. Detta innebar att även om användarna nu hade tillgång till den senaste tekniken till lägre kostnad, var de tillbaka vid sitt ursprungliga problem: De ägde ett generiskt system som inte passade någon och som var svårt att anpassa. Ännu värre än detta var att användarna nu inte ens hade tillgång till ett fullt definierat best-practice-system. Istället hade de ett system baserat på ”minsta gemensamma nämnare” som inte gav dem något sätt att differentiera sig själva på marknaden eller hantera sina avancerade affärsfunktioner på. Användare av de här systemen lärde sig snabbt att den pinan de upplevde att det var när de inte kunde anpassa sina system inte är den värsta pinan av alla.

Finns det en arkitektur som är lika kostnadseffektiv och teknologisäker som en SaaS-lösning, men ändå är möjlig att anpassa? En arkitektur som ger företag möjligheten att skydda sina unika affärsprocesser utan att behöva lägga ner tusentals timmar på det? En arkitektur som inte skapar hinder för den kontinuerliga förbättring som krävs när ett företag växer och förändras? En arkitektur med förmågan att anpassa sig när tekniken utvecklas?

Här kommer den modelldrivna arkitekturen in – det är detta som gör Jeeves ERP:s arkitektur så ”genial”.

Modelldriven arkitektur

Modelldrivna arkitekturer är byggda på tekniska modeller som beskriver hur programvara fungerar och affärsmodeller som beskriver vad programvaran ska göra. Modelldriven arkitektur skapar flexibla system byggda för modifiering och ändring. Arkitekturen tillåter att ny logik och nya databeteenden läggs till när som helst. Gammal logik och gamla beteenden fortsätter att fungera även när den underliggande systemlogiken uppgraderas. Modelldrivna arkitekturer är uppbyggda efter premissen att användaren kommer att tala om för systemet vad han eller hon vill ha gjort, vilket systemet sedan kommer att utföra. Detta är inte något best-practice-system som är baserat på processer som funkar bäst för något annat företag - det är ett system som är uppbyggt efter vad som funkar bäst för just ert företag. Det finns inte 10 000 alternativ att välja mellan - bara de alternativ ni vill ha. Systemet är definitivt inte heller ett system som baseras på den minsta gemensamma nämnaren i branschen. Ni får det ni vill ha, på det sätt ni vill ha det, snabbt och enkelt.

Den arkitektoniska revolutionen

Till skillnad från tidigare affärssystem där varje aspekt av produkten är hårdkodad och svår att anpassa eller ändra så är Jeeves ERP:s systemarkitektur modellbaserad. En utvecklare fastställer hur produkten ska se ut och kännas och den modellen används för att styra hur systemet drivs. Det är inte bara så att det är kunddatan som är unik för varje kund, utan även produktens utseende och känsla samt innehållet på varje sida är också unikt.

Jeeves ERP-system kommer med en förvaringsdel, Jeeves Site Repository, där alla kundspecifika tillämpningsdetaljer lagras. När kärnsystemet uppgraderas, bibehålls dessa förändringar och systemet fortsätter att fungera enligt de kundspecifika inställningar som gjorts. Kunder kan enkelt skapa en verkligt unik affärssystemslösning som förblir möjlig att ändra och uppgradera när det behövs. Idén är enkel: beskriv det system ni vill ha istället för att hårdkoda det och håll de beskrivna lösningarna separata från kärnsystemet. 

Nyckelfördelar

Då är det dags att utforska några av nyckelfördelarna med Jeeves ERP:s geniala arkitektur. 

Körtidsflexibilitet

Vissa modelldrivna arkitekturer tillämpar modellen genom att återskapa den kod som implementerar själva systemet. I Jeeves ERP:s arkitektur bibehålls modellen som en viktig del av systemet. Denna modell används när systemet körs så att ändringar och förbättringar kan göras med en minimal mängd störningar av systemets körtid.

Uppgradera nya funktioner tillsammans med modifikationer

Jeeves ERP:s arkitektur separerar modellen för standardsystemet från anpassningsmodellen så att kunder kan behålla sina specialanpassningar samtidigt som de kan dra nytta av nyutgivna standardfunktioner.

Zero Upgrade Force (ZUF)

I kodbaserade system måste specialanpassningar överföras manuellt från den gamla versionen till den nya och sedan omanpassas efter nya funktioner och beroendeförhållanden. I Jeeves ERP uppgraderas kärnsystemet runt de egna anpassningarna. Detta innebär att kunder kan uppgradera systemet på sina egna villkor och i sin egen takt och att det krävs en avsevärt mindre arbetsinsats att genomföra en uppgradering. Mer än 80 procent av Jeeves kunder uppgraderar till nästa version inom två år efter att den har släppts - och det är då ett beslut som de själva tar. Vi står bakom denna oslagbara statistik inom ERP-branschen.

Högeffektivitetsutveckling

Jeeves modellbaserade utvecklingsmiljö är mycket effektiv och produktiv. Endast minimal programmering görs, vilket gör det möjligt för Jeeves att snabbt komma med nya funktioner, och för kunder och partners att även de snabbt släppa nya funktioner. Stora förändringar kan ofta genomföras på bara några minuter.

Tillgängligt överallt

Jeeves arkitektur gör det möjligt att ha tillgång till systemet var man än befinner sig. Med detta menar vi mer än bara att man kan komma åt applikationer i molnet via webbläsaren på en mobil enhet. Jeeves ERP har väldigt effektiva klientserver-kommunikationssystem som gör det möjligt att använda applikationen i nätverk med smal bandbredd eller utanför lokala nätverk. Det innebär också att applikationen kan användas av företag som har enheter utspridda över stora geografiska områden.

Samarbete och kort tid-till-marknad för nya funktioner

Jeeves Application Builder (JAB) låter kunder snabbt och enkelt dela funktioner mellan installationer, vilket gör det möjligt för dem att importera och exportera inställningar i applikationer, rapportmallar eller nya program som en ”app”. Appar kan också delas mellan olika Jeeves-miljöer via JAB. Det gör det möjligt för er att samarbeta med Jeeves, våra partners eller andra kunder för att lösa problem och ytterligare vidareutveckla ert system, eller för att automatisera processen med flytta anpassningar från utveckling till test till produktion. Detta ger ett mycket kortare driftavbrottsfönster när systemet sätts upp för företagets produktionsverksamhet och eliminerar mänskliga fel.

Jeeves komponentramverk

Jeeves ERP:s geniala arkitektur består av många olika komponenter. I den här delen kommer vi att berätta om var och en av dessa komponenter. 

Jeeves Application Development Environment (JADE) (DevDB)

Jeeves Application Development Environment (JADE) är en modelldriven utvecklingsmiljö för ERP-applikationer med stöd för deklarativ och programmerbar utveckling. JADE kan skapa applikationer som kan samarbeta med alla Jeeves standardfunktioner utan att skriva en enda kodrad. Våra komplexa funktioner kan också utvecklas manuellt och integreras i kodbasen. Oavsett hur man väljer att arbeta, så är det med JADE möjligt att snabbt och effektivt definiera, utöka och underhålla Jeeves ERP.

Jeeves metadatamodell

Jeeves metadatamodell är en beskrivning av alla modellföremål, så som t.ex. datatyper, termer, kolumner, tabeller, relationer, program och rapporter. Metadatamodellen gör det möjligt att vidareutveckla Jeeves ERP med utökade data-, program- och utförandemodeller under körtid. Det innebär att man kan tillämpa anpassningar från Jeeves Site Repository samtidigt som systemet körs. Jeeves metadatamodell separerar standarsystemet från era individuella anpassade funktioner, vilket gör det möjligt att placera högeffektiva specialanpassningar ovanpå det uppgraderingsbara standardsystemet.

Jeeves Server

Jeeves-servern står som värd för det logiska skiktet av Jeeves-applikationen. Den hanterar användarinteraktioner och integrationslogik och gör det möjligt för användarna att komma åt servern från användargränssnittet. Det är det ramverk som används för att effektivt hantera makron, händelseprogram m.m. Jeeves-servern är motorn som hanterar alla typer av händelser, bygger applikationer genom att slå ihop modelldata med transaktionsdata samtidigt som applikationen körs. Den hanterar all databasåtkomst och alla andra Jeeves-tjänster. Jeeves-servern tar också hand de båda klienttyperna Jeeves Classic Client och Jeeves Web Client, tillsammans kända som Jeeves Insight.

Jeeves databas

Jeeves databas är en relationsdatabas som är implementerad i Microsoft SQL Server. Servern kommer med högkvalitativ dataförvaring och logik, vilka tillämpas genom inlagrade procedurer och triggerfunktioner. Databasen lagrar all affärsdata, bibehåller dataintegriteten och kommer med funktioner för transaktionshantering. Förutom att stödja webbtjänster säkerställer triggerfunktioner och rutiner att alla affärsregler alltid efterföljs, oavsett var en transaktion kommer ifrån. Implementationen av Jeeves databas kommer med en flexibel och utökningsbar plattform som kommer att kunna vara ett stöd för er affärsverksamhet både idag och imorgon. När ett företag växer och förändras kan Jeeves databas utökas med kolumner, tabeller, nya rutiner och förbättringar av befintliga rutiner som inte påverkas när ni uppgraderar systemet. Jeeves databas upprätthåller anpassade affärsregler oberoende av källan för databasåtkomst.

Jeeves Site Repository

Jeeves Site Repository är en lagringsdatabas för anpassningar som lagrar specialanpassningar, tillagda modelldata och inställningar. Site Repository är en beskrivning av de önskade ändringarna av systemet man vill göra. I funktionen lagras:

  • Förändringar av utseende som t.ex. stilar, färger, typsnitt, typsnittsstorlekar och fältpositioner.
  • Ändrad eller tillagd text såsom formulärs- och fliknamn, fältnamn och ändrade eller tillagda tabeller, termer, etc.
  • Slutanvändarroller, som t.ex. kopplingen av personer till roller.
  • Anpassade användarintegreringar samt anpassade navigeringsfunktioner och valideringslogik.

Jeeves Site Repository består av flera lager, vilket gör det möjligt att ha flera uppsättningar av ändringar tillämpade och prioriterade samtidigt. Site Repository är grundstenen i Jeeves ERP:s geniala arkitektur som gör det möjligt att hålla specialanpassningar separerade från standardfunktionerna. Systemet kan fullfölja sitt syfte utan att det krävs några framtvingade uppgraderingar.

Jeeves kontrollserver

Jeeves kontrollserver är ett övervakningsverktyg som kör Jeeves server. Med andra ord är det en superserver som övervakar Jeeves bas och användarsessioner och ser till att de är friska. Jeeves kontrollserver gör det enkelt att hantera flera Jeeves-servrar samtidigt för att göra det möjligt för systemet att växa med företaget när det växer. Kontrollservern gör det också enkelt att utföra uppgraderingar och arbeta proaktivt med systemet efter regler och andra schemalagda åtgärder.

Jeeves Client Broker

Jeeves Client Broker kopplar ihop klienter med servrar och fungerar som en mellanhand för klientsessioner. Jeeves Client Broker hanterar trafik mot Jeeves och balanserar belastningen av Jeeves servrar. Lösningen hanterar även serveråterkoppling till klienten och säkrar en anslutning mellan Jeeves Server och Jeeves Client via Internet. Jeeves Client Broker fungerar som ett mellanlager för internetåtkomst genom brandväggar. Med Jeeves Client Broker är det möjligt att hantera flera anslutningsmetoder med eller utan VPN.

Jeeves Standard Client

Jeeves Standard Client tillhandahåller ett rikt användargränssnitt som enkelt kan anpassas och göras personligt utan att man gör några ändringar av själva klienten. Modellen talar helt enkelt om för servern hur klienten ska se ut och formulären genereras enligt den definitionen. Ni kan själva enkelt lägga till fält, bygga formulär, skapa processarbetsflöden, skriva makron och designa rapporter med en begränsad mängd IT-resurser istället för att ingå avtal om applikationssupport på heltid eller vara tvungna att göra de tjänsteåtaganden som normalt krävs. Jeeves Standard Client kan också enkelt integreras med annan klient-sidoprogramvara, såsom Microsoft Office, webbläsarbokmärken, .NET-program, PDF-läsare, COM-föremål, ActiveX-kontroller, m.m. Den tillhandahåller också tjänster för utdatarapporter och filformat. Designen hos Jeeves Standard Client möjliggör effektiv och säker kommunikation över Internet. Den kan enkelt implementeras och kommer med ett utmärkt sökverktyg. Jeeves Standard Client fungerar bra i alla typer av nätverk, inklusive WAN, LAN, mobila och trådlösa. Den är också bra på att hantera nätverksstörningar: Systemet återansluter till den punkt där det blev avbrutet.

Jeeves Web Client

Jeeves Insight är Jeeves ERP:s nya webbläsarbaserade klient som skapades för att kunna användas både på PC och MAC. Jeeves Insight är nästa generations användargränssnitt för Jeeves ERP och den kan köras i en webbläsare samtidigt som den tillhandahåller en rik klientanvändarupplevelse. Jeeves Insights rollbaserade användargränssnitt kan dölja irrelevant information och förstärka funktioner som är viktiga för en specifik roll, så som t.ex. programdesign, tillgängliga rapporter, instrumentpanelsidor, programmenyer och mycket mer.

Jeeves Message Integrator

Jeeves Message Integrator (JMI) är ett ramverk som tillåter asynkron meddelandeintegrering och batch-integrering med Jeeves. Med Jeeves Message Integrator kan ni kartlägga data in till och ut ifrån XML-meddelanden och även göra SQL-anrop. Ramverket tillhandahåller ett kartläggningsverktyg, transaktionshanterare, meddelandeköer och undantagshantering. Jeeves Message Integrator är det föredragna sättet att integrera asynkront till Jeeves ERP. Jeeves Message Integrator tillhandahåller ett enda åtkomstsystem för alla applikationer som använder XML-meddelanden. Traditionella integreringar är baserade på en tabell per meddelande. JMI gör det enkelt att installera och konfigurera parallellbearbetningen av meddelanden och har visat sig kunna hantera stora transaktionsvolymer.

Jeeves Service Gateway

Jeeves Service Gateway tillhandahåller dator-till-dator-åtkomst till Jeeves Server och används för att integrera nästan vilket annat externt system eller extern plattform som helst. Jeeves Service Gateway kommer med ett modulärt, insticksbaserat gränssnitt för teknik såsom Java, webbtjänster, m.m. Jeeves Service Gateway exponerar all logik i Jeeves Client och Jeeves Database – även era egna specialanpassningar. Detta gör system-till-system-integrering enklare och mer kostnadseffektivt.

Jeeves Services Builder

Jeeves Service Builder (JSB) är en nätverksnod för information som ger er en enda åtkomstspunkt för olika informationsresurser. Information kan hämtas, skapas, ändras eller tas bort. JSB är inte en integreringsserver utan den skapar dynamiskt ändpunkter som kan användas av integreringsservrar för att kunna ansluta till Jeeves ERP. Tillsammans med Jeeves Message Integrator och Jeeves Databas bildar Jeeves Service Builder basen av Jeeves ERP:s serviceorienterade arkitektur.