ldapint/andldapbld.txt

Thu, 28 Feb 2013 21:46:37 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 28 Feb 2013 21:46:37 +0100
changeset 22
545df6643bcd
permissions
-rw-r--r--

Introduce production changes, mention online lecture URL, and
integrate quick meme according to suggestion from Mike ELIAS.

     1 LDAP integration in Android
     2 Type: Lecture/presentation
     3 Category: Engineering/development
     4 Topic: Networking/Internals/Implementation choices
     5 Audience: Mobile users,
     6           software engineers,
     7           network engineers
     8 Duration: 45 minute presentation
    10 Author and Speaker
    11 ------------------
    12 Michael Schloh von Bennewitz
    13 Software Engineer, Europalab Networks
    14 web: http://michael.schloh.com/
    15 email: michael@schloh.com
    16 isdn: +49(89)44239885
    17 voip: sips:michael@schloh.com
    18 xmpp: MSvB
    20 Biography
    21 ---------
    22 Michael Schloh von Bennewitz is a computer scientist specializing in
    23 network software, mobile computing, and client server design. He speaks
    24 at technical events every year. In the past, he has given lectures on
    25 object oriented design, technical writing, network protocols, mobile
    26 OSs, MeeGo development, LDAP integration strategies, and the Qt library
    27 build process. His speaking style is humorous, using gestures and good
    28 eye contact. He walks about the room and writes presentations in SVG
    29 or HTML5.
    31 Abstract
    32 --------
    33 The lightweight directory access protocol (LDAP) is implemented in
    34 almost all IP hardphones as well as being prevelent in email clients.
    35 Although Active Directory users of Windows technology typically use LDAP
    36 for authentication, a number of directory relevant use cases lead to the
    37 question 'Why do so few mobile operating systems integrate LDAP client
    38 logic?'
    40 The presentation begins by defining and explaining the LDAP protocol.
    41 Reference is made to some well known client and server implementations
    42 as well as reviewing a hello world example application in ten minutes.
    43 A comparison is drawn to SQL, a similar technology which most have more
    44 experience with. Use cases are explored and judged for their value to
    45 the linux mobile ecosystem and Android OS in particular.
    47 In past presentations, audiences have put their own use cases
    48 forward and compared LDAP directory concepts with corresponding SQL
    49 alternatives.
    51 The audience consists of regular android users as well as software
    52 and network engineers familiar with LDAP, SQL, or neither one.
    53 Attendants expect clearly defined LDAP use cases, abstract concepts,
    54 concrete definitions, and a well explained hello world LDAP example
    55 implementation given live.
    57 It is likely that what attendants take home is not what they thought
    58 about before. Many have little or no exposure to directory services
    59 and will rejoice in learning about LDAP and how easy it is to integrate
    60 and administer. The Linux community stands to benefit greatly from a
    61 reenergized collective effort at integrating LDAP wherever a strong case
    62 for directory service exists. Hello Android, meet LDAP.
    64 The following text is a lecture outline.
    66 Main chapters (20 minutes)
    67 --------------------------
    68   Concepts
    69     Directory
    70     Access
    71     Protocol
    72     LDAP
    73     Offspring
    74       Active directory
    75     Comparisons
    76       SQL
    77       Client storage
    79   Business use cases
    80     Legacy directories
    81     Network configuration
    82     Security or license sensitive
    84   General use cases
    85     Authentication
    86     Contacts integration
    87     Noncontacts customized
    88     Certificate storage
    89     SQL competition
    91   Platform provision
    92     Synchronization
    93     Read-optimized lookups
    94     Little network penalty
    95     Standardized protocol
    96     Network bound
    98   Platform architecture
    99     What Android API provides
   100     What Android market offers
   101     What 3rd party APIs offer
   102     Compatibility concerns
   104   Implementations
   105     Server-side relevance
   106     Client SDKs
   107       Apache [1]
   108       OpenDS [2]
   109       UnboundID [3]
   110       Novell [4]
   111       Mozilla [5]
   112       Netscape (renamed Mozilla)
   113       Oracle JNDI [6] (not available)
   114       JavaScript (not much)
   116 Demonstration (15 minutes)
   117 --------------------------
   118   Download and installation of LDAP client SDK
   119   Development of Hello LDAP five line application
   120   Build, package, install, and test app
   121   Review of selected business use case
   123 Questions (10 minutes)
   124 ----------------------
   125   Anticipated questions
   126     Why not just use a (Static|SQL|Lync|other) directory in business?
   127     What are the disadvantages of SQL or ODBC for similar applications?
   128     How relevant are directory services other than just for contacts?
   129     Why would a business not use whatever apps are already in the market?
   130     Why not depend on a social network for directory services?
   132 Relevant jokes about...
   133 -----------------------
   134   Android and Linux
   135   Directories and legacy apps
   137 Glossary
   138 --------
   139   Directory
   140   Access
   141   Protocol
   142   Lightweight Directory Access Protocol (LDAP)
   143   Active Directory (AD)
   144   Application Programming Interface (API)
   145   Software Development Kit (SDK)
   146   Structured Query Language (SQL)
   147   Open Database Connectivity (ODBC)
   148   American National Standards Institute (ANSI)
   149   International Organization for Standards (ISO)
   150   Internet Engineering Task Force (IETF)
   151   Request for Comments (RFC)
   153 Errata
   154 ------
   155   Errata here.
   157 Lecture materials
   158 -----------------
   159 This lecture is developed on a public source code revision management
   160 system [7]. It is (or will be) published on a public file server [8].
   162 Technical requirements
   163 ----------------------
   164 A WLAN connection (for remote slide advancement,) internet connectivity
   165 (for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   166 needed for this presentation.
   168 Links and notes
   169 ---------------
   170   [1] http://directory.apache.org/
   171   [2] http://www.opends.org/
   172   [3] http://www.unboundid.com/products/ldap-sdk/
   173   [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html
   174   [5] https://wiki.mozilla.org/Directory
   175   [6] http://www.oracle.com/technetwork/java/jndi/
   176   [7] http://scm.europalab.com/lectures/
   177   [8] ftp://ftp.europalab.com/pub/doc/lect/

mercurial