LDAP Integration into ReL Clay Smalley Paulo Alcantara.

Slides:



Advertisements
Similar presentations
Chapter 18 - Data sources and datasets 1 Outline How to create a data source How to use a data source How to use Query Builder to build a simple query.
Advertisements

CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 28 Database Systems I The Relational Data Model.
A Guide to SQL, Seventh Edition. Objectives Understand the concepts and terminology associated with relational databases Create and run SQL commands in.
Introduction to Structured Query Language (SQL)
Chapter 7 Managing Data Sources. ASP.NET 2.0, Third Edition2.
Database Management Systems (DBMS)
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL PRESENTATION BY ALAKESH APURVA DHAN AND ASH.
SQLite 1 CS440. What is SQLite?  Open Source Database embedded in Android  SQL syntax  Requires small memory at runtime (250 Kbytes)  Lightweight.
LDAP Client Update Protocol (LCUP) Olga Natkovich Sun-Netscape Alliance
Guide to MCSE , Enhanced 1 Activity 4-1: Creating and Adding Members to Global Groups Objective: Use Active Directory Users and Computers to create.
SQL Within PL / SQL Chapter 4. 2 SQL Within PL / SQL SQL Statements DML in PL / SQL Pseudocolums Transaction Control.
1 IT420: Database Management and Organization SQL: Structured Query Language 25 January 2006 Adina Crăiniceanu
Java Database Connectivity (JDBC) Francisco Pajaro Saul Acosta Nahum Quezada Manuel Rubio.
5 Copyright © 2008, Oracle. All rights reserved. Configuring the Oracle Network Environment.
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ.
ASP.NET Programming with C# and SQL Server First Edition
Database Programming in Java Corresponds with Chapter 32, 33.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor Ms. Arwa.
Introduce LDAP 张海鹏 SOA Mult - Little system User Manager System (share between other systems) How to store user Information How to access.
LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL Presented by Chaithra H.T.
Chapter 15: Using LINQ to Access Data in C# Programs.
1 LDAP and Java Naming Services Murali. M.Nagendranath.
Database Management. ICT5 Database Administration (DBA) The DBA’s tasks will include the following: 1. The design of the database. After the initial design,
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
Knowledge Modeling, use of information sources in the study of domains and inter-domain relationships - A Learning Paradigm by Sanjeev Thacker.
Implementing LDAP Client/Server System for Directory Service By Maochun Sun Project Advisor: Dr. Chung-E Wang Department of Computer Science California.
Chapter 6 Database Administration
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
7 1 Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Using a LDAP Directory Server for Environmental Data Discovery Donald Denbo NOAA-PMEL/UW-JISAO Presented by Eugene Burger NOAA-PMEL/UW-JISAO
Access Project 3 Notes. Introduction Maintaining the Database  Modifying the data to keep it up-to-date Restructure the Database  To change the database.
CS 1308 Computer Literacy and the Internet
6 1 Lecture 8: Introduction to Structured Query Language (SQL) J. S. Chou, P.E., Ph.D.
Open Source Server Side Scripting ECA 236 Open Source Server Side Scripting MySQL – Inserting Data.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
Mitchell McMullen Paul Nguyen SWAN. Python written entirely in C#. Can access all.NET libraries and Silverlight. Created by the same guy as Jython. No.
Oracle 11g: SQL Chapter 4 Constraints.
Chapter 4 Constraints Oracle 10g: SQL. Oracle 10g: SQL 2 Objectives Explain the purpose of constraints in a table Distinguish among PRIMARY KEY, FOREIGN.
1 Chapter 20 – Data sources and datasets Outline How to create a data source How to use a data source How to use Query Builder to build a simple query.
SQL Jan 20,2014. DBMS Stores data as records, tables etc. Accepts data and stores that data for later use Uses query languages for searching, sorting,
 Registry itself is easy and straightforward in implementation  The objects of registry are actually complicated to store and manage  Objects of Registry.
Paulo Repa Lightweight Directory Access Protocol Paulo Repa
Week 8-9 SQL-1. SQL Components: DDL, DCL, & DML SQL is a very large and powerful language, but every type of SQL statement falls within one of three main.
Continue the Development of SQL in fJySwan Blake Kobelan, Brittany Blassingill, Andrew Spence.
LDAP (Lightweight Directory Access Protocol)
Spring LDAP Dima Ionut Daniel.
Distribution of Marks For Second Semester Internal Sessional Evaluation External Evaluation Assignment /Project QuizzesClass Attendance Mid-Term Test Total.
Chapter 3 Table Creation and Management Oracle 10g: SQL.
MYSQL AND MYSQL WORKBENCH MIS2502 Data Analytics.
SQL Triggers, Functions & Stored Procedures Programming Operations.
SQL Basics Review Reviewing what we’ve learned so far…….
1 Section 1 - Introduction to SQL u SQL is an abbreviation for Structured Query Language. u It is generally pronounced “Sequel” u SQL is a unified language.
Introduction to Database Programming with Python Gary Stewart
2 Copyright © 2009, Oracle. All rights reserved. Managing Schema Objects.
 MySQL is a database system used on the web  MySQL is a database system that runs on a server  MySQL is ideal for both small and large applications.
1 Directory Services  What is a Directory Service?  Directory Services model  Directory Services naming model  X.500 and LDAP  Implementations of.
ReL Components CodeCompiler.java Python.g AST Visitor Interpreter
Fundamentals of DBMS Notes-1.
CS 330 Class 7 Comments on Exam Programming plan for today:
Creating Database Triggers
Introduction to LDAP Frank A. Kuse.
Arit Paul and Chris Hitte
ISC440: Web Programming 2 Server-side Scripting PHP 3
SQL Server 2000: Integration with AD and E2K
Group Project Justin Hust Ethan Petuchowski Simon Doty
SQL-1 Week 8-9.
Session - 6 Sequence - 1 SQL: The Structured Query Language:
IST 318 Database Administration
Session - 6 Sequence - 1 SQL: The Structured Query Language:
LDAP LIGHT WEIGHT DIRECTORY ACCESS PROTOCOL
Presentation transcript:

LDAP Integration into ReL Clay Smalley Paulo Alcantara

LDAP Basics Lightweight Directory Access Protocol (LDAP) “is an application protocol for accessing and maintaining distributed directory information” Directory Services are often hierarchical in structure, specified by a server configured schema Integrated Functions in ReL: Add, Delete, Modify Added LDAP Data Interexchange Format (LDIF) processing in ReL

LDAP Data Interchange Format (LDIF) Plain Text data format used for LDAP directory requests and updates ldapstart dn: uid=personid13,ou=PERSONT,dc=example,dc=com changetype: add firstname: Suzie lastname: Smith zipcode: _| |_ ldapend Unique IdentifierClass Type Python Expression NEWLINE is too greedy

ReL Components Python.g SPARQLDoer.java PyTuple.java parseSIM() parseLDAP() AST Runtime Stack SIMHelper.java Visitor SQLVisitor.java jSQLParser Interpreter Oracle DBMS jSIMParser CodeCompiler.java The Python grammar was changed to include LDAP statements. SPARQLDoer was updated to support selecting and deleting integer values (fixed bugs) parseLDAP parses LDAP statements from PyTuple and produces and passes AS information to LDAPHelper. LDAPHelper produces appropriate SPARQL statements for the LDAP statements which are sent to SPARQLDoer. LDAPHelper.java

Python.g Modifications Python.g was modified to recognize LDAP statements Embedded Python expressions are recognized where appropriate, distiguished with _|PyExpression|_ format ldap_add: ldapType=LDAP_ADD { $ldap_stmt::temp = $ldapType.text; $ldap_stmt::strings.add($ldap_stmt::temp); $ldap_stmt::temp="";} NEWLINE (name=(NAME|OBJECTCLASS) COLON (ldapexpr| (ldapWord=ldap_word { $ldap_stmt::temp = $ldapWord.text;})) NEWLINE { $ldap_stmt::temp = $name.text + ":" + $ldap_stmt::temp; $ldap_stmt::strings.add($ldap_stmt::temp); $ldap_stmt::temp="";} )+ ;

PyTuple Modificatoins Modifications based off how PyTuple accepts SIM statements and the parseSIM() method PyTuple was modified to accept LDAP statements Called parseLDAP method to produce and pass abstract syntax to LDAPHelper class

LDAPHelper Based on the SIMHelper model LDAPHelper takes the abstract syntax and interfaces with SPARQLDoer to do the conversion to SPARQL Calls necessary methods in SPARQLDoer to conduct the execution of database commands

SPARQLDoer Modifications Noticed issues selecting when modifying/deleting items SPARQLDoer’s created queries did not properly add the type when modifying/deleting entries, causing issues when modifying/deleting anything other than strings Example: how does SPARQL interpret "42"^^xsd:integer v.s. “42” v.s. 42 in a WHERE clause Added type determination syntax to certain parts of SPARQLDoer

Demo & Next Steps dist/bin/jython tests/LDAPDemo.py Creation of a jLDAPParser and LDAPVisitor to mimic what jSQLParser and SQLVisitor does