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.

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

mercurial