شیرپوینت از نگاهی دیگر

 

در
مجموعه مقالاتی که از امروز برای شما خواهم نوشت نگاهی فنی و عمیق تر بر
مفهوم شیرپوینت خواهیم داشت و در واقع هدف از نوشتن این مجموعه مقالات درک
بهتر و راحت تر شیرپوینت میباشد ، در این مجموعه مقالات که بخش اول آنرا
امروز مرور خواهیم کرد با طرح سوالاتی در مورد مفاهیم مختلف شیرپوینت ،
توضیحاتی فنی تر و قابل درک برای عزیزانی مطرح خواهیم کرد که تازه با
شیرپوینت آشنا شده اند و همچنین در ادامه مقالاتی را برای عزیزانی خواهم
نوشت که کمی بیشتر در مورد وب و توسعه شیرپوینت اطلاعاتی را لازم دارند.
امیدوارم که از این مقالات استفاده لازم را ببرید .

شیرپوینت چیست ؟

شیرپوینت
به اعضای یک تیم کمک میکند تا در یک محیط همکاری به ارتباط و تبادل
اطلاعات بپردازند که این موضوع به متمرکز کردن اطلاعات سازمانی کمک بسیاری
میکند ، برای نمونه به شکل زیر که نمایی عادی از فعالیت های یک سازمان را
نشان میدهد توجه کنید :


فایلها
و اسناد بر روی کامپیوترهای شخصی ذخیره سازی میشوند و اطلاعات معمولا از
طریق پروتکل های اختصاصی رد و بدل میشوند ، پروتکل های ارتباطی برای
انتقال فایلها و اسناد وابسته به اشخاص است ، بعضی افراد از ایمیل استفاده
میکنند ، بعضی افراد از طریق
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  ) صحبت خواهیم کرد .

موفق و پیروز باشید .

منبع

پاسخ دهید