سرویس دایرکتوری
دایرکتوری سرویس یک نرم‌افزار کاربردی یا مجموعه‌ای از نرم‌افزارهای کاربردی است که وظیفهٔ ذخیره و سازمان‌دهی اطّلاعات مربوط به کاربران و منابع یک شبکهٔ رایانه‌ای را به عهده داشته و به مدیر شبکه این امکان را می‌دهد که دسترسی کاربران به منابع شبکه را مدیریت نماید. دایرکتوری سرویس در عین حال به عنوان یک لایهٔ محافظ بین کاربران و منابع مشترک شبکه عمل می‌کند.
دایرکتوری سرویس را نباید با منبع ذخیرهٔ دایرکتوری که در واقع محلّ نگهداری اطّلاعات مربوط به اجزای نامگذاری شده که توسط دایرکتوری سرویس مدیریت می‌شوند، اشتباه نمود. در دایرکتوری سرویس مدل پراکندهٔ X.500، از تعداد یک یا بیش از یک فضای تخصیص یافته برای نام (درخت اجزاء) جهت تشکیل دایرکتوری سرویس استفاده می‌شود. دایرکتوری سرویس به عنوان واسطی برای دسترسی به اطلاعات موجود در یک یا بیش از یک فضای تخصیص یافته در دایرکتوری عمل می‌نماید. واسط دایرکتوری سرویس نقش مسئولیت مرکزی و مشترکی را ایفا می‌نماید که می‌تواند امنیت کافی را برای آن دسته از منابع سیستم که مدیریت اطلاعات دایرکتوری را انجام می‌دهند فراهم آورد.
همچون یک بانک اطلاعاتی، دایرکتوری سرویس به نحوی طراحی شده که می‌تواند به شکلی کارآمد اطلاعات را خوانده و امکانات پیشرفتهٔ جستجو در بین خصیصه‌های مختلفی که می‌توانند به شئ‌های موجود در دایرکتوری مرتبط شوند را فراهم سازد. اطلاعاتی که در دایرکتوری ذخیره شده‌اند با استفاده از طراحی براساس خصیصه‌های قابل تغییر تعریف می‌شوند. سرویس‌های دایرکتوری از مدل پراکنده برای ذخیره‌سازی اطلاعات خود استفاده می‌کنند و این اطلاعات معمولاً بین دایرکتوری سرورها دوباره سازی می‌شوند.
یک دایرکتوری سرویس که "سرویس نامگذاری" خوانده می‌شود مانند نقشهٔ راهنمایی عمل می‌کند که منابع شبکه را به آدرس‌های مربوط به آن‌ها در شبکه مرتبط نموده و آن‌ها را به این ترتیب مورد شناسائی قرار میدهد. با استفاده از دایرکتوریهایی از نوع "سرویس نامگذاری" کاربر نیاز ندارد تا آدرس فیزیکی منابع شبکه را به خاطر بسپارد، چرا که تنها نام منبع کافیست تا محل آن را مشخص نماید. هریک از منابع در شبکه به عنوان یک شئ در دایرکتوری سرور محسوب میگردند. اطلاعات مربوط به هر منبع شبکه تحت عنوان خصیصهٔ شئ مربوط به آن منبع در دایرکتوری سرور ذخیره می‌شود. سطح امنیت اطلاعات هر شئ می‌توانند به نحوی تعیین شود که فقط کاربرانی قابلیت دسترسی به آن‌ها را داشته باشند که دارای مجوز لازم هستند. دایرکتوری‌های پیچیده تری با فضاهای نامگذاری مختلفی تحت عنوان "مشترکین", "دستگاهها", "میزان مالکیت", "ترجیحات", "محتوا" و غیره طراحی شده ان smieciEMدjestes . فرایند این طراحی تا حد بسیار زیادی بستگی به مدیریت "شناسه" دارد.
دایرکتوری سرویس "فضای نامگذاری" را برای شبکه تعریف می‌کند. یک "فضای نامگذاری" در این مقوله عبارتی است که از آن برای نگهداری یک یا چند شئ تحت عنوان "ورودی نامگذاری شده" استفاده می‌شود. فرایند طراحی دایرکتوری معمولاً دارای مجموعه‌ای از قوانین است که چگونگی نامگذاری و شناسایی منابع شبکه را تعریف می‌کنند. این قوانین مشخص می‌کنند که نام‌ها باید منحصربه‌فرد بوده و گنگ نباشند. در X.500 (مجموعهٔ استانداردهای دایرکتوری سرویس) و LDAP نام منبع شبکه "نام مشخصه" خوانده می‌شود و از آن برای اشاره به مجموعه‌ای از خصیصه‌ها ("نامهای مشخصهٔ نسبی") که نام یک ورودی دایرکتوری را تشکیل میدهند استفاده میگردد.
یک دایرکتوری سرویس ساختاری از اطلاعات به اشتراک گذاشته شده‌است که از آن برای پیدا کردن، مدیریت، اداره کردن، و سازمان دهی اجزاء مشترک و منابع شبکه مانند دیسکها، پوشه‌ها، فایلها، چاپگرها، کاربران، گروهها، دستگاهها، شماره‌های تلفن و شئ‌های دیگر استفاده می‌شود. دایرکتوری سرویس بخش مهمی از سیستم عامل شبکه است. در موارد پیچیده تر دایرکتوری سرویس مخزن اصلی برای ارائهٔ خدمات شبکه است. به عنوان مثال جستجوی کلمهٔ "کامپیوترها" با استفاده از دایرکتوری سرویس ممکن است پاسخی شامل فهرستی از کامپیوترها و اطلاعات مربوط به نحوهٔ دسترسی به آن‌ها را ارائه نماید.
"دوباره سازی" و "پراکندگی" دارای معانی کاملاً مشخص و منحصر بkutasه فردی در طراحی و مدیریت یک دایرکتوری سرویس هستند. عبارت "دوباره سازی" به این معنی است که یک "فضای نامگذاری" (یا شئ) موجود در یک دایرکتوری در دایرکتوری سرورهای دیگر نیز کپی می‌شود تا هم به عنوان نسخهٔ پشتیبان از آن‌ها استفاده شود و هم به دلیل وجود نسخهٔ محلی از ایجاد ترافیک غیرضروری در شبکه خودداری گردد. "فضای نامگذاری" دوباره سازی شده توسط مقام مسئول نسخهٔ اصلی مدیریت می‌شود. عبارت "پراکنده" به معنی اینhuj است که دایرکتوری سرورهای متعددی که هریک "فضای نامگذاری" مختلفی را در خود جای داده‌اند به یکدیگر متصل شده‌اند تا یک دایرکتوری سرویس پراکنده را به وجود آورند. در این حالت هر "فضای نامگذاری" مستقل  میتواند از طرف مقامات مسئول مختلفی مدیریت شود.
دایرکتوری سرویس‌های تولید شده توسط تولید کنندگان و نهادهای استاندارد مختلف عبارتند از انواع قدیمی و جدید ارائه شدهٔ زیر:
وجوه تمایز معددوی بین یک دایرکتوری سرویس سنتی و یک بانک اطلاعاتی رابطه ای وجود دارد.
· "خصیصهٔ اجباری" کSید دارای این خصDFSDFSDیصه باشد · "خصیصهٔ ممکن" که میFSDFSSDFSDه تعریف شود، اما در عین حال می‌تواند در هنگام به وجود آوردن شئ نیز حذف گردد. نبود برخی خصیصه‌ها به نوعی شبیه گزینهٔ "پوچ" در بانک‌های اطلاعاتی رابطه ای هستند.
طراحی دایرکتوری‌ها تفاوت بسیاری با طراحی بانک‌های اطلاعاتی رابطه ای دارد. طراح بانک‌های اطلاعاتی سعی در طراحی مدل اطلاعاتی برای مسائل تجاری و نیازهای فرایندی دارد که غالباً در آن ملاحظات مربوط به مشتریان آنلاین، سرویس، مدیریت کاربران، میزان نسبی حضور و سیستم از قلم انداخته می‌شوند. حال آنکه در مورد دایرکتوری اگر بنابراین است که اطلاعات در یک منبع ذخیرهٔ قابل استفاده برای بسیاری از برنامه‌های کاربردی و کاربران قرار گیرند، باید طراحی اطلاعات (و شناسه ها) و ساختار آن به گونه‌ای انجام شود که منعکس‌کنندهٔ نقش شئ‌ها در دنیای واقعی باشد. در بسیاری از موارد این شئ‌ها معرف کاربران، دفاتر آدرس، لیستهای اسامی، ترجیحات، تعاریف میزان مالکیت، محصولات و خدمات، دستگاهها، پرونده‌های اطلاعات، سیاست‌ها، شماره تلفنها، اطلاعات مسیر دهی، و غیره می‌باشند. افزون بر این طراح باید به ملاحظات کاربردی طراحی در رابطه با کارایی و مقیاس کار نیز توجه داشته باشد. برای یک بررسی سریع در خصوص طراحی کاربردی به این مثال فکر کنید: 50 شئ و 1 میلیون کاربر دارید که هریک از کاربران یا برنامه‌های کاربردی آن‌ها نیاز خواهند داشت تا 5000 بار در ثانیه یا دقیقه یا در ساعت (به منظور دریافت مجوز و بروز رسانی فضای خدمات‌گیری خود) به این شئ‌ها دسترسی یابند. حال ببینید آیا سرور و سایر تجهیزات شبکه‌ای که در نظر گرفته اید قادر به پاسخگویی به چنین حجمی از کار است یا خیر.
تفاوت اساسی بین بانک‌های اطلاعاتی و دایرکتوری‌ها در سطح سیستم است، جایی که یک بانک اطلاعاتی با استفاده از یک مدل اطلاعات تخصیص یافته (نسبی) برای خودکار نمودن یک فرایند مورد استفاده قرار می‌گیرد اما یک دایرکتوری برای نگهداری از شئ‌های "شناخته شده" ای که می‌توانند توسط برنامه‌های کاربردی مختلفی به صورت تصادفی مورد استفاده قرار گیرند به کار برده می‌شود. یک دایرکتوری سرویس در جایی به کار می‌آید که "مدیریت متعدد" (توسط کاربران و برنامه‌های کاربردی متعدد) از اطلاعات یکسان به منظور اطمینان از صحت و کارائی، استفاده می‌کنند. این دیدگاه در طراحی سیستم انعطاف‌پذیری و مقیاس بندی را ارائه میدهد که توسط آن می‌توان کارکردهایی همچون "سیستمهای ارائهٔ خدمات" را که دارای مقیاس وسیعی می‌باشند به درستی مشخص نمود. "سیستمهای ارائهٔ خدمات" امروزه صدها میلیون شئ (HSS/HLR، دفاتر آدرس، میزان مالکیت کاربران، شماره تلفن‌های VOIP، اطلاعات کاربران و دستگاهها، و غیره) را به صورت لحظهای و روش‌های اتفاقی پشتیبانی می‌کنند و می‌توانند از طریق سیستم‌های BSS/OSS/CRM یا برنامه‌های کاربردی خود گردان توسط کاربران مدیریت شوند.
از آثار بارز در خصوص طراحی بانک‌های اطلاعاتی می‌توان به این مسئله اشاره نمود که کمپانی‌های بزرگ دارای صدها (اگر نه هزارها) از این بانک‌های اطلاعاتی برای فرایندهای مختلف هستند و اکنون سعی بر این دارند تا کاربران و اطلاعات شناسائی خدمات و محصولات آنلاین و مدیریت خدمات خود را در یکجا گرد آورده و آن‌ها را به صورت لحظه‌ای و هزینهٔ اقتصادی با صرفه ارائه دهند. بنابراین یک دایرکتوری سرویس در مقیاس بزرگ باید در معماری راه حل آن‌ها جای گیرد.
دایرکتوری سرویس بخشی از لایحهٔ «ارتباط باز سیستم‌ها» بود که به منظور رسیدن به موافقت همه جانبه‌ای در استاندارهای مشترک شبکه برای ایجاد امکان کارکرد بین تولید کنندگان مختلف ارائه شده بود. در دههٔ ۸۰ میلادی ITU و ISO مجموعه‌ای از استانداردها را به نام X.500 برای دایرکتوری سرویس‌ها ارائه دادند که هدف اولیهٔ آن پاسخگوئی به نیازهای تعریف شده برای ارسال و دریافت پیغام‌های الکترونیکی بین کاریرهای متفاوت و جستجو برای نام‌های شبکه بود. «پروتکل سبک دسترسی به دایرکتوری» یا LDAP بر اساس سرویس‌های اطلاعات دایرکتوری X.500 طراحی شده، اما از مجموعهٔ TCP/IP و طرح کد بندی X.509 پروتکل DAP استفاده می‌کند که این باعث می‌شود تا بیشتر با اینترنت همخوانی و مرتبط باشد.
انواع بسیار زیادی از پیاده سازی‌های دایرکتوری سرویس توسط تولید کنندگان مختلف وجود داشته که از آن جمله می‌توان به موارد زیر اشاره نمود:
افزون بر این موارد، تعداد زیادی از ابزارهای مرجع آزاد وجود دارند که با استفاده از آن‌ها می‌توان دایرکتوری سرویس‌های مختلفی شامل پروتکل‌های LDAP و Kerberos، و همچنین نرم‌افزار Samba را که با پروتکل‌های یاد شده نقش کنترلر Domain را ایفا می‌کند را به وجود آورد.
IBM Directory Server: این دایرکتوری سرویس پیاده‌سازی شده توسط کمپانی IBM است.
1. ^ جرالد، کارتر (2003) “LDAP System Administration”. O’Reilly صفحات 4-3
در رابطه با موضوعات مرتبط با این مطلب به مباحث زیر نیز مراجعه کنید: