34
Forms, ADF and JET a Non- Aggression Pact Florin Marcus

Forms, ADF and JET a Non-Aggression Pact

Embed Size (px)

Citation preview

Page 1: Forms, ADF and JET a Non-Aggression Pact

Forms, ADF and JETa Non- Aggression Pact

Florin Marcus

Page 2: Forms, ADF and JET a Non-Aggression Pact

Company Profile

Page 3: Forms, ADF and JET a Non-Aggression Pact

Agenda

Page 4: Forms, ADF and JET a Non-Aggression Pact

What customers dislike about ADF?

Page 5: Forms, ADF and JET a Non-Aggression Pact

What customers like about ADF?

Page 6: Forms, ADF and JET a Non-Aggression Pact

What customers like about ADF?

Page 7: Forms, ADF and JET a Non-Aggression Pact

What customers like about ADF?

Page 8: Forms, ADF and JET a Non-Aggression Pact

Monitoring Performance

Page 9: Forms, ADF and JET a Non-Aggression Pact

Forms and ADF

Who integrates Forms and ADF?

Page 10: Forms, ADF and JET a Non-Aggression Pact

Who integrates Forms and ADF?

Page 11: Forms, ADF and JET a Non-Aggression Pact

ADF - Oracle Metadata Services

Page 12: Forms, ADF and JET a Non-Aggression Pact

Java Plugin disconntinued Consequences for Forms-ADF integration

Page 13: Forms, ADF and JET a Non-Aggression Pact

ADF- Forms UI integration

Page 14: Forms, ADF and JET a Non-Aggression Pact

ADF- Forms UI integration

Page 15: Forms, ADF and JET a Non-Aggression Pact

ADF- Forms UI integration

Page 16: Forms, ADF and JET a Non-Aggression Pact

ADF- Forms UI integration

Page 17: Forms, ADF and JET a Non-Aggression Pact

Oracle JET

Why Another Web Framework?

Page 18: Forms, ADF and JET a Non-Aggression Pact

Oracle JET

Javascript Framework

Consumes REST/JSON

Open Source

No tooling support

Page 19: Forms, ADF and JET a Non-Aggression Pact

Traditional System Architecture on Web

User Cache

1. Minimises database round-trips

2. Holds not committed information

Page 20: Forms, ADF and JET a Non-Aggression Pact

Javascript Framework System Architecture

User Cache in browser solutions:

1. HTML5 LocalStorage

2. IndexedDB

Page 21: Forms, ADF and JET a Non-Aggression Pact

JET vs ADFAdvantages of Oracle JET

Public facing websites

Live data (ref#2)

High Availability support (out of the box)

Advantages of Oracle ADF

Full development stack

Versatile

Superior at PL SQL integration

Great for code generation

Tooling support (building your own wizards) - todo DB Validator wizard

Page 22: Forms, ADF and JET a Non-Aggression Pact

Building Your Own JDev wizards

Declarative PL SQL calls ROWTYPE support

Page 23: Forms, ADF and JET a Non-Aggression Pact

Forms, ADF and JET

Business Integration patterns

Page 24: Forms, ADF and JET a Non-Aggression Pact

Business Integration patterns

Database remains the Best Place for business rules

Page 25: Forms, ADF and JET a Non-Aggression Pact

Business Integration patterns

Advantages

● ‘The Standard’ for Webapps● Scales very well● Both JET and ADF supports it.

Disadvantages

● Limitations on reusing Form’s PL SQL code (no ‘post changes’)

Both ADF and JET supports it

Stateless Connections

Page 26: Forms, ADF and JET a Non-Aggression Pact

Business Integration patterns

Same connection is Guaranteed for the duration of user session.

Widely regarded as ‘Unacceptable’ - up until Websockets.

Fits the same transaction lifecycle as Oracle Forms, allows for conversational state with PL SQL.

Supported by ADF only

Stateful Connections

Page 27: Forms, ADF and JET a Non-Aggression Pact

Websockets and database connectionsPessimistic Locking using Websockets

#REF1

Page 28: Forms, ADF and JET a Non-Aggression Pact

Business Integration patterns

Best approach for PL SQL logic reuse in ADF:

Use Stateless Connection on landing pages, menus, dashboards, search screens.

Switch to Stateful Connection when editing data (data input screens) .

Page 29: Forms, ADF and JET a Non-Aggression Pact

Learning ADF

Journey from Forms to ADF

Page 30: Forms, ADF and JET a Non-Aggression Pact

Learning ADF

3 Programming Languages: Java, Javascript, Groovy

4 Major Java EE technologies: Servlets, Java Server Faces, JDBC

ADF is build on top of:

Page 31: Forms, ADF and JET a Non-Aggression Pact

Learning ADF

Page 32: Forms, ADF and JET a Non-Aggression Pact

Learning ADF

Learning the whole ADF Stack may prove a challenge for the most talented Forms Developer.

Initially, separate the team into roles:

A. Business Developers (PL SQL, ADF Business Components)

B. Web Developers (UI)

Conclusions

Page 33: Forms, ADF and JET a Non-Aggression Pact

References

Oracle ADFwww.oracle.com/technetwork/developer-tools/adf/overview/index.html;jsessionid=6R39V8WhqTQ7HMb2vTQTkzbP5XRFgs4RQzyxQ7fqxH9y6p6vKXk4!-460884186

Oracle JETwww.oracle.com/webfolder/technetwork/jet/index.html

ADF Insider Essentialswww.youtube.com/channel/UClAYKxUUFbBb6QAWH_CXY6g

ADF Architecture TVwww.youtube.com/channel/UCRvu_p8-tRgNi_Cd45Ll-fw

Page 34: Forms, ADF and JET a Non-Aggression Pact

References

#ref1 Saving ADF Queriesandrejusb.blogspot.co.uk/2014/05/personalising-adf-query-with-mds-user.html

#ref2: Websocket Notification on Browser Disconnects andrejusb.blogspot.co.uk/2016/01/automatic-adf-logout-on-browser-close.html

#ref3: Stateful/Stateless Connection Switchandrejusb.blogspot.co.uk/2014/06/adf-bc-reserved-mode-for-db-connection.html

#ref4: Oracle JET Live data andrejusb.blogspot.co.uk/2016/02/oracle-jet-and-websocket-integration.html

Oracle ADF Live data andrejusb.blogspot.co.uk/2015/05/adf-and-two-way-websocket-communication.html