Tuesday Apr 01, 2014

Explaining change indicator property for ADF attribute by Andrejus Baranovskis

There is one not very visible, but quite powerful property available for ADF BC Entity Object attribute. This property is called - Changed Indicator. By default, during commit operation, ADF scans each changed attribute from the current row and compares value in the DB. If it locates changed values in DB, reports error about another user changes in the same row. While this is expected functionality, there are use case when we want to allow commit, even data was changed already by someone else. For example, in more complex systems, data is updated by PL/SQL procedures, we don't want to inform user with error about this. There is a way to override lock method in EO implementation class, catch lock error and raise lock again. This works, but there is different way - to use Change Indicator. This property defines specific attribute to be responsible for row data changes tracking, instead of checking every attribute. Only if Change Indicator attribute value will be changed in DB, then current row changes will be prevented and user will be informed about someone else changes in the same row.
My previous post - Different Approach for DB Constraint Error Handling in ADF, about handling DB constraint errors is using Change Indicator defined for Primary Key. In this way, I'm completely ignoring changes by other users and allowing to commit data no matter if it was changed by someone else.
Here you can download sample application with Change Indicator demo - ChangeIndicatorApp.zip. Change Indicator can be set on EO attribute, I'm using Department Id in this example. This would mean, all changes are allowed without informing a user about new changes in DB, except when Department Id is changed: 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

Friday Mar 07, 2014

Update for ADF Performance tool by Andrejus Baranovskis

This weekend we have finalized latest update for our ADF runtime performance audit tool - Red Samurai Performance Audit Tool v 2.4. You can read about features included into previous update v 2.3 in this post - Update for Red Samurai Performance Audit Tool - v 2.3. Current update v 2.4 is focused on Slow Query and Large Fetch drill down screens usability. We provide more detailed information to understand how your ADF application performs recently and how applied tuning improves performance.

List of improvements in v 2.4:

  • Improved nested Application Modules activation auditing
  • Improved first screen of the performance dashboard application. Types of Issues graph displays calculated total number of issues. There is option to filter issues by type
    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

Friday Jan 17, 2014

Reusing and extending ADF BC entities from common model by Red Samurai

This post is about ADF architecture and better application structuring with EO reuse from common model. I describe how to implement additional requirements to common model in extended ADF BC Entities. Great power of ADF framework - reusability. You should reuse as much as possible, this would simplify maintenance and future development of your application. I will be talking about ADF BC Entity Objects (EOs) reuse in this post. I would recommend to keep EOs in common model project and reuse them across the application. Fair requirement would be to have slightly different EO for specific use case - instead of creating new EO for the same DB table, we could extend original EO and implement specific changes. As for example, we may have different set of business rules, different doDML logic.
Sample application developed for this post includes Common Model library and Main application - eoreuse.zip. Common model library is based on Employees and Jobs EOs, associations and EO implementation generic class. 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 Jan 16, 2014

WebLogic Stuck Thread Case – Large Fetch Generated by get row ADF BC method by Red Samurai

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 Nov 21, 2013

Major Release for Red Samurai Performance Audit Tool v 2.0 by Red Samurai

New major release for our Red Samurai Performance Audit Tool is published early this week. Current update contains many new graphs, providing lots of insight statistics for ADF BC performance and user access.

We are using this tool in every project we run, this really helps to optimize ADF BC and overall ADF application performance. Little bit about history of this tool. First release was developed in August, 2012 - Red Samurai Performance Audit Tool - Runtime Diagnosis for ADF Applications. There was update v 1.1 published this year, just before OOW - Red Samurai Performance Audit Tool - OOW 2013 release (v 1.1). Update v 1.1 included such statistical information as overall transactions and queries going through ADF BC, as well as user access.http://3.bp.blogspot.com/-6ejDDP6dKdo/UlbznZWo-jI/AAAAAAAAKWE/OykPOyQrcA8/s320/6.png

One of the highlights of current update v 2.0 - use of ADF gauge components to visually display each AM performance. We display slow query performance in seconds for minimum, average and maximum slow query processing times: 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 Nov 05, 2013

Red Samurai Performance Audit Tool – OOW 2013 release (v 1.1)

We are running our Red Samurai Performance Audit tool and monitoring ADF performance in various projects already for about one year and the half. It helps us a lot to understand ADF performance bottlenecks and tune slow ADF BC View Objects or optimise large ADF BC fetches from DB.

There is special update implemented for OOW'13 - advanced ADF BC statistics are collected directly from your application ADF BC runtime and later displayed as graphical information in the dashboard. I will be attending OOW'13 in San Francisco, feel free to stop me and ask about this tool - I will be happy to give it away and explain how to use it in your project.

Original audit screen with ADF BC performance issues, this is part of our Audit console application:
Audit console v1.1 is improved with one more tab - Statistics. This tab displays all SQL Selects statements produced by ADF BC over time, logged users, AM access load distribution and number of AM activations along with user sessions.
Available graphs:

  • Daily Queries  - total number of SQL selects per day
  • Hourly Queries - Last 48 Hours
  • Logged Users - total number of user sessions per day
  • SQL Selects per Application Module - workload per Application Module
  • Number of Activations and User sessions - last 48 hours - displays stress load

Read the complete article here.

http://1.bp.blogspot.com/-_UBte7CtFLQ/Uio_mnp7JlI/AAAAAAAAKG0/It-w8EgIIFk/s320/performance.png

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 Jul 30, 2013

Forms to ADF Modernization Reference – Convero (AMEC) Project by Andrejus Baranovskis

I am excited to announce our new Oracle Forms to ADF modernization reference published on Oracle OTN site - Convero (AMEC) project.

Time to submit Your WebLogic and ADF reference request today.

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 May 23, 2013

Red Samurai Performance Audit Tool – Up and Running by Andrejus Baranovskis

It is been some time since we created Red Samurai Performance Audit Tool (in August, 2012). This tool was deployed and it was logging all performance related issues in one of the projects, already for eight months. I thought to share with you how it goes, below you can see the results logged continuously from August, 2012 till now

.

As the project was growing and becoming more complex, performance was going down. But after complexity reached at peak and we

were able to locate performance bottlenecks with audit tool for fixing - performance started to improve in the recent months.

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

Thursday Aug 09, 2012

Performance Audit Tool - Runtime Diagnosis for ADF Applications by Red Samurai

To tune ADF application, we need to know exactly what is the reason for performance bottleneck. In Red Samurai we are helping our customer to be happy with ADF. How we do that? Yes - hard quality work (and no bla bla talking) is one of the most important things. But also we use tools - one of such tools is in house developed ADF Runtime Performance Audit tool.
Before blaming ADF is slow, make sure to check the way data is retrieved from DB, also SQL execution performance. I agree, its not always easy to monitor DB/SQL performance for ADF applications. This is the main reason we have developed this tool.
Our tool splits into two parts - Audit Engine (6 KB JAR file) and Performance Audit Dashboard. Customer application needs to include only Audit Engine, the rest happens as magic - information about slow SQL starts to come to dashboard automatically. Tool is universal and runs in development, test and production environments.
Performance Audit Dashboard interface:


Main areas for performance bottleneck and tuning related to DB/SQL in ADF:
1. SQL time execution in DB. While SQL executes, ADF waits for response - we want as fast SQL execution as possible.

2. Duplicate SQL execution. Obviously we want to avoid duplicate SQL execution.

3. SQL count query execution. ADF invokes separate SQL count query to estimate rowset size, this may slow down performance for complex queries.

4. Resultset Fetch size. When fetching lots of records from DB, ADF is using more memory to create and maintain rowset, this potentially slows down application.

5. Passivation/Activation time. One of the slowest operations - need to monitor and avoid as much as possible.
Performance Audit Dashboard offers two charts for performance audit overview:
1. Type of Issues pie chart with selection in time
2. Monthly Issues tracking linear chart
List with issues displays:
1. Issue type
2. SQL execution time
3. Issue details
4. Issue date
5. Application/View Object name related to the issue
6. User name, ADF Web user who was triggering SQL from ADF application
Details section displays more detailed info, such as SQL query or complete info about large rowset fetch.
There is option to change audit parameters on the fly.
We are on track to innovate and improve ADF applications quality, this tool is newest addition to our other tools:
1. Red Samurai MDS Cleaner V2.0
2. JDeveloper 11g Extension to Validate ADF Code Quality
Red Samurai Performance Audit is available free of charge (existing/future Red Samurai customers).

For more information please visit: Red Samurai blog & twitter

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 Apr 26, 2012

MDS explorer by Red Samurai

This tool is designed to work with plain ADF applications, as well as with WebCenter Portal or WebCenter Spaces applications. It allows to delete and edit corrupted or obsolete MDS entries. Functionality summary – search, view, edit and delete MDS customizations for ADF/WebCenter applications. Why we need such tool – MDS is black box and is really hard to revert to correct state when user creates corrupted MDS customizations or MDS breaks by itself. Red Samurai MDS Cleaner is designed to help Oracle Fusion administrators to resolve MDS related issues quickly.

For more information please visit Andrejus blog

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

Search

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