Encountered problems in standardising: a case story by the City of Ghent Erik Evrard, Digipolis Ghent
[email protected] 1 1
stunning
Ghent a ancient and also very modern city 2
2
Ghent by day
3 3
4 4
5 5
6 6
7 7
Ghent by night
8 8
If you haven’t been there yet, pay us a
visit! www.visitgent.be
9 9
Ghent is a very
service-minded city to its citizens 10 10
237,000 inhabitants require a
lot of IT
services 11
11
Digipolis is the ICT Supplier for the cities and centres of social
Antwerp and Ghent
welfare of
12 12
SAP R/3 SAP CRM 3.0
Microsoft SQL Server .NET applications SAP
CRM 5.0, but also
Proprietary applications (internal/external) 13 13
XML?
Web Service?
Network?
GUI? 14 14
15 15
Custom applications as data sources
16 16
CRM (citizens help desk, complaints)
Real Estate DB
Who Is Who DB
GIS DB
Finance DB
HR DB
Crossroads bank DB for enterprises (federal)
IT infrastructure DB
Enriched crossroads bank DB for enterprises (flemish)
Social security DB Population DB (city) Child care Data planning & monitoring Population DB (federal)
Media relations, Internet & info DB
Analysis 2007:
complex
data flows 17
17
Risk:
two masters 18 18
Master Data since 2006 in Ghent
19 19
“Master data
is data that is
shared across systems (such as lists or hierarchies of customers, suppliers, accounts , or organisational units) and is used to classify and define
transactional data.” [IDC] 20
20
Master Data
Existing Application
Existing Application
Master Data
Master Data Management System Existing Application
Historical / Analytical Systems
Master Data
New Applications 21 21
Decouples
master
information from
individual
applications
22 22
Becomes a
central
, application
independent resource
23 23
Simplifies
ongoing
integration tasks and new appliction
development
24 24
Ensure
consistent
master information across transactional and analytical systems
25 25
Addresses key issues such a
quality
data
and consistency
proactively rather than “after the fact” in the data warehouse
26 26
Attention! 27 27
Never assume 1-1 consistency in other sources, even “official” ones
28 28
Don’t wait for higher authorities / vendors to provide easily accessible
Grab
webservices the data from conventional sources 29 29
30 30
ch
ut
D ra l”
“fe de
m
od
el
9050 Ledeberg 9050 Gentbrugge Belgian postal codes have their
quirks
... other countries, too 31 31
Official street registry: Brusselsesteenweg 90506021 (Gentbrugge) Brusselsesteenweg 90507014 (Ledeberg) (and 11 others)
Need to know house number boundaries
Impossible to enter a street code without knowing the house number, even if you know postal code! 32 32
Don’t trust “authentic” sources to be 100% correct
33 33
Since 2003 Belgium has a central registry of companies – quality fairly high, but old data has been imported from older (>100 yrs) sources, errors are
inevitable 34 34
Sometimes there are legal / practical barriers that prevent data QA–companies are required to register their HQ but not their branch offices– costs 70 euros, not online and not enforced. They may even be taxed for a branch office 35 35
Never forget to encode all required diacritical characters
36 36
Daniël Clarençon Hunkemöller Björn Željko Michaił Yıldırım (not i!) 37 37
Beware of omitted
or wrong transcodings when importing / exporting / searching / sorting 38 38
Will these companies be properly in an A–Z sorted list? Åland Travel AS ‘t Schuurke BVBA Þuríður (Icelandic name) 39 39
Sorting rules
different for every language Ä (Swedish – after “Z”) Ä (German – after “A”) 40 40
Transcription
41 41
ﻣﺤﻤﻮﺩ ﺍﺣﻤﺪﯾﻨﮋﺍﺩ
42 42
Mahmoud Ahmadinejad
43 43
Mahmood Ahmadinejad
44 44
Mahmud Ahmadinejad
45 45
Mahmoed Ahmadinejad
46 46
Mahmoud Ahmadinejad
47 47
Mahmoud Ahmadinedjad
48 48
Горбачёв
49 49
Gorbatsjov
50 50
Gorbachov
51 51
Gorbatschow
52 52
Gorbachow
53 53
Gorbachev
54 54
Gorbachew
55 55
Gorbatchev
56 56
ba
ch
ev
ch ov
or
ba
G
or G Birth certificate
Passport
57 57
Phonetic
comparison is language
dependent 58 58
Beware of
nicknames or wrong/ inconsistent (name) spellings even for local names in your own local records 59 59
Active Directory:
Jo Dujardin
[email protected]
60 60
HR System:
George Dujardin (no e-mail stored)
61 61
Elisabeth
62 62
Liesbeth
63 63
Lies
64 64
Beware of people
with 100% identical names and inconsistent e-mail spellings 65 65
[email protected]
No e-mail
66 66
[email protected]
No e-mail
67 67
[email protected]
No e-mail
68 68
[email protected] [email protected]
69 69
[email protected]
[email protected]
70 70
Many identical names • • •
• • • •
Martine De Coninck Martine De Coninck Martine De Coninck
Martine Mortier Martine Mortier Martine Mortier (left service) Martine Mortier (left service)
71 71
Beware of “smart”
numbers as unique identifiers!
72 72
Belgian citizens (and foreigners registered in Belgium) are identified by a unique personal number (“Rijksregisternumber”)
73 73
Sequential nr. Birth date
male = odd female = even
Checksum
YYMMDD abc xy
74 74
Birth date not always
known when
registering, can change later!
75 75
Gender can
change
over time
76 76
At times of large numbers of immigrants 3 digits were
not sufficient 77 77
What about non-registered
foreigners? What is their unique ID?
78 78
E-mail is unique (but changes) Mobile number is unique (but changes, less frequently) 79 79
During data import frequent real time data modifications/
verifications/corrections (sometimes involving querying other databases) may be required 80 80
Multiple entries of the same entity (need to detect/ confirm this!), splitting or recombining fields,
translation, enriching data, etc. 81 81
Data normalisation is
very important – e.g. addresses (CRAB in Flanders–repository of all address points) 82 82
Information integration
EAI: Enterprise Application Integration ETL: Extract Transform Load
83 83
Types of data services
84 84
MDM is
complex
stuff requires outstanding analytic work and wellthought architecture 85 85
Many MDM vendor solutions • • • • • • • •
• • • • • •
Kalido (daughter company of Shell) IBM Microsoft SAP Oracle Cordys MDM
Entreon Corporation Hyperion MDM Server ObjectRiver Inc. Orchestra Networks Strateture Inc. Etc.
Amalto Technologies Data Foundations Inc.
86 86
Sometimes an MDM solution is
excessive given the problem you’re trying to solve 87 87
A “lightweight” step towards MDM in Ghent “Central Address Platform”
88 88
Questioned >95% of all departments/services (80 people) Approx. 210 databases
89 89
Analysis
(1) Heterogeneous applications ‣ MS Access, MS Excel, MS Word, Filemaker Pro, (Outlook) ‣ Some larger systems (CRM, ERP), either custom/generic
(2) Various purposes ‣ Mailing lists (post, e-mail) ‣ General contact data ‣ Very specific purposes (permissions, applications, memberships, benefits, duties, ...) 90 90
Lots of typical
problems:
not multi-user,
database duplication (different versions, independent evolution), difficult to support & to improve, lack of sharing options, inconsistency, data pollution, lack of reporting, no integration with “authentic sources”, even lack of some
, wasted time & money
basic functionalities errors
91
91
r
om
lot of common types of
en
A
in at o
Analysis
‣ Personal data
on
D
data
om
m
‣ Organisation data (companies, associations, public authorities)
es tC
‣ Relationship between person-organisation: role/function
La
rg
‣ Addressdata, phone, fax, e-mail, URL
92 92
Analysis
Shared
databases
‣ “Protocol” List (VIPs) ‣ “Approved” associations (youth, sports, environment) ‣ Schools, day care ‣ Governments •
Ghent, other cities and towns, provincial, regional, federal
•
Also historic data
93 93
Analysis
Requirements / Expectations ‣ Efficiency (speed) ‣ Accuracy (up-to-date) ‣ Accessibility (flexibily) ‣ Security ‣ Completeness
Very conservative, very approximative estimation: reduction of wasted time potential 36,000+ hrs/year 94 94
Technical solution
No standard solution, so custom development ‣ Well-known architecture (.NET, SQL Server) ‣ Web-based ‣ Well-defined business connectors (XML web services) ‣ Integration with major “authentic sources” (no complicated data translation / re-mapping required)
95 95
Technical solution
Data model 90% defined, wire frames / GUI 60% defined ‣ Two phased development (Roll out CAP 1.0 in 2009, CAP 2.0 in 2010) ‣ 20 pilot databases to be migrated in CAP 1.0 ‣ 180 databases in CAP 2.0
96 96
Technical solution
Data model ‣ Heart of the solution
All
•
Person
•
Organisation
•
Object
•
Relationship Person–Organisation: role/function
•
Address (linked with Person, Organisation, PersonOrganisation)
N-N relationships 97 97
Security
Dogma ‣ Every database has a well defined “owner” (departmentservice) ‣ Only owner has read/write permissions ‣ Only owner can grant access (read or read/write) to other department-service ‣ Some fields protected at user level (privacy legislation or governance, like mobile phone numbers).
98 98
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
Welkom, Peter Peeters
Uitloggen
Milieu, Groen, Gezondheid Milieudienst
Dashboard Bestanden Bestandclusters
Aantal eigen bestanden: 3 Aantal extern toegankelijke bestanden: 4
Groepen Mailings Zoeken Instellingen
99
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
Dashboard
> Bestanden > Selecteer
Eigen bestanden: Lijst verkopers kadastrale percelen Notarissen die een bodemattest aanvroegen
Selecteer inhoud Zoek Nieuw Wijzig Verwijder
Uitloggen
Milieu, Groen, Gezondheid Milieudienst
Cafébestand Gent
Bestanden
Welkom, Peter Peeters
Externe gedeelde bestanden: Scholenbestad Protocollijst Derdenbestand (crediteurs en debiteurs)
Korte omschrijving: een lijst van alle café's in Gent, met daarin de uitbater en de eigenaar, inclusief hun contactgegevens, en een koppeling met eventuele PV's voor geluidsoverlast.
Wanneer met de muis langs de velden in het pop-up menu wordt gegaan, worden er details getoond
Jeugdverenigingen
Bestandclusters Groepen
Indien op een hoofdmenu wordt geklikt, worden de desbetreffende ondermenu's uitgeklapt. Eventuele andere uitgeklapte ondermenu's worden weer dichtgeklapt, zodat het geheel overzichtelijk blijft
Mailings Zoeken Instellingen
100
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
> Inhoud
Welkom, Peter Peeters
Milieu, Groen, Gezondheid Milieudienst Cafébestand
Uitloggen
Filter: vul tekst in
Dashboard Bestanden Selecteer inhoud Zoek Nieuw Wijzig Verwijder
Bestandclusters
ID 1 2 3 4 5
Naam café De Pint De Bierfles Het Halflege Glas Het Halfvolle Glas De Droge Lever
Uitbater Mr. A. De Groote Mr. B. De Wit Mevr. F. Detremmerie Mr. Langhe Mr. F. Devisch
De Droge Lever (OrgID 11234), Sint-Denijslaan 55, 9000 Gent, Tel. 09 221 00 01, Fax. 09 221 00 02, URL www.dedrogelever.cc
Groepen
Eigenaar BVBA Inbev BVBA Naxos Mr. A. Derijke Mr. A. Derijke Mr. F. Devisch
Mr. Frans Devisch (PersoonID 44394), Bloemhofstraat 12, 9031 Drongen, Tel. 09 241 00 11, GSM 0495 55 00 55, e-mail [email protected]
PV's Aantal 1
Aantal: 4
PV's: 04/2332, 05/3343, 05/3370, 06/0323
Door met de muis over een veld te bewegen, worden er details getoond
Mailings Zoeken Nieuwe record toevoegen
Exporteer lijst
Toon 1-5 van 5
Pagina
1
Instellingen
101
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
Dashboard
> Inhoud
Welkom, Peter Peeters
Uitloggen
Milieu, Groen, Gezondheid Milieudienst Cafébestand
Record toevoegen Naam café
Bestanden Selecteer inhoud Zoek Nieuw Wijzig Verwijder
tekst invullen Uitbater
Eigenaar
Persoon
Organisatie
Voornaam tekst invullen
Bestandclusters Groepen
Door middel van tabs wordt ofwel de uitbater of de eigenaar geselecteerd
Adres
Extra Velden Door middel van tabs kunnen meerdere onderdelen van een record ingegeven worden
Achternaam tekst invullen Geslacht man vrouw
Mailings
onbekend Rijksregisternummer
Sommige velden zijn verboden voor deze gebruiker (onzichtbaar, niet in te vullen)
Zoeken Instellingen
Voeg record toe
Alles wissen
102
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
Dashboard
> Inhoud
Welkom, Peter Peeters
Uitloggen
Milieu, Groen, Gezondheid Milieudienst Cafébestand
Record toevoegen Waarschuwing!
Bestanden Selecteer inhoud Zoek Nieuw Wijzig Verwijder
Persoon "Jan Desmedt" komt misschien reeds voor in het CAP. Gaat het misschien om dezelfde persoon? Jan Desmedt, Snepkaai 1, 9000 Gent, Tel 09 245 00 00 Jan Desmed, Korenmarkt 1, 9000 Gent J. Desmit, Bellevue 1, 9050 Gent <Weet niet zeker>
Bestandclusters
Bij toevoeging van een nieuwe persoon of een organisatie zal steeds gekeken worden of deze persoon reeds voorkomt in het CAP door middel van een slimme "matching" op basis van fonetische spelling van de naam en bijbehorende gegevens die zeer persoonsgebonden zijn (zoals adres, telefoonnummer, e-mailadres)
Groepen Mailings Zoeken
Deze matching zal enkel worden gehanteerd voor gedeelde bestanden. Gegevens uit bestanden die eigen zijn aan de dienst zullen nooit worden weergegeven!
Indien een uniek gegeven bekend is (rijksregisternummer of ondernemingsnummer) dan wordt dit altijd als een goede match gebruikt. Het RRID is echter aan beperkingen onderhevig!
Instellingen
103
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard Bestanden Selecteer Inhoud Zoek Nieuw Wijzig Verwijder
Dashboard
> Bestanden > Wijzig
Milieu, Groen, Gezondheid Milieudienst Cafébestand
Categorie
Uitloggen
De velden van het cafébestand zijn door Digipolis gemodelleerd en kunnen door de dienst niet worden gewijzigd. De dienst die eigenaar is van het bestand kan echter ook extra velden toevoegen
Extra velden: Veldnaam Bijnaam café PV GIS-identificatie
Welkom, Peter Peeters
Soort variabele string string string lijst (gewoon, studentencafé, danscafé, eetcafé)
Meervoudig
Meervoudig Indiend aangevinkt, kan er meer dan één realisatie van het veld worden toegekend aan de bestandsrecord.
Nieuw veld toevoegen: vul naam van het nieuwe veld in
string (tekstveld) integer (gehele getallen)
Groepen Mailings
lijst
Nieuw veld toevoegen
Lijstwaarden vul hier toegelaten waarden van een lijst in, één per regel
Zoeken Instellingen
104
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
Dashboard
> Mailings > Genereer
Uitloggen
Milieu, Groen, Gezondheid Milieudienst Bestandcluster: gegadigden nieuwsjaarsreceptie
Mailing per post – selecteer alleen adressen die een bestelbaar postadres hebben Standaard enveloppen "A"
Bestanden
Welkom, Peter Peeters
Grote enveloppen "B" Labels formaat "C"
Wanneer er een mailing gegenereerd wordt, worden er ofwel adressen afgedrukt (rechtstreeks op de enveloppen of op zelfklevende labels), ofwel een e-mailing gestart (eventueel op een later tijdtip). Beide kan ook.
Bestandclusters Mailing per e-mail – selecteer alleen adressen die een bestelbaar e-mailadres hebben
Groepen
Onderwerp:
Selecteer bijlage(n)...
vul in
Mailings Genereer Instellingen Historiek
enter text
dd/mm/jjjj
HTML-opmaak mogelijk
Nieuwsbrief_nov2008.doc Uitnodiging_nieuwjaarsreceptie_2008.doc
Zoeken Instellingen
hh:mm
Bijlagen:
Inhoud:
B i u
Verzenddatum en -uur:
Preview lijst geadresseerden
Genereer de mailing
Exporteer lijst geadresseerden
Genereer aanwezigheidslijst
Een preview is mogelijk, en daarin kunnen nog namen van geadresseerden weg worden gelaten.
105
Centraal Adressenplatform Departement: Dienst: Huidig geselecteerd bestand (of cluster of groep):
Dashboard
> Mailings > Historiek
Welkom, Peter Peeters
Cultuur Wereld van KINA
Dashboard
Uitnodiging evenement "X" Nieuwsbrief "Y" dec 2007
12 nov 2007, 12:05 30 nov 2007, 08:00
Post E-mail
Bestanden
Uitnodiging nieuwjaarsreceptie
5 dec 2007, 17:00
Post + E-mail
Nieuwsbrief "Y" jan 2008 Uitnodiging evenement "Z"
31 dec 2007, 23:00 15 jan 2008, 09:30
E-mail Post
Groepen Mailings
Uitloggen
Bestand bezoekers "X" Clusterbestand nieuwsbrief "Y" Clusterbestand: iedereen departement Cultuur Clusterbestand nieuwsbrief "Y" Bestand geïnteresseerden "Z"
Voor iedere mailing wordt een log bijgehouden. Door hierop te klikken, verschijnt een lijst met toenmalig geadresseerden.
Genereer Instellingen Historiek
Zoeken Instellingen
106
CAP becomes
combined view on persons, organisations, objects, addresses (normalised) high-quality, easily accessible 107 107
A interesting case in Kortrijk “POGO”
Persons and OrGanisations Online 108 108
Exchange of
people and organisations data via web or intranet (between application and front-end) 109 109
used
Already by several organisations and for several applications European project EVoice 110 110
Solution
Functionalities ‣ Single sign-on ‣ Authentication ‣ Authorisation ‣ Contact management ‣ Entitlement management ‣ Delegated management
111 111
Solution
Basic principles (1) ‣ Unique keys to applications are available ‣ Application keys are linked with an “role” attribute ‣ Triggers are maintained, which can link applications at the right time (trigger = service connector) ‣ Only very limited sets of data are stored in the POGOmodel ‣ Privacy-sensitive data are physically stored separately from other application data
112 112
Solution
Basic principles (2) ‣ A distributed POGO system is possible and useful when large amounts of data are used somewhere ‣ All that is required to connect a POGO system with an application, is an adapter
113 113
A POGO realisation in
MyPage
Kortrijk – only a single login based an electronic ID card (every Belgian >12 has one) 114 114
A POGO realisation in
MyPage
Kortrijk – only a single login based an electronic ID card (every Belgian >12 has one) 115 115
Access multiple applications library – sport camp subscription – contacts
database Fields are, if possible,
pre-filled 116 116
Exciting new applications are being implemented that bring MDM into practice and that realise tangible
efficiency
improvements 117
117
Exciting new applications are being implemented that bring MDM into practice and that realise tangible
efficiency
improvements 118
118
Thank you! 119 119