Download presentation
Presentation is loading. Please wait.
Published byAri Sykes Modified over 10 years ago
1
1 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Oracle’s Application Development Framework (ADF) en JHeadstart – Tijd om de balans op te maken Sandra Muller en Peter Ebell (Oracle) en Lucas Jellema (AMIS) AMIS Query, Donderdag 26 mei 2005
2
2 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Agenda Welkom en introductie Inleiding ADF Binding Framework ADF en WebServices ADF UIX – Customizing the Look & Feel through Skins ADF en JHeadstart – status en toekomst Diner (18.00 uur) Workshop (tot 20.30?)
3
3 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Oracle Application Development Framework Preview Fall 2003 Production Spring 2004 ADF label on JClient, UIX and BC4J Core of ADF (JSR 227): DataBinding Framework Valuable facilities: LifeCycle support in Struts and JClient Integration with IDE: Easy registration of DataControls Drag and drop DataControlBinding and UI generation
4
4 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken JHeadstart Toolset for Declarative Application Development Started life in 2001 within Oracle Consultancy Late 2004: 10.1.2 release – support for ADF Generation of View and Controller based on Model and XML-based application definition Oracle 9iAS MVC Framework and Struts JSP and UIX BC4J (ADF BC) and Toplink (only in 9.0.5.x release) Support for generation from Oracle Designer Run-time libraries Struts enhancements; for example Multi Record DML, messages Client Side: calendar window, no changes to commit Before ADF: data binding between VC and M
5
5 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken JHeadstart Next (Patch) Release – end of June Fixes and New features! Only available through Supplement Option NOT on OTN Do not take the software with you!
6
6 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Model-View-Controller View Controller Model Business Service ADF BC op Oracle RDBMS POJO TopLink op MySQL Spring Framework WebService op BPEL HTML – JSP or UIX (WebApp) GUI – Swing (Java Client) SOAP/ XML (WebService) PDF, Excel, Email (Java App) Context Query Data Manipulate Data (update, insert, delete) Invoke methods: calculations, validations,… Business Service Request Event Call/Invocation
7
7 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken MVC and Role Separation Model is View-unaware Model provides services, regardless of who will use them View is Model-unaware View receives data (POJO) to make use of without knowing where the data originates from Controller is Model-implementation unaware Controller invokes Model services without needing to know the specific technical implementation
8
8 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken ADF Binding Framework Model provides DataControls that implement generic interfaces Attribute getValue, setValue Collection First, Last, Next, Previous, Next Set, Previous Set Method setParameters, Invoke (doIt), getResult Business Service Operations: Commit, Rollback ADF contains AdapterClasses that implement the DataControl interfaces for different technologies Some or more equal than others For example: ADF BC ViewObject wrapped to implement a Set- style DataControl
9
9 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken ADF Binding Framework Registering DataControls for a Business Service Model Business Service Business Service - POJO ADF BC op Oracle RDBMS HrmServiceEmployee HrmServiceemployeesraiseSalariesnamejob
10
10 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Applications register DataControl Bindings Applications are consumers of DataControls Application components register Usage of DataControls (aka DataControl Bindings) In the UI Model (aka Binding Container) A bit similar to Oracle Designer’s Module Component with table-usages and column-usages Depending on Application Technology, we will have one UI Model per Struts Action (== JSP or UIX page) JClient Frame Java Class
11
11 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken ADF Binding Framework - Registering DataControl Usages – Creating UI Model Model HrmServiceemployeesraiseSalariesnamejob Struts + JSP JClient (Swing GUI) SimpleClient (Java program)
12
12 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken ADF Binding Framework - Registering DataControl Usages – Creating UI Model Model HrmServiceemployeesraiseSalariesnamejob
13
13 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Demo – Register DataControls and Build UI Models ADF Business Components HrmService ViewObject employees based on Table scott.EMP Method raiseSalaries() Struts + JSP WebApplication DataControl Usage = ControlBinding (iterator binding) for employees as Read Only Table DataControl Usage = ControlBinding (action binding) for raiseSalaries as button And Method Result as display text Simple Client Java Application Iterator Binding employees + Action Binding raiseSalaries
14
14 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Switching Business Services The application accesses generic DataControl Binding interfaces It is unaware of the business service or the actual implementation The application only needs: Name of DataControl Type of DataControl (Attribute, Collection, Action) If an alternative Business Service provides the same set of Data Controls Same name, same type … Then the application should without any change be able to run with the alternative service
15
15 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Alternative set of HrmService DataControls – based on ADF BC Business Service Model Business Service – ADF Business Components HrmService Business Service - POJO HrmServiceEmployee employeesraiseSalariesnamejob Application Module HrmService ViewObject Employee
16
16 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Applications running against an alternative Business Service – same set of DataControls Model HrmServiceemployeesraiseSalariesnamejob Business Service – ADF Business Components Application Module HrmService ViewObject Employee AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken
17
17 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Demo – Switch Business Service Introduce alternative HrmService, POJO based public Collection getEmployees() beanClass = nl.amis.hrm.Employee public Double raiseSalaries() Publish DataControls for POJO HrmService Struts + JSP WebApp Update UIModel Base employees Iterator on POJO HrmService Base raiseSalaries ActionBinding on POJO HrmService Simple Client JClient application
18
18 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Questions How will ADF Faces and ADF Binding Framework work together? What will happen with JSR-227 Will there be development of more (advanced) DataControl Adapter classes For Hibernate, Spring Framework, TopLink Will there be ADF Binding Framework (JSR-227) plugins for Eclipse? Will the IDE be enhanced in 10.1.3? What is the take-up in the market for ADF?
19
19 AMIS Query - Oracle ADF en JHeadstart, Tijd om de balans op te maken Discussion and Conclusion ADF Binding Framework effectively decouples Model from View & Controller Allowing for clear roles in development projects ADF allows for quick first steps in application development, while respecting MVC The typical “next steps” are still quite complex Especially for non-J2EE Web Developers ADF can only be used with JDeveloper 10g ADF is somewhat sparse for non-BC services Even support for Oracle TopLink is limited Integration between ADF and UIX is not always optimal ADF is part of the strategical tool-stack for Oracle Apps
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.