21
System Centralnej Ewidencji Kierowców i Pojazdów Opracował: Promotor: Tadeusz Pyda mgr inż. Andrzej Ptasznik

System Centralnej Ewidencji Kierowców i Pojazdów

Embed Size (px)

DESCRIPTION

System Centralnej Ewidencji Kierowców i Pojazdów. Opracował:Promotor: Tadeusz Pydamgr inż. Andrzej Ptasznik. System Centralnej Ewidencji Kierowców i Pojazdów. 1. Zadanie. Projekt i częściowa implementacja systemu Centralnej Ewidencji Kierowców i Pojazdów. System Centralnej - PowerPoint PPT Presentation

Citation preview

Page 1: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców

i PojazdówOpracował: Promotor:Tadeusz Pyda mgr inż. Andrzej Ptasznik

Page 2: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

Projekt i częściowa implementacja systemu

Centralnej Ewidencji Kierowców i Pojazdów

Page 3: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

• 20 milionów posiadaczy Prawa Jazdy (CEPiK – stan na 31 grudnia 2011)

• Ponad 10 000 ośrodków szkolenia kierowców.• 24 189 000 zarejestrowanych pojazdów (GUS – stan na 31 grudnia 2011)

• Dziesiątki do setek milionów rocznie popełnianych wykroczeń i przestępstw drogowych.

Page 4: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

Baza danych

Page 5: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

99,999 %Wysoka dostępność

Page 6: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

Zarządzanie uprawnieniami i dostęp do zasobów

Page 7: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

1. Zadanie

Integracja podsystemów i problem zasilania systemu danymi

Email

SAN

Active Directory

Aplikacje

Backup

Baza Danych

Zasilanie

systemu danymi

Reporting services

Page 8: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

2. Analiza

Anal

iza w

ymag

ań fu

nkcj

onal

nych

(UM

L)

Analiza wymagań pozafunkcjonalnych

Wybór technologii

Page 9: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

2.1. Diagramy UML i diagram ERD

Page 10: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

2.2. Analiza wymagań pozafunkcjonalnych

• Kompatybilność komponentów systemu.• Łatwość konfiguracji i zarządzania systemem.• Wysoka niezawodność systemu.• Techniczny aspekt zasilania systemu

aktualnymi danymi z systemów zewnętrznych.• Bezpieczeństwo danych.• Aplikacje i raportowanie.

Page 11: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3. Implementacja

Page 12: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.1. Ogólny schemat implementowanego systemu

Windows Server Failover Cluster (pojedyncze WSFC obejmujące dwa centra danych )

Podstawowe centrum danychCentrum danych

odzyskiwania awaryjnego

AlwaysOn Availability Group

File Server

SQL 1 SQL 2SQL 3

SQL 4 Active Directory Exchange Server IIS Server

Odrębna sieć LAN zarezerwowana dla WSFC

Sieć LAN organizacji

Page 13: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.1. Windows Server 2012 Core Edition

D:\>setup.exe /qs /ACTION=Install /FEATURES=SQLEngine,FullText,Conn /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS="cekip.local\Administrator" /TCPENABLED=1 /SQLTEMPDBDIR="T:\MSSQLSERVER\110\MSSQL\Data" /SQLTEMPDBLOGDIR="L:\MSSQLSERVER\110\MSSQL\Data" /SQLUSERDBDIR="U:\MSSQLSERVER\110\MSSQL\Data" /SQLUSERDBLOGDIR="L:\MSSQLSERVER\110\MSSQL\Data" /IACCEPTSQLSERVERLICENSETERMS

Page 14: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.2. AlwaysOn z podziałem na 2 centra danych

Primary Data CenterDisaster Recovery

Data Center

SQL ServerPrimary

SQL ServerSecondary

Windows Server Failover Cluster (single WSFC crossing two data centers)

Availability Group

SQL Server

Secondary

Synchronous

Asynchronous

Additional Server for Node Majority Quorum Model

Page 15: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.2. AlwaysOn w MS SQL Management Studio

Page 16: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.3. Programowanie bazy danychCREATE TRIGGER dbo.odbierzPrawoJazdy ON dbo.wykroczenie FOR INSERT AS BEGIN DECLARE @suma INT; DECLARE @endDate DATETIME; DECLARE @dataBusted DATETIME; DECLARE @pes CHAR(11); SET @pes = (SELECT id_podmiot FROM inserted) SET @dataBusted = (SELECT data_uprawom FROM inserted) SET @endDate = (SELECT DATEADD(year, -2, GETDATE())) SET @suma = (SELECT SUM(pkt_karne) FROM dbo.wykroczenie WHERE id_podmiot = (SELECT id_podmiot FROM inserted) AND data_uprawom BETWEEN @endDate AND @dataBusted) IF @suma >= '21' BEGIN DECLARE @body NVARCHAR(MAX) = N''; DECLARE @id CHAR(14); IF (SELECT PESEL FROM dbo.podmiot WHERE dbo.podmiot.id_podmiot = @pes) IS NOT NULL BEGIN SELECT @body =+ 'Kierowca o numerze PESEL: ' + CHAR(11) + RTRIM(PESEL) + ' przekroczył dopuszczalną liczbę 21 punktów karnych.' FROM dbo.podmiot WHERE dbo.podmiot.id_podmiot = @pes; EXEC msdb.dbo.sp_send_dbmail @recipients = '[email protected]', @profile_name = 'SQL Server', @subject = 'Utrata prawa jazdy', @body = @body; END END END GO

CREATE PROCEDURE SP_updateAdres @pesel CHAR(11), @regon CHAR(14), @a xml AS IF @pesel IS NOT NULL BEGIN UPDATE dbo.podmiot SET adres.modify (N'insert sql:variable("@a") as last into (/adres)[1]') WHERE dbo.podmiot.PESEL = @pesel END ELSE BEGIN UPDATE dbo.podmiot SET adres.modify (N'insert sql:variable("@a") as last into (/adres)[1]') WHERE dbo.podmiot.regon = @regon END GO

GO CREATE VIEW pojazdSkradz AS SELECT Tbl.Col.value('marka[1]', 'VARCHAR(20)') AS Marka, Tbl.Col.value('model[1]', 'VARCHAR(20)') AS Model, Tbl.Col.value('urzad_komunikacji[1]/nazwa_urzedu_komunikacji[1]', 'VARCHAR(50)') AS 'Urzad komunikacji' FROM pojazd X CROSS APPLY X.dane_pojazd.nodes('//pojazd') Tbl(Col) WHERE stat ='1' GO

Page 17: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.3. Programowanie bazy danych - XMLsource <xs:element name="pojazd">

<xs:complexType> <xs:sequence> <xs:element ref="marka" maxOccurs="1"/> <xs:element ref="typ" maxOccurs="1"/> <xs:element ref="model" maxOccurs="1"/> <xs:element ref="wariant" maxOccurs="1"/> <xs:element ref="wersja" maxOccurs="1"/> <xs:element ref="rodzaj" maxOccurs="1"/> <xs:element ref="rok_prod" maxOccurs="1"/> <xs:element ref="vin" maxOccurs="1"/> <xs:element ref="data_1_rej" maxOccurs="1"/> <xs:element ref="badanie_tech" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="zastrzezenia" maxOccurs="unbounded"/> <xs:element ref="extra_tech_test" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="urzad_komunikacji" maxOccurs="unbounded"/> <xs:element ref="ubezpieczenie" maxOccurs="unbounded"/> <xs:element ref="tech_info" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element>

GO CREATE VIEW pojazdSkradz AS SELECT Tbl.Col.value('marka[1]', 'VARCHAR(20)') AS Marka, Tbl.Col.value('model[1]', 'VARCHAR(20)') AS Model, Tbl.Col.value('urzad_komunikacji[1]/nazwa_urzedu_komunikacji[1]', 'VARCHAR(50)') AS 'Urzad komunikacji' FROM pojazd X CROSS APPLY X.dane_pojazd.nodes('//pojazd') Tbl(Col) WHERE stat ='1'

Page 18: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.4. Implementacja – prezentacja danych

Page 19: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

3.5. Implementacja – zasilanie systemu danymi

Page 20: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

Podsumowanie i wnioski

• Ograniczenia.• Osiągnięte cele poznawcze.• Napotkane problemy.• Praca inżynierska jako résumé kształcenia w WWSI.

Page 21: System Centralnej Ewidencji Kierowców i Pojazdów

System Centralnej Ewidencji Kierowców i Pojazdów

Dziękuję za uwagę.