App در شیرپوینت 2013 از نگاه برنامه نویسان

با ظهور شیرپوینت 2013 در مطلبی با عنوان "شیرپوینت 2013 -اَپ (APP) مدل چیست؟" در مورد تفاوت های app و web part توضیح دادیم. در این مطلب که توسط تیم تحقیق و توسعه پرنیان آماده شده است با ذکر جزییات بیشتر از نگاه برنامه نویسان به تشریح مدل app در شیرپوینت 2013 می پردازیم.

مقدمه:
شیرپوینت به عنوان یک سیستم و پلتفرم بزرگ بسیاری از نیازهای سازمانی و اینترپرایز را پوشش میدهد. البته این واضح است که نمیتواند همه ی نیازهای تمام کاربران با انتظارات مختلف را پاسخگو باشد. به همین منظور ابزارها و الگوهایی را برای توسعه ی آن در نظر گرفته است.
که یکی از انها سلوشن های Full-Trust می باشد که از شیرپوینت 2007 وجود داشت. این سلوشن ها که در واقع همان پکیج های WSP هستند با استفاده از کدهای سمت سرور و ابجکت مدل های شیرپوینت امکانات و ویژگی هایی را به شیرپوینت اضافه می نمودند.
با گدشت زمان و تولید نسخه های جدیدتری از شیرپوینت این امکانات نیز مقداری بهبود یا پیشرفت داده شد.

 

 اما این گونه از سلوشن یا راهکارها جهت نصب و راه اندازی نیاز به دسترسی های بالا مانند دسترسی به سرور فارم دارند ضمن اینکه با توجه به داشتن دسترسی کامل به شیرپوینت(با توجه کدهای سمت سرور و قرار گرفتن اسمبلی آن در GAC) میتوانستند باعث بروز مشکلاتی شوند و یا مشکلات پرفورمنسی جدی ایجاد نمایند.
البته ناگفته نماند این موارد در صورتی اتفاق خواهد اتفاد که تولید کننده ی این راهکارها دانش کافی برای رعایت این موارد را نداشته باشد که معمولا همینطور هست و دانش و تجربه ی کافی وجود ندارد.
ضمن اینکه برای تولید این راهکارها نیاز به دانش کدنویسی سمت سرور شیرپوینت مانند زبان های Asp.net و C# می باشد و سپس تسلط به آبجکت مدل های شیرپوینت و مقدار زیادی تجربه.
از همه ی اینها گذشته همانطور که گفته شد در صورت داشتن دانش و تجربه ی کافی در تولید اینگونه سلوشن ها هیچ مشکل خاصی به وجود نخواهد آمد.

شیرپوینت 2013 و مفهوم جدیدی به عنوان App:
با آمدن نسخه ی 2013 از شیرپوینت مفهوم جدیدی به نام App که با هدف پوشش مشکلاتی که به آنها اشاره شد اضافه شده است. البته ناگفته نماند که تنها رفع این مسائل نبود که باعث به وجود ��مدن این مفهوم شد بلکه نقشه راه شرکت مایکروسافت که به سمت چند مستاجری خدمات و محصولات و ابری کردن آنها پیش میرود نیز بسیار موثر بود.
زیرا که سلوشن های قدیمی با توجه به دسترسی که به سمت سرور داشتند امکان چند اجاره ای کردن آن مشکل بود و همچنین میتوانست خطرات امنیتی و مشکلات نگهداری را به وجود آورد.


توضیحات فنی در مورد App ها:
App ها به صورت مجزا و خارج از شیرپوینت اجرا میشوند یعنی کدهای آنها یا در یک وب سرور دیگر که ممکن هست اصلا شیرپوینتی وجود نداشته باشد و یا در داخل مرورگر با کدهای جاوااسکریپت اجرا شوند. و جهت ارتباط با شیرپوینت تنها از سرویس های Rest یا CSOM استفاده نمایند.
اپ ها به سه دسته ی مختلف با توجه به نحوه ی تولید و توسعه ی آنها تقسیم میشوند:

 

1- SharePoint-Hosted Apps: در این نوع تولید اپ، تمامی اجزای مورد نیاز اپ در داخل خود اپ که فایلی با پسوند app می باشد وجود دارد و هیچگونه وابستگی به خارج از محیط شیرپوینت نخواهد داشت. این نوع اپ شامل تمام فایل های مورد نیاز مانند html, css, javascript, aspx و غیره می باشد که همه برروی خود شیرپوینت هاست شده و در مرورگر اجرا خواهند شد. یعنی فایلهای مورد نیاز در داخل یک مجموعه سایت از نوع App Catalog قرار خواهند گرفت و با توجه کلاینت ساید بودن تمام کدها و فایل ها، همه نیز در سمت مرورگر و کلاینت اجرا خواهند شد.
در این نوع اپ تنها از طریق CSOM یا REST میتوان با شیرپوینت ارتباط و اینترکت داشت. برای مثال اپ هایی مانند آب و هوا یا سخن بزرگان میتوانند در این دسته قرار گیرند.


2- Provider-Hosted Apps: در این نوع اپ همانند شیرپوینت هاستد اپ فایل اپی وجود دارد و ممکن هست که شامل برخی از اجزای اپ باشد اما لاجیک و هسته ی اصلی برنامه برروی یک وب سرور دیگر که ممکن هست خارج از محیط سرور شیرپوینت و برروی اینترنت باشد هاست شود و توسعه دهنده و برنامه نویس مسئول چند اجاره ای کردن آن خواهد بود.
در واقع یک برنامه ی MVC پشتیبانی از مشتریان را در نظر بگیرید که در آدرسی مانند: support.parnian.com و برروی یک وب سرور IIS هاست شده است(میتوانست PHP باشد و برروی Apache هاست شده باشد هرچند که دیگر امکان استفاده از CSOM وجود نداشت زیرا که نیاز به دات نت فریم ورک 4.5 دارد).
همچنین این برنامه به گونه ای طراحی و نوشته شده است که بتواند با استفاده از Client Object Model سمت سروری شیرپوینت(همانطور که میدانید CSOM میتواند به دو صورت جاوااسکریپتی و یا برای مثال C# باشد و سمت سرور اجرا شود اما نه سرور خود شیرپوینت) اطلاعات کاربر جاری و یا سایت مشتری را استخراج کند و به پنل مورد نظر آن هدایت کند تا بتواند تیکت های مختص به خود را مشاهده و مدیریت نماید این در حالی است که این اپ برای مثال برروی سرور داخلی یک سازمان به آدرس: localhost/sites/lab که به اینترنت دسترسی دارد نصب شده است.
با کلیک برروی اپ مورد نظر در شیرپوینت داخلی سازمان به آدرس سایت اینترنتی support.parnian.com به همراه کوئری استرینگ های لازمه هدایت خواهد شد. ضمن اینکه با استفاده از Certificate ی که در دو محیط معتبر می باشد امکان تغییر و یا خراب کاری در آن گرفته میشود.


3- Azure Auto-Hosted Apps: این نوع از اپ ها همانند Provider-Hosted می باشند با این تفاوت که میتوانند سایت و دیتابیس مورد نظر اپ را در سرور Azure به صورت خودکار ایجاد نمایند تا به صورت خودکار عملیات هاست وب سایت انجام شود. که در واقع فقط برای محیط Azure قابل استفاده می باشد و خارج از آن کاربردی ندارد. معمولا گزینه ی مناسبی برای تولید اپ محسوب نمیشود.

ادامه دارد...

ارسال نظر

آخرین نظرات

Comment RSS