در
مجموعه مقالاتی که از امروز برای شما خواهم نوشت نگاهی فنی و عمیق تر بر
مفهوم شیرپوینت خواهیم داشت و در واقع هدف از نوشتن این مجموعه مقالات درک
بهتر و راحت تر شیرپوینت میباشد ، در این مجموعه مقالات که بخش اول آنرا
امروز مرور خواهیم کرد با طرح سوالاتی در مورد مفاهیم مختلف شیرپوینت ،
توضیحاتی فنی تر و قابل درک برای عزیزانی مطرح خواهیم کرد که تازه با
شیرپوینت آشنا شده اند و همچنین در ادامه مقالاتی را برای عزیزانی خواهم
نوشت که کمی بیشتر در مورد وب و توسعه شیرپوینت اطلاعاتی را لازم دارند.
امیدوارم که از این مقالات استفاده لازم را ببرید .
شیرپوینت چیست ؟
شیرپوینت
به اعضای یک تیم کمک میکند تا در یک محیط همکاری به ارتباط و تبادل
اطلاعات بپردازند که این موضوع به متمرکز کردن اطلاعات سازمانی کمک بسیاری
میکند ، برای نمونه به شکل زیر که نمایی عادی از فعالیت های یک سازمان را
نشان میدهد توجه کنید :
فایلها
و اسناد بر روی کامپیوترهای شخصی ذخیره سازی میشوند و اطلاعات معمولا از
طریق پروتکل های اختصاصی رد و بدل میشوند ، پروتکل های ارتباطی برای
انتقال فایلها و اسناد وابسته به اشخاص است ، بعضی افراد از ایمیل استفاده
میکنند ، بعضی افراد از طریق share کردن درایو و پوشه ها استفاده میکنند و …
شیرپوینت
اسناد واحدهای مختلف را در یک مکان متمرکز و از یک مکانیزم انتقال اطلاعات
یکپارچه استفاده میکند ، در یک جمله میتوان گفت پرتال اطلاعات متمرکز
سازمانی :
WSS و MOSS چیست ؟
مایکروسافت محصولات شیرپوینت را به دو قسمت مجزا تقسیم کرده است :
۱ – WSS یا Windows Sharepoint Services که در واقع پلتفورمی است که MOSS را میسازد و به صورت رایگان همراه با ویندوز سرور ۲۰۰۳ عرضه شده است .
۲ – MOSS که نسخه تجاری شیرپوینت است که همراه با قابلیت های بیشتر نسبت به WSS میباشد .
WSS برای تیم ها و پروژه های کوچک مناسب میباشد و MOSS سرویس ها و امکانات بیشتری نسبت به WSS دارد و انتخاب بین این دو نسخه بستگی به بودجه سازمان ها دارد .
شیرپوینت چگونه کار میکند ؟
در واقع شیرپوینت به تنهایی کاری انجام نمیدهد و احتیاج به ۲ محصول دیگر یعنی و IISSQL Server دارد .
شیرپوینت چگونه با IIS کار میکند ؟
برای اینکه بدانیم شیرپوینت چگونه با IIS کار میکند ابتدا باید دو مفهوم HTTP Handler و HTTP Module را
بدانیم . کسانی که با برنامه نویسی وب آشنایی دارند حتما این دو مفهوم را
میشناسند ، دوستانی که میخواهند در مورد این مفاهیم آشنایی پیدا کنند
میتوانند این مقاله را که توسط دوست خوبم سید محمد رضا فراحی نوشته شده را بخوانند .
با استفاده از HTTP Handler و HTTP Module درخواستها ابتدا به Sharepoint Runtime و سپس به ASP.Net Runtime ( aspnet_isapi.dll ) تحویل داده میشوند .
برای درک بهتر میتوانید فایل web.config شیرپوینت را باز کنید تا متوجه این موضوع بشوید :
<httpHandlers>
<remove verb="GET,HEAD,POST" path="*" />
<add verb="GET,HEAD,POST" path="*" type="Microsoft.SharePoint.ApplicationRuntime.SPHttpHandler,
Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" />
…
</httpHandlers>
<httpModules>
<add name="SPRequest" type="Microsoft.SharePoint.ApplicationRuntime.SPRequestModule,
Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral,
PublicKeyToken=71e9bce111e9429c" />
…
</httpModules>
سایت ( site ) و مجموعه سایت ( Site Collection ) چیست ؟
شیرپوینت تمام اطلاعات سازمانی را در بر میگیرد ، وقتی ما در مورد اطلاعات خاص شرکتها یا سازمانها صحبت میکنیم چیزی شبیه به شکل زیر در ذهن ما مجسم میشود ( در واقع مجموعه ای از داده ها که در گروه ها و زیر گروه هایی قرار میگیرند ) :
شیرپوینت های IIS Web Application را برای تطبیق ساختار اطلاعات تعیین شده ی بالا با استفاده از سایت ها و مجموعه سایتها توسعه می دهد :
مزیت اصلی استفاده از مجموعه سایت ها ( Site Collection ) چیست ؟
با
استفاده از این ساختار شما میتوانید مطابق اطلاعات، نقش ها و مسئولیتهایی
را به کاربران سایت ها و مجوعه سایت ها اعطا نمایید . برای مثال در شکل
بالا تمام کاربران مجموعه سایت HR میتوانند
از اطلاعات سایتهای اطلاعات پرداخت ، اطلاعات استخدام و اطلاعات ارزیابی
استفاده نمایند ولی این کاربران به اطلاعات مجموعه سایت حسابداری دسترسی
ندارند ، این وضعیت برای کابران مجموعه سایت حسابداری نیز صدق میکند .
بنابراین شما میبایست بر طبق ساختار سازمان خود سلسله مراتب سایت ها و مجموعه سایتهای سازمان را طراحی کنید .
چگونه از SQL Server در شیرپوینت استفاده میشود ؟
SQL Server برای
ذخیره سازی محتوا و اطلاعات پیکربندی شیرپوینت استفاده میشود ، در واقع در
شیرپوینت ما ۲ نوع بانک اطلاعاتی داریم که شامل بانک اطلاعاتی محتوا و
بانک اطلاعاتی پیکربندی یا تنظیمات میباشد .
محتوا
بر اساس سایتها میباشد یعنی هر سایت محتوای مخصوص به خود را دارد ، برای
مثال سایتهای پرداخت و استخدام هر کدام بانک اطلاعات محتوای جدا برای خود
دارند .
بانک اطلاعات پیکربندی ( Configuration Database )
برای تمام سایتهایی که در وب فارم استفاده میکنیم میباشد ، در واقع
تنظیمات مختص به هر سایت و برخی تنظیمات که در میان تمام سایتها عمومی
هستند :
برای اینکه بهتر متوجه این موضوع شوید میتوانید به SQL Server خود نگاهی بیاندازید .
Virtual Path Provider یا تامین کننده مجازی مسیر چیست ؟
در ASP.NET ما دو نوع صفحه برای هر پروژه داریم ، یکی صفحات استاندارد و عمومی ( Common Pages ) و دیگری صفحات اختصاصی ( Customized Page ) ، صفحات عمومی در دایرکتوری فایل ذخیره میشوند در حالی که نسخه اختصاصی صفحات در بانک اطلاعاتی محتوا نگهداری میشوند .
بنابراین
ما احتیاج به مکانیزمی برای ترجمه یا رندر کردن صفحاتی که در بانک اطاعات
محتوا و همچنین صفحاتی که در دایرکتوری های مجازی ذخیره میشوند داریم که
این امر به وسیله Virtual Path Provider در شیرپوینت انجام میگیرد .
بنابراین برای تمام صفحات اختصاصی ، Virtual Path Provider آنها را از دیتابیس محتوا میخواند و تحویل ASP.NET Runtime میدهد ، همچنین برای صفحات عمومی Virtual Path به داخل دایرکتوری ها رفته و صفحات را تجزیه و سپس تحویل ASP.NET Runtime میدهد .
در واقع Virtual Path به عنوان یک جدا کننده صفحات استاندارد و صفحات اختصاصی میباشد که این صفحات را از دیتابیس محتوا یا فایلهای سیستم خوانده و به ASP.NET Runtime پاس میدهد .
امیدوارم که تا اینجا استفاده لازم را از مطالب برده باشید ، اما در مقاله بعد در مورد مجموعه سایتها و ویژگیها ( Features ) صحبت خواهیم کرد .
موفق و پیروز باشید .