2011-09-24

Algorithm and its implementaion

Algorithms:
·         Where system requires customization, ORACLE provides for customizable algorithms (a.k.a plug-ins)
·         Base algorithms exist, but can be cloned and modified
·         Like “user exits”, but …
o    Unlike Change Handlers, more related to business functions and events
o    Also, unlike Change Handlers, use configurable (“soft”) parameters
·         At upgrades, custom algorithms will not be overwritten 
  •        Online Admin menu used to define database components
o    Algorithm Types
o    Algorithms
o    Event / activity to which algorithm applies (e.g. FT freeze, phone number validation, etc.)
·         ORACLE Framework requires “implementation” class and various generated artifacts
·         Plug-ins “Call out” places in system (e.g. from Person to validate phone number) are known as algorithm spots
·         Each algorithm spot has interface class
·         Communication with algorithm takes place through interface
·         Interface provides abstraction between base and customization
Algorithm Annotation in OUAF :
4   Annotation specifies …
1.    Algorithm entity – i.e. where in system used – corresponds with entity defined on Algorithm Type (we will see shortly how to determine this name)
2.    Soft parameters expected – correspond with Algorithm Type parameter definitions
3.    Has Algorithm Component name (as specified on Algorithm Type) + “_Impl”
4.    Extends “_Gen” class – generated by Artifact Generator
Setter Methods:
  These methods invoked by business component to set hard parameters.       
                  1.    Sets phone number to validate – stored here for use later
2.    Sets phone type – ignored in this algorithm

Invoke method:

·         Invoke is the actual method where we include our business logic.

Getter methods:
·         These values are return by implementation program  to the frame work based on this values next functionality will done by framework.Logical steps to explain when these setter, Invoke and getter will call:
1.    Whenever spot call out occurs framework will invoke setXXX () methods to set the hard parameters.
2.    Framework executes invoke () method.
3.    Framework invokes getXXX () methods. Framework look for these values. (Some spots thse values must have to be retun else system error will occurs )
Algorithm Implementation using SDK :
Deploy and Configurations


 

Framework Logical Structure

Logical Structure:
  
·         Presentation layer
o    Java Servlets handle inbound HTTP requests from browser
o    Invoke data service objects when required
o    Various static data – e.g. control tables, language-specific messages and labels – are cached
o    Uses XSL/T technology to create HTML
·         Business layer
o    Data service objects are invoked from presentation
o    These services ultimately perform business functions
o    Service objects themselves are Java, but business logic could be implemented in Java or COBOL
o    Invoke data access objects to communicate with database
·         Data access layer
o    Uses Hibernate Object Relational Model (ORM) framework for database access and persistence
o    Java Database Connectivity API (JDBC) is used for SQL statements from COBOL
o    All database calls are routed through framework’s data access layer – application programs do not issue direct calls to database
Services:
·         ORACLE system makes heavy use of “services”
·         These are data access and update services
·         Implemented in Java at high level – Java or COBOL at lower levels
·         Access Oracle / DB2 / SQL Server
·         Each service has XML metainfo document describing its structure
·         Framework automates mapping of string-based browser data to service data structure using metainfo XML (more about this in XAI class)
·         Service Dispatcher routes Web servlet requests to Java or COBOL service …
·         Service dispatcher acts as conduit to business objects from presentation layer
·         A service invocation represents a database transaction
·         Invokes Java or COBOL service
·         Service dispatcher is invoked from Web servlet
·         Invokes appropriate service for Web request:
o    Page
o    List
o   Search

Page Service

·         “Top level” application service
·         Orchestrates display and update of all data for a root object and all its child objects – e.g. Person, Person Name, Person Phone, Person Id, etc.
·         Data is displayed on a single tab menu – across one or more child tab pages
·         Page service names end with “P” – e.g. Person service is CILCPERP.


  • To apply Custom validations on page service we have to use Maintenance Extension. About Maintenance extension I’ll post in blog soon....

List Service:
·         Defines list of objects
·         Could contain nested lists
·         Used for list-oriented data – e.g. Customer Contacts
·         List service names end in “L” – e.g. CILCPCCL for Customer Contact list
·         Do not support database updates
Search Service:
·         Used to support ad-hoc user searches
·         Results similar to list services
·         Input is set of criteria and search mode
·         Search service names end in “S” – e.g. CILCPERS for Person search

We can also able to overwrite existing Search Service using OUAF technical component using java.

2011-09-16

What is OUAF?

The Oracle Utilities Application Framework is a reusable, scalable and flexible java based framework which allows other products to be built, configured and implemented in a standard way.

The idea was that all the technical aspects would be concentrated in this separate product (i.e. a framework) and allow all products using the framework to concentrate on delivering superior functionality. The product was named the Oracle Utilities Application Framework (oufw is the product code). 

The technical components are contained in the Oracle Utilities Application Framework which can be summarized as follows:
  • Metadata - for defining and using the metadata to define the runtime behavior of the product. All the metadata definition and management is contained within the OUAF.
  • UI Management -for defining and rendering the pages and responsible for ensuring the pages are in the appropriate format for the locale.
  • Integration - for providing the integration points to the architecture.
  • Tools - a common set of facilities and tools that can be used across all products.
  • Technology - for all technology standards compliance, platform support and integration.

At the present time the following products are on the Framework:
  • Oracle Utilities Customer Care And Billing (V2 and above)
  • Oracle Enterprise Taxation Management (V2 and above)
  • Oracle Utilities Business Intelligence (V2 and above)
  • Oracle Utilities Mobile Workforice Management (V2 and above)
  • Oracle Revenue Management and Billing

Table Representation for Technical Components:

META DATA
UI MANAGEMENT
INTEGRATION
TOOLS
technology
Layout Personalization
Scripting
Roles
Rules
Languages
Localization
Business Service
Business Object
Maintenance Object
DB Structure
ZOnes
Portlas
Language
BPA Scripting
UI Maps
XAI
Web Services
staging
Scheduler
Dictionary
Conversion
To Do
Security
Auditing
Algorithm
ScriptingTools
Multi-DB
XML Services
J2EE
AJAX
SOATechnology