Thu, 28 Feb 2013 21:46:37 +0100
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/