1. Treskiktsarkitektur 2. Applika1onsprogramvara 3. Teknisk programvara. Kapitel 6 sid

Relevanta dokument
Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Informa5onsmodellering

Kap 1-3. Databasen (1.2.2) Database Management System DBMS (Kap 1.6), Teknisk Programvara SQL (Kap 3) Den relationella modellen (Kap 2)

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Chapter 3: Data, informa5on and knowledge. Paul Beynon- Davies: Business Informa5on Systems

Chapter 3: Data, informa5on and knowledge. Paul Beynon- Davies: Business Informa5on Systems

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Kursintroduk+on. Informa(on Systems and Management 15 Hp

Informationsmodellering och e-infrastrukturer

Föreläsning 2: Översikt över ett databassystem

Databaser - Design och programmering

Varför ska du läsa kursen? Brist på kravställarkompetens Brist på förändrings- och utvecklingskompetens Bristande förståelse för hur

Databasutveckling Introduktion till SQL och TSQL

VAD GÖR DU / VEM ÄR DU?

Innehåll. MySQL Grundkurs

Kursintroduk+on. Informa(on Systems and Management 15 Hp

732G16: Databaser - Design och programmering

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Övningar i SQL. SQLAccess.doc Ove Lundgren

Inga hjälpmedel är tillåtna

08/12/14. Databasteknik och informationssystem DD1370. Behövs Föreläsning 8? Kursens (återstående) mål Dagens föreläsning

Lösningsförslag, tentamen i Databaser

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

1.Lär känna MS SQL Observera. Tips. Förberedelse

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

WCMS-15, Webbutvecklare CMS

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Structured query language (SQL)

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Sample exam questions. Database exam TIG058

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

VAD GÖR DU / VEM ÄR DU?

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

Kapitel 11. Services, Projects and Opera6ons

Starta MySQL Query Browser

Webservice & ERP-Integration Rapport

Varför ska du läsa kursen? Kunskapen om informa/onsystem är för dålig Brist på kravställarkompetens Brist på förändrings- och utvecklingskompetens

729G28 Webprogrammering och databaser. Föreläsning 1: Diverse praktiskt om kursen Webprogrammering Databaser, terminologi

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Databaser och Datamodellering Foreläsning IV

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Chapter 12: Development

Vad är en databas? Databasutveckling Med MySQL/MariaDB

Idag. Hur skapar vi och underhåller en databas? Index? Vad är det och varför behövs de? Behöver jag bry mig om index?

Webprogrammering och databaser. 729G28 Webprogrammering och databaser. Kursöversikt. Praktisk info. Webprogrammering. Ändringar mot förra året

Kursintroduk+on etjänster och Webbprogrammering

DVA234 Databaser. Dag Nyström, Introduktion till databaser och MS SQL Server

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Göteborgs universitet Chalmers Tekniska Högskola

Nya möjligheter med M3 Technology. Björn Svensson, Björn Torold

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in.

Genomgång av tentamen. Databasteknik ITHS 4/3 2016

Databaser och SQL - en kort introduktion

Skapa exempeldatabasen

Tabeller och kolumner SQL. Lägga till en ny post. Lägga till en ny post

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

Databasspråket SQL - online.

Webbprogrammering, grundkurs 725G54

Klientprogrammering mot databaser

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Hultgren, G; (2007) etjänster som social interak<on via användning av IT- system en prak<sk teori, sid , Doktorsavhandling, IEI, LiU

Kapitel 4 Arkivmenyn Innehåll

Diagnostisktprov Utveckla i Azure

Databasspråket SQL - online.

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Structured Query Language (SQL)

3. Dynamiska webbplatser, 20 Yhp (4 v)

SOA. Länkar +ll sidor om SOA h3p:// h3p://dsv.su.se/soa/

Relationsmodellen och syntetisk databasdesign

Databasspråket SQL - online.

TDDD52 Databas. Databas. Databas 1/3/13

Föreläsning 6 Databaser och säkerhet

INTRODUKTION TILL JDBC

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

Nya webbservern Dvwebb.mah.se

1. PLSQL 2 2. Select into

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Databasspråket SQL - online.

Integration BYOD Bring Your Own Device. Peter Andersson

Prova på-laboration i SQL

TENTAMEN DATABASKUNSKAP ITEK12

Tentamen för DD1370 Databasteknik och informationssystem

Transkript:

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