1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/ldapint/andldapbus.txt Fri Jan 13 19:15:33 2012 +0100 1.3 @@ -0,0 +1,177 @@ 1.4 +Directory Services in Mobile Applications 1.5 +Type: Lecture/presentation 1.6 +Category: Systems/business 1.7 +Topic: Networking/Internals/Implementation choices 1.8 +Audience: Android application developers 1.9 +Duration: 30 minute presentation 1.10 + 1.11 +Author and Speaker 1.12 +------------------ 1.13 +Michael Schloh von Bennewitz 1.14 +Software Engineer, Europalab Networks 1.15 +web: http://michael.schloh.com/ 1.16 +email: michael@schloh.com 1.17 +isdn: +49(89)44239885 1.18 +voip: sips:michael@schloh.com 1.19 +xmpp: MSvB 1.20 + 1.21 +Biography 1.22 +--------- 1.23 +Michael Schloh von Bennewitz is a computer scientist specializing in 1.24 +network software, mobile computing, and client server design. He speaks 1.25 +at technical events every year. In the past, he has given lectures on 1.26 +object oriented design, technical writing, network protocols, mobile 1.27 +OSs, MeeGo development, LDAP integration strategies, and the Qt library 1.28 +build process. His speaking style is humorous, using gestures and good 1.29 +eye contact. He walks about the room and writes presentations in SVG or 1.30 +HTML5. 1.31 + 1.32 +Abstract 1.33 +-------- 1.34 +Given that LDAP development efforts have been few and weak, a number of 1.35 +directory relevant use cases lead to the question 'Why do so few mobile 1.36 +operating systems integrate directory client logic?' 1.37 + 1.38 +This lecture begins by explaining concepts and presenting history and 1.39 +background of directory services relating to a typical Android business 1.40 +user. 1.41 + 1.42 +Consideration of business and general use cases prove the value of LDAP 1.43 +in mobile applications integrated into the Android OS or as stand alone 1.44 +apps. A comparison is drawn to what use cases SQL covers. 1.45 + 1.46 +Advancing into the topic of what Android could provide as a platform, 1.47 +business development scenarios are discussed and what advantages 1.48 +integrating directory services bring. 1.49 + 1.50 +A technical view is given of the Android platform architecture. Third 1.51 +party implementations of applications and development SDKs are 1.52 +considered. 1.53 + 1.54 +A demonstration of developing an Android application using a well known 1.55 +LDAP Java SDK is concluded with a review of a selected business use 1.56 +case and consideration of how one would hypothetically procede. 1.57 + 1.58 +The audience consists of developers familiar with client server design 1.59 +and maybe SQL, LDAP, or other directory and database technology. 1.60 + 1.61 +Attendants expect clearly defined directory use cases, abstract 1.62 +concepts, concrete definitions, and a well explained hello world 1.63 +LDAP development example. The Android community stands to benefit 1.64 +from a collective effort at integrating LDAP wherever a strong case 1.65 +for directory service exists. 1.66 + 1.67 +The following text is a lecture outline. 1.68 + 1.69 +Main chapters (15 minutes) 1.70 +-------------------------- 1.71 + Concepts 1.72 + Directory 1.73 + Access 1.74 + Protocol 1.75 + LDAP 1.76 + Offspring 1.77 + Active directory 1.78 + Comparisons 1.79 + SQL 1.80 + Client storage 1.81 + 1.82 + Business use cases 1.83 + Legacy directories 1.84 + Network configuration 1.85 + Security or license sensitive 1.86 + 1.87 + General use cases 1.88 + Authentication 1.89 + Contacts integration 1.90 + Noncontacts customized 1.91 + Certificate storage 1.92 + SQL competition 1.93 + 1.94 + Platform provision 1.95 + Synchronization 1.96 + Read-optimized lookups 1.97 + Little network penalty 1.98 + Standardized protocol 1.99 + Network bound 1.100 + 1.101 + Platform architecture 1.102 + What Android API provides 1.103 + What Android market offers 1.104 + What 3rd party APIs offer 1.105 + Compatibility concerns 1.106 + 1.107 + Implementations 1.108 + Server-side relevance 1.109 + Client SDKs 1.110 + Apache [3] 1.111 + OpenDS [4] 1.112 + UnboundID [5] 1.113 + Novell [7] 1.114 + Mozilla [8] 1.115 + Netscape (renamed Mozilla) 1.116 + Oracle JNDI [8] (not available) 1.117 + JavaScript (not much) 1.118 + 1.119 +Demonstration (10 minutes) 1.120 +-------------------------- 1.121 + Download and installation of LDAP client SDK 1.122 + Development of Hello LDAP five line application 1.123 + Build, package, install, and test app 1.124 + Review of selected business use case 1.125 + 1.126 +Questions (5 minutes) 1.127 +--------------------- 1.128 + Anticipated questions 1.129 + Why not just use a (Static|SQL|Lync|other) directory in business? 1.130 + What are the disadvantages of SQL or ODBC for similar applications? 1.131 + How relevant are directory services other than just for contacts? 1.132 + Why would a business not use whatever apps are already in the market? 1.133 + Why not depend on a social network for directory services? 1.134 + 1.135 +Relevant jokes about... 1.136 +----------------------- 1.137 + Android and Linux 1.138 + Directories and legacy apps 1.139 + 1.140 +Glossary 1.141 +-------- 1.142 + Directory 1.143 + Access 1.144 + Protocol 1.145 + Lightweight Directory Access Protocol (LDAP) 1.146 + Active Directory (AD) 1.147 + Application Programming Interface (API) 1.148 + Software Development Kit (SDK) 1.149 + Structured Query Language (SQL) 1.150 + Open Database Connectivity (ODBC) 1.151 + American National Standards Institute (ANSI) 1.152 + International Organization for Standards (ISO) 1.153 + Internet Engineering Task Force (IETF) 1.154 + Request for Comments (RFC) 1.155 + 1.156 +Errata 1.157 +------ 1.158 + Errata here. 1.159 + 1.160 +Lecture materials 1.161 +----------------- 1.162 +This lecture is developed on a public source code revision management 1.163 +system [7]. It is (or will be) published on a public file server [8]. 1.164 + 1.165 +Technical requirements 1.166 +---------------------- 1.167 +A WLAN connection (for remote slide advancement,) internet connectivity 1.168 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are 1.169 +needed for this presentation. 1.170 + 1.171 +Links and notes 1.172 +--------------- 1.173 + [1] http://directory.apache.org/ 1.174 + [2] http://www.opends.org/ 1.175 + [3] http://www.unboundid.com/products/ldap-sdk/ 1.176 + [4] http://www.novell.com/developer/ndk/ldap_classes_for_java.html 1.177 + [5] https://wiki.mozilla.org/Directory 1.178 + [6] http://www.oracle.com/technetwork/java/jndi/ 1.179 + [7] http://scm.europalab.com/lectures/ 1.180 + [8] ftp://ftp.europalab.com/pub/doc/lect/