1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara Kapitel 6 sid 171-188
Datoriserade informa.onssystem bygger på en tre- skikts arkitektur 1. Data Management layer (Implementerat veksamhetsspråk) 2. Business layer (Verksamhetslogik) 3. Interface layer (AnvändargränssniK) Kapitel 6 sid 171-188
Figure 6.3: Layers of an ICT system
Tre- skikts arkitektur fördelar Tillgängliggöra informa1on på ek effek1vt säk och på olika säk via data layer Man kan ändra teknologi i ek av skikten utan ak det påverkar de andra skikten Man kan köra/exekvera olika delar av en applika1on på olika datorer i ek nätverk
Manuellt informa1onssystem
Figure 1.18: Layers of an ICT system "
1) Data Management layer Database Data Base Management Systems (DBMS)
Databas (Database) En organiserad samling av data Ska motsvara informa1onmodellen Data i databasen ska vara åtkomligt av flera användare sam1digt
1 1 1..M 1..M 1 1..M 0..M 1 1 0..M 1..M 1..M 1 1 0..M 1 1..M Figure 1.16: Informa.on model for Goronwy Galvanising
Databashanteringssystem Database Management System Programvara som används för ak hantera databaser Tillhandahåller följande funk1onalitet: Structural maintenance, förändra datastrukturerna i databasen Transac/on processing, lägga 1ll, förändra och ta bort data I databasen Informa/on retrieval, söka och presentera data från databasen 1ll applika1oner (business layer) och användare Data base administra/on, sköta behörighet, trimma databsen etc.
Rela1onsdatabaser Data lagras i tabeller Tabellerna består av rader och kolumner I en tabell måste det all1d finnas en unik primärnyckel (primary key) Referenser mellan olika tabeller sker med hjälp av primärnycklarna Om en primärnyckel finns i en annan tabell där den inte är primärnyckel kallas den för främmande nyckel (foreign key)
Exempel tabeller ur databasen
Structured Query Language (SQL) DeKa är ek databasspråk som kan användas för ak u_öra databaskommandon i samband med rela1onsdatabaser
Structual maintanence med hjälp av SQL (Lägga.ll ta bort datastrukturer) DeKa innebär ak skapa och ta bort tabeller I databasen Med kommandot CREATE TABLE lägger man 1ll tabeller I databasen och med kommandot DROP TABLE tar man bort tabeller i databasen Dessa kommandon u_örs o`ast av databasadministratören
Exempel på SQL- satser som skapar dessa tabeller utan datainnehåll (1) Create Table Customer ( Customer_No Varchar(10), Customer_name Varchar(100), Primary key(customer_no) ); (2) Create table Delivery_advice_note (Advice_no Varchar(10), Date Varchar(10), Instruc1on Varchar(50), Haulier Varchar(50), Received_in_good varchar(1), Customer_No Varchar(10), primary key(advice_no), foreign key(customer_no) references Customer(Customer_No) ); (3) Create table Order_lines ( Order_no Varchar(10), Delivered_Qty int, Weight int, Product_code varchar(50), Advice_no varchar(10), Primary key(order_no), foreign key(product_code) references Product(Product_code), foreign key(advice_no) references delivery_advice_note(advice_no) ); (4) Create table Product ( Product_code Varchar(10), Length int, Product_descrip1on varchar(100), Primary key(product_code)); (5) Create table Job ( Job_no Varchar(50), Count_Disc int, Non_con_black Varchar(50), Non_conf_white Varchar(50), Non_conf_no_change Varchar(50), Order_No Varchar(10), Primary Key(job_no), Foreign key(order_no) references order_lines(order_no), Product_code varchar(20), foreign key(product_code) references Product(Product_code) ); (6) Create table Dispatch_line (Order_No Varchar(50), Delivery_Qty int, Weight int, Advice_No Varchar(10), Product_code Varchar(50), Job_no Varchar(50), Primary key(order_no), foreign key(advice_no) references Dispatch_advice_note(advice_No), foreign key(product_code) references Product(Product_code), foreign key(job_no) references Job(Job_no)); (7) Create Table Delivery_advice_note ( Advice_no varchar(50), Date varchar(20), Driver Varchar(50) Customer_No Varchar(10), Received _by Varchar(1), Primary key(advice_no), Foreign key(customer_no) references Customer(Customer_no) );
Transac.on Processing med hjälp av SQL (Ändra data i databasen) DeKa innebär ak Lägga 1ll, ändra, ta bort data i tabellerna DeKa görs med följande kommandon: INSERT UPDATE DELETE Dessa databaskommandon anropas av applika1onsprogram (som finns i skiktet verksamhetslogik) skrivna i programspråk som Visual Basic, C#, C++
Transac.on Processing med hjälp av SQL (Ändra data i databasen) Exempel lägga 1ll data i databasen INSERT INTO Customer ( 10067K, Blackwell Steel ) INSERT INTO Delivery_advice_note ( 13/1193G, 2010-11- 09, 10067K ) INSERT INTO Order_lines ( 13/1193G, 20, 145, UL150 ) Exempel ändra data i databasen UPDATE Order_Lines SET Delivered_Qty = 25 WHERE Order_No = 13/1193G Exempel ta bort data i databasen DELETE FROM Order_Lines WHERE Order_No = 13/1193G
Informa.on retrieval, söka och presentera data från databasen DeKa görs med SELECT SELECT- kommandot u_örs o`ast av ek applika1onsprogram (som finns i skiktet verksamhetslogik) Exempel SELECT * FROM Order_Lines Denna SELECT sats listar alla rader i tabellen Order_Lines SELECT Order_No, date, Job_No, Product_Descrip1on, Product_Code, Length, Delivered_Qty, Weight FROM Order_Lines, Product WHERE Order_Lines.Product_Code = Product.Product_code (Denna SELECT- sats söker ut alla rader I Order- Lines tabellen och matchar dessa rader mot Product tabellen på Product Code).
2 Business layer Transac1ons Business Rules (Verksamhetsregler)
Transac.ons Styr i vilken ordning databashanteringssystemet skall anropas
Verksamhetsspråket är implementerat som tabeller i databasen INSERT UPDATE DELETE Program skrivna i t.ex. C#, Visual Basic, C++, Pearl som bygger på verksamhets- logik och styr hur man använder sig av data management layer Figure 1.18: Layers of an ICT system "
Användaren ska skapa en ny joborder. A) Användaren väljer Jobs B) När användaren kommer till bildskärmen Jobs har följande SQL-sats och redan utförts - SELECT Order_No, FROM Order_Lines (Ordernumren visas i rullistan) C) Användaren väljer ett specifikt ordernummer t.ex. 13/1193G D) Följande SQL-sats utförs SELECT Product_Description, Product_Code, Length, Order_Qty, Batch_Weight FROM Order_Lines, Product WHERE Order_Lines.Product_Code = Product.Product_code AND Order_lines.Order_no = 13/1193G E) Användaren fyller i Jobnr och trycker på save följande SQL-sats utförs INSERT INTO Job ( 2046, 13/1193G, )
Före E`er E) INSERT INTO Job ( 2046, 13/1193G, )
Business rules Beräkningsregler Logisk härledning
Hur de olika skikten samverkar i samband med e[ datoriserat informa.onssystem i en organisa.on Verksamhetsspråket är implementerat som tabeller i databasen INSERT UPDATE DELETE Program, bygger på verksamhetslogik och verksamhetsregler, SELECT t.ex. funk1onen Jobs Figure 1.18: Layers of an ICT system " AnvändargränssniKet styr användarens möjlighet ak kommunicera genom den verksamhetslogik som finns implementerad i applika1ons- programmen och det implementer verksamhetsspråket i databasen
3 Interface layer Internet och web- teknologier används o`a för ak hantera användargränssniket HTML och andra Internet- standardiserade språk används för ak presentera användragränssniket AnvändargränsniKet presenteras via en browser AnvändargränsniKet kan dock hanteras på andra säk än via en browser då laddar man ned ek speciellt program klientprogram som sköter deka - - Så kallade formsapplika1oner är ek annat exempel på deka Appar I telefoner är ek annat exempel på deka
Interface.er (layer) Här får man 1llgång 1ll informa1on och funk1onalitet Det är interface layer som gör ak man som användare kan göra saker Kan u_ormas med på olika säk Processorienterat Objektorienterat Rollbaserat Exempel på olika roller i en organis1on Produk1onsplanerare Förman och arbetare i fabriken Lagerarbetare Behörighetssystem kopplaso`a 1ll olika roller Portaler kopplas o`a 1ll olika roller
-Presenterar layout (Format) -Presenterar led texter och inmatningsfält (Format) -Presenterar lagrad information (Content) -Validerar indata (Content) - Styr interaktionslogiken (Control)
Programvara (So\ware) Applica1on so`ware (Inriktad mot användare) Enterprise systems (affärssystem) Officeprogramvara (ordbehandling, kalkylprogram) Workgroup (mail, kalender, chat, dokumenthantering) Content Management
Enterprise systems (Organisatoriska Informa.onssystem) Formaliserad kommunika1on via verksamhetsspråk System avsedda för en viss typ av verksamhet Ex produk1onssystemet på Goronwy (kan vara skräddarsyk (bespoke) eller standardssystem Treskiktsarkitektur
Hur de olika skikten samverkar i samband med ett datoriserat informationssystem i en organisation IT-infrastruktur Hårdvara, Operativsystem, Generell Programvara, Programspråk, DBMS, Teknisk Datakommunikation Datoriserat Informationssystem ( Verksamhetsspråket är implementerat som tabeller i databasen Applikationsprogram, bygger på verksamhetslogik och verksamhetsregler, t.ex. funktionen Jobs Figure 1.18: Layers of an ICT system " Användargränssnittet styr användarens möjlighet att kommunicera genom den verksamhetslogik som finns implementerad i applikationsprogrammenoch det implementerade verksamhetsspråket i databasen
Enterprise Systems (Affärsystem) Formaliserad kommunika1on via verksamhetsspråk System avsedda för en viss typ av verksamhet Totallösningar för hela organisa1onen Standardsystem Treskiktsarkitektur Ex SAP
Office system Enanvändarsystem på kontoret Generell programvara kan användas oavsek verksamhet Ordbehandling Kalkyl Presenta1onsverktyg Ritverktyg Ej treskikt fullt ut, Ej formaliserat verksamhetsspråk
Workgroup Fleranvändarsystem Generell programvara kan användas oavsek verksamhet Mail, kalender Distribu1on av dokument Ej tre skikt fullt ut, Ej formaliserat verksamhetsspråk
Content management Generell programvara kan användas oavsek verksamhet Används för ak hatera webplatser Ej treskikt fullt ut, Ej formaliserat verksamhetsspråk
Intranets Content management systems används o`a för ak underhålla dem Webbaserade system Distribu1on av dokument Nyheter Bloggar Ej treskikt fullt ut, Ej formaliserat verksamhetsspråk
Teknisk programvara Databashanteringssystem (SQL- Server, My- SQL) Kommunika1onsprogramvara Opera1vsystem Webserverprogramvara