آباپ

آباپ باپ که از واژه‌ی انگلیسی ABAP گرفته شده است به معنای نرم‌افزار برنامه نویسی پیشرفته‌ی کسب و کار یا نرم‌افزار برنامه‌نویسی پیشرفته کسب‌وکار یک زبان برنامه‌نویسی سطح بالا می‌باشد که توسط شرکت آلمانی SAP ایجاد شده‌است. امروزه موقعیت آن به طور رایج در کنار آخرین ورژن معرفی شده جاوا به عنوان زبان برنامه‌نویسی برای سرور کاربردی SAP، بخشی از بسترهای نرم‌افزاری NETWORK برای ساخت برنامه‌های کاربردی کسب و کار است. نحو ABAP تا حدودی شبیه به کوبول است.
آباپ که یکی از بسیاری از برنامه‌های نسل چهارم کاربردی خاص (GLs4) است، که برای اولین بار در دهه ۱۹۸۰ توسعه یافته‌است. این در اصل زبان گزارش برای SAP R/2 یک بستر نرم‌افزاری است که توسط شرکت‌های بزرگ برای ساخت برنامه‌های کاربردی کسب و کار رایانه‌های بزرگ برای مدیریت امور مالی و حسابداری فعال شده‌است.
آباپ یک مخفف از عبارت Allgemeiner Berichts Aufbereitungs Prozessor می‌باشد که در زبان آلمانی معنی آن «گزارش عمومی آماده‌سازی پردازنده» است، اما بعدها تغییر نام داد و به Advanced Business Application Programming تبدیل شد. یکی از اولین زبان‌های شامل مفهوم منطقی پایگاه داده‌ها (LDBs) بود، همان که یک انتزاع سطح بالا از پایه اولیه پایگاه داده فراهم می‌کند.
آباپ یک زبان برنامه‌نویسی بود که توسط توسعه‌دهندگان در اصل برای توسعه بستر نرم‌افزاری SAP R/2 استفاده می‌شود. همچنین در نظر گرفته شده بود توسط مشتریان SAP مورد استفاده قرار گیرد به منظور ارتقاء برنامه‌های کاربردی SAP. مشتریان می‌توانند گزارش‌های سفارشی و رابط با برنامه‌نویسی آباپ را توسعه دهند. یادگیری این زبان برای برنامه نویسان آسان است، اما وسیله‌ای برای استفاده مستقیم توسط غیر برنامه نویسان نیست. مهارتهای برنامه‌نویسی خوب، از جمله آگاهی از طراحی بانک اطلاعاتی رابطه‌ای و ترجیحا نیز از مفاهیم شی گرا مستلزم به ایجاد برنامه‌های آباپ هستند.
آباپ یک زبان برای ایجاد برنامه‌هایی برای سرور مشتری R/3 باقی می‌ماند، همان که SAP برای اولین بار در سال ۱۹۹۲ منتشر کرد به عنوان سخت‌افزار کامپیوتر تکامل یافته در طول دهه ۱۹۹۰، بیشتر و بیشتر برنامه‌های کاربردی SAP و سیستم‌های نوشته شده در آباپ بود. در سال ۲۰۰۱، همه آنها به جز ابتدایی‌ترین توابع در آباپ توشته شده بود. در سال ۱۹۹۹، SAP یک فرمت شی گرا به نام شی آباپ، همراه با R/3 و در ورژن ۴/۶ منتشر کرد.
در حال حاضر توسعه بستر نرم‌افزاری SAP Net Weaver از هر دو آباپ و جاوا پشتیبانی می‌کند.
محیط Runtime اباپ
تمام برنامه‌های آباپ در داخل پایگاه داده SAP اقامت دارند. آنها در فایل‌های جداگانه خارجی مانند برنامه‌های جاوا یا C++ ذخیره نمی‌شوند. در پایگاه داده تمام کدهای آباپ به دو شکل وجود دارد:
کد منبع :که می‌تواند با ابزار میز کار ABAP مشاهده و ویرایش شود.
کد تولید شده :یک ارائه دو دویی تا حدودی قابل قیاس با جاوا بایت کد است.
برنامه‌های ABAP تحت کنترل سیستم Runtime که بخشی از کرنل SAP است، اجرا می‌شود. سیستم Runtime مسئول پردازش اظهارات ABAP است، منطق جریان صفحه نمایش و پاسخ به رویدادها (مانند اینکه یک کاربر بر روی دکمه روی صفحه نمایش کلیک کند) را کنترل می‌کند، در این رابطه می‌تواند به عنوان ماشین مجازی قابل مقایسه با JAVA VM دیده شود. یک جزء کلیدی از سیستم Runtime اباپ، رابط پایگاه داده است که اظهارات پایگاه داده مستقل آباپ (SQL باز) را به اظهارات قابل درک برای DBMSهای اساسی (SQL ذاتی) تبدیل می‌کند. رابط پایگاه داده تمام ارتباط با پایگاه داده رابطه‌ای را از طرف برنامه آباپ را مدیریت می‌کند، همچنین شامل ویژگی‌های اضافی از قبیل بافر کردن جداول و داده‌هایی که مکررا به آنها در حافظه محلی برنامه سرور دسترسی داشته‌اند، است.
پایه و اساس SAP
محیط زیست زبان آباپ، شامل چک کردن نحو و تولید کد و سیستم زمان اجرا، بخشی از اجزای پایه SAP است. فناوری بسترهای نرم‌افزاری فناوریی است که از کل محدوده کاربردی SAP پشتیبانی می‌کند. اکنون به طور معمول در قالب وب سایت و سرور برنامه اجرا شده‌است. در این مفهوم پایه SAP می‌تواند به عنوان ماشین مجازی که در آن برنامه‌های کاربردی SAP اجرا شود مانند هر سیستم عامل پایه SAP شامل هر دو خدمات سطح پایین، (به عنوان مثال مدریت حافظه، ارتباط پایگاه داده یا درخواست سرویس وب) و ابزار در سطح بالا برای آخرین کاربران و مدیران. این ازارها می‌تواند ("هسته SAP") در طول اجرا به طور مستقین روی سیستم عامل زمینه‌ای، معاملات توسعه در آباپ، یا مبتنی بر وب رابطه‌ها اجرایی باشد.
پایه SAP نیز لایه‌ای از انتزاع بین برنامه‌های کاربردی کسب و کار و سیستم عامل و پایگاه داده فراهم می‌کند.
این تضمین می‌کند که برنامه‌های کاربردی بستگی ندارد به طور مستقیم به یک سرور خاص یا پایگاه داده بسترهای نرم‌افزاری می‌تواند به راحتی از یک بستر نرم‌افزاری خود را به دیگری منتقل کند. پایه SAP در حال حاضر اجرا می‌شود در WNIX (Linux, Solaris, HP_VX, AIX) و نیز در مایکروسافت، i5/os در systemi, IBM (S/390 ،Zseries قبلی (پایگاه داده‌های پشتیبانی شده IBM DB2، Informix ،Max DB, Oracle و مایکروسافت SQL سرور (پشتیبانی از Informix در پایه SAP منتشر شده ۴٫۷۰۰) هستند.
سیستم‌های SAP و دور نما
همه داده‌های موجود و همه نرم‌افزارهای SAP در محتوای سیستم اجرا می‌شود. یک سیستم شامل پایگاه داده رابط مرکزی و یک یا بیشتر از سرور برنامه‌هایی (نمونه‌ها) است که به داده‌ها و برنامه‌ها در این پایگاه داده دسترسی دارند. یک سیستم SAP دارای حداقل یک نمونه‌است ولی ممکن است برای دلایل سایز و عملکرد، بیشتر شامل شود. در یک سیستم با چند نمونه، مکانیزم متعادل کننده بار اطمینان حاصل می‌دهد که بار به طور مساوی در سر تا سر سرور برنامه موجود، پخش شده‌است.
نصب برنامه کاربردی سرور وب (چشم‌اندازها) به طور معمول شامل ۳ سیستم است: یکی برای توسعه، یکی برای تست و تضمین، و یکی برای تولید. چشم‌انداز ممکن است شامل سیستم‌های بیشتری باشد، (به عنوان مثال سیستم‌های جداگانه برای تست واحد و پیش تولید)، یا ممکن است شامل سیستم‌های کمتر باشد، (به عنوان مثال فقط در توسعه و تولید. بدون تضمین کیفیت جداگانه)، با این حال این سه پیکر بندی رایج‌ترین اند. برنامه‌های ABAP ایجاد می‌شوند و برای اولین بار در سیستم توسعه تحت آزمایش قرار می‌گیرند. پس از آن، در سیستم‌های دیگر در چشم‌انداز توزیع می‌شوند. این اقدامات تحت کنترل تغییر و سیستم حمل و نقل (CTS) قرار می‌گیرد، که مسئول کنترل همزمانی (به عنوان مثال جلوگیری از تغییر مشابه در همان زمان توسط دو توسعه دهنده)، مدیریت نسخه و استقرار برنامه‌ها روی سیستم تولید و تضمین کیفیت است.
برنامه سرور وب متشکل از سه لایه است: لایه پایگاه داده، لایه برنامه و لایه ارائه. این لایه‌ها ممکن است در همان یا بر روی دستگاه‌های مختلف فیزیکی اجرا شوند. لایه پایگاه داده حاوی پایگاه داده رابطه‌ای و نرم‌افزار پایگاه داده می‌باشد. دانش لایه برنامه شامل نمونه یا نمونه‌هایی از سیستم اش می‌شود. تمام فرایندهای برنامه، از جمله تعاملات کسب و کار و توسعه آباپ، در لایه برنامه اجرا می‌شوند. لایه ارائه تعامل با کاربران سیستم را مدیریت می‌کند. دسترسی آنلاین به سرور برنامه ABAP می‌تواند از طریق یک رابط گرافیکی اختصاصی که "رابط کاربری گرافیکی SAP " نامیده می‌شود یا از طریق مرورگر وب باشد.
برنامه نمونه
PROGRAM TEST. WRITE Hello World.