SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
LSC @ LDAPCON . 2011




   Sébastien Bahloul
About me
   Developer and software architect
   10 years experience in IAM
   Recently hired as product manager by a French
    security editor, Dictao, providing :
    – personal and server signature,
    – certificate and signing validation,
    – electronic vault
    – multi-factor authentication

11/10/11                                        Page 2
Agenda


   Solving one issue : directory synchronization


   The LSC project


   Demonstration


   Open question : how to get updates notification ?
11/10/11                                            Page 3
Handling multiple data sources ?




11/10/11                           Page 4
Why ?

   Most of us have already done a directory migration


   Who has already written a synchronization script ?
    that has been used once ?


   Most of LDAP servers are not providing either a
    way to synchronize either heteregeneous data or
    homogeneous data with other implementations

11/10/11                                           Page 5
Introduction
     Automatic synchronization tools
  −       If they already exist, they are quite expensive
          Directory / database-specific replication
          Application-specific connectors (AD, SAP, etc)


  −       What about the rest?
          Between different databases, directories, files?
          Different data models?
          Using standards: LDAP, SQL, etc...?



11/10/11                                                      Page 6
Goals – functionality
     Read/write to any repository
  −   Database or LDAP directory or ?
  −   Standard LDAPv3 operations
  −   Connectors for databases
     Transform data on-the-fly
  −   Adapt to a different data model
  −   JavaScript based engine to manipulate data
     Adjustable updates: force values, insert defaults,
      merge new values with existing ones, no change...
11/10/11                                            Page 7
Goals – usability
     Quickly implement a new synchronization
     Highly configurable
  −   What exactly do we read?
  −   Powerful transformations (correctness is important)
  −   What exactly do we write?
     Run fast (performance is important)
     Easy to setup
=> Fill the gap between the Perl script and the
Enterprise ETL
11/10/11                                                    Page 8
About LSC Project
       What is LSC?
    −    LDAP Synchronization Connector
    −    Open Source project
    −    BSD licence
    −    Written in Java
    −    6 years in the making
    −    4 years ago LSC-project.org created
    −    ~10 regular contributors

       Website: http://lsc-project.org

11/10/11                                       Page 9
LSC : read and write « everywhere »
   Original and best supported connector to LDAP
    directories
   Additional sources: NIS, database, LDIF/CSV files,
    Web Services
   Additional destinations: Scripting, database
   Extensible API for custom referential support




11/10/11                                            Page 10
Standards based – Wide support
     Any LDAP server should be supported, tested on:
  −   OpenLDAP
  −   OpenDS/J
  −   Sun DSEE
  −   Microsoft Active Directory
  −   Novell Directory Services
  −   IBM Tivoli Directory Server
     Any database with a JDBC connector, tested on:
  −   MySQL, PostgreSQL, Oracle, MSSQL, HSQLDB, ...
11/10/11                                              Page 11
Features
   Full « Refresh » or « RefreshAndPersist » with
    dryrun support
   On the fly event handling
   Plugin API : connectors, libraries, scripting
    languages
   JMX and command line remote invocation
   Advanced libraries : encryption, Active Directory,
    localized strings, ...

11/10/11                                             Page 12
Synchronization rules
   Use your preferred language to write LSC rules!
   LSC built-in and historical support for JavaScript
   Extensible to any JSR 223 compliant language :
    – Php
    – Groovy
    – Unix tools (awk, TCL),
    – Python, Ruby, Scheme (Lisp)
    – ...


11/10/11                                            Page 13
LSC synchronization principles
     First step: sync
  −       Get a list of all pivots from the source
  −       For each pivot
          Read the source object
          Search for the destination object with pivot
          Build up desired destination object by applying
           transformations to source object
          If the destination object exists, calculate modifications
          Apply: create or modify



11/10/11                                                               Page 14
LSC synchronization principles
     Second step: clean (optional)
  −       Get a list of all pivots from the destination
  −       For each pivot
          Search for the source object with pivot
          If the source object doesn't exists, delete from destination
          Apply: delete


     Alternative step: asynchronous mode
  −       Get the next source object to synchronize

11/10/11                                                                  Page 15
LSC : graphical interface




11/10/11                    Page 16
Demonstration
   Simple use case: synchronize identities
   Involved referential:
    – A source OpenLDAP directory
    – Provisioning to:
           • OpenDJ
           • PostgreSQL



11/10/11                                      Page 17
Roadmap
       Current 2.0 version
    ✔
         Event handling
    ✔
         Write to database
    ✔
         Plugin API
       Next minor version 2.1 (Q1 2012)
    ✗
         Move to a real LDAP API (Apache / OpenDJ LDAP API)
    ✗
         Two-phase commit for file, directory (RFC5805) and database (one-to-many)
    ✗
         Administrative GUI including scheduler
       Next major version 3.0 (later)
    ✗
         Data reconciliation (embedded database)
    ✗
         Many-to-many design

11/10/11                                                                      Page 18
Try it out! Get involved!
     Main website: http://lsc-project.org/
  −    Tutorials: quickstart demo
  −    Reference documentation




11/10/11                                      Page 19
How to get notification updates ?
   The current way of handling:
    – OpenDJ / OpenDS / Oracle / Sun / Netscape :
      persistent search (draft psearch)
    – Apache DS / OpenLDAP: LDAP Content
      Synchronization (RFC4533)
   What would be the best way?
    – Ldap Client Update Protocol
    – Per product logs (retro/external/access/...)
    – Application-side database
11/10/11                                             Page 20
Thanks for your attention!
    Any questions?

Weitere ähnliche Inhalte

Was ist angesagt?

NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET AppsShiju Varghese
 
Rails - getting started
Rails - getting startedRails - getting started
Rails - getting startedTrue North
 
NiFi - First approach
NiFi - First approachNiFi - First approach
NiFi - First approachMickael Cassy
 
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with BallerinaWSO2
 
Update on the OpenDJ project
Update on the OpenDJ projectUpdate on the OpenDJ project
Update on the OpenDJ projectLDAPCon
 
Why we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseWhy we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseAndreas Jung
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMAlfresco Software
 
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLBUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLMichael Kennedy
 
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the FieldKafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Fieldconfluent
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOOJames Hollingworth
 
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with BallerinaWSO2
 
[WSO2Con EU 2017] Ballerina: Exploring Data Integration
[WSO2Con EU 2017] Ballerina: Exploring Data Integration[WSO2Con EU 2017] Ballerina: Exploring Data Integration
[WSO2Con EU 2017] Ballerina: Exploring Data IntegrationWSO2
 
Newsql 2015-150213024325-conversion-gate01
Newsql 2015-150213024325-conversion-gate01Newsql 2015-150213024325-conversion-gate01
Newsql 2015-150213024325-conversion-gate01Jagadeesha DG
 
Alfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load TestingAlfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load TestingAlfresco Software
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingShivji Kumar Jha
 
ELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGSteve Behrendt
 

Was ist angesagt? (18)

NoSQL Database in .NET Apps
NoSQL Database in .NET AppsNoSQL Database in .NET Apps
NoSQL Database in .NET Apps
 
Rails - getting started
Rails - getting startedRails - getting started
Rails - getting started
 
A Short Presentation on Kafka
A Short Presentation on KafkaA Short Presentation on Kafka
A Short Presentation on Kafka
 
NiFi - First approach
NiFi - First approachNiFi - First approach
NiFi - First approach
 
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
 
Update on the OpenDJ project
Update on the OpenDJ projectUpdate on the OpenDJ project
Update on the OpenDJ project
 
Why we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL DatabaseWhy we love ArangoDB. The hunt for the right NosQL Database
Why we love ArangoDB. The hunt for the right NosQL Database
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLBUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
 
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the FieldKafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
Kafka Summit SF 2017 - Kafka Connect Best Practices – Advice from the Field
 
Flywaydb
FlywaydbFlywaydb
Flywaydb
 
NoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOONoSQL and CouchDB: the view from MOO
NoSQL and CouchDB: the view from MOO
 
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina[WSO2Con EU 2017] File Processing and Websockets with Ballerina
[WSO2Con EU 2017] File Processing and Websockets with Ballerina
 
[WSO2Con EU 2017] Ballerina: Exploring Data Integration
[WSO2Con EU 2017] Ballerina: Exploring Data Integration[WSO2Con EU 2017] Ballerina: Exploring Data Integration
[WSO2Con EU 2017] Ballerina: Exploring Data Integration
 
Newsql 2015-150213024325-conversion-gate01
Newsql 2015-150213024325-conversion-gate01Newsql 2015-150213024325-conversion-gate01
Newsql 2015-150213024325-conversion-gate01
 
Alfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load TestingAlfresco Day Roma 2015: Full Stack Load Testing
Alfresco Day Roma 2015: Full Stack Load Testing
 
Apache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data StreamingApache Con 2021 Structured Data Streaming
Apache Con 2021 Structured Data Streaming
 
ELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGELK - Stack - Munich .net UG
ELK - Stack - Munich .net UG
 

Ähnlich wie LSC@LDAPCon 2011

LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009Jonathan Clarke
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseTugdual Grall
 
Real Time Streaming with Flink & Couchbase
Real Time Streaming with Flink & CouchbaseReal Time Streaming with Flink & Couchbase
Real Time Streaming with Flink & CouchbaseManuel Hurtado
 
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...DataWorks Summit/Hadoop Summit
 
openATTIC Technology Overview - Ceph Management
openATTIC Technology Overview - Ceph ManagementopenATTIC Technology Overview - Ceph Management
openATTIC Technology Overview - Ceph Managementit-novum
 
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinIntro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinAlex Zeltov
 
2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application serverVOIP2DAY
 
De-Mystifying the Apache Phoenix QueryServer
De-Mystifying the Apache Phoenix QueryServerDe-Mystifying the Apache Phoenix QueryServer
De-Mystifying the Apache Phoenix QueryServerJosh Elser
 
LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010Jonathan Clarke
 
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...Frank Munz
 
LSC - Synchronizing identities @ Loadays 2010
 LSC - Synchronizing identities @ Loadays 2010 LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010RUDDER
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oakMichael Dürig
 
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016MLconf
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 
Osp ii presentation
Osp ii presentationOsp ii presentation
Osp ii presentationpresse_jkp
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaThomas Kurz
 

Ähnlich wie LSC@LDAPCon 2011 (20)

LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Real Time Streaming with Flink & Couchbase
Real Time Streaming with Flink & CouchbaseReal Time Streaming with Flink & Couchbase
Real Time Streaming with Flink & Couchbase
 
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...
Accelerating Apache Hadoop through High-Performance Networking and I/O Techno...
 
openATTIC Technology Overview - Ceph Management
openATTIC Technology Overview - Ceph ManagementopenATTIC Technology Overview - Ceph Management
openATTIC Technology Overview - Ceph Management
 
NkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application serverNkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application server
 
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache ZeppelinIntro to Big Data Analytics using Apache Spark and Apache Zeppelin
Intro to Big Data Analytics using Apache Spark and Apache Zeppelin
 
LOD2: State of Play WP6 - LOD2 Stack Architecture
LOD2: State of Play WP6 - LOD2 Stack ArchitectureLOD2: State of Play WP6 - LOD2 Stack Architecture
LOD2: State of Play WP6 - LOD2 Stack Architecture
 
2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server2014 carlos gzlez florido nksip the erlang sip application server
2014 carlos gzlez florido nksip the erlang sip application server
 
Apache Marmotta - Introduction
Apache Marmotta - IntroductionApache Marmotta - Introduction
Apache Marmotta - Introduction
 
De-Mystifying the Apache Phoenix QueryServer
De-Mystifying the Apache Phoenix QueryServerDe-Mystifying the Apache Phoenix QueryServer
De-Mystifying the Apache Phoenix QueryServer
 
LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010
 
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
 
LSC - Synchronizing identities @ Loadays 2010
 LSC - Synchronizing identities @ Loadays 2010 LSC - Synchronizing identities @ Loadays 2010
LSC - Synchronizing identities @ Loadays 2010
 
Lightbend Fast Data Platform
Lightbend Fast Data PlatformLightbend Fast Data Platform
Lightbend Fast Data Platform
 
The architecture of oak
The architecture of oakThe architecture of oak
The architecture of oak
 
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
Arun Rathinasabapathy, Senior Software Engineer, LexisNexis at MLconf ATL 2016
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
Osp ii presentation
Osp ii presentationOsp ii presentation
Osp ii presentation
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache Marmotta
 

Kürzlich hochgeladen

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 

Kürzlich hochgeladen (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

LSC@LDAPCon 2011

  • 1. LSC @ LDAPCON . 2011 Sébastien Bahloul
  • 2. About me  Developer and software architect  10 years experience in IAM  Recently hired as product manager by a French security editor, Dictao, providing : – personal and server signature, – certificate and signing validation, – electronic vault – multi-factor authentication 11/10/11 Page 2
  • 3. Agenda  Solving one issue : directory synchronization  The LSC project  Demonstration  Open question : how to get updates notification ? 11/10/11 Page 3
  • 4. Handling multiple data sources ? 11/10/11 Page 4
  • 5. Why ?  Most of us have already done a directory migration  Who has already written a synchronization script ? that has been used once ?  Most of LDAP servers are not providing either a way to synchronize either heteregeneous data or homogeneous data with other implementations 11/10/11 Page 5
  • 6. Introduction  Automatic synchronization tools − If they already exist, they are quite expensive  Directory / database-specific replication  Application-specific connectors (AD, SAP, etc) − What about the rest?  Between different databases, directories, files?  Different data models?  Using standards: LDAP, SQL, etc...? 11/10/11 Page 6
  • 7. Goals – functionality  Read/write to any repository − Database or LDAP directory or ? − Standard LDAPv3 operations − Connectors for databases  Transform data on-the-fly − Adapt to a different data model − JavaScript based engine to manipulate data  Adjustable updates: force values, insert defaults, merge new values with existing ones, no change... 11/10/11 Page 7
  • 8. Goals – usability  Quickly implement a new synchronization  Highly configurable − What exactly do we read? − Powerful transformations (correctness is important) − What exactly do we write?  Run fast (performance is important)  Easy to setup => Fill the gap between the Perl script and the Enterprise ETL 11/10/11 Page 8
  • 9. About LSC Project  What is LSC? − LDAP Synchronization Connector − Open Source project − BSD licence − Written in Java − 6 years in the making − 4 years ago LSC-project.org created − ~10 regular contributors  Website: http://lsc-project.org 11/10/11 Page 9
  • 10. LSC : read and write « everywhere »  Original and best supported connector to LDAP directories  Additional sources: NIS, database, LDIF/CSV files, Web Services  Additional destinations: Scripting, database  Extensible API for custom referential support 11/10/11 Page 10
  • 11. Standards based – Wide support  Any LDAP server should be supported, tested on: − OpenLDAP − OpenDS/J − Sun DSEE − Microsoft Active Directory − Novell Directory Services − IBM Tivoli Directory Server  Any database with a JDBC connector, tested on: − MySQL, PostgreSQL, Oracle, MSSQL, HSQLDB, ... 11/10/11 Page 11
  • 12. Features  Full « Refresh » or « RefreshAndPersist » with dryrun support  On the fly event handling  Plugin API : connectors, libraries, scripting languages  JMX and command line remote invocation  Advanced libraries : encryption, Active Directory, localized strings, ... 11/10/11 Page 12
  • 13. Synchronization rules  Use your preferred language to write LSC rules!  LSC built-in and historical support for JavaScript  Extensible to any JSR 223 compliant language : – Php – Groovy – Unix tools (awk, TCL), – Python, Ruby, Scheme (Lisp) – ... 11/10/11 Page 13
  • 14. LSC synchronization principles  First step: sync − Get a list of all pivots from the source − For each pivot  Read the source object  Search for the destination object with pivot  Build up desired destination object by applying transformations to source object  If the destination object exists, calculate modifications  Apply: create or modify 11/10/11 Page 14
  • 15. LSC synchronization principles  Second step: clean (optional) − Get a list of all pivots from the destination − For each pivot  Search for the source object with pivot  If the source object doesn't exists, delete from destination  Apply: delete  Alternative step: asynchronous mode − Get the next source object to synchronize 11/10/11 Page 15
  • 17. Demonstration  Simple use case: synchronize identities  Involved referential: – A source OpenLDAP directory – Provisioning to: • OpenDJ • PostgreSQL 11/10/11 Page 17
  • 18. Roadmap  Current 2.0 version ✔ Event handling ✔ Write to database ✔ Plugin API  Next minor version 2.1 (Q1 2012) ✗ Move to a real LDAP API (Apache / OpenDJ LDAP API) ✗ Two-phase commit for file, directory (RFC5805) and database (one-to-many) ✗ Administrative GUI including scheduler  Next major version 3.0 (later) ✗ Data reconciliation (embedded database) ✗ Many-to-many design 11/10/11 Page 18
  • 19. Try it out! Get involved!  Main website: http://lsc-project.org/ − Tutorials: quickstart demo − Reference documentation 11/10/11 Page 19
  • 20. How to get notification updates ?  The current way of handling: – OpenDJ / OpenDS / Oracle / Sun / Netscape : persistent search (draft psearch) – Apache DS / OpenLDAP: LDAP Content Synchronization (RFC4533)  What would be the best way? – Ldap Client Update Protocol – Per product logs (retro/external/access/...) – Application-side database 11/10/11 Page 20
  • 21. Thanks for your attention! Any questions?