Systemets arkitektur
Användargränssnitt – ViewBoard
Det dagliga arbetet sker via ett
användargränssnitt som vi har valt att kalla för
ViewBoard. Denna bild visar data om t.ex. kunder, order
och produkter i en matris och för att markera olika
status används färger, bakgrundsfärger och typsnitt. På
detta sätt skall man på ett ögonblick få en totalbild på
verksamheten i alla lägen. Det skall vara enkelt att
växla mellan olika vyer, för det är typiskt att en
användare arbetar både med inköp, försäljning och
leverans på en och samma gång. Man skall också enkelt
kunna navigera i tidsled, t.ex. genom flikar som
betecknar veckodagar.
Nedan visas skärmbilder från
version Alfa 1 av inköpsvyn.
Visa hela bilden.
I denna vy ser vi leverantörerna
listade till vänster och en produktmatris. Nedan och
till höger kommer summerad information. I den färdiga
versionen kommer summeringar av rader och kolumner att
visas.
Visa hela bilden.
I denna vy ser vi
inköpstransaktioner med detaljer och prissättning.
Det är mycket enkelt att välja ut
vilken information som skall visas: för vissa
veckodagar, transaktioner, leverantörsgrupper,
produktgrupper och datumintervall.
Kontroll på verksamheten – DashBoard
DashBoard, eller
Instrumentpanelen, är en applikation som läser saldodata
över tiden från huvudboken och försystemen och
presenterar i grafisk form. Dels presenteras det senaste
värdet i form av en mätare, och historiken som en graf,
och dels kan förhållandet mellan olika värden visas som
tårtdiagram och jämförelser med stapeldiagram. Eftersom
även DashBoard är en tjänst, kan t.ex.
saldouppdateringen i redovisningen skicka ett meddelande
till DashBoard så att den kan uppdateras i realtid.
Teknologisk vision
En viktig del av arkitekturen är att bygga
systemen runt en tjänstebaserad arkitektur (Service
Oriented Architecture – SOA). Denna arkitektur bygger på
ett antal oberoende tjänster som är dataprogram vilka
utbyter information genom att skicka väl definierade
meddelanden mellan varandra. Dessa meddelanden är helt
textbaserade och är formaterade enligt XML standarden.
Det innebär att meddelanden lätt kan överföras i
nätverket, även externt över Internet. Vidare innebär
detta att systemen blir flexibla och kan integreras med
andra system och kommande funktioner i Åkerdalen
Affärssystem.
En stor fördel med en
tjänstebaserad arkitektur är att automatiska processer
enkelt kan byggas in i systemen vilket är en förutsättning för
att få ner transaktionskostnaderna. Genom att
återanvända tjänster vid utvecklandet av nya, så får man
dessutom ner utvecklingstiden vilket bidrar till
systemanvändarnas rörlighet då marknadens behov ändras.
En annan fördel med en
meddelandebaserad tjänstearkitektur är att förändringar
i en tjänst inte kan påverka andra tjänster så länge man
ser till att meddelandestrukturen är kompatibel. Detta
är enkelt att åstadkomma då nya datastrukturer kan
tillfogas vilka kan tas om hand av nyare tjänster medan
gamla tjänster fortsätter att fungera enligt tidigare
struktur. Detta leder givetvis till en bättre kvalitet
samtidigt som det möjliggör att tjänster kan utvecklas
parallellt.
Systemarkitekturvision
Följande skiss visar hur
användargränssnittet kommunicerar med tjänster som i sin
tur kommunicerar med varandra och förmedlar information
via så kallade affärsobjekt. Dessa affärsobjekt hämtar
och lämnar information i databasen samt utför
sammanställningar, beräkningar och valideringar.
Arkitekturens komponenter
Arbetsstation
I arbetsstationen körs den
programvara som presenterar ett så kallat rikt
användargränssnitt. Detta gränssnitt är optimerat för
ett smidigt och snabbt arbetsflöde för komplexa
transaktioner. En egenskap för detta är att alla
funktioner kan styras med tangentbordet och att
programmet har full kontroll. Typiska komponenter är
Windows formulär, menyer och rapporter.
Normalt används denna typ av
gränssnitt av företagets interna användare eftersom det
kan behövas en utbildningsinsats innan systemet tas i
bruk men sedan är vinsten i arbetstid och flexibilitet
desto större.
En arbetsstation kan också
ersättas av en terminalserver som är ett
fleranvändarsystem som presenterar användargränssnittet
över nätverket på så kallade tunna klienter. Detta görs
vanligen för fjärranslutna användare vars nätbandbredd
är begränsad.
I Åkerdalen affärssystem inför vi
ett Windowsbaserat formulärgränssnitt som vi kallar
ViewBoard.
Web server
I webservern finns lagrat HTML
dokument som kan läsas över Internet med webläsare så
som Internet Explorer eller Firefox. Dessa HTML dokument
kan skicka information till tjänster på liknande sätt
som arbetsstationernas Windowsapplikationer. Eftersom
servern har en begränsad kontroll över webläsarens sätt
att presentera information så lämpar sig detta för
användargränssnitt som är enkelt uppbyggda. Det innebär
ofta att det tar längre tid att utföra en arbetsuppgift
men i gengäld krävs ingen eller minimal utbildning.
Detta är lämpligt att använda för presentation,
marknadsföring och enkla självserverings applikationer
som riktar sig till (många) externa användare.
Externt system
Ett externt system kan kommunicera
med systemets tjänster på samma sätt som arbetsstationer
och web servrar om det använder standardtekniker för
webtjänster med XML meddelanden. XML meddelanden skickas
på samma sätt som vanliga websidor, det vill säga över
HTTP protokollet. Detta innebär att säkerhet blir
viktigt och det löser man genom åtkomstkontroll i
brandväggar, kompletterat med certifikat och kryptering
där säkerheten är extra viktig, t.ex. vid
penningtransaktioner.
Brandvägg
Brandväggens uppgift är att
förhindra obehöriga system att kommunicera med
företagets system. Detta görs genom att upprätta
åtkomstlistor som talar om vilka systemadresser och
protokoll som får tillträde. Vidare har brandväggen ett
antal funktioner för att förhindra kända sätt att komma
bryta sig in i systemen, t.ex. mot ”IP spoofing” som
innebär att ett system kapar en godkänd adress. En
viktig uppgift för brandväggen är också att logga
intrångsförsök så att man kan spåra dessa.
System
Serversystemet har program som är
indelade i tre nivåer; tjänster, affärsobjekt och
databaser.
Tjänster
Dessa program tar emot och lämnar
information i form av XML meddelanden. Tjänsterna
anropar affärsobjekten vilket sker med normala
objektorienterade metoder. Tjänster kan även anropa
varandra och utbyter då XML meddelanden på samma sätt.
Denna skiss visar hur en tjänst
tar emot XML dokument eller meddelanden och anropar
affärsobjekten som returnerar objekt av typen ”dataset”.
Ett svarsmeddelande sammanställs med information och
returneras.
Affärsobjekt
Dessa objekt har till uppgift att
lagra och sammanställa information från databaser och
andra datakällor. Objekten lämnar ifrån sig returvärden,
objekt eller dataset för komplexa strukturer.
Databaser
Databaser har till uppgift att
lagra information i form av tabeller och kolumner. I
databasen finns även relationer mellan tabellen som
garanterar dataintegriteten.
Teknologisk bas
Den teknologi som vi bygger
systemet med baseras på följande komponenter:
- Microsoft .NET ramverk
2.0
- Microsoft Visual Studio
2005 utvecklingsmiljö
- Microsoft SQL Server 2005 relationsdatabas
- Microsoft Windows Server 2003
och senare Vista Server (Longhorn)
- XML meddelandestruktur
.NET är Microsofts ramverk av
programkomponenter, utvecklingsverktyg och teknologier
som används som byggstenar i dagens och morgondagens
programvaror såsom operativsystem, databaser,
informationssystem, affärssystem, kontorsapplikationer
och mobila lösningar.
Speciellt relationsdatabasen SQL
Server 2005 är en viktig komponent eftersom den har
några nya egenskaper som kommer att behövas i Åkerdalen
Affärssystem 5. Det ena är ”Readers Do Not Block
Writers” funktionen som är mycket viktig för att
minimera låsningar i databasen. Denna brist är ett
problem i nuvarande version av SQL Server. Den andra
viktiga egenskapen är att man i SQL Server 2005 kommer
att kunna skriva program som körs inne i databasen, så
kallade lagrade procedurer, med samma
programmeringsspråk som i applikationsserver och
klienter. Detta gör att funktionaliteten i databasen kan
utökas till helt nya nivåer.
|