SlideShare a Scribd company logo
Presented by
Vinay Kumar
SILBURY IT SOLUTION GMBH
10/04/2014
Custom Audit Rules in Jdeveloper 12c
โ€ข Audit in JDeveloper
โ€ข Extension in Jdeveloper 12c
โ€ข Set up extension environment
โ€ข Creation Extension project
โ€ข Create Audit Rule
โ€ข Suppress Warning
โ€ข Run Extension
โ€ข Test Extension
Agenda
โ€ข Audit is a planned and documented activity performed by qualified personnel to determine by
investigation, examination, or evaluation of objective evidence, the adequacy and compliance with
established procedures, or applicable documents, and the effectiveness of implementation
โ€ข Analysis of code with set of metrics and guidelines .
โ€ข Auditing in Jdeveloper- Auditing is the static analysis of code for adherence to rules and metrics that
define programming standards. Auditing finds defects that make code difficult to improve and
maintain. The JDeveloper auditing tools help you find and fix such defects. Code can be audited even
when it is not compilable or executable.
What is Audit
โ€ข JDeveloper has a built in Audit framework with lots of rules that
you can turn on or off.
โ€ข Also can create new custom audit rules .
โ€ข Based on Visitor design pattern.
โ€ข Able to create new Audit rules.
โ€ข Rules can be configurable
โ€ข Generate warning or error compile time.
โ€ข Help in improving code quality.
โ€ข Auditing finds defects that make code difficult to improve and
maintain
โ€ข JDeveloper auditing feature to analyze Java code for
conformance to programming standards.
Audit Framework in jdeveloper
.
.
โ€ข Install Extension SDK (Help- Check for updates)
โ€ข Search for Extension SDK
โ€ข Add this update in your Jdeveloper
Setting up Extension workspace
Create New Extension project
File -> New- Applications -> Extension Application
extension.xml & Manifest.MF
Bundled as .zip
Distributed through Jdeveloper update center Or Drive
โ€ข `
New Extension Application
Application structure
Add Dependencies
Create new custom rule
.
Extension.xml
Java Analyzer class mapping
with rule
Audit Hook display name
Rule Id mapping
Severity element can be set to one from these options.
-Error
-Warning
-Incomplete
-Advisory
-Assist
Properties file
Label definition file
.
Rule Id mapped in extension.xml
โ€ข.
Class should extend analyzer
.
Report violated rule to AuditContenxt
โ€ข A visitor over the Audit object models which verifies rules and/or computes metrics.
โ€ข Analyzer subclass implements visitor methods which are invoked by the Audit
framework as it traverses the Audit object models i.e. enter & exit
โ€ข Visitor methods (enter & exit) report violations and measurements using the
reporting methods of a context object passed to them.
โ€ข getRules & getMetrics provide rules& metric of analyzer to framework .
โ€ข Analyzers (classes) are registered with the AuditManager at startup by IDE
extensions.
oracle.jdeveloper.audit.analyzer.Analyzer
โ€ข Audit framework traverses the constructs of the object models corresponding to the nodes being
audited and at each construct invokes the applicable enter and exit methods of each registered
analyzer.
โ€ข enter and exit methods accept two parameters, a context and a construct.
โ€ข Visitor method called each workspace, source class, document, element, attribute, method.
โ€ข Violations and measurements, suppression are reported by the visitor methods using the report
method.
โ€ข Setting attributes for child & parent construct.
interface AuditContext
Context, construct
โ€ข public void enter(AuditContext context, Workspace workspace)
This methods contains the workspace (application) validation code. In our case we do not use it.
โ€ข public void enter(AuditContext context, Project project)
This methods contains the project validation code. In our case we do not use it.
โ€ข public void enter(AuditContext context, Document document)
This method contains the code to analyze and validate documents.
โ€ข public void enter(AuditContext context, Element element)
This method contains the code to analyze and validate individual element.
.
Analyzers registered
with Audit Manager
on start up by IDE
Each analyzer create
instance and fetch
rules using getRules
method
each construct
invokes methods of
registered analyzer
Enter & exit method
invoked as per match
the construct
Check/analyze
information in visitor
methods and report
to context
Audit framework flow
SuppressWarning Annotation
โ€ข Indicate to suppress this warning in workspace for all elements.
โ€ข Suppressed warning in jdeveloper by annotation.
SuppressWarning Annotation
โ€ข Make Extension.jpr
โ€ข Deploy to Target Platform
โ€ข Run Extension
โ€ข New Jdevloper instance open
โ€ข Tools -> Preferences -> Audit -> Profiles and find rule
โ€ข Test rule.
Run & Test Audit Rule Extension
Run & Test Audit Rule Extension
โ€ข Create bundle.xml in project
โ€ข Create an extension package which consists of a JAR that is packaged in
an extension bundle archive
โ€ข Change extension JAR files into a .zip file for distribution
Packaging Extension
.
โ€ข Analyzer Class-Oracle Documentation
โ€ข Developing Extensions for Oracle Jdeveloper
โ€ข blog on extension
โ€ข blog by Richard
References
Custom audit rules in Jdeveloper extension
.
Happy Auditing With Jdeveloper
Thanks
Ad

More Related Content

What's hot (19)

Addressing Security Regression Through Unit Testing
Addressing Security Regression Through Unit TestingAddressing Security Regression Through Unit Testing
Addressing Security Regression Through Unit Testing
Christopher Grayson
ย 
ATAGTR2017 The way to recover the issue faced in IoT regression Testing
ATAGTR2017 The way to recover the issue faced in IoT regression TestingATAGTR2017 The way to recover the issue faced in IoT regression Testing
ATAGTR2017 The way to recover the issue faced in IoT regression Testing
Agile Testing Alliance
ย 
Introduction To Testlink
Introduction To TestlinkIntroduction To Testlink
Introduction To Testlink
guest1425e3
ย 
Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?
Xpand IT
ย 
API Testing โ€“ Keeping a Check on Agile Software Development
API Testing โ€“ Keeping a Check on Agile Software DevelopmentAPI Testing โ€“ Keeping a Check on Agile Software Development
API Testing โ€“ Keeping a Check on Agile Software Development
Software Testing Solution
ย 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
TEST Huddle
ย 
Zephyr 2.6: Comprehensive Test Management
Zephyr 2.6: Comprehensive Test ManagementZephyr 2.6: Comprehensive Test Management
Zephyr 2.6: Comprehensive Test Management
Zephyr
ย 
Qtp With Descriptive Programming
Qtp With Descriptive ProgrammingQtp With Descriptive Programming
Qtp With Descriptive Programming
Kuldeep Sharma
ย 
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
Clive Dall
ย 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Framework
greyaudrina
ย 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
Mikhail Subach
ย 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
Bob Binder
ย 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
TEST Huddle
ย 
Web service testing using QTP (UFT)
Web service testing using QTP (UFT)Web service testing using QTP (UFT)
Web service testing using QTP (UFT)
NaveenKumar Namachivayam
ย 
Team forge Test Management with TestLink
Team forge Test Management with TestLinkTeam forge Test Management with TestLink
Team forge Test Management with TestLink
Venkat Janardhanam, MS, MBA
ย 
Tutorial ranorex
Tutorial ranorexTutorial ranorex
Tutorial ranorex
radikalzen
ย 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
TestCampRO
ย 
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Sergio Freire
ย 
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma
ย 
Addressing Security Regression Through Unit Testing
Addressing Security Regression Through Unit TestingAddressing Security Regression Through Unit Testing
Addressing Security Regression Through Unit Testing
Christopher Grayson
ย 
ATAGTR2017 The way to recover the issue faced in IoT regression Testing
ATAGTR2017 The way to recover the issue faced in IoT regression TestingATAGTR2017 The way to recover the issue faced in IoT regression Testing
ATAGTR2017 The way to recover the issue faced in IoT regression Testing
Agile Testing Alliance
ย 
Introduction To Testlink
Introduction To TestlinkIntroduction To Testlink
Introduction To Testlink
guest1425e3
ย 
Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?Xray for Jira 3.0 - What's New?
Xray for Jira 3.0 - What's New?
Xpand IT
ย 
API Testing โ€“ Keeping a Check on Agile Software Development
API Testing โ€“ Keeping a Check on Agile Software DevelopmentAPI Testing โ€“ Keeping a Check on Agile Software Development
API Testing โ€“ Keeping a Check on Agile Software Development
Software Testing Solution
ย 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
TEST Huddle
ย 
Zephyr 2.6: Comprehensive Test Management
Zephyr 2.6: Comprehensive Test ManagementZephyr 2.6: Comprehensive Test Management
Zephyr 2.6: Comprehensive Test Management
Zephyr
ย 
Qtp With Descriptive Programming
Qtp With Descriptive ProgrammingQtp With Descriptive Programming
Qtp With Descriptive Programming
Kuldeep Sharma
ย 
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
Clive Dall
ย 
IGT's Intelligent Automation Framework
IGT's Intelligent Automation FrameworkIGT's Intelligent Automation Framework
IGT's Intelligent Automation Framework
greyaudrina
ย 
Keyword-driven Test Automation Framework
Keyword-driven Test Automation FrameworkKeyword-driven Test Automation Framework
Keyword-driven Test Automation Framework
Mikhail Subach
ย 
Model-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next LevelModel-based Testing: Taking BDD/ATDD to the Next Level
Model-based Testing: Taking BDD/ATDD to the Next Level
Bob Binder
ย 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
TEST Huddle
ย 
Web service testing using QTP (UFT)
Web service testing using QTP (UFT)Web service testing using QTP (UFT)
Web service testing using QTP (UFT)
NaveenKumar Namachivayam
ย 
Team forge Test Management with TestLink
Team forge Test Management with TestLinkTeam forge Test Management with TestLink
Team forge Test Management with TestLink
Venkat Janardhanam, MS, MBA
ย 
Tutorial ranorex
Tutorial ranorexTutorial ranorex
Tutorial ranorex
radikalzen
ย 
Test Automation and Continuous Integration
Test Automation and Continuous Integration Test Automation and Continuous Integration
Test Automation and Continuous Integration
TestCampRO
ย 
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Testival meetup 60_leveraging_the_power_of_your_testing_with_xray_20210112_v2
Sergio Freire
ย 
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma
ย 

Similar to Custom audit rules in Jdeveloper extension (20)

Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
MansiganeshJawale
ย 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
ย 
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester SyllabusAgile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Arshad QA
ย 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
ย 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
GaneshKumarKanthiah
ย 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
ย 
software testing
 software testing software testing
software testing
Sara shall
ย 
6. oose testing
6. oose testing6. oose testing
6. oose testing
Ashenafi Workie
ย 
IT8076 โ€“ Software Testing Intro
IT8076 โ€“ Software Testing IntroIT8076 โ€“ Software Testing Intro
IT8076 โ€“ Software Testing Intro
JohnSamuel280314
ย 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
ย 
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
Software Testing_A_mmmmmmmmmmmmmmmmmmmmmSoftware Testing_A_mmmmmmmmmmmmmmmmmmmmm
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
IwannatelluAstorylas
ย 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
vidhyyav
ย 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
bharathanche
ย 
Software testing course - Manual
Software testing course - ManualSoftware testing course - Manual
Software testing course - Manual
Pankaj Dubey
ย 
Quality Assurance and Testing services
Quality Assurance and Testing servicesQuality Assurance and Testing services
Quality Assurance and Testing services
Boston Technology Corporation
ย 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
Confiz
ย 
Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014Code in the Cloud - December 8th 2014
Code in the Cloud - December 8th 2014
Microsoft Developer Network (MSDN) - Belgium and Luxembourg
ย 
verification and validation
verification and validationverification and validation
verification and validation
Dinesh Pasi
ย 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
ย 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
BSGAfrica
ย 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
MansiganeshJawale
ย 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
Confiz
ย 
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester SyllabusAgile Testing Course based on the ISTQB Agile Tester Syllabus
Agile Testing Course based on the ISTQB Agile Tester Syllabus
Arshad QA
ย 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
Synerzip
ย 
Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
GaneshKumarKanthiah
ย 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
ย 
software testing
 software testing software testing
software testing
Sara shall
ย 
6. oose testing
6. oose testing6. oose testing
6. oose testing
Ashenafi Workie
ย 
IT8076 โ€“ Software Testing Intro
IT8076 โ€“ Software Testing IntroIT8076 โ€“ Software Testing Intro
IT8076 โ€“ Software Testing Intro
JohnSamuel280314
ย 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
Haris Jamil
ย 
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
Software Testing_A_mmmmmmmmmmmmmmmmmmmmmSoftware Testing_A_mmmmmmmmmmmmmmmmmmmmm
Software Testing_A_mmmmmmmmmmmmmmmmmmmmm
IwannatelluAstorylas
ย 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
vidhyyav
ย 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
bharathanche
ย 
Software testing course - Manual
Software testing course - ManualSoftware testing course - Manual
Software testing course - Manual
Pankaj Dubey
ย 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
Confiz
ย 
verification and validation
verification and validationverification and validation
verification and validation
Dinesh Pasi
ย 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
ย 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
BSGAfrica
ย 
Ad

More from Vinay Kumar (20)

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
Vinay Kumar
ย 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
Vinay Kumar
ย 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
Vinay Kumar
ย 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
Vinay Kumar
ย 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
Vinay Kumar
ย 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
Vinay Kumar
ย 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
Vinay Kumar
ย 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
Vinay Kumar
ย 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
Vinay Kumar
ย 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
ย 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
ย 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
Vinay Kumar
ย 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
Vinay Kumar
ย 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
Vinay Kumar
ย 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
Vinay Kumar
ย 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
Vinay Kumar
ย 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
Vinay Kumar
ย 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
Vinay Kumar
ย 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
Vinay Kumar
ย 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
Vinay Kumar
ย 
Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
Vinay Kumar
ย 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
Vinay Kumar
ย 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
Vinay Kumar
ย 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
Vinay Kumar
ย 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
Vinay Kumar
ย 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
Vinay Kumar
ย 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
Vinay Kumar
ย 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
Vinay Kumar
ย 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
Vinay Kumar
ย 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
ย 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
ย 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
Vinay Kumar
ย 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
Vinay Kumar
ย 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
Vinay Kumar
ย 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
Vinay Kumar
ย 
Tuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paperTuning and optimizing webcenter spaces application white paper
Tuning and optimizing webcenter spaces application white paper
Vinay Kumar
ย 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
Vinay Kumar
ย 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
Vinay Kumar
ย 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
Vinay Kumar
ย 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
Vinay Kumar
ย 
Ad

Recently uploaded (20)

Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
ย 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
ย 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
ย 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
ย 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
ย 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
ย 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
ย 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
ย 
Automation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From AnywhereAutomation Dreamin': Capture User Feedback From Anywhere
Automation Dreamin': Capture User Feedback From Anywhere
Lynda Kane
ย 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
ย 
Image processinglab image processing image processing
Image processinglab image processing  image processingImage processinglab image processing  image processing
Image processinglab image processing image processing
RaghadHany
ย 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
ย 
Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.Network Security. Different aspects of Network Security.
Network Security. Different aspects of Network Security.
gregtap1
ย 
Datastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptxDatastucture-Unit 4-Linked List Presentation.pptx
Datastucture-Unit 4-Linked List Presentation.pptx
kaleeswaric3
ย 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
ย 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
ย 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
ย 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
ย 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
ย 
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5..."Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
"Client Partnership โ€” the Path to Exponential Growth for Companies Sized 50-5...
Fwdays
ย 

Custom audit rules in Jdeveloper extension

  • 1. Presented by Vinay Kumar SILBURY IT SOLUTION GMBH 10/04/2014 Custom Audit Rules in Jdeveloper 12c
  • 2. โ€ข Audit in JDeveloper โ€ข Extension in Jdeveloper 12c โ€ข Set up extension environment โ€ข Creation Extension project โ€ข Create Audit Rule โ€ข Suppress Warning โ€ข Run Extension โ€ข Test Extension Agenda
  • 3. โ€ข Audit is a planned and documented activity performed by qualified personnel to determine by investigation, examination, or evaluation of objective evidence, the adequacy and compliance with established procedures, or applicable documents, and the effectiveness of implementation โ€ข Analysis of code with set of metrics and guidelines . โ€ข Auditing in Jdeveloper- Auditing is the static analysis of code for adherence to rules and metrics that define programming standards. Auditing finds defects that make code difficult to improve and maintain. The JDeveloper auditing tools help you find and fix such defects. Code can be audited even when it is not compilable or executable. What is Audit
  • 4. โ€ข JDeveloper has a built in Audit framework with lots of rules that you can turn on or off. โ€ข Also can create new custom audit rules . โ€ข Based on Visitor design pattern. โ€ข Able to create new Audit rules. โ€ข Rules can be configurable โ€ข Generate warning or error compile time. โ€ข Help in improving code quality. โ€ข Auditing finds defects that make code difficult to improve and maintain โ€ข JDeveloper auditing feature to analyze Java code for conformance to programming standards. Audit Framework in jdeveloper
  • 5. .
  • 6. .
  • 7. โ€ข Install Extension SDK (Help- Check for updates) โ€ข Search for Extension SDK โ€ข Add this update in your Jdeveloper Setting up Extension workspace
  • 8. Create New Extension project File -> New- Applications -> Extension Application extension.xml & Manifest.MF Bundled as .zip Distributed through Jdeveloper update center Or Drive
  • 13. .
  • 14. Extension.xml Java Analyzer class mapping with rule Audit Hook display name Rule Id mapping Severity element can be set to one from these options. -Error -Warning -Incomplete -Advisory -Assist
  • 16. . Rule Id mapped in extension.xml โ€ข. Class should extend analyzer
  • 17. . Report violated rule to AuditContenxt
  • 18. โ€ข A visitor over the Audit object models which verifies rules and/or computes metrics. โ€ข Analyzer subclass implements visitor methods which are invoked by the Audit framework as it traverses the Audit object models i.e. enter & exit โ€ข Visitor methods (enter & exit) report violations and measurements using the reporting methods of a context object passed to them. โ€ข getRules & getMetrics provide rules& metric of analyzer to framework . โ€ข Analyzers (classes) are registered with the AuditManager at startup by IDE extensions. oracle.jdeveloper.audit.analyzer.Analyzer
  • 19. โ€ข Audit framework traverses the constructs of the object models corresponding to the nodes being audited and at each construct invokes the applicable enter and exit methods of each registered analyzer. โ€ข enter and exit methods accept two parameters, a context and a construct. โ€ข Visitor method called each workspace, source class, document, element, attribute, method. โ€ข Violations and measurements, suppression are reported by the visitor methods using the report method. โ€ข Setting attributes for child & parent construct. interface AuditContext Context, construct
  • 20. โ€ข public void enter(AuditContext context, Workspace workspace) This methods contains the workspace (application) validation code. In our case we do not use it. โ€ข public void enter(AuditContext context, Project project) This methods contains the project validation code. In our case we do not use it. โ€ข public void enter(AuditContext context, Document document) This method contains the code to analyze and validate documents. โ€ข public void enter(AuditContext context, Element element) This method contains the code to analyze and validate individual element. .
  • 21. Analyzers registered with Audit Manager on start up by IDE Each analyzer create instance and fetch rules using getRules method each construct invokes methods of registered analyzer Enter & exit method invoked as per match the construct Check/analyze information in visitor methods and report to context Audit framework flow
  • 22. SuppressWarning Annotation โ€ข Indicate to suppress this warning in workspace for all elements.
  • 23. โ€ข Suppressed warning in jdeveloper by annotation. SuppressWarning Annotation
  • 24. โ€ข Make Extension.jpr โ€ข Deploy to Target Platform โ€ข Run Extension โ€ข New Jdevloper instance open โ€ข Tools -> Preferences -> Audit -> Profiles and find rule โ€ข Test rule. Run & Test Audit Rule Extension
  • 25. Run & Test Audit Rule Extension
  • 26. โ€ข Create bundle.xml in project โ€ข Create an extension package which consists of a JAR that is packaged in an extension bundle archive โ€ข Change extension JAR files into a .zip file for distribution Packaging Extension
  • 27. .
  • 28. โ€ข Analyzer Class-Oracle Documentation โ€ข Developing Extensions for Oracle Jdeveloper โ€ข blog on extension โ€ข blog by Richard References
  • 30. .
  • 31. Happy Auditing With Jdeveloper Thanks

Editor's Notes

  • #4: How presentation will benefit audience: Adult learners are more interested in a subject if they know how or why it is important to them.Presenterโ€™s level of expertise in the subject: Briefly state your credentials in this area, or explain why participants should listen to you.
  • #5: Example objectivesAt the end of this lesson, you will be able to:Save files to the team Web server.Move files to different locations on the team Web server.Share files on the team Web server.