Title: SelfService Engine
1Self-Service Engine Process Rules
Engine Presented by Ryan Flemming Friday 11th
at 9am - 945 am
2Agenda / Objectives
- SSEN overview and components structure
- PRGN overview and components structure
- Demo
- Questions answers
3Self-Service Engine Purpose
- Main Goal To allow rapid development and
deployment of Self-Service Pages, integrated with
WebTailor security - Share the work Layout tuning and (light)
enhancements can be made without development
resource - Custom Reports Quick and easy information
display - Customizable SGHE products OENR, PROGCAT, ATTR,
EGB, ...
4SSEN Overview
- Data driven Self-Service Pages
- Minimise development effort
- Minimise maintenance
- Readiness for the next technology
- Easy extension of the model (new types of
objects, new html properties, etc.) - Ready for a change of target The engine doing
pure rendering can be transformed in order to
render the model into another target language
5SSEN Overview
- Integrates seamlessly with
- WebTailor, including the 3 areas
- Secured (PIDM based authentication, roles)
- Application (AIDM based authentication)
- Free (not authenticated)
- Luminis,
- Existing SSB pages,
- Process Rules Engine,
- SQL PLSQL,
- any stored code (APIs, baseline code, custom
code), - CSS,
- JavaScript
6The SSEN interface
- An INB interface (2 forms) to build
- Gkaspag Pages
- Gkasapp Page Sets
- A rendering engine (2 packages)
- Gkkpsgb to support the INB forms and pre-compile
- Bwkkspgr for runtime rendering
7Self Service Engine Pages
- Create in INB gkaspag
- Compile
- Create in WebTailor Administration
- bwkkspgr.showpage?pageltPAGENAMEgt
- Link in WebTailor Administration
- bwkkspgr.showpage?pageltPAGENAMEgt
8Create in INB - GKASPAG
9Create and link in WebTailor Administration
10Self Service Pages
11Demonstration
- Modify the direction
- Modify the order
- Upload facility
- Javascript integration
- Exception handling
12Modifying a page direction of display
13Modifying a page direction of display
(rendering)
14Modifying a page order of display
15Modifying a page order of display
16Modifying a page order of display (rendering)
17Document upload
18Document download
19Example of JavaScript integration
- Keyboard navigation to the next/previous record
- Calendar (no more date format mistakes)
- Clear entries
20Example of Exception handling
21Process Rules Engine
- Introduction
- A universal problem developing software that
satisfies all the requirements of all your users. - Not have the users adapt their business processes
to the software, but a software that can be
easily (by end-users) adapted to the business
processes. - A universal solution develop less, delegate
more to the users but, provide the software
tuning tools to each group that has specific
requirements.
22What is the Process Rules Engine(PRGN)?
- A tool integrated in Banner to develop business
processing logic - An over-simplified summary
- Simple and powerful rules of the form
- for record i in (select ... from SOURCES)
loop if i meets certain conditions in TARGET,
then update TARGET with i else insert i into
TARGETend loop - Delete from target where (ordered set of columns)
have values in (select ... from ...) - select ... from SOURCES
- PRGN is used to provide seed reports (HESA,
T2202,...), SSB data-processing (SSEN, OENR) and
to complement the seed Banner logic.
23What is the PRGN (cont.)
- Integrated within Banner to allow customisations
of the seed system - Security classes to control who can use which
rule - API and jobsub process to better control when and
how to execute a rule
24What is the PRGN (cont.)
- Portability of the PRGN programs
- From development to production
- From client to client / SGHE to client
- Programs can be easily exportable (universal
formats including all the pieces needed to
interpret the programs) and adapt themselves to
the host environment - More opening to the outside world (the UDC and
further) - Interface to help setup links to remote data
locations - Oracle external tables for datafiles
- XML import/export
25PRGN Process Module
Process
Task1
Task2
Activity1
Activity2
Activity3
26Portable programs, all data in one form- 1
- STEP 1 Select data from some SOURCEs
- Sourcedatabase object that can be queried with a
select statement e.g. Banner tables and views,
registered text data files (csv, fixed length
HESA POPTAR file, XML file), remote objects
through dblinks - Control on what is an admitable source through
a LOV
27Portable programs, all data in one form- 2
- STEP 2 Select ... Only those data that verify
some conditions - Possibility to use parameters (variables bound
before the execution)
28Portable programs, all data in one form- 3
- STEP 3 Populate a TARGET
- Existing table (local or remote) or table yet to
be generated - Associated table comment (Saved in/extracted from
the database)
29Portable programs, all data in one form- 4
- STEP 4 Columns to be populated in the target
- Standard column definition (datatype, length,
scale for numbers, nullable or not) - Column comment (saved in/extracted from the
database)
30Portable programs, all data in one form- 5
- STEP 5 Individual selected part by target column
and conditions for insert vs. update - Combination of standard SQL functions, selected
values from the source columns, bind variables - Define which target columns are checked to decide
if we insert or update the target
31Portable programs, all data in one form- 6
- STEP 6 Verification of the program syntax,
additional tools
32Automatic adaptation of the host environment
table generation
- Takes place during program syntax-check
- Takes place against existing database objects and
PRGN programs in the host environment - Missing target tables are generated in a
special PRGN schema (no interference with Banner
or other applications) - Missing columns on generated tables are generated
- When a column definition differs with the real
column in a generated table, if all programs
agree on what the target column should rather be
and that target column is empty, it is altered
33Portable programs, export Export in a portable
XML format
34More complex programs
35Run control Model program vs. User program
36Run control Parameters for a program run
37More opening to the outside world
- Tool to help register data files as external
tables
38Questions?
?
?
?
?
?
?
?
?
?