SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
Semantic integration

  TMRA, 2010-10-01
  Lars Marius Garshol




1	
  
Architectural challenges

•  System architecture is not enterprise architecture
        –  what's good for a single system is not necessarily good for the
           enterprise as a whole
        –  local decisions make sense locally, but not necessarily globally
•  Organizational reorganizations
        –  merges, aquisitions, political reorganizations, ...
        –  these all have implications for IT architecture
•  Master data management
        –  of course you only have a single customer database
        –  ...until you buy a company that has their own
•  Architecture dictators
        –  are a tempting solution to impose some general structure,
        –  but generally impede progress at the local level


2	
  
Lego!

•  The goal is not just an architecture that's
   correct today
•  Because we know the situation will soon
   change
•  The goal is an architecture that's easily
   adapted to tomorrow's environment




3	
  
A step-by-step process


        2.	
  Master	
     3.	
  Reference	
      4.	
  Generic	
     5.	
  Access	
                        7.	
  Seman<c	
  
                                                                                         6.	
  Search	
  
              data	
              data	
           services	
          control	
                              formats	
  




                                                 1.	
  Reference	
  model	
  




4	
  
Mapping the IT landscape                                Step	
  #1	
  



•       Which IT systems exist?
•       Which entities do they have?
•       What are their properties?
•       What web services exist?
•       What is their input and output?


                App	
      En#tet	
      Egenskap	
  




                          Tjeneste	
      Format	
  
5	
  
The value of the map                                     Step	
  #1	
  



•  Living high-level view of systems and services
        – navigation/search/visualization,
        – connect to relevant documentation, where it exists,
        – far superior to PowerPoint/Word
•  The main value is in the structure
        – that is, the use of a proper semantic model
•  No need to build or buy software
        – it can all be done with existing open source
          components


6	
  
Problems with the map                                    Step	
  #1	
  



•  There is no connection across systems
        – shows that 7 systems have the concept "case"
        – but so what?
•  What is needed is a cross-mapping
        – must show to what degree the 7 concepts overlap
        – perhaps there are other concepts that mean the same,
          but have different names?




7	
  
Build a reference model                                   Step	
  #1	
  



•  Model central concepts
        – entities and their properties
        – type hierarchy for both
        – independent of any specific system; model the
          organization's understanding
•  This is not a canonical data model
        – not a format
        – not forcing any systems to actually use the model
        – systems can use entities/properties which do not
          (yet) exist in the model

8	
  
What is cohabitation?                                                                                            Step	
  #1	
  



•  Law on individual pensions
        – LOV-2008-06-27-62, § 3-7
           • Med samboer forstås her a) person som kunden har felles bolig og felles barn med, b) person som kunden lever
              sammen med i ekteskaps- eller partnerskapslignende forhold når det godtgjøres at forholdet har bestått uavbrutt i
              de siste fem år før kundens død, og det ikke forelå forhold som ville hindre at lovlig ekteskap eller registrert
              partnerskap ble inngått.


•  Regulation on collecting information
        –  FOR-2005-07-08-826, punkt 1
           •  samboere: personer som lever sammen og har felles barn.
•  Law on "vergemål"
        –  LOV-2010-03-26-9, § 2
           •  Med samboere menes i denne loven to personer som bor sammen i
              et ekteskapslignende forhold.
•  ...
9	
  
Modelling                                                               Step	
  #1	
  




                               Cohabita<on	
  




         Cohabita<on	
         Cohabita<on	
     Cohabita<on	
     Cohabita<on	
  
          PENSION	
                XXX	
           VERGE	
             YYY	
  



         Cohabita<on	
  	
  
            INNH	
  




10	
  
Properties, too                                               Step	
  #1	
  



                                cohab	
  1	
  


              Cohabita<on	
                      Person	
  

         start	
  date	
        cohab	
  2	
  
         end	
  date	
  
         ...	
  




11	
  
Connect the system data                                                              Step	
  #1	
  


                               Cohabita<on	
  




         Cohabita<on	
         Cohabita<on	
         Cohabita<on	
          Cohabita<on	
  
          PENSION	
                XXX	
               VERGE	
                  YYY	
  



         Cohabita<on	
  	
  
            INNH	
  


                                     COHAB	
         COHABITERS	
      BPG_COHAB	
  



                                     App	
  #1	
       App	
  #2	
       App	
  #3	
  

12	
  
Degrees of correlation                                             Step	
  #1	
  




                         A	
                     B	
  




•  Perfect correlation
         –  not unusual, neither is it always the case
•  Specialization
         –  that is, B is a narrower concept than A is
•  Overlap
         –  A and B share a common subset
•  Resembles
         –  A and B are related, but the connection is not clear
13	
  
Uses of the model                                              Step	
  #1	
  



•  We describe to understand
         –  we want to understand so that we can improve
•  Analysis of the architecture
         –  starting point for a restructuring
         –  identify master data issues
         –  etc
•  A data dictionary
         –  useful when converting legacy data
         –  useful for bug fixing
         –  key personell no longer have to answer questions all the
            time
         –  etc

14	
  
From documentation to services                             Trinn	
  #1	
  



•  So far we've only discussed documentation for
   humans
         – this is highly useful in a number of ways
         – but it is only the beginning
•  The model has a semantic structure
         – therefore we can use it to build new kinds of services




15	
  
Master data control                               Step	
  #2	
  



•  Pick one system to be the master for each kind
   of data
         – where this can really be centralized
•  Other systems needing the data must become
   clients of the master
         – this is a gradual transition
•  We also need a protocol which the clients can
   use to retrieve the data



16	
  
A service broker                                         Step	
  #2	
  


•  A service which routes
   requests
•  A layer above the ESB
                                           Broker	
     Reference	
  
         –  the ESB takes care of
                                                         model	
  
            transport
         –  it might also broker between
            several ESBs                     ESB	
  
•  Uses its knowledge of
   information and services
•  Decouples clients from
   servers
•  Makes the architecture a
   lot more flexible

17	
  
Master data protocol                                                                       Step	
  #2	
  



            App	
  #1	
     App	
  #2	
                     App	
  #3	
  

                                                                  Atom	
  (SDshare)	
  
•  Used by clients to
   retrieve data            Broker	
                 Lookup	
  
   updates                                                                  Referanse-­‐
                                                                             modell	
  
•  Makes it possible
   to gradually                     Sync	
  request:	
  en<ty	
  +	
  <me	
  
   migrate
•  Master can
   change without           App	
  #4	
  
   the clients
   knowing


18	
  
Collect reference data                                           Step	
  #3	
  



•  Most systems share a number of fairly static
   lists
         – list of countries, list of diagnosis codes, list of
           provinces, ...
•  There is no reason to maintain this in duplicate
   in different systems
         – the lists also need common identifiers for the items
•  The lists might as well go into the reference
   model
         – can be retrieved from there by client systems

19	
  
Generic lookup service                                                                        Step	
  #4	
  


                                                                              •  Would not work
                                                                                 "out of the box"
         App	
  #2	
       App	
  #3	
                     App	
  #4	
  
                                                                              •  Must be carefully
     Service	
  #1	
     Service	
  #2	
                 Service	
  #3	
         set up so that it
                                                                                 works
                                                Who	
  has	
                  •  Possible because
                                               data	
  about	
                   this is a controlled
                                                   X?	
                          environment
                               Broker	
  

                                       Give	
  me	
  an	
  en<ty	
  of	
  
                                       type	
  X	
  with	
  ID	
  23414	
  

                               App	
  #1	
  


20	
  
Generic translation service                                Step	
  #4	
  


                   X-­‐>Y	
      Y-­‐>Z	
     X-­‐>Z	
  


                   Y-­‐>X	
      Z-­‐>Y	
     Z-­‐>X	
  



                                Broker	
  


•  Sometimes the client wants format X, but the
   server can only supply Y
         – the broker can find a translator service, and
         – ensure that the translation happens automatically


21	
  
Some science fiction                                    Step	
  #4	
  



•  We already have
         – the structure of XML formats X and Y described, and
         – connected to the reference model
•  In some cases we can then generate the
   translator automatically
         – made prototype in 2004
         – it worked!
         – but it won't always work




22	
  
Impact analysis                                Step	
  #4	
  



•  If we register clients and their requests in the
   model we know more about the uses of the
   architecture
•  It becomes possible to find the answer to
   questions like
         – "can we stop this service?"
         – "does anyone use this format?"
         – ...



23	
  
Access control                                           Step	
  #5	
  



•  Rules for this are usually
         – not documented anywhere,
         – encoded in software all over the enterprise
•  It can also be represented in the model
         – user groups can be connected to the data they are
           allowed to access/modify
         – there is no need to represent individual users
•  All this can be retrieved via web services



24	
  
Generic querying with SPARQL                                  Trinn	
  #6	
  



•  More advanced lookup
         – using SPARQL as the query language
         – can do more than just looking up IDs
         – doing queries "into the cloud"
•  The reference model is used to interpret the
   query
         – splits it up and delegates to different services
         – the broker then assembles the result
•  SPARQL is not a very powerful language
         – that is why this is possible
25	
  
Semantic formats "on the wire"                                Step	
  #7	
  



•  Ordinary XML formats are static
         – semantic formats are dynamic
•  New fields and entity types can be added
         – without changing the format
         – without confusing recipients
•  Transparent support for subtyping
         – allowing even more flexibility in interpretation
•  Support for merging
         – again transparent for recipients


26	
  
Scenario                                                                                                                  Step	
  #7	
  


                                                           Database	
  
                                                                                   XTM	
  
           App	
  #2	
                                     Service	
  #2	
  
                                   XTM	
                SPARQL	
  
         Service	
  #1	
  
         SPARQL	
  

                                                              Merge	
  and	
                          XTM	
  
                                                                filter	
  
                                                                                                                Translator	
  
                                                    Broker	
                            formatY	
  

                           SPARQL,	
  formatY	
  



                                                                               Need	
  all	
  X	
  sa<sfying	
  certain	
  
                                                                               criteria,	
  in	
  format	
  Y	
  
                                                    App	
  #1	
  


27	
  
Conclusion

•  Clients don't need to know where the data are
         – much looser coupling
         – much easier to restructure
•  Clients do not need to relate to the many data
   models that are in use
         – instead they need only refer to the reference model
•  Clients do not need to worry about the data
   formats used by servers
         – instead, they simply ask for data in the format they
           want

28	
  

Más contenido relacionado

Destacado

Theory versus practice
Theory versus practiceTheory versus practice
Theory versus practiceNathan Loynes
 
Building a Sustainable Business Architecture Practice
Building a Sustainable Business Architecture PracticeBuilding a Sustainable Business Architecture Practice
Building a Sustainable Business Architecture PracticeAccelare
 
[2015/2016] Architectural languages
[2015/2016] Architectural languages[2015/2016] Architectural languages
[2015/2016] Architectural languagesIvano Malavolta
 
Real World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data WarehousingReal World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data Warehousingukc4
 
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...Pieter Pauwels
 
Data Architecture Process in a BI environment
Data Architecture Process in a BI environmentData Architecture Process in a BI environment
Data Architecture Process in a BI environmentSasha Citino
 
Data Warehousing - in the real world
Data Warehousing - in the real worldData Warehousing - in the real world
Data Warehousing - in the real worldukc4
 
05. Physical Data Specification Template
05. Physical Data Specification Template05. Physical Data Specification Template
05. Physical Data Specification TemplateAlan D. Duncan
 
Theory of architecture-1
Theory of architecture-1Theory of architecture-1
Theory of architecture-1ganapathy mohan
 
THEORY: Color, Light, & Texture
THEORY: Color, Light, & TextureTHEORY: Color, Light, & Texture
THEORY: Color, Light, & TextureArchiEducPH
 
Historiography
HistoriographyHistoriography
Historiographyvonjobi
 
THEORY: Ching's Notes about Theory of Architecture Terminologies
THEORY: Ching's Notes about Theory of Architecture TerminologiesTHEORY: Ching's Notes about Theory of Architecture Terminologies
THEORY: Ching's Notes about Theory of Architecture TerminologiesArchiEducPH
 
Introduction to architectural theory
Introduction to architectural theoryIntroduction to architectural theory
Introduction to architectural theoryAta Chokhachian
 
Advanced architecture theory and criticism lecture 03
Advanced architecture theory and criticism lecture 03Advanced architecture theory and criticism lecture 03
Advanced architecture theory and criticism lecture 03Khaled Ali
 

Destacado (17)

Theory versus practice
Theory versus practiceTheory versus practice
Theory versus practice
 
Building a Sustainable Business Architecture Practice
Building a Sustainable Business Architecture PracticeBuilding a Sustainable Business Architecture Practice
Building a Sustainable Business Architecture Practice
 
[2015/2016] Architectural languages
[2015/2016] Architectural languages[2015/2016] Architectural languages
[2015/2016] Architectural languages
 
Theory and Practice
Theory and PracticeTheory and Practice
Theory and Practice
 
Real World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data WarehousingReal World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data Warehousing
 
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...
CAA NLFL 2015 - Semantics in the documentation of architectural heritage: BIM...
 
Data Architecture Process in a BI environment
Data Architecture Process in a BI environmentData Architecture Process in a BI environment
Data Architecture Process in a BI environment
 
Data Warehousing - in the real world
Data Warehousing - in the real worldData Warehousing - in the real world
Data Warehousing - in the real world
 
05. Physical Data Specification Template
05. Physical Data Specification Template05. Physical Data Specification Template
05. Physical Data Specification Template
 
Theory of architecture-1
Theory of architecture-1Theory of architecture-1
Theory of architecture-1
 
THEORY: Color, Light, & Texture
THEORY: Color, Light, & TextureTHEORY: Color, Light, & Texture
THEORY: Color, Light, & Texture
 
Historiography
HistoriographyHistoriography
Historiography
 
THEORY: Ching's Notes about Theory of Architecture Terminologies
THEORY: Ching's Notes about Theory of Architecture TerminologiesTHEORY: Ching's Notes about Theory of Architecture Terminologies
THEORY: Ching's Notes about Theory of Architecture Terminologies
 
Colour And Architecture
Colour And ArchitectureColour And Architecture
Colour And Architecture
 
Introduction to architectural theory
Introduction to architectural theoryIntroduction to architectural theory
Introduction to architectural theory
 
Theory of Architecture
Theory  of ArchitectureTheory  of Architecture
Theory of Architecture
 
Advanced architecture theory and criticism lecture 03
Advanced architecture theory and criticism lecture 03Advanced architecture theory and criticism lecture 03
Advanced architecture theory and criticism lecture 03
 

Similar a Better architecture with semantic integration

Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
DevOps and the Future of IT Operations
DevOps and the Future of IT OperationsDevOps and the Future of IT Operations
DevOps and the Future of IT OperationsCorrelsense
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes Abdul Basit Munda
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityZach Gardner
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EEDmitri Shiryaev
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsPaul Walk
 
The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)Kiran Jonnalagadda
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best PracticesPavel Mička
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approachOren Eini
 
Multi View Constructed Right
Multi View Constructed RightMulti View Constructed Right
Multi View Constructed RightOpenBossa
 
SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend FrameworkMike Willbanks
 
Managing Data in Microservices
Managing Data in MicroservicesManaging Data in Microservices
Managing Data in MicroservicesRandy Shoup
 
Python & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piecePython & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by pieceGiuseppe Vallarelli
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsMike Long
 

Similar a Better architecture with semantic integration (20)

Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
DevOps and the Future of IT Operations
DevOps and the Future of IT OperationsDevOps and the Future of IT Operations
DevOps and the Future of IT Operations
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes QCon 2015 - Microservices Track Notes
QCon 2015 - Microservices Track Notes
 
Why Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best OpportunityWhy Bad Data May Be Your Best Opportunity
Why Bad Data May Be Your Best Opportunity
 
CPP19 - Revision
CPP19 - RevisionCPP19 - Revision
CPP19 - Revision
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EE
 
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDBMongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
MongoDB.local Atlanta: MongoDB @ Sensus: Xylem IoT and MongoDB
 
Technical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerationsTechnical standards & the RDTF Vision: some considerations
Technical standards & the RDTF Vision: some considerations
 
The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)The technology of the Human Protein Reference Database (draft, 2003)
The technology of the Human Protein Reference Database (draft, 2003)
 
Microservices: The Best Practices
Microservices: The Best PracticesMicroservices: The Best Practices
Microservices: The Best Practices
 
Hard Coding as a design approach
Hard Coding as a design approachHard Coding as a design approach
Hard Coding as a design approach
 
Multi View Constructed Right
Multi View Constructed RightMulti View Constructed Right
Multi View Constructed Right
 
SOA with Zend Framework
SOA with Zend FrameworkSOA with Zend Framework
SOA with Zend Framework
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 
Managing Data in Microservices
Managing Data in MicroservicesManaging Data in Microservices
Managing Data in Microservices
 
WebDev Crash Course
WebDev Crash CourseWebDev Crash Course
WebDev Crash Course
 
Python & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piecePython & Serverless: Refactor your monolith piece by piece
Python & Serverless: Refactor your monolith piece by piece
 
Cleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy ProjectsCleaning Code - Tools and Techniques for Large Legacy Projects
Cleaning Code - Tools and Techniques for Large Legacy Projects
 

Más de Lars Marius Garshol

JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformationLars Marius Garshol
 
Data collection in AWS at Schibsted
Data collection in AWS at SchibstedData collection in AWS at Schibsted
Data collection in AWS at SchibstedLars Marius Garshol
 
NoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityNoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityLars Marius Garshol
 
Using the search engine as recommendation engine
Using the search engine as recommendation engineUsing the search engine as recommendation engine
Using the search engine as recommendation engineLars Marius Garshol
 
Linked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLinked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLars Marius Garshol
 
NoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityNoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityLars Marius Garshol
 
Introduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningIntroduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningLars Marius Garshol
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceLars Marius Garshol
 

Más de Lars Marius Garshol (20)

JSLT: JSON querying and transformation
JSLT: JSON querying and transformationJSLT: JSON querying and transformation
JSLT: JSON querying and transformation
 
Data collection in AWS at Schibsted
Data collection in AWS at SchibstedData collection in AWS at Schibsted
Data collection in AWS at Schibsted
 
Kveik - what is it?
Kveik - what is it?Kveik - what is it?
Kveik - what is it?
 
Nature-inspired algorithms
Nature-inspired algorithmsNature-inspired algorithms
Nature-inspired algorithms
 
Collecting 600M events/day
Collecting 600M events/dayCollecting 600M events/day
Collecting 600M events/day
 
History of writing
History of writingHistory of writing
History of writing
 
NoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativityNoSQL and Einstein's theory of relativity
NoSQL and Einstein's theory of relativity
 
Norwegian farmhouse ale
Norwegian farmhouse aleNorwegian farmhouse ale
Norwegian farmhouse ale
 
Archive integration with RDF
Archive integration with RDFArchive integration with RDF
Archive integration with RDF
 
The Euro crisis in 10 minutes
The Euro crisis in 10 minutesThe Euro crisis in 10 minutes
The Euro crisis in 10 minutes
 
Using the search engine as recommendation engine
Using the search engine as recommendation engineUsing the search engine as recommendation engine
Using the search engine as recommendation engine
 
Linked Open Data for the Cultural Sector
Linked Open Data for the Cultural SectorLinked Open Data for the Cultural Sector
Linked Open Data for the Cultural Sector
 
NoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityNoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativity
 
Bitcoin - digital gold
Bitcoin - digital goldBitcoin - digital gold
Bitcoin - digital gold
 
Introduction to Big Data/Machine Learning
Introduction to Big Data/Machine LearningIntroduction to Big Data/Machine Learning
Introduction to Big Data/Machine Learning
 
Hops - the green gold
Hops - the green goldHops - the green gold
Hops - the green gold
 
Big data 101
Big data 101Big data 101
Big data 101
 
Linked Open Data
Linked Open DataLinked Open Data
Linked Open Data
 
Hafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practiceHafslund SESAM - Semantic integration in practice
Hafslund SESAM - Semantic integration in practice
 
Approximate string comparators
Approximate string comparatorsApproximate string comparators
Approximate string comparators
 

Último

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 

Último (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 

Better architecture with semantic integration

  • 1. Semantic integration TMRA, 2010-10-01 Lars Marius Garshol 1  
  • 2. Architectural challenges •  System architecture is not enterprise architecture –  what's good for a single system is not necessarily good for the enterprise as a whole –  local decisions make sense locally, but not necessarily globally •  Organizational reorganizations –  merges, aquisitions, political reorganizations, ... –  these all have implications for IT architecture •  Master data management –  of course you only have a single customer database –  ...until you buy a company that has their own •  Architecture dictators –  are a tempting solution to impose some general structure, –  but generally impede progress at the local level 2  
  • 3. Lego! •  The goal is not just an architecture that's correct today •  Because we know the situation will soon change •  The goal is an architecture that's easily adapted to tomorrow's environment 3  
  • 4. A step-by-step process 2.  Master   3.  Reference   4.  Generic   5.  Access   7.  Seman<c   6.  Search   data   data   services   control   formats   1.  Reference  model   4  
  • 5. Mapping the IT landscape Step  #1   •  Which IT systems exist? •  Which entities do they have? •  What are their properties? •  What web services exist? •  What is their input and output? App   En#tet   Egenskap   Tjeneste   Format   5  
  • 6. The value of the map Step  #1   •  Living high-level view of systems and services – navigation/search/visualization, – connect to relevant documentation, where it exists, – far superior to PowerPoint/Word •  The main value is in the structure – that is, the use of a proper semantic model •  No need to build or buy software – it can all be done with existing open source components 6  
  • 7. Problems with the map Step  #1   •  There is no connection across systems – shows that 7 systems have the concept "case" – but so what? •  What is needed is a cross-mapping – must show to what degree the 7 concepts overlap – perhaps there are other concepts that mean the same, but have different names? 7  
  • 8. Build a reference model Step  #1   •  Model central concepts – entities and their properties – type hierarchy for both – independent of any specific system; model the organization's understanding •  This is not a canonical data model – not a format – not forcing any systems to actually use the model – systems can use entities/properties which do not (yet) exist in the model 8  
  • 9. What is cohabitation? Step  #1   •  Law on individual pensions – LOV-2008-06-27-62, § 3-7 • Med samboer forstås her a) person som kunden har felles bolig og felles barn med, b) person som kunden lever sammen med i ekteskaps- eller partnerskapslignende forhold når det godtgjøres at forholdet har bestått uavbrutt i de siste fem år før kundens død, og det ikke forelå forhold som ville hindre at lovlig ekteskap eller registrert partnerskap ble inngått. •  Regulation on collecting information –  FOR-2005-07-08-826, punkt 1 •  samboere: personer som lever sammen og har felles barn. •  Law on "vergemål" –  LOV-2010-03-26-9, § 2 •  Med samboere menes i denne loven to personer som bor sammen i et ekteskapslignende forhold. •  ... 9  
  • 10. Modelling Step  #1   Cohabita<on   Cohabita<on   Cohabita<on   Cohabita<on   Cohabita<on   PENSION   XXX   VERGE   YYY   Cohabita<on     INNH   10  
  • 11. Properties, too Step  #1   cohab  1   Cohabita<on   Person   start  date   cohab  2   end  date   ...   11  
  • 12. Connect the system data Step  #1   Cohabita<on   Cohabita<on   Cohabita<on   Cohabita<on   Cohabita<on   PENSION   XXX   VERGE   YYY   Cohabita<on     INNH   COHAB   COHABITERS   BPG_COHAB   App  #1   App  #2   App  #3   12  
  • 13. Degrees of correlation Step  #1   A   B   •  Perfect correlation –  not unusual, neither is it always the case •  Specialization –  that is, B is a narrower concept than A is •  Overlap –  A and B share a common subset •  Resembles –  A and B are related, but the connection is not clear 13  
  • 14. Uses of the model Step  #1   •  We describe to understand –  we want to understand so that we can improve •  Analysis of the architecture –  starting point for a restructuring –  identify master data issues –  etc •  A data dictionary –  useful when converting legacy data –  useful for bug fixing –  key personell no longer have to answer questions all the time –  etc 14  
  • 15. From documentation to services Trinn  #1   •  So far we've only discussed documentation for humans – this is highly useful in a number of ways – but it is only the beginning •  The model has a semantic structure – therefore we can use it to build new kinds of services 15  
  • 16. Master data control Step  #2   •  Pick one system to be the master for each kind of data – where this can really be centralized •  Other systems needing the data must become clients of the master – this is a gradual transition •  We also need a protocol which the clients can use to retrieve the data 16  
  • 17. A service broker Step  #2   •  A service which routes requests •  A layer above the ESB Broker   Reference   –  the ESB takes care of model   transport –  it might also broker between several ESBs ESB   •  Uses its knowledge of information and services •  Decouples clients from servers •  Makes the architecture a lot more flexible 17  
  • 18. Master data protocol Step  #2   App  #1   App  #2   App  #3   Atom  (SDshare)   •  Used by clients to retrieve data Broker   Lookup   updates Referanse-­‐ modell   •  Makes it possible to gradually Sync  request:  en<ty  +  <me   migrate •  Master can change without App  #4   the clients knowing 18  
  • 19. Collect reference data Step  #3   •  Most systems share a number of fairly static lists – list of countries, list of diagnosis codes, list of provinces, ... •  There is no reason to maintain this in duplicate in different systems – the lists also need common identifiers for the items •  The lists might as well go into the reference model – can be retrieved from there by client systems 19  
  • 20. Generic lookup service Step  #4   •  Would not work "out of the box" App  #2   App  #3   App  #4   •  Must be carefully Service  #1   Service  #2   Service  #3   set up so that it works Who  has   •  Possible because data  about   this is a controlled X?   environment Broker   Give  me  an  en<ty  of   type  X  with  ID  23414   App  #1   20  
  • 21. Generic translation service Step  #4   X-­‐>Y   Y-­‐>Z   X-­‐>Z   Y-­‐>X   Z-­‐>Y   Z-­‐>X   Broker   •  Sometimes the client wants format X, but the server can only supply Y – the broker can find a translator service, and – ensure that the translation happens automatically 21  
  • 22. Some science fiction Step  #4   •  We already have – the structure of XML formats X and Y described, and – connected to the reference model •  In some cases we can then generate the translator automatically – made prototype in 2004 – it worked! – but it won't always work 22  
  • 23. Impact analysis Step  #4   •  If we register clients and their requests in the model we know more about the uses of the architecture •  It becomes possible to find the answer to questions like – "can we stop this service?" – "does anyone use this format?" – ... 23  
  • 24. Access control Step  #5   •  Rules for this are usually – not documented anywhere, – encoded in software all over the enterprise •  It can also be represented in the model – user groups can be connected to the data they are allowed to access/modify – there is no need to represent individual users •  All this can be retrieved via web services 24  
  • 25. Generic querying with SPARQL Trinn  #6   •  More advanced lookup – using SPARQL as the query language – can do more than just looking up IDs – doing queries "into the cloud" •  The reference model is used to interpret the query – splits it up and delegates to different services – the broker then assembles the result •  SPARQL is not a very powerful language – that is why this is possible 25  
  • 26. Semantic formats "on the wire" Step  #7   •  Ordinary XML formats are static – semantic formats are dynamic •  New fields and entity types can be added – without changing the format – without confusing recipients •  Transparent support for subtyping – allowing even more flexibility in interpretation •  Support for merging – again transparent for recipients 26  
  • 27. Scenario Step  #7   Database   XTM   App  #2   Service  #2   XTM   SPARQL   Service  #1   SPARQL   Merge  and   XTM   filter   Translator   Broker   formatY   SPARQL,  formatY   Need  all  X  sa<sfying  certain   criteria,  in  format  Y   App  #1   27  
  • 28. Conclusion •  Clients don't need to know where the data are – much looser coupling – much easier to restructure •  Clients do not need to relate to the many data models that are in use – instead they need only refer to the reference model •  Clients do not need to worry about the data formats used by servers – instead, they simply ask for data in the format they want 28