| عنوان شغل | دفعات بازدید |
|---|---|
| Oracle ADF 11g | 1437 |
| Oracle SOA Suite 11g | 1270 |
| J2EE Web Developoer | 1218 |
چهارچوب java EE استاندارد ، مستحکم، قابل گسترش و امن می باشد که پایه های بسیاری از برنامه های بزرگ را تشکیل می دهد در حقیقیت این چهار چوب برای ایجاد برنامه ی چند لایه با استفاده از زبان جاوا یکسری قوانین تبعیه کرده است. در گذشته بین مستحکم بودن برنامه با پیچیده شدن آن یک مصداق یک به یک وجود داشت به منظور بدست آوردن آن استحکام بهر حال با استفاده از مزیت های چهار چوب oracle ADF شما قادر هستید که برنامه های پیشرفته با چهار چوب java EE و همچنان بر پایه ی الگو های استاندارد ولی با تلاش کمتر پیاده سازی نمایید .
علاوه بر این ، با توجه به افزایش نیاز به ساخت برنامه های ترکیبی که از معماری بر پایه سرویس استفاده می کند، برنامه نویسان مجبور گردیده اند تا برنامه هایی ایجاد نمایند که از لحاظ سرعت ساخت بسیار بالا باشد. به منظور بالا بردن سرعت پیاده سازی برنامه نویسان مجبور به نوشتن کد های بسیار زیادی در لایه های زیر ساخت می باشند که خود امری بسیار پیچیده و هزینه بر میباشد.
علاوه بر فراهم نمودن استحکام ،کارایی بالا و قابل پشتیبانی بودن برنامه ها، چارچوب Oracle ADF کد های زیر ساخت که در نوع خود بی نظیر میباشد را فراهم می آورد که کمک به ساخت برنامه ها با سرعت بالا برای برنامه های بر پایه ی معماری سرویس گرا می نماید. وجود این لایه زیر ساخت کامل سبب می شود که یک سازمان به جای تمرکز بر روی ایجاد لایه های برنامه نویسی پیچیده بر روی ساخت برنامه تمرکز نماید و بجای وقت و هزینه صرف کردن برای برنامه های سخت و صرف برنامه نویسی ، بر روی برنامه ای که مربوط به شرکت خودشان میباشد وقت صرف نماید.
Oracle ADF یک چهارچوب کاملا خلاقانه و در عین حال یک چهار چوب java EE کاملا بالغ است و توسط شرکت اراکل پشتیبانی می گردد و مستقیما توسط محیط برنامه نویسی Oracle JDeveloper پشتیبانی می گردد که این محیط توسعه نرم افزار تا کنون چندین بار برنده ی جایزه گردیده است.
Oracle ADF با فراهم آوردن کد های زیر ساخت برنامه نویسی جاوا را ساده میکند و این امر سبب می شود تا بیشتر وقت برنامه نویس صرف منطق های برنامه های خود گردد تا صرف نوشتن کدها ی جاوای زیر ساخت و همچنین ADF به منظور سهولت بیشتر برنامه نویسان از روشی که به صورت (تعریفی[1] و اتوماتیک) می باشد بهره میبرد و این دو موضوع توسط JDeveloper11g کاملا پشتیبانی میگردد.
بعنوان مثال ، Oracle ADFاین موضوع را که بتوانید یک برنامه ی سریع بسازید که داده های برنامه ی شما را به صورت سرویس در اختیار یک محیط مبتنی به سرویس قرار دهد، بسیار ساده مینماید این موضوع با قرار گرفتن یک لایه سرویس بر روی لایه منطق این چهار چوب صورت میپذیرد . این جدا سازی لایه های منطق برنامه در ADF توسط داده های متا[2] نگهداری میگردد با استفاده از این معماری بر پایه ی متا برنامه نویس قادر خواهد بود تا بر روی منطق برنامه و آنچه کاربر میخواهد تمرکز نماید تا اینکه بر روی چگونگی دسترسی سرویس ها وقت بگذارد.
برای ساخت رابط کاربری و ظاهر برنامه فقط کافیست که لایه منطق ADF و داده هایی را که فراهم نموده اید بر روی صفحات کاربری JSF بیندازید و نوع نمایش آن داده را فرم یا جدول یا سایر انواع نمایش انتخاب نمایید. در مثال آورده شده در زیر شما قادرید تا یک جدول پایگاه داده را که در ADF بصورت یک سرویس منطقی تعریف میگردد را به کمک JDeveloperبر روی صفحه بیاندازید سپس یک منوی جدید نمایان میگردد که از شما می خواهد تا نوع نمایش این داده را مشخص نمائید تمامی اجرای این ارتباط را خود ADF بر عهده میگیرد.

با استفاده از ADF پیاده سازی جزئیات این سرویسها به صورت داده های متا در لایه مدل ذخیره میگردد. استفاده از این داده های متا باعث میشود تا بتوان بدون نیاز به تغییر لایه نمایش منطق های سرویس را تغییر داد و این موضوع کمک مینماید تا توسعه ی سیستم سرعت بیشتری پیدا کند.
ADF بر مبنای معماری سه لایه توسعه یافته است لایه مدل ، لایه نمایش، لایه کنترل
لایه ی مدل : که با سرویس داده (پایگاه داده) در ارتباط است و منطق برنامه را پشتیانی می کند.
لایه ی نمایش: که رابط کاربری را پشتیبانی مینماید.
لایه ی کنترل : که جریان برنامه را کنترل میکند و لایه نمایش را به لایه ی مدل متصل مینماید.
جداسازی برنامه به این سه لایه سبب می شود تا نگهداری کد و استفاده ی مجدد از کامپونت ها بین برنامه ها آسان گردد.
مجزا بودن هر لایه از لایه ی دیگر موجب می شود تا یک معماری بر پایه ی سرویس مستقل وجود داشته باشد زیرا هر لایه به لایه دیگر سرویس می دهد.
معماریADF الگوی MVC را پیاده سازی می نماید اما لایه ی مدل را از لایه ی سرویس دهنده ی منطقی جدا می نماید تا معماری بر پایه ی سرویس را پشتیبانی نماید در حقیقت معماری ADF به 4 لایه ی زیر تقسیم میگردد:
1- لایه ی منطق برنامه :این لایه امکان دسترسی به داده را از منابع گوناگون فراهم می کند و منطق برنامه را پشتیبانی می نماید
2- لایه مدل : یک لایه انتزاعی بر روی لایه ی منطق برنامه پیاده می نماید و این امکان را فراهم می نماید تا لایه های نمایش و کنترل بتوانند با پیاده سازی های گوناگون منطق برنامه ها به صورت یکسان رفتار نماید در حقیقت لایه ی نمایش و کنترل کاملا از لایه ی منطق برنامه مستقل باشد.
3- لایه ی کنترل: یک مکانیزم ایجاد می نماید تا جریان برنامه تحت وب کنترل گردد
4- لایه ی نمایش : قابلیت نمایش را برای کاربر فراهم می نماید.

ADF این امکان را به برنامه نویسان می دهد تا در هر لایه ی تکنولوژی که آنان ترجیح می دهند را انتخاب نماید. شکل بالا حق انتخاب گوناگون برنامه نویسان را زمان ساخت برنامه با ADF نشان میدهد.
در حقیقت چسبی که سبب میشود تا کامپوننت های گوناگون java EE به یکدیگر متصل گردند و در لایه ی منطق برنامه تکنولوژی های گوناگون مانند :EJB، web service ،java Bean ، JPA/Eclipse link/TOP link می تواند استفاده گردد.
لایه ی نمایش می تواند برنامه ی Swing و تعامل با MS office مورد استفاده قرار گیرد و همچنین در صورت استفاده از محیط Html و تحت وب می تواند از JSF و JSP و ADF faces استفاده نماید .
این لایه در حقیقت تعامل با لایه ثبت داده را مدیریت میکند. این لایه سرویسهایی مانند : تثبیت داده ،object /relation mapping ، transaction manager ، business layer execution، را فراهم می نماید.
این لایه در Oracle ADF می تواند توسط یکی از تکنولوژیهای زیر پیاده سازی گردد.
یک کلاس ساده ی جاوا ، EJB 2.1/3.0 ،web service ، JPA objects ، Oracle ADF BC
این لایه جریان منطقی برنامه را هدایت می کند و ورودی های کاربر را به سرانجام میرساند. بعنوان مثال زمانیکه کاربر بر روی دکمه ی جستجو روی صفحه کلیک می کند ، لایه ی کنترل تشخیص می دهد که چه عملیاتی باید به انجام برسد (عملیات جستجو) و به کدام صفحه باید برود( صفحه ی نتیجه ی جستجو)
برای برنامه های تحت وب در لایه ی کنترل سه حق انتخاب وجود دارد (برنامه های غیر تحت وب لایه ی کنترل ندارند)
1- Oracle ADF controller که کامل ترین مجموعه ی کنترلی می باشد.
2- JSF controller
3- Apache Struts
بطور معمول جریان برنامه توسط یک دیاگرام شامل صفحات و جریان بین صفحات مشخص می گردد فرقی ندارد که کدامیک از گزینه های بالا را استفاده نمایید. با استفاده از controller Oracle ADF می توانید یک برنامه ی بزرگ را به اجزای کوچکتر تجزیه نمایید این موضوع را با استفاده از Task flow ها صورت می پذیرد.
این لایه می تواند بر پایه ی html، JSP،، JSF، ، XML باشد .و میتواند بصورت بر پایه وب یا بصورت برنامه ی DESKTOP و مبتنی بر سرویس دهنده – سرویس گیرنده باشد . در ضمن این لایه میتواند بر پایه پیاده سازی دستگاه های Mobile باشد مانند گوشی همراه
این لایه باعث ایجاد ارتباط بین لایه ی منطبق برنامه با سایر لایه ها می باشد که از لایه منطق برنامه استفاده می نماید در حقیقت چون منطق برنامه می تواند مختلف باشد یک لایه (لایه ی مدل) بر روی آن قرار می گیرد تا نحوه ی ارتباط با آن برای سایر لایه ها یکسان باشد.
این لایه دو کامپوننت اصلی دارد data control، data bindings که برای تعریف رابط استفاده از آنها از فایل های XML استفاده می شود.
Data Bindings متد ها و فیلد های نوشته شده در Data Control را در دسترس لایه ی نمایش قرار میدهد و باعث جداسازی بین لایه ی داده و نمایش میگردد. بنا بر معماری بر پایه متا این لایه سبب می شود تا برنامه نویس در صورت تغییر تکنولوژی مورد استفاده در لایه ی منطق برنامه تغییری در برنامه نویسی خود احساس نکند . این لایه بر پایه ی JSR-227 می باشد که مبین ارتباط داده ها و دسترسی به داده ها در J2EE می باشد هدف این JSR استاندارد کردن ارتباط داده ها می باشد.

برنامه نویسان می توانند از تکنولوژی های گوناگون در هریک از لایه ها استفاده نمایند و با انتخاب هر یک از این تکنولوژی ها تجربه ی یکسانی از برنامه نویسی داشته باشند. بعنوان مثال همان الگو و متد در ساخت برنامه ی ADF Swing استفاده می شود که در ساخت برنامه با ADF Faces مورد استفاده قرار میگیرد.
یک بخش مهم از مفید سازی یک چهار چوب توسعه ی نرم افزار وجود یک ابزار توسعه می باشد که برنامه نویسی با آن چهارچوب را ساده تر نماید. اراکل در هرلایه از ADF ابزار های گرافیکی ارائه می دهد که امکان استفاده از چهارچوب ADF را به راحتی فراهم می نماید.
ابزار JDERLOPER راه های متعددی برای ساخت سرویس منطقی ارائه میدهد مانند : EJB/GPA، Web services ، ADF BC
زمان ایجاد این سرویس منطقی این امکان وجود دارد که با استفاده از ویزارد[3] این سرویس های منطقی را ایجاد نمائید. بعد از ایجاد این سرویس ها تنها با استفاده از یک کلیک راست کافیست تا این سرویس به یک Web service تبدیل گردند یا به راحتی یک وب سرویس SDO ایجاد نمائید.
از این میان ADF BC که مخفف ADF Business Component می باشد یک چهار چوب می باشد که بر روی ساخت object ها تمرکز داشته و به صورت یک روش تعریفی می باشد.
این چهار چوب سرویس های آماده را ارائه میدهد مانند transaction management ، resource pooling ، locking ، translation، object-relational و همچنین تعریف rules Validation .
برنامه نویسانی که قبلا تجربه برنامه نویسی با زبان های 4GL را داشته باشند ، ADF BC را به راحتی درک می نمایند .
ADF BC بر روی الگو های معروف Java EE بنا نهاده شده است و بهمین دلیل کارایی و استحکام آن تضمین شده است.
امکان توسعه به صورت گرافیکی و تعریفی امری است که در JDeveloper به آن بسیار بها داده شده است تا سرعت توسعه را بالا برده و سبب شود تا برنامه نویس بر روی برنامه در حال توسعه تمرکز کند تا بر روی توسعه ی برنامه های پیچیده زیر ساخت.
در زیر لیست مختصری از این گونه امکانات گرافیکی و تعریفی در لایه ی نمایش فراهم گردیده است.
· مدل سازی جریان بین صفحات در ADF controller : با استفاده از تعریف آن در یک دیاگرام بصورت گرافیکی
· یک محیط گرافیکی برای ویرایش صفحا ت JSF, HTML, JSP, Swing که در این محیط ویرایشی یک امکان WYSIWYG برای تمام کامپونت ها فراهم می آورد.
· امکان تعریف کامپوننت های تعریفی جهت اضافه کردن کامپونت جدید به لیست کامپوننت های تعریف شده در لایه ی نمایش
· امکانات استفاده ی مجدد ،چندین امکان جهت اطمینان از این که یک کد بتواند در جاهای مختلف دوباره استفاده گردد در این چهار چوب بنا نهاده شده است. امکاناتی مانند ایجاد TASK Flow،ADF library، declarative component همه و همه قابلیت استفاده مجدد را تقویت مینمایند.
· ADF Faces یک کتابخانه ی بسیار قوی از کامپوننت های نمایشی می باشد که بر روی لایه ی استاندارد JSF API نوشته شده است و از تکنولوژی های روز استفاده نموده است مانند: partial page rendering وAJAX تا بتواند بهترین و راحت ترین تجربه کار در لایه نمایش را برای کاربران فراهم آورد.

ابزار JDeveloperیک راه حل ساده برای اتصال کامپوننت های لایه ی سرویس منطقی برنامه به لایه ی کنترل و لایه نمایش دارد که با استفاده از پیاده سازی JSR می باشد که همان data control می باشد پالت data control یک نما از لایه سرویس منطقی را ایجاد می نماید.
برنامه نویسان به راحتی می توانند با استفاده از روش drag-and-drop اجزای این لایه را در صفحه ی وب قرار دهند و آنها را
به اجزای نمایشی صفحه متصل نماید.
مزیت اصلی که باعث ایجاد پیشرفت این چهارچوب نسبت به سایر چهار چوب ها ی JEE باشد به قرار زیر است :
End-to-End Solution
چهار چوب ADF تنها بر روی یک لایه ی خاص تمرکز نمی کند بلکه یک راه حل یکپارچه و کامل از تمام لایه های JAVA EE را ارائه می دهد وتمام فازهای توسعه ی سیستم را از آغاز تا پشتیبانی را پوشش می دهد.
محیط توسعه
بسیاری از چهارچوب های JAVA EE دارای فقدان یک محیط توسعه مناسب می باشند اما ابزار توسعه Oracle JDeveloper کمک می کند تا با استفاده از محیط گرافیکی و تعریفی نیاز به کد نویسی را به حداقل برساند و این موضوع سبب میشود تا ابزار بسیار مناسبی برای توسعه ی سیستم با Oracle ADF باشد.
این ویژگی تعریفی و گرافیکی موجب می شود تا آموزش برنامه نویسی با محیط ADF نیز به حداقل برسد بخصوص برای افرادی که با محیط های 4GL آشنایی دارند.
البته اگر برنامه نویسان بخواهند با IDE های دیگری غیر از JDeveloper نیز برنامه نویسی انجام دهند این امکان برای آنان وجود دارد زیرا ADFیک چهار چوب استاندارد می باشد.
عدم وابستگی به محیط اجرا
بسیاری از چهارچوب ها باعث می شوند تا برنامه نویس به یک شرکت نرم افزاری خاص محدود گردند اما محیط اجرای ADF میتواند به روی هر سروری اجرا گردد ولایه ی ADF BC میتواند به هر پایگاه داده بر پایه ی SQL-92 متصل گردد.
تعهد به تکنولوژی
این موضوع بسیار مهم است که شرکت اوراکل این تکنولوژی را به عنوان نسل بعدی تکنولوژی های خود پذیرفته است و حتی برای توسعه های داخلی خود نیز از این چهار چوب استفاده می کند برای توسعه ی ، ,Web application, Wireless Application, Portal Application از این چهارچوب استفاده میکند لذا به این تکنولوژی تعهد پشتیبانی ، توسعه و بهبود خواهد داشت.
Meta Data-Driven
تمام لایه های دخیل در چهارچوب ADF، جهت توسعه از فایل های XML برای تعریف استفاده می نماید و هرکجا که لازم باشد کد های خصوصی سازی جاوا نوشته می گردد.
استفاده از Label ، Validation ، Tool tip از جمله مواردی می باشد که در فایل های XML تعریف می گردد و سبب می شود تا این اطلاعات به محیط نمایش وابسته نباشد.
بهبود Reusability
محیط توسعه JDeveloper به همراه ADF باعث می شود تا امکانات گسترده ای از Reusability در حین توسعه برای برنامه نویسان ایجاد گردد مانند JSF Template ،Task flow، Task flow Template،ADF library، JSF fragment، ..
پشتیبانی
ADF محصول رسمی شرکت اراکل می باشد و توسط دپارتمان Support شرکت اراکل به صورت جامع و 24 ساعته پشتیبانی میگردد.
آموزش
اراکل منابع آموزشی بسیار کاملی از این محصول توسط وب سایت و آموزشگاه های متصل به اوراکل برای استفاده کنندگان فراهم آورده است .
محیط Oracle ADF امکان توسعه ی Java EE به صورت بسیار ساده تری فراهم آورده است با استفاده از پیاده سازی ها و الگو ها و زیر ساخت های کامل از Java EE و هم چنین این امکان را فراهم آورده است تا با استفاده از محیط توسعه ی JDeveloper و امکانات گرافیکی و تعریفی که برای ADF ایجاد گردیده است سرعت توسعه را بسیار کاهش دهد جهت مشاهده ی جزئیات بیشتر از این چهار چوب به آدرس زیر مراجعه نمایید:
http://otn.oracle.com/products/jdev
جهت مشاهده این متن به زبان انگلیسی بر روی اینجا کلیک نمایید.