در مجموعه مقالاتی که از امروز برای شما خواهم نوشت نگاهی فنی و عمیق تر بر مفهوم شیرپوینت خواهیم داشت و در واقع هدف از نوشتن این مجموعه مقالات درک بهتر و راحت تر شیرپوینت میباشد ، در این مجموعه مقالات که بخش اول آنرا امروز مرور خواهیم کرد با طرح سوالاتی در مورد مفاهیم مختلف شیرپوینت ، توضیحاتی فنی تر و قابل درک برای عزیزانی مطرح خواهیم کرد که تازه با شیرپوینت آشنا شده اند و همچنین در ادامه مقالاتی را برای عزیزانی خواهم نوشت که کمی بیشتر در مورد وب و توسعه شیرپوینت اطلاعاتی را لازم دارند. امیدوارم که از این مقالات استفاده لازم را ببرید .
شیرپوینت چیست ؟
شیرپوینت به اعضای یک تیم کمک میکند تا در یک محیط همکاری به ارتباط و تبادل اطلاعات بپردازند که این موضوع به متمرکز کردن اطلاعات سازمانی کمک بسیاری میکند ، برای نمونه به شکل زیر که نمایی عادی از فعالیت های یک سازمان را نشان میدهد توجه کنید :
( برای مشاهده سایز بزرگتر تصویر اینجا را کلیک کنید )
فایلها و اسناد بر روی کامپیوترهای شخصی ذخیره سازی میشوند و اطلاعات معمولا از طریق پروتکل های اختصاصی رد و بدل میشوند ، پروتکل های ارتباطی برای انتقال فایلها و اسناد وابسته به اشخاص است ، بعضی افراد از ایمیل استفاده میکنند ، بعضی افراد از طریق share کردن درایو و پوشه ها استفاده میکنند و ...
شیرپوینت اسناد واحدهای مختلف را در یک مکان متمرکز و از یک مکانیزم انتقال اطلاعات یکپارچه استفاده میکند ، در یک جمله میتوان گفت پرتال اطلاعات متمرکز سازمانی :
( برای مشاهده سایز بزرگتر تصویر اینجا را کلیک کنید )
WSS و MOSS چیست ؟
مایکروسافت محصولات شیرپوینت را به دو قسمت مجزا تقسیم کرده است :
1 – WSS یا Windows Sharepoint Services که در واقع پلتفورمی است که MOSS را میسازد و به صورت رایگان همراه با ویندوز سرور 2003 عرضه شده است .
2 – MOSS که نسخه تجاری شیرپوینت میباشد همراه با قابلیت های بیشتر نسبت به WSS میباشد .
WSS برای تیم ها و پروژه های کوچک مناسب میباشد و MOSS سرویس ها و امکانات بیشتری نسبت به WSS دارد و انتخاب بین این دو نسخه بستگی به بودجه سازمان ها دارد .
شیرپوینت چگونه کار میکند ؟
در واقع شیرپوینت به تنهایی کاری انجام نمیدهد و احتیاج به 2 محصول دیگر یعنی و IISSQL Server دارد .
شیرپوینت چگونه با IIS کار میکند ؟
برای اینکه بدانیم شیرپوینت چگونه با IIS کار میکند ابتدا باید دو مفهوم HTTP Handler و HTTP Module را بدانیم . کسانی که با برنامه نویسی وب آشنایی دارند حتما این دو مفهوم را میشناسند ، دوستانی که میخواهند در مورد این مفاهیم آشنایی پیدا کنند میتوانند این مقاله را که توسط دوست خوبم سید محمد رضا فراحی نوشته شده را بخوانند .
با استفاده از HTTP Handler و HTTP Module درخواستها ابتدا به Sharepoint Runtime و سپس به ASP.Net Runtime ( aspnet_isapi.dll ) تحویل داده میشوند .
برای درک بهتر میتوانید فایل web.config شیرپوینت را باز کنید تا متوجه این موضوع بشوید :
<httpHandlers>
<removeverb="GET,HEAD,POST"path="*" />
<addverb="GET,HEAD,POST"path="*"type="Microsoft.Sh arePoint.ApplicationRuntime.SPHttpHand ler, Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
...
</httpHandlers>
<httpModules>
<addname="SPRequest"type="Microsoft.SharePoint.App licationRuntime.SPRequestM odule, 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 برای ذخیره سازی محتوا و اطلاعات پیکربندی شیرپوینت استفاده میشود ، در واقع در شیرپوینت ما 2 نوع بانک اطلاعاتی داریم که شامل بانک اطلاعاتی محتوا و بانک اطلاعاتی اطلاعات پیکربندی میباشد .
محتوا بر اساس سایتها میباشد یعنی هر سایت محتوای مخصوص به خود را دارد ، برای مثال سایتهای پرداخت و استخدام هر کدام بانک اطلاعات محتوای جدا برای خود دارند .
بانک اطلاعات پیکربندی ( 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 ) صحبت خواهیم کرد .
موفق و پیروز باشید .
منبع
نويسنده : رامين احمدي
ايميل : Ramin.ahmadi@gmail.com