Oracle ADF برپايه بهترين تجربه هاي عملي بنا شده است. نرم افزار هايي که شما با استفاده از Oracle ADF مي سازيد به يک تفکيک آشکار در business logic ، page navigation و رابط کاربري با پيروي از معماري model-view-controller دست پيدا مي کنند. همانطور که در شکل زیر نمايش داده شده است در معماري MVC لایه بندی ها و تقسیم وظایف بصورت زیر است:
• لايه مدل بيان کننده مقادير داده اي مرتبط با صفحه جاري است.
• لايه view شامل صفحات رابط کاربري است که بمنظور مشاهده و ويرايش داده هاي لايه مدل استفاده مي شود.
• لايه controller ورودي هاي کاربر را پردازش کرده و ناوبري صفحات (page navigation) را تعيين مي کند .
• لايه business service دسترسي به داده ها و کپسوله سازي منطق کاري سيستم را رسيدگي مي کند.
شکل بعدی مکان مناسب هر کدام از ماژول هاي ADF درون معماري نرم افزار برنامه نشان مي دهد. ماژول اصلي در این چهارچوب Oracle ADF Model است ، مکان اتصال (binding) اعلاني (declarative) داده ها که مشخصه JSR-227 را پياده سازي مي کند. اين خصوصيت يک API براي دستيابي به فراداده (metadata) اعلاني (declarative) داده ها محيا مي کند. لايه مدل Oracle ADF يک روش يکپارچه براي اتصال هر نوع رابط کاربري به هر نوع business service را بدون احتياج به نوشتن کد در اختيار قرار مي دهد. ساير ماژول ها که در این مجموعه قرار دارند عبارتند از:
• کامپوننت هاي Oracle ADF Business که ساختن business service ها را آسان مي کند.
• Oracle ADF Faces که يک کتابخانه توانمند از کامپوننت هاي رابط کاربري با قابليت AJAX براي ساخت برنامه هاي تحت وب با استفاده از JSF را ارائه مي دهد.
• Oracle ADF Controller، صفحات JSF را با Oracle ADF Model يکپارچه مي کند. Oracle ADF Controller مفاهيم استاندارد JSF controller را از طريق فراهم کردن قابليت هاي بيشتر توسعه داده است ، قابلیت هایی نظير جريان هاي کاري با قابليت استفاده مجدد که نه تنها کنترل صفحات را بين يکديگر انتقال مي دهد بلکه بين ساير فعاليت هانيز اين کار را انجام مي دهد ، براي مثال فراخواني متد يا ساير جريان هاي کاري .
نکته: علاوه بر ADF Faces ، همچنين از استفاده از تکنولوژي هاي Swing ، JSP و JSF استاندارد در لايه view پشتيباني مي کند.