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 Directory Services in Mobile Applications
2 Type: Lecture/presentation
3 Category: Systems/business
4 Topic: Networking/Internals/Implementation choices
5 Audience: Android application developers
6 Duration: 30 minute presentation
8 Author and Speaker
9 ------------------
10 Michael Schloh von Bennewitz
11 Software Engineer, Europalab Networks
12 web: http://michael.schloh.com/
13 email: michael@schloh.com
14 isdn: +49(89)44239885
15 voip: sips:michael@schloh.com
16 xmpp: MSvB
18 Biography
19 ---------
20 Michael Schloh von Bennewitz is a computer scientist specializing in
21 network software, mobile computing, and client server design. He speaks
22 at technical events every year. In the past, he has given lectures on
23 object oriented design, technical writing, network protocols, mobile
24 OSs, MeeGo development, LDAP integration strategies, and the Qt library
25 build process. His speaking style is humorous, using gestures and good
26 eye contact. He walks about the room and writes presentations in SVG or
27 HTML5.
29 Abstract
30 --------
31 Given that LDAP development efforts have been few and weak, a number of
32 directory relevant use cases lead to the question 'Why do so few mobile
33 operating systems integrate directory client logic?'
35 This lecture begins by explaining concepts and presenting history and
36 background of directory services relating to a typical Android business
37 user.
39 Consideration of business and general use cases prove the value of LDAP
40 in mobile applications integrated into the Android OS or as stand alone
41 apps. A comparison is drawn to what use cases SQL covers.
43 Advancing into the topic of what Android could provide as a platform,
44 business development scenarios are discussed and what advantages
45 integrating directory services bring.
47 A technical view is given of the Android platform architecture. Third
48 party implementations of applications and development SDKs are
49 considered.
51 A demonstration of developing an Android application using a well known
52 LDAP Java SDK is concluded with a review of a selected business use
53 case and consideration of how one would hypothetically procede.
55 The audience consists of developers familiar with client server design
56 and maybe SQL, LDAP, or other directory and database technology.
58 Attendants expect clearly defined directory use cases, abstract
59 concepts, concrete definitions, and a well explained hello world
60 LDAP development example. The Android community stands to benefit
61 from a collective effort at integrating LDAP wherever a strong case
62 for directory service exists.
64 The following text is a lecture outline.
66 Main chapters (15 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 [3]
108 OpenDS [4]
109 UnboundID [5]
110 Novell [7]
111 Mozilla [8]
112 Netscape (renamed Mozilla)
113 Oracle JNDI [8] (not available)
114 JavaScript (not much)
116 Demonstration (10 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 (5 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/