Wednesday Feb 12, 2014

ADF Development Survival Kit – Essentials for ADF Developer by Andrejus Baranovskis

This post is about our second session on UKOUG Tech12 conference. We were presenting and describing essential tools for successful ADF development. These tools are not available from Oracle, but can be implemented by yourself. I'm going to give a walk through for our session in this post.

1. Red Samurai Performance Audit
We believe monitoring of ADF BC and interaction with DB is the key for ADF application performance tuning. This is why we focus primarily on ADF BC and offer statistical information not available through Oracle Enterprise Manager and DMS servlet out of the box.
We offer this ADF performance audit tool for our customers only, there is no direct download. However, you can send me email with your request - you should describe ADF performance problem you want to fix, I will evaluate it and send install files to you.
Here you can see main dashboard for performance audit, displaying overall system performance - all transactions, logged users, query distribution per AM, number of users vs. number of activations: Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Mix Forum Wiki

Sunday Feb 09, 2014

WebLogic Stuck Thread Case – Large Fetch Generated by Get Row ADF BC Method by Andrejus Baranovskis

This post is not about a bug, but rather about hidden underwater stone to avoid. Based on my previous use case for WebLogic Stuck Thread - Reproducing WebLogic Stuck Threads with ADF CreateInsert Operation and ORDER BY Clause, I will describe one more possible scenario for the same issue. This will be related to ADF BC API misuse, often it is unclear what side effect could produce at first friendly looking method. This method - getRow(key).
Please download complete sample application, if you are interested to reproduce it in your environment - LargeFetchApp_v3.zip.
This sample provides a method to generate dummy data for regions, around 10000 rows. View Object is using ORDER BY to display records in ascending order:

There is custom method created in AM implementation class. This method is calling ADF BC API getRow(key) method. Nothing dangerous at first, but here I'm using a key of the last record from the rowset - 10099. You may think, this is just a method to get a row by key. Yes true, but what it does for you - before returning one row by key, it will fetch all rows until this row into memory. It travels through each row one by one, until it gets a row with defined key. This may consume a lot of memory, especially if rowset is large and row with defined key is somewhere at the end of the rowset. Example of such method. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Mix Forum Wiki

Thursday Jul 25, 2013

List View – Cool Looking ADF PS6 Component for Collections by Andrejus Baranovskis

I am very excited about ADF PS6 release, it brings new freshness and coolness feeling to ADF. ADF Faces runtime performance seems to be incomparable faster and much more responsive comparing to previous ADF 11g R1 and even ADF 11g R2 releases. This gives good hopes to expect the same improvements in ADF 12c. There is new ADF Faces component introduced - List View. You can think about it as about much more liberal ADF Faces table component. List View renders data collections but there is much more control and flexibility how data collection is presented visually.

If you need to render strict tabular data - ADF Faces table is the most suitable, List View is for something less structured. We could achieve up till now similar layout as List View with custom implementation using ADF Faces iterators or for each tags. Of course it is much easier now to use out of the box List View tag - Displaying a Collection
in a List
.
Here you can see fragment structure for my sample application with List View usage - ListViewApp.zip.
Read the article here.

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Mix Forum Wiki

Wednesday Jun 19, 2013

Sharing Data between VO Instances in ADF BC By Andrejus Baranovski

I am very excited about ADF PS6 release, it brings new freshness and coolness feeling to ADF. ADF Faces runtime performance seems to be incomparable faster and much more responsive comparing to previous ADF 11g R1 and even ADF 11g R2 releases. This gives good hopes to expect the same improvements in ADF 12c. There is new ADF Faces component introduced - List View. You can think about it as about much more liberal ADF Faces table component. List View renders data collections but there is much more control and flexibility how data collection is presented visually. If you need to render strict tabular data - ADF Faces table is the most suitable, List View is for something less structured. We could achieve up till now similar layout as List View with custom implementation using ADF Faces iterators or for each tags. Of course it is much easier now to use out of the box List View tag - Displaying a Collection in a List.
Here you can see fragment structure for my sample application with List View usage - ListViewApp.zip:

There are two types of List View implemented here - simple and hierarchical one. Simple List View renders collection in a list, there is option to load more rows from the collection on demand. Hierarchical List View renders Department - Employees master detail data: Read the full article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Mix Forum Wiki

Tuesday May 07, 2013

Webinar: ADF Master Class and ADF Blog Q&A, Andrejus Baranovskis (Part I) – May 14th 2013

Andrejus Baranovski is blogging about ADF for 7 years already, long period. He feel’s this is a right time to bring it to the next level and have live technical ADF Q&A discussion with blog readers. His idea is to organize live ADF call with you - blog readers, we can repeat similar format session later as well - depends how it goes.

Webinar is scheduled for 2 hours at 7 PM (Central Europe time) on May 14th. Number of virtual seats is limited, registration is done on first come first serve basis. Webinar registration link: ADF Master Class and ADF Blog Q&A, Andrejus Baranovskis (Part I), Tue, May 14, 2013 7:00 PM - 9:00 PM CEST.

He will be ready with predefined agenda, but we can go off and speak about any ADF related questions. Predefined agenda for this call:
1. CRUD and LOV performance and validation improvement tricks
2. Conditional validation in ADF BC, Entity Cache and View Object Instances
3. ADF Table pagination, List View components
4. ADF Mobile login, secured ADF BC Web Services and on-device database access


Very excited to speak to you - blog readers, let's meet on May 14th at 7 PM (CET).

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Mix Forum Wiki

Wednesday Jan 02, 2013

ADF Essentials Security Implementation for Glassfish Deployment by Andrejus Baranovskis

ADF Essentials includes all the key ADF technologies, only one is missing - ADF Security. This is related to ADF Security technical implementation dependency on WebLogic security. However, lack of ADF Security support is not a show stopper - we can enable JAAS security model. This would protect page resources from ADF application, but not ADF Task Flows with Fragments. One of the most common ADF architectures nowadays - use of ADF Task Flows wiclip_image002th Fragments through dynamic regions based on single page. This means security implementation to protect ADF Task Flows with Fragments, when rendered through dynamic region is very important.
In this post I will provide solutions, implemented in the sample application - MultiTaskFlowApp_gfsec.zip for:

  • Configuring JAAS security for ADF application
  • Configuring ADF application for Glassfish security
  • Restricting access to ADF Task Flows with Fragments

Read the full article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: http://www.oracle.com/partners/goto/wls-emea ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInMixForumWiki

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
5
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today