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