معماري (Oracle REST Data Services (ORDS (قسمت اول)
در ابتدا قبل از اينكه در مورد اين معماري صحبت كنم ابتدا مبحث كوتاهي در خصوص وب سرويس بيان مي كنم.
معماري سرويس شي گرا (Service Oriented Architecture(SOA
يك اصل طراحي نرم افزار و الگوي طراحي معماري كه خودش را با محتوايي از ويژگي ها و توابع ارائه مي دهد را سرويس مي نامند. بهبود بخشيدن به اصول طراحي كه شامل اتصالات ضعيف، قابليت استفاده مجدد و خدمات در ظرفيت هاي بزرگ است. در سيستم هاي سازماني بزرگ SOA ،بسيار موثر در مشتق گيري هاي چابك و عكس العمل هاي به موقع و سريع است كه مورد نياز در زمينه تجارت مي باشد و افزايش سرعت برگشت سرمايه بوسيله كاهش هزينه هاي يكپارچه سازي، كاهش هزينه توسعه نرم افزار با استفاده مجدد از كامپاننت ها مي باشد. بهبود بخشيدن معماري سيستم هاي سازماني، با استفاده از خطوط خدمات سازماني بعنوان يك لايه ادغام براي اپليكيشن هايي با مقياس بزرگ بصورت آنلاين مي باشد.
براي مثال مي توان وضعيت تراكنش حسابها، اطلاعات محصولات خريداري شده، سرويس نقشه، مسيريابي، پردازش تصاوير را نام برد.
وب سرويس چيست؟(Web Services)
با فراگیر شدن اینترنت و استفاده گسترده از آن در زمینه IT این پرسش مطرح گردید، که آیا می توان بین برنامه های دو کامپیوتر که از هم دور هستند از طریق اینترنت ارتباط برقرار کرد، بدین معنی که یک برنامه در یک کامپیوتر امکان فراخوانی تابعی را در برنامه کامپیوتر دوم که از آن دور است داشته باشد و بتواند ورودی هایی را به تابع مورد نظر ارسال نماید و خروجی هایی را دریافت نماید. پاسخ به این پرسش موجب به وجود آمدن تکنولوژی وب سرویس (Web Service) شد.

- وب سرویس ها به سیستم عامل و زبان برنامه نویسی وابستگی ندارند
- از مزایای مهم آن سهولت در برقراری ارتباط بین برنامه ها
- وب سرویس ها برنامه (قطعه کد) هایی هستند که تحت وب قابل دسترسی اند و از طریق پروتکل های استانداردی مانند Http, Ftp, SMPT به انتقال و مبادله دیتا با سایر برنامه های کاربردی می پردازند. اساس کار وب سرویس ها بر پایه دریافت و تولید پیغام بنیان گذاری شده است. بدین معنی که آنها منتظر می مانند که کلاینت ها به آنها وصل شده و بنا به درخواست کلاینت ها به آن ها پاسخ می دهند .
- کاربرد برنامه های مبتنی بر وب سرویس ها در ارائه خدمات مالی، محاسباتی و توسعه سیستم های توزیع شده می باشد برنامه هایی مانند رزرو بلیط هواپیما، تبدیل ارز با استفاده از آخرین نرخ، تبدیل تاریخ میلادی به تاریخ شمسی، بررسي كد ملي و شناسايي، نمونه هایی از وب سرویس ها می باشند .
- وب سرويس ها مي توانند بر پايه (SOAP(Simple Object Access Protocol يا (REST(Representational state transfer باشند

بطور خلاصه همانطور كه در عكس بالا مشخص است در هنگام انتقال اطلاعات بوسيله SOAP ، با يك فرمت خاص پوشيده شده و ديتا با حجم باالاتري به سمت مقصد فرستاده مي شود كه باعث افزايش ترافيك شبكه نيز مي شود در حاليكه REST ، خود همان ديتا را بدون هيچگونه فرمت خاصي با سرعت بالاتر و حجم كمتر به سمت مقصد مي فرستد.
سبك معاري REST بر روي وب
- Model resources, not actions
- بايد اسم باشد نه فعل
- مثال درست (در نوع عمليات GET : /ords/hr/employees/)
- مثال غلط (در نوع عمليات GET : /ords/hr/GetAllEmployees/)
- نوع عمليات ها بر روي همه منابع
- GET, POST, PUT, DELETE, OPTIONS, HEAD
- برای نامگذاری بيشتر بايد از اسم استفاده شود و فقط در بعضي مواقع از فعل استفاده كنيد
- درخواست بدون فرمت، وضعيت ارتباط انتقال از طريق لينك ها (hyper-links) مي باشد

معرفي (Oracle REST Data Services(ORDS
ORDS توسعه واسط مدرن REST را براي داده های رابطه ای در پایگاه داده اوراکل بسيار آسان مي سازد.

ORDS به رابط غالب برای دسترسی به خدمات در اینترنت تبديل شده است كه از جمله ارائه دهندگان بزرگ (شركت هاي بزرگ) مانند Google, Facebook, Twitter و Oracle و نيز در داخل شرکت توسط شرکت های پیشرو در سراسر جهان مي توان اشاره كرد. REST یک جایگزین قدرتمند در عین حال ساده برای استانداردها مانند SOAP با اتصال تقريبا به هر محیط با هر زبان را فراهم مي كند بدون اينكه مجبور به نصب درايور يا ابزاري بر روي كلاينت ها باشيم زيرا پايه آن بر اساس HTTP ساده است كه تقريبا همه محيط ها پشتيباني مي كنند.
خصوصيات:
- فراهم آوردن دسترسي به داده ها با محيط توسعه مدرن اپليكيشن ها
- اپليكشن هاي لايه مياني (Mid-tier) استفاده بشود
- مي تواند از استاندارد (RESTFul Http(s براي نوع هاي gets و posts با SQL استفاده كند
- برگشت جواب بصورت (Json (JavaScript Object Notation
- استفاده از جاوا اسكريپت
- با تعداد بسيار زياد كاربران مشكلي ندارد
- خدمات
- دسترسي به داده ها از طريق (HTTP(s
- Oracle JSON collection بر اساس حداقل دسترسي به اسكيماها در ديتابيس مي باشد
- دسترسي Oracle NoSQL بر روي HTTP
- استفاده شده در لايه مياني (Oracle APEX mid-tier, web toolkit applications, mod_plsql)
- بصورت معمول با نام Oracle APEX Listener شناخته شده است
- اين ويژگي از سال 2010 توسط Oracle Database پشتيباني مي شود
- همانند يك كشتي (تغييرات گسترده و قدرتمند) با ديتابيس نسخه 12.1.0.2 به بعد
تاريخچه (Oracle REST Data Services(ORDS

نسخه | سال | توضيحات |
1.0 | 2010 | اولين نسخه به نام Oracle APEX Listener با پشتيباني براي OWA toolkit كه بوسيله APEX مورد استفاده قرار گرفت |
1.1 | 2011 | اولين نسخه ايجاد شده با REST با پشتباني كردن از JSON, Microdata, CSV, Pagination و همچنين اضافه شدن FOP |
2.0 | 2012 | پشتيباني از OAuth2، ادغام با APEX، پشتياني از چنديدن ديتابيس،ادغام با SQL Developer |
2.0.5 | 2013 | پشتيباني از PDB اضافه شد |
2.0.6 | 2014 | تغيير نام به Oracle REST Data Services |
2.0.8 | 2014 | اضافه شدن REST Filtering |
3.0
| 2015 | امكانات جديد اضافه شد از قبيل REST AutoTable, NoSQL, DB12 JSON, Bulk loading over REST و ... |
معماري (Oracle REST Data Services (ORDS (قسمت دوم)
مرجع:
اولين وبلاگ به زبان فارسي كه درليست بلاگ هاي Application Express Community -ODTUG APEX قرار گرفت