Introduction to ADF Faces in JDeveloper 10 g

  • Slides: 38
Download presentation
Introduction to ADF Faces in JDeveloper 10 g — Is it Oracle Forms Developer

Introduction to ADF Faces in JDeveloper 10 g — Is it Oracle Forms Developer Yet? Peter Koletzke Technical Director & Principal Instructor

Moi 1

Moi 1

Vous • Forms development – 1 -2 years? – 3 -9 years? – More

Vous • Forms development – 1 -2 years? – 3 -9 years? – More than 9 years? • Java development – 1 -2 years? – 3 -11 years? – More than 11 years? • JDeveloper – 1 -3 years? – More than 3 years? – 10. 1. 3? 2

On the Positive Side… If we do not find anything pleasant, at least we

On the Positive Side… If we do not find anything pleasant, at least we shall find something new. Si nous ne trouvons pas des choses agréables, nous trouverons du moins des choses nouvelles. —Voltaire (1694 -1778), Candide 3

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces help? • Is it Oracle Forms yet? Rumor: There is a really good book about JDeveloper 10 g for Forms Developers coming out soon. 4

What is a Framework? • Prebuilt architecture for solving a particular problem – Provides

What is a Framework? • Prebuilt architecture for solving a particular problem – Provides a key service • For example, Struts framework provides control of page flow in a web application – Code library, development method, tools – An extension of good reusable code strategies • Solve a problem once, use the code again in multiple projects • Like an API – Allows extensions • To replace or supplement functionality 5

Benefits of a Framework • Promises increased productivity through code reuse – Prebuilt code

Benefits of a Framework • Promises increased productivity through code reuse – Prebuilt code supplies functionality you would have to build yourself • For example, connection layer to the database through JDBC – You write less 3 GL code • Simplifies complexity of a high-level architecture – Complexity is hidden in the prebuilt code – Handles infrastructure and communication between layers – You just hook into it • Provides structure to the myriad number of technology combinations – The path to a particular goal is predefined 6

Oracle Forms is a Framework • It has key framework components – Code libraries

Oracle Forms is a Framework • It has key framework components – Code libraries (Forms runtime) – Documented methods (wizards and editors) – Tools (Form Builder) • Forms is a fast way to build a sophisticated user interface • You can extend Forms (using Java) 7

Oracle Application Development Framework (ADF) • Attempt to meet the J 2 EE challenges

Oracle Application Development Framework (ADF) • Attempt to meet the J 2 EE challenges – Lots of technology choices – No integrated tool – Database connectivity is difficult (JDBC) • Available starting in JDeveloper 10 g • A wrapper for other frameworks • An architecture with code libraries – Implies a method and a tool • Based on Model-View-Controller J 2 EE design pattern Note: See Aug 2004 No. COUG presentation for more about ADF. 8

ADF Architecture View Application Client Swing model Swing event handlers Web Client Swing visual

ADF Architecture View Application Client Swing model Swing event handlers Web Client Swing visual aspect JSP ADF UIX ADF JClient JSF Controller Struts JSF Model ADF Bindings ADF Data Controls Business Services EJB Session Beans Web Services ADF Business Components Java Classes

Business Services EJB Session Beans Web Services ADF Business Components Java Classes • Code

Business Services EJB Session Beans Web Services ADF Business Components Java Classes • Code layer for accessing data sources such as a database • Responsibilities: – Persistence • Data storage after the program ends – Object-relational (OR) mapping • Translating database objects to object-oriented structures • Use this layer to code business logic 10

Model ADF Bindings ADF Data Controls • The main innovation of ADF! • Connects

Model ADF Bindings ADF Data Controls • The main innovation of ADF! • Connects Business Services to the View layer – Java local clients (heavy client) • Delivers data from Business Services to the View layer – Web clients (light client) • Receives instructions from the Controller layer as requests for data retrieval and updates • ADF Data Controls – Interface components pre-bound to Model layer • ADF Bindings – The method for accessing Model objects 11

Controller Struts JSF • For web clients only • Determines what happens when user

Controller Struts JSF • For web clients only • Determines what happens when user submits page – Prepare next page to display – Can apply conditional logic – Can interact with data (Model) • Struts - JDev 10 g 9. 0. 5 and 10. 1. 2 – Jakarta Project open source effort • Java. Server Faces – JDev 10. 1. 3 – Replaces Struts in JDev 12

Application Client Swing model Swing event handlers Swing visual aspect View Web Client ADF

Application Client Swing model Swing event handlers Swing visual aspect View Web Client ADF UIX JSP ADF JClient JSF • User interface technologies – Application client • Java runtime on the client • Part of J 2 SE (standard edition) • Uses JClient framework to communicate with Model layer – Web client • Java. Server Pages (JSP) technology – J 2 EE standard, light-client, tag-based interface • ADF UIX – Oracle-specific, XML-based interface used by E-Business Suite applications • Java. Server Faces (JSF) – Java community effort – J 2 EE 1. 5 (soon) 13

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces help? • Is it Oracle Forms yet? 14

Nothing Like a Good Drill Man is a tool-using animal. . Without tools he

Nothing Like a Good Drill Man is a tool-using animal. . Without tools he is nothing, with tools he is all. —Thomas Carlyle (1751– 1881), Sartor Resartus 15

What is JSF? • Java. Server Faces technology • “New” technology (ratified JCP in

What is JSF? • Java. Server Faces technology • “New” technology (ratified JCP in 5/2004) – Not part of J 2 EE yet – Offers reference implementation • Effort to simplify JSP development – Component-ize it • High-level components provide much functionality – Integrate the controller • No Struts needed – Write less HTML • Component handles HTML writing • Development friendlier to Forms developers – Declarative programming 16

JSF Features • Rich component set – Core library – for application tasks –

JSF Features • Rich component set – Core library – for application tasks – HTML library – for HTML tags, forms – JSP tag library included • Can be implemented in other languages – Include data binding properties • Event-driven – Events on the component level – Think Forms triggers 17

JSF Code • Can embed JSF in a “JSP page” (. jsp file) –

JSF Code • Can embed JSF in a “JSP page” (. jsp file) – JSP tags and HTML tags • Alternatively use a “JSP document” (. jspx file) • JSF theoretically supports multiple client devices – Not dependent upon an HTML browser – Same code, different “render kit” – Current Reference Implementation is JSP-only 18

JSF Code Snippet <f: facet name="footer"> <af: panel. Button. Bar binding="#{backing_Deptapp. panel. Button. Bar

JSF Code Snippet <f: facet name="footer"> <af: panel. Button. Bar binding="#{backing_Deptapp. panel. Button. Bar 1}"> <af: command. Button action. Listener="#{bindings. First. invoke}" action="First" text="First" disabled="#{!bindings. First. enabled}" binding="#{backing_Deptapp. command. Button 1}"/> <af: command. Button action. Listener="#{bindings. Previous. invoke}" action="Previous" text="Previous" disabled="#{!bindings. Previous. enabled}" binding="#{backing_Deptapp. command. Button 2}"/> </af: panel. Button. Bar> </f: facet> 19

JSF Calling Sequence Browser URL Web Tier JVM Deptapp. jsp HTML/JSP JSF Translate and

JSF Calling Sequence Browser URL Web Tier JVM Deptapp. jsp HTML/JSP JSF Translate and compile JSF Servlet HTML Deptapp. class 20

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces help? • Is it Oracle Forms yet? 21

ADF Faces • Oracle tag libraries – Released to My. Faces open source project

ADF Faces • Oracle tag libraries – Released to My. Faces open source project in Jan. – Available in JDeveloper 10. 1. 3 • Implements components available in UIX – UIX (User-Interface XML) is used in Oracle Applications • Adds even more functionality to JSF • Supports multiple platforms through “render kits” – JSP document or page – Telnet – Wireless 22

ADF Faces Features • Lots of Prebuilt stuff – UI components • Master-detail –

ADF Faces Features • Lots of Prebuilt stuff – UI components • Master-detail – Form-table, table-form, form-form • • • Data navigation controls Color picker Button and link Tab menu bar Progress meter Editable, tree – Layout objects – page, form, header – No need to manage images 23

Some ADF Data Input Components Text input LOV item Read-only item Button Tip item

Some ADF Data Input Components Text input LOV item Read-only item Button Tip item Date input with date picker Pulldown item • Items include prompts • Bound to data model object 24

Some ADF Components Tab menu bar with subtabs Shuttle Tree 25

Some ADF Components Tab menu bar with subtabs Shuttle Tree 25

ADF Data Controls Using ADF Faces Editable Search form Teeth 26

ADF Data Controls Using ADF Faces Editable Search form Teeth 26

Benefits of ADF Faces • “Smart” controls – partial page submit – AJAX •

Benefits of ADF Faces • “Smart” controls – partial page submit – AJAX • Asynchronous Java. Script and XML • A. k. a. , Partial Page Rendering Ajax provides – Java. Script effects without Java. Script coding a cleaner user interface! • Support in JDeveloper – Drag and drop automatic binding – Property settings – Expression builders 27

Development Method 1. Create application workspace 2. Create Business Services and Model project 3.

Development Method 1. Create application workspace 2. Create Business Services and Model project 3. Create View and Controller project 4. Test and debug • Use the same tools for development regardless of technology choices Demo 28

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces

Agenda • Frameworks and ADF • What is JSF? • How does ADF Faces help? • Is it Oracle Forms yet? 29

Short Answer 30

Short Answer 30

It’s a Close Second • RAD for standard operations – a tie • RAD

It’s a Close Second • RAD for standard operations – a tie • RAD for complex functions – Forms slightly ahead • Ease of extensions – ADF Faces – 3 GL is always present – Forms needs Java (PJCs) • Highly interactive UI – Forms – Apples and oranges (light client vs. heavy client) • ADF Faces is much better than plain vanilla HTML, though • Prebuilt components – ADF Faces – Forms has 22 (8 of which are drawing shapes) – ADF Faces has nearly 100 (some are not visual) 31

Other Comparisons • Development experience – Forms = declarative and visual with some PL/SQL

Other Comparisons • Development experience – Forms = declarative and visual with some PL/SQL – ADF Faces = declarative and visual with some Java (and Expression Language) • Future – Forms’ future is solid – support to 2012 • Functionally stable, no new features • Still part of Oracle Applications (E-Business Suite) – ADF Faces – very new technology • Likely to change much in short term • Nothing in J 2 EE lasts very long • J 2 EE is Oracle’s focus 32

It is a Suggested Path • JDeveloper is a J 2 EE tool –

It is a Suggested Path • JDeveloper is a J 2 EE tool – Supports any style of J 2 EE code – Less need to think about “plumbing” • Before ADF Faces, little guidance for suggested path – “Productivity with Choice” • The myth for Forms developers – How to choose? 33

What Do You Need to Start? • Language skills needed – Java is omnipresent

What Do You Need to Start? • Language skills needed – Java is omnipresent • But only at a scripting level • Still need a Java architect on the project – XML is a handy skill • If you know “elements” and “attributes”, that’s enough – HTML is not really used in ADF Faces • Helps to know what an HTML table is • ADF development method – ADF Business Components 34

Can ADF Faces Help You? • It can help shops that have J 2

Can ADF Faces Help You? • It can help shops that have J 2 EE experts – J 2 EE experts will be more productive – They need to learn the ADF process • It can also help shops who have “traditional” non-J 2 EE Oracle developers – Forms and PL/SQL developers will be productive with the declarative tools • With training, they can write Java extensions • Much of the complexity is hidden – They need a J 2 EE expert to guide them and code the internal, complex stuff 35

Summary • Frameworks help development – Forms is a framework – Usually, not so

Summary • Frameworks help development – Forms is a framework – Usually, not so easy for J 2 EE applications • ADF is a framework and it also helps • ADF Faces comes close to Forms – – – Nearly-equal productivity Extremely rich component set Support for declarative and visual programming Requires a bit of ramp up time It’s J 2 EE-compliant and you still need a J 2 EE architect 36

§ Designer Handbook JDeveloper 3 Handbook Developer Advanced Forms & Reports ORACLE 9 i

§ Designer Handbook JDeveloper 3 Handbook Developer Advanced Forms & Reports ORACLE 9 i JDeveloper Handbook Coming soon ORACLE JDeveloper 10 g Handbook § Books co-authored with Dr. Paul Dorsey, Avrom Roy-Faderman, & Duncan Mills Personal web site: http: //ourworld. compuserve. com/ homepages/Peter_Koletzke http: //www. quovera. com • Founded in 1995 as Millennia Vision Corp. • Profitable for 7+ years without outside funding • Consultants each have 10+ years industry experience • Strong High-Tech industry background • 200+ clients/300+ projects • JDeveloper Partner • More technical white papers and presentations on the web site 37