SlideShare a Scribd company logo
1 of 160
Download to read offline
November 2014
CRTAP140
Triple’A PlusTM Architecture
2
2
2
Agenda
Learning Objectives
1
Administration
2
Interfaces
3
Web
4
TAP Architecture >
Reporting
5
References
6
3
3
3
Learning Objectives
Presentation of the TAP architecture in details
Understand the different layer making up the application
TAP Architecture >
4
4
4
General outline
Toilets Fire Exit
Mobile Phones
and “chat”
Messages
Lunch
Schedule for all days
Start 09:15am
Morning break 10:45am
Lunch 12:15pm
Afternoon break 03:15pm
End 05:15pm
TAP Architecture > Learning Objectives
5
5
5
Agenda
Administration
2
Learning Objectives
1
TAP Architecture >
Interfaces
3
Web
4
Reporting
5
References
6
Specifications –
Security –
Databases –
6
6
6
Overview
Triple’A Plus
 Triple’A Plus is a multi-layer architecture solution :
WUI
Presentation
Layer GUI
Application
Layer
Persistence
Layer
Integration
Layer
Business
Components
Computation
Engines
RDBMS
Gateway Design
Studio
TAP
Temenos Solution Third Party Solution
Report Designer
Reporting Platform
Document Repository
Back Office / Legacy
Web Chart Engine
API
Mobile
Layer Tablet
Temenos
Connect
TCIB
TAP Architecture > Administration > Technical overview
7
7
7
Presentation Layer
 Several interfaces compose the presentation layer:
 GUI: A thick-client/server based Administration console for business
infrastructure information (currently being migrated to the WUI)
 WUI: The Web User Interface (WUI) provides a unique access point to
end-user product features, using customizable HTML pages and Ajax
Web 2.0 interactive elements
• Design Studio is the tool to adapt/customize the WUI front end.
 API: The main implementation used is OData. It provides a unique
access point to manage TAP data
• Design Studio is the tool to adapt/customize the OData access.
TAP Architecture > Administration > Technical overview
8
8
8
Presentation Layer
 Other interfaces based on edgeConnect technology
 TAPTablet is the first application available on mobile device. This
application is fully oriented Relationship manager
 TCIB stands for Temenos Connect Internet Banking. This application
offers on-line access to core banking functions and wealth functions
 Third Party applications & libraries enrich the presentation layer:
 Web Chart: Domo PopChart renders charts in several image types
 Report Designer: default reports are accessible from the WUI/GUI.
• Actuate eDesigner is the tool to adapt/customize the report definition
TAP Architecture > Administration > Technical overview
9
9
9
Application Layer
 The application layer is composed by:
 Java Business Components: Covering all the business aspects and
functionalities of the WUI
• Each business module of the WUI is backed with its own java
business components
 A set of Java services (also called Java Façade) offering access to all
the user interface features to be integrated into a Service-Oriented
Architecture or a Web portal
 Triple’A financial computation engine
 Third Party applications & libraries enriching the application layer:
 Reporting (Actuate Server) and Business Intelligence Platform
TAP Architecture > Administration > Technical overview
10
10
10
Persistence Layer
 The persistence layer operates with a central database where
permanent data, operational and computed, used by the Triple’A
Plus components is stored
 Several databases hold the Triple’A+ Data
 Triple’A database supports TSL extensions
 Additional tables & table fields added to support user preferences,
meta-dictionary changes,…
 JackRabbit - A document repository:
 T’A+ integrates via new interfaces document repositories with as
implementation example the JackRabbit open source solution
 Actuate Reports can be stored and indexed since R11 in JackRabbit
TAP Architecture > Administration > Technical overview
11
11
11
Integration Layer
 As a front/middle-office banking solution, T’A+TM offers a wide range
of interfaces to integrate the solution with the banks legacy systems
 Gateway / Gateway Pack: allows enterprise data management,
batch/xml import & exports
 Back office interfaces with T24, Olympic, Avaloq,
 Generic interfaces to integrate with other legacy systems
 iMDI interfaces to gather external data sources (Reuters,
Bloomberg,…)
TAP Architecture > Administration > Technical overview
12
12
12
Business components
 A Portfolio Management System (PMS)
 Back to Frond functions (Analysis, Return, Performance,…)
 Front to Back functions (Ordering, Rebalancing,… )
 Simulation function (Proposal Generator)
 Administration (Strategy and Constraint)
 Alerts, Monitoring and Notifications
 A Reporting System
 Reporting database
 Client module (Live!Report) installed on the Thick-Client
 Repository (Live!Report) deployed within the Report server (Encyclopedia in
Actuate)
 Design Studio (based on Eclipse) to perform any customization of
the application
 on business side ( Web pages, business models and configuration)
 on technical side ( J2EE server configuration, TAP configuration)
TAP Architecture > Administration > Technical overview
13
13
13
Technical components*
Legacy
System
Application layer
TAP Core
Servers Interface
layer
Gateway /
Gateway
Pack /
TTI
Presentation layer
Web Chart
Server
Reporting
WUI/API
Persistent layer
RDBMS
aaarepdb
permtsldb
temptsldb
aaamaindb
aaalogindb
ocsmaindb
prmmaindb
External
Document
Repository
GUI
Tablet / TCIB
edgeConnect
API
DSTAP
TSL
Client
API
J2EE Server
PMS
PRM
/ /
WUI API
Tablet TCIB
Report
* CRM not described as in maintenance mode
TAP Architecture > Administration > Technical overview
14
14
14
Supported Platforms in R14
Description
Technical
version
J2EE application server
IBM WebSphere Application Server 7.0
Oracle WebLogic Server 11g
JBoss EAP 6 (OCS imp 2 only)
7.0.0.29
10.3.6
6.2
Database Management System Sybase ASE 15.7 15.7.SP103
Operating system
IBM AIX 6.1 or 7.1
Solaris 10 (SUN SPARC or Fujitsu SPARC64)
Windows 2008 / 2012 Server
Red Hat Enterprise Linux 6.4
Client applications
Internet Explorer IE 9.0, IE 10, IE 11
Firefox 27
Flash and Acrobat Reader plug-ins
Windows XP, 7, 8.1 for the GUI
TAP Architecture > Administration > Technical overview
15
15
15
Third Party Products
Required  Sybase Adaptive Server Enterprise
 Sybase Open Server (Triple’A PMS only)
 Java 6
 Websphere application server or Oracle Weblogic
 IBM Websphere TX 8.3
 Actuate BIRT iServer 11
 Domo PopChart Server 7
Optional  Portfolio Risk Module (Fincell)
 RenderX (Unicode & RTL languages)
TAP Architecture > Administration > Technical overview
16
16
16
TAP Release management
 TAP is made of Major release and Hotfixes
 Depending on the Temenos product management strategy, we may
have between 2 to 4 release per year
 Usually a release is delivery in the end of a quarter
 Marketing version (R14) differs of Technical version (8.0)
 Some example
TAP Release TAP version DSTAP version
R13 7.0.01 8.0.0
R14.03 7.1.01 9.0.01
R14.08 8.0.0 9.0.04
TAP Architecture > Administration > Technical overview
17
17
17
Agenda
Administration
2
Learning Objectives
1
TAP Architecture >
Interfaces
3
Web
4
Reporting
5
References
6
Overview –
Security –
Databases –
18
18
18
Preamble
 The chapter is a focus on the PMS and CRM part of the application
 Topics presented:
 Triple A Core Servers and databases
 Triple A Service Layer and Job Launcher
 Triple A Web server and databases
 Overview of the installation framework to deploy Triple A Plus
TAP Architecture > Administration > Specifications
19
19
19
Triple A Core Server – Main characteristics
 Executes functions on request from other programs
 Accessible through Sybase stored procedures
 Business content defined by user format
 Developed in C/C++ language
 Based on Sybase Open Server libraries
 Multi-threaded
 Multi-purpose: it can have different roles
 Several instances of this program can run simultaneously
(in theory no limitation on the number of instances)
TAP Architecture > Administration > Specifications
20
20
20
Triple A Core Servers – Roles
 Four different roles
 Financial: Computation based on the application & domain
parameters, and on the formats script definitions
Can be Multiple
 Fusion: Fusion of the portfolios
Can be Multiple
 Dispatch: Dispatch fusion and report preparation to other servers
Must be Unique
 Report: Prepare the data required for the reports
Can be Multiple
 A Triple A Core server can have more than one role
TAP Architecture > Administration > Specifications
21
21
21
Triple A Core databases – Description
Product Database Default name Contents Notes
Triple A
Core
Login aaalogindb
Information defining
the environments
(database, financial
servers) available to
the user
This database is defined
by the environment
variable AAALOGINDB
Main aaamaindb
Permanent data used
by the software
containing all PMS
data
It is the most important
database in term of size
Report aaarepdeb
Data used by the
reporting system,
mainly temporary
Reports are stored in it
TAP Architecture > Administration > Specifications
22
22
22
Triple A Service Layer – Presentation
 Triple A Service Layer (TSL) is an infrastructure introduced in
R11and replaces TASC (Triple A Smart Component) available in
the previous release (1.30.6 and above)
 TSL infrastructure consists in the following components:
 TSL Core:
• TSL business data package (Triple A Core formats, screens, etc.)
• TSL databases and objects
• TSL and TASC (Triple A Smart Component) financial server services
 TSL Web:
• TSL application server services
• TSL batch job launcher (otf-shell command tool)
TAP Architecture > Administration > Specifications
23
23
23
Triple A Service Layer – General infrastructure
T’A+ Core
Databases
TSL
T’A Core
Financial
Server Services
Layer
shell command
TSL
cmd
Web Application
Layer
Services
Layer
Meta
Dictionary
Data PCK:
- Formats
- Screens
Static DB
Volatile DB
TAP Architecture > Administration > Specifications
24
24
24
Triple A Service Layer – Features and databases
 Features:
 Optimizes as much as possible the number of calls to the financial
servers & to the database server
 Decreases the volume of data transferred between clients & servers
 Persists the computed data directly in the TSL db: data persisted is
used as global & local cache
 Databases:
TAP Architecture > Administration > Specifications
Product Database Default name Contents Notes
Triple A
Service Layer
Permanent permtsldb
Data loaded during
the nightly batch
(precomputed data)
Also called “static
database”.
Life of all objects can be
until 24 hours depending
the Business requirements
Temporary temptsldb
Data loaded during
the activity on the
system
Also called “volatile
database”.
Short life of all objects
25
25
25
Triple A Service Layer – Flow
Server Side
Application Layer
Financial
Servers
TSL
Data Layer
Triple’A
aaamaindb
Triple’A
tsldb
Presentation Layer
UDP
WUI
TSL
Financial function
30 rows
Done !
30
rows
Client
Request
30 rows
Show me the
operation history
TAP Architecture > Administration > Specifications
26
26
26
Triple A Service Layer – Global/Local cache concept
WUI Application
server
TSL
temptsldb
Fmt3
Fmt2
Fmt1
OTF shell
External
scheduler
(*) If pre-computation
jobs defined
aaamaindb
Create private
transient table
(*) Check availability
of pre-computation
Paginate respecting
sort order
(*) Copy results and
domain information
Submit RPC
for missing data
permtsldb
X format
Y format
Z format
Append results and
domain information
Financial server
Pre-computation
periodical refresh
(*) Submit financial
function RPC
(*) Store
pre-computation
TAP Architecture > Administration > Specifications
27
27
27
Triple A Service Layer – Vertical search mechanism
WUI
Ajax auto-complete
WUI
Search pattern
vs_instrument
id sqlname_c language_code pattern
instrument
id code name …
denom
denomination
EN
FR
DE
tasc_accent_conv
from_char to_char
<meta-dict tables>
<meta-dict tables>
<meta-dict tables>
fill_tables_for_search
where pattern like … where pattern like …
TAP Architecture > Administration > Specifications
28
28
28
Triple A Service Layer – Rule based engine
Dispatch
Server thread
tasc_global_recomp_obj tasc_entity_recomp_obj tasc_search_recomp_obj
<Triple’A Plus Entity>
<Triple’A Plus Entity>
<Triple’A Plus Entity>
<Triple’A Plus Entity>
object_modif_stat
data_dependency
TSL
Extensions
Vertical
search
Global cache
<user defined table>
External
system
External
feed
<meta-dict tables>
<meta-dict tables>
<meta-dict tables>
Scheduler tasks
TAP Architecture > Administration > Specifications
29
29
29
Job Launcher – Description
 It is a component designed to execute in a synchronous or
asynchronous way jobs from other components.
 JobLauncher gives its clients the ability to launch jobs that will load,
process, transform, send or store data.
 Principle: a job instance is structured into job executions
Pre JobExecution
Main JobExecution 1 … Main JobExecution n
Post JobExecution
Split up the job into
parallelizable chunk of
work. 0-1 instance
Perform the core work
Merge the chunks into 1 part
TAP Architecture > Administration > Specifications
30
30
30
Job Launcher – Overview
otf-shell
VM
Job Launcher
Batch Manager
Batch
Definition
Loader
JobConfiguration
Mapper
JobType
Selector
JobLauncher
ControlService
Facade
Parameters &
Batch id
Application Server
WUI Pageflow Monitoring WUI
JobInstances
JobLauncher
ControlerService
JobInstance
Executor …
JobInstance
Executor
PreJob
Domain
Loader
Data
Slicer
JobLauncher
Monitoring
Monitoring
Console
db
PreJob
Domain
Loader
Data
Slicer
SubJob
chunk
PostJob
Sub Job Sub Job
PostJob
Sub Job Sub Job
SubJob
chunk
SubJob
chunk
SubJob
chunk
SubJob
chunk
SubJob
chunk
TAP Architecture > Administration > Specifications
31
31
31
Design Studio
Server and
Databases
J2EE Server
Java components dependencies
Business Models
TAP Architecture > Administration > Specifications
32
32
32
Formats & Functions
Entities
TSL Business Services / Functional Architecture
Services API
Business Functions
Design Studio
Triple’A domain
Import
Generic Triple’A Entities Access
Domain Datasets
Based on TSL / Triple’A
Meta-Dictionary
TSL
Extended T’A
Meta-Dictionary
Entities Structure
Enumerations
Translations +
Formats / Elements
Domain Datasets
Based on Triple’A Formats
and Domain
AAA
Main
Database
PMS Data
Entities access:
Data management (CRUD, Completion, Validation, Entity search)
Business functions:
Initialization, Execution and persist result, Data Read aggregate Results
TAP Architecture > Administration > Specifications
33
33
33
Flow data access architecture
Configuration through
Design Studio
WUI
Process
OData Action
Spring FMK
Abstract Process
Flow Service
TAP OData Producer
OData FMK
references
Remoting Datasets
Annotation Structure
TAP Core Entity
and
Function View
maps
contains
contains
Remoting BO
BO Datasets
Structure
Client OData
Call HTTP
uses
uses
Uses
uses
Databases
Services
(IV, DV, IC, Search…)
TASC API
Call HTTP
TAP Core Entity
and
Function View
maps
Core Server
uses
uses
references
calls
WUI Pageflow
WUI Browser
Call HTTP
uses
specific
cases
AAA Datasets
Structure
uses
uses
TAP Core Entity
and
Function View
maps
TAP Architecture > Administration > Specifications
GUI Client
TDS
34
34
34
Flow data access architecture – explanation
 On Web side, whichever the case is executed, the data collected
from TAP Core servers or the database passes though the Services
Layer embedded in the Flow Service implementation
 WUI
 Data displayed are managed throughout datasets (“AAA Datasets”) and
Business processes (also called WUI processes)
 Processes are implemented in a transition of a pageflow
 API with OData implementation
 Data displayed are managed throughout datasets (“Remoting datasets”) and the
chains are declared in the annotations of the datasets
 A chain is a group of actions therefore a chain defined the behavior of the OData
call (TAP OData Producer)
 API with TASC implementation
 Data displayed are managed throughout datasets (“BO datasets”) and the
“Remote BO” services call directly either the Flow Engine or the Service Layer
TAP Architecture > Web > Components
35
35
35
TAP Client module
 TSL Client
 As from R13, TSL Client replaces the Formatted Data Extractor (FDX)
and TASC-Driver tools that were used in OCS 1.30.6 but were no
longer supported in Release 11 and Release 12.
 The TSL Client is a combination of Java classes that extracts data from
TAP. TSL components are used by the TSL Client to provide high
performance extraction of the data. The definition of the data to extract
is expressed by input files that are mainly in XML format
TAP Architecture > Administration > Specifications
36
36
36
Triple A Web – J2EE Server
 The J2EE server manages:
 The rendering to the front-end
 The PMS business functions
 Business components deployed are:
 PMS modules (Valuation, Ordering, Rebalancing, Strategies…)
 PG is a module that provides Relationship Managers with the ability to
prepare and send active trading advice to their clients.
 Reporting is a technical feature allowing the reporting of portfolios for
any clients.
 Other transversal modules such as Monitoring, Queries, Alerts,…
TAP Architecture > Administration > Specifications
37
37
37
Triple A Web – Database
 The default name of the Triple A Web database is ocsmaindb
 This database is still available to continue to support the CRM part
(Client Data Management system) now under maintenance
 This database is used to store the Audit trail running in the J2EE
server
TAP Architecture > Administration > Specifications
38
38
38
Deployment – Triple A Core and Service Layer
 Triple A Core and Triple A Service Layer are based on the same
installation framework.
 This installation framework is made up of 3 parts:
 A dedicated script called “install_aaa_files.sh” to copy all shell and SQL
scripts, binaries, libraries and configuration files into the Runtime folder.
 A central file called “aaa_install.cfg” contains the Core and TSL
databases definition. This configuration file is loaded by the framework
only during an installation or a migration of the system
 A dedicated script called “install_ddl.sh” to manage the database objects
deployment (procedure, views, tables,…)
TAP Architecture > Administration > Specifications
39
39
39
Deployment – Triple A Web
 Triple A Web deployment is based on the Deployment Package
Installer (DPI) mechanism but also implements the maven features.
 This installation framework is composed of 3 modules:
 The environment is built based on information defined in the
all-in-one.dpi.properties file. This file is loaded by the UpdateInstaller.jar
file when installing/migrating/refreshing the system
 A zip file containing the release and the maven repository
 The packager concept allowing the construction of the customization
package is including in Design Studio
TAP Architecture > Administration > Specifications
40
40
40
Quiz
 How many layer does Triple A Plus make up ?
 What is the purpose of TSL databases ?
 What are the functionalities of the Triple A Core server having the
Dispatch role?
TAP Architecture > Administration > Specifications
41
41
41
Agenda
Administration
2
Learning Objectives
1
TAP Architecture >
Interfaces
3
Web
4
Reporting
5
References
6
Technical overview –
Specifications –
Databases –
42
42
42
Preamble
TAP Architecture > Administration > Security
 Triple A Plus security defers on the frond end used (GUI and WUI)
Core TSL Web
Authentication
based on the Sybase
security
N/A based on JAAS
Authorization
based of the
application (Profile)
N/A
based on the
application (user, roles
and/or profiles
43
43
43
TAP Core functions
Overview*
Authentication
layer
Authorization
layer
PMS
database
WUI/API
third_party
GUI
appl_user
Data Profile
Function
Security
Profile
Business
Functions
Valuation
Operation
History
1
1 1 WUI/API
manager
Menu
Functions Reports
Report
Profile
Screen
Profile
Orders
…
1
* CRM not described
TAP Architecture > Administration > Security
44
44
44
Overview with the CRM solution
Authentication layer
Authorization layer
CRM
database
PMS
database
CDM user
WUI
manager/
third_party
GUI user
GCL Data Profile
Function
Security
Profile
1
1 1
1
n
1
n
TAP Core functions
Business
Functions
Menu
Functions
Reports
Report
Profile
Screen
Profile
Valuation
Operation
History
Orders
…
TAP Architecture > Administration > Security
45
45
45
Authentication layer – Connection description from the GUI
GUI
master
aaalogindb
aaamaindb
TAP Architecture > Administration > Security
User & Password
defined in
syslogins
1
Check if User/Password is valid.
(step done by the login “aaa_login_manager”)
User
defined in
client_connect
and sysusers
User
defined in
appl_user
and sysusers
Check if the user is linked to a TAP Core server
Check if the user can open the GUI
(Is it a active user?)
2
3
User authenticated
46
46
46
Authentication layer – GUI or isql/Triple’A servers
 The authentication mechanism is based on the Sybase security
framework.
 To connect to Triple’A Core System, a user is defined in several
places:
 User is defined in the PMS main database, “appl_user” table.
 User is defined in the PMS login database, “client_connect” table.
 User is defined in each “sysusers” (Sybase User) table of each Triple’A
Core databases.
 User is defined in the Sybase Master database, “syslogins” table
 The password is only stored in the Sybase Master database,
“syslogins” table
TAP Architecture > Administration > Security
47
47
47
Authentication layer – Connection description from the WUI – Realm AAA
TAP Architecture > Administration > Security
WUI
J
A
A
S
O
T
F
-
S
e
c
u
r
i
t
y
I
m
p
l
e
m
e
n
t
a
t
i
o
n
master
aaamaindb
J2EE Server
code defined in
managers,
appl_user &
third_party
WUI Flag activated
Databases
JAAS login module directs the
authentication request to OTF
Otf-security.xml is read to know the
realm (security manager)
Authenticated if user/password is valid
using OTF (third_party in aaamaindb)
Authenticated if user/password is valid
using OTF( manager in aaamaindb)
1
2
3a
3b
R12
48
48
48
Authentication layer – Connection description from the WUI – Realm CDM
TAP Architecture > Administration > Security
WUI
J
A
A
S
O
T
F
-
S
e
c
u
r
i
t
y
I
m
p
l
e
m
e
n
t
a
t
i
o
n
ocsmaindb
aaamaindb
J2EE Server
code defined in
managers
& appl_user
code defined in
gcl_users
Databases
Security service directs the
authentication request to OTF
Otf-security.xml is read to know the
realm (security manager)
Authenticated if user/password is valid
using GCL (gcl_user in ocsmaindb)
Know the code to use in aaamaindb
based on URI defined in shared privilege
field in GCL
1
2
3
4
49
49
49
Authentication layer – Connection description from the WUI – SSO
TAP Architecture > Administration > Security
WUI
J
A
A
S
O
T
F
-
S
e
c
u
r
i
t
y
I
m
p
l
e
m
e
n
t
a
t
i
o
n
ocsmaindb
aaamaindb
J2EE Server
code defined in
managers
& appl_user
code defined in
gcl_users
Databases
Security service directs the
authentication request to the LDAP
(SSO)
Depending the implementation (Full
deployment or Only PMS), associated
privileges to the user are loaded
1
2
LDAP
SSO
SSO with CRM (CDM)
requires a specific customisation
50
50
50
Authentication layer - WUI or RMI/Soap connection - 1
 The authentication mechanism depends on the implementation.
 There is 3 possible implementations:
 If the CRM part is deployed (e.g. CDM), the system is based of the
CDM security. User and Password are stored in the Web database
(ocsmaindb, “gcl_user” table).
 If the CRM part is NOT deployed, the system is based of the AAA
security. User and Password are stored in the Core database
(aaamaindb, “manager” table)
 External security system (e.g. LDAP), the system is customized and the
User and Password are stored in the external security system
TAP Architecture > Administration > Security
51
51
51
Authentication layer - WUI or RMI/Soap connection - 2
 In TAP-Web, the framework managing the security is called
Odyssey Technical Framework (OTF).
 The security concept is divided in 3 categories:
 Realm
• Responsible for the authentication
• Manage users, group & roles
 Domain
• Responsible for the authorization
• Manages resources, control attributes (e.g. select, create, update,
delete) and access control lists
 Security Manager
• Centralizes all access to Realms and Domains
• Application developer’s interface
TAP Architecture > Administration > Security
52
52
52
Authorization Layer - GUI or isql/Triple A Core servers
 Any action to the Core and TSL databases are performed through
the stored procedures and views. All stored procedures and views
are protected by a Sybase group.
 A Sybase group provides a convenient way to grant and revoke
permissions to more than one user.
 The Triple A Core and TSL databases are based on two groups:
• triplea
• tasc_tech
 Any GUI/isql user must belong to the group “triplea”
 The “tasc_tech” group is reserved for the technical user called
“tasclogin”
TAP Architecture > Administration > Security
53
53
53
Authorization Layer -– Multiple technical users
 Starting from R12, several TAP Web instances connected to the
same TAP Core instance is supported
 Here we will have 3 different TASCLOGIN
 “eurotasclogin”, “asiatasclogin” and
“batchtasclogin*
 Theses users will belong to the Sybase group
“tasc_tech”
 These users will be defined in the aaa_install.cfg file
as below:
TAP Web
R12
Europe
TAP Web
R12
Asia
TAP Core
R12
Batch
TAP Web
R12
# User_Name Default_Database Environ_Name Client_Machine Appl_Owner
Server_Name Group TECHNICAL
U BATCHTASCLOGIN the_aaamaindb theEnv UNDEFINED <NO>
FinServer tasc_tech <YES>
U EUROTASCLOGIN the_aaamaindb theEnv UNDEFINED <NO>
FinServer tasc_tech <NO>
U ASIATASCLOGIN the_aaamaindb theEnv UNDEFINED <NO>
FinServer tasc_tech <NO>
TAP Architecture > Administration > Security
54
54
54
Data Profile
Format Profile
Report Profile
Print Profile
Additional
Data Security
Profile
Function Security
Profile
Language
User
Data Security
Profile
Authorization layer – PMS system is based on profile
TAP Architecture > Administration > Security
GUI
WUI
Data Security
Profile
1 1
1
Manager
Screen Profile
55
55
55
Authorization layer – Manager Vs Third-part access
TAP Architecture > Administration > Security
Data Security
Profile
Screen Profile
Function Security
Profile
User
WUI
Manager
WUI
Third Party
1
Manager
Third Party
1
1
1
Additional Data
Security Profile
56
56
56
Authorization layer – PMS Profile description
 Profiles are used to manage access to data, functions, formats,
screens and reports.
 Defining profiles is a task for the Administrators of Triple A Core
because it is part of the security management functionality.
 Users defined in Triple A Core:
 must be assigned to the following:
• Data Security Profile: controls access to data
• Function Security Profile: controls access to functions
• Format Profile: controls access to formats
 can also be linked to the following:
• Screen Profile: controls access to screens
• Report Profile: controls access to reports
• Printer Profile: controls access to printers
TAP Architecture > Administration > Security
57
57
57
Authorization layer – PMS data access
 All data are secured through a DSP (Data Security Profile)
 Starting from R12, two DSP are available per user called Data
Security Profile and Additional Data Security Profile
 Purpose
 Used to define a fine-grained security
TAP Architecture > Administration > Security
Manager
DP (DSP1-A, DSP2-Gen)
Client
DP (DSP2-A, DSP1-Instr)
DSP1-A DSP2-A
DSP2-Gen DSP1-Instr
PTF1
PTF2
Instr-A
Instr-X
Instr-Y
PTF3
58
58
58
Authorization layer – PMS business functions
 All business functions are also secured
 This security is applied through the function security profile.
 Example: the end-user starts a valuation.
By executing this business function, the system checks if the user
has the rights.
TAP Architecture > Administration > Security
59
59
59
Authorization layer – PMS business profile
 This concept is only valid for the WUI
 This functionality allows to display to a WUI user (manager or client)
different menus and web pages.
 The technical attribute is “wui_profile_e”
Manager table Client table (third_party)
• Default
• RelationshipManager
• MarketingOfficer
• FinancialAnalyst
• Developer
• CdmSo
• PmAdmin
• RetailManager
• Audit
• Admin
• PortfolioManagerForT24
• Default
• Client
TAP Architecture > Administration > Security
60
60
60
Quiz
 What are the difference between the PMS and CRM
on the Authentication part using the WUI?
 Same question but on the authorization part using
the WUI?
TAP Architecture > Administration > Security
61
61
61
Agenda
Administration
2
Learning Objectives
1
TAP Architecture >
Interfaces
3
Web
4
Reporting
5
References
6
Technical overview –
Specifications –
Security –
62
62
62
Data
Layer
Triple’A PlusTM – database accesses overview
Core DB Web DB
TSL DB
temptsldb
aaamainb
aaarepdb
aaalogindb
GUI
J2EE
Server
Gateway
Native
Import
Export
Triple’A
Servers
Admin
Scripts
isql
WUI
TAP Architecture > Administration > Databases
Admin
Scripts
Otf-shell
permtsldb ocsmaindb
63
63
63
Databases description
Databases Default name Contents
Core
Login aaalogindb
Information defining the environments (database,
financial servers) available to the user
Main aaamaindb
PMS database.
Contains the meta-dictionary and all business
entities (including the PMS security)
Report aaarepdb
Data used by the reporting system, mainly
temporary
Service Layer
Permanent permtsldb
The objects deployed in this database are pre-
computed values and business extended entities
Volatile temptsldb Objects with short life span
Web Ocs ocsmaindb
CRM database.
Contains CRM business entities (including CRM
security) and report data for mass reporting.
TAP Architecture > Administration > Databases
64
64
64
Triple A Core – PMS database
 PMS database is composed of tables for different purposes
TAP Architecture > Administration > Databases
Tables Prefix Description
Meta-Dictionary
dict_
Tables containing the description of the
application.
All objects like entities (physical and
logical) are described with their
attributes, permitted values,
translations,…)
xd_ Tables describing the meta-dictionary
User Defined Attributes ud_
Tables dedicated for the customisation.
Some entities might be customized by
adding a new fields in a ud_table
PMS infrastructure N/A
Core data model (infrastructure tables,
backbone tables, Triple’A Core specifics
tables)
65
65
65
Triple A Service Layer – Permanent database
 Permanent database is composed of tables for different purposes
Tables Prefix Description
Infrastructure N/A Job launcher, configuration
Entity extended attributes x_
Fields are mainly intended for the WUI
dashboard and pre-defined queries
Vertical search vs_
Ajax implementation. Automatic
completion left to right
Pattern search ps_
Ajax implementation. Automatic
complementation based on a pattern.
Not yes implemented.
CRM publication cdmq_
TCM and CDM tables filled by the TSL
publication process
Global Cache Format Name
Tables containing data pre-computed.
One table per format.
TAP Architecture > Administration > Databases
66
66
66
Core and TSL data model – Logical vs Physical
TAP Architecture > Administration > Databases
Logical Model (Meta dictionary or Abstract objects)
Database Server = Physical Model
GUI
Client
Triple’A
Server
Report
Client
Triple’A Gateway
Import
Client
Export
Client
Other
modules
WUI
PMS
67
67
67
PMS Core data model
Infrastructure
Currency
Geographic
Third Party
Manager
Sector
Rating
Type
F&T Convention
Calendar
…
Triple’A Specific
List
Format
Domain
Document
Report
Scenario
Notepad
Strategy
Accounting Plan
…
Backbone
Portfolio
Execution
Ext Order
Operation
Position
Balance Position
Instrument
TAP Architecture > Administration > Databases
68
68
68
PMS Core data model example = operation
Buy Sell Income Invest. ... Fee
Extended Operation
position
Logical
View
Physical
View
balance position
ud_operation
operation
TAP Architecture > Administration > Databases
69
69
69
Meta-dictionary overview
Message
Attribute
Permitted Value Datatype
Entity
Language Label
TAP Architecture > Administration > Databases
70
70
70
Meta-Dictionary – Description – Main tables
 dict_entity & dict_attribute tables contains:
 The description of all tables and the attributes of the data model
(instruments, ud_instruments, x_instruments, v_instruments,…)
 dict_perm contains all permitted values
(statuses, natures of instruments,…)
 dict_type are the datatype used by the application
(amount_t, type_t, flag_t,enum_t,…)
 dict_label are the name visible using the GUI/WUI (menus,
functions,…)
TAP Architecture > Administration > Databases
71
71
71
Data configuration
 In TAP Core, the concept of SQL User Data is available to offer the
possibility to customize a set of attribute in the system like
 System parameter
 Permitted value
 Attribute
 …
 The main purposes of these files are:
 Persisting the User Change in the database
 Guaranteeing the consistency of the system
 Keeping the customizations during any upgrade of the system
TAP Architecture > Administration > Databases
72
72
72
Database customization – Concepts
 Most Triple A Plus logical entities are customizable: this allows to
add easily new attributes to the database model to cater to any
business requirements.
 On the Core database (PMS database), the customization is
performed through the User Defined (UD) Attribute concept
 On the TSL databases, it is the extension attribute associated to a
PMS entity.
 On the Web database (CRM database), it is the extension table
concept excepted for CDM (blob object)
TAP Architecture > Administration > Databases
73
73
73
Database customization – PMS part
 User Defined Attribute entity (PMS database):
 Extended Attributes (TSL Permanent database) :
TAP Architecture > Administration > Databases
id code …
1 PTF_1
2 PTF_2
3 PTF_3
ud_id ud_new_field …
1 xyz
2 NULL
3 abcd
portfolio table ud_portfolio table
id code …
1 PTF_1
2 PTF_2
3 PTF_3
portfolio table
in aaamaindb
x_portfolio table
in permtsldb
x_id x_ptf_cur …
1 EUR
2 EUR
3 EUR
74
74
74
Database customization – User defined Entities
 As from R12 is supported the concept of user-defined entities (UDEs)
 UDE provides an extension of the standard data model with a new entity.
 These custom entities are managed like standard ones. This includes:
• Administration in the GUI.
• Data importation through Triple'A Plus Core interface processing.
• Back-end services accessed from the WUI
 Modelling and creation has to be done through Design Studio
 Definition of this new entity (including business and primary keys)
 All permitted values and flag attributes completely described.
 Label describing the database structure (entity, attributes,…)
 At the end, DS generates a TAP Core native import file ready for a
load into TAP Core meta dictionary
TAP Architecture > Administration > Databases
75
75
75
Database customization – DDL Generator
 A new Data Definition Language Generator has been developing to
have a uniform management of all entities in TAP Core
 Generated files are stored in AAA_HOME/ddl/src
(stored procedures : *.psc / views: *.vsc files)
Meta Data
Custom Meta Data T’A Meta Dict
Database
Table, Triggers, Indexes,
Constraints, Foreign keys,
Views, Stored Procedures
Metadict Definition
dict_entity,
dict_attribute,
…
DDL Generator Tool (RPC)
TAP Architecture > Administration > Databases
76
76
76
 Triple’A Plus secure objects may offer a view over several entities.
 From the onset, each major entity has been associated with a second
entity (1:1 relationship) that is a container for user defined fields.
 Since R11, through its Triple’A Service Layer (TSL), brings the
extended entity attributes (aka computed attributes)
 These fields (or attribute in relational terms) belong to a table stored in
a separate database to that of the base entity and the UD table of an
entity, the TSL permanent database
PMS database – Secured Object
Base entity
Secure
object
Entity
User-defined
attributes
Entity
Extended
attributes
aaamaindb permtsldb
TAP Architecture > Administration > Databases
77
77
77
Extended attributes are data computed
 Only some of entities (e.g., portfolios, third parties, etc.) have
extended attributes.
 All extended attributes are computed attributes defined through
formats (computed during night batches executed through TSL)
 Based on the parent-child inheritance principle, extensions are
computed by formats at the child level and stored in a format at the
parent level
 The parent format contains empty formats elements defining the
computed attributes
 The child format must return to the parent one result and never a set
TAP Architecture > Administration > Databases
78
78
78
Extended attributes are based on formats
Parent Format defining computed attributes
Child Format
Computed
Attribute 1
Child Format
Computed
Attribute 2
Child Format
Computed
Attribute N-1
Child Format
Computed
Attribute N
TAP Architecture > Administration > Databases
79
79
79
TSL Extensions
Calculation
Extended attributes – Computation mechanism
Base entity
Secure
object
UD attributes
Extended
attributes
Extended attributes
One to one
attributes
mapping
Parent Format
SQL Format 1 Child Format n
Child Format 1
One result
returned
TAP Architecture > Administration > Databases
80
80
80
Quiz
 Does a direct access between the FS
and TSL databases?
 What are the different concepts to customize
the TA+ data model?
 What is the purpose of the DDL generator tool?
TAP Architecture > Administration > Databases
81
81
81
Unit summary
 Triple A Plus global architecture
 Focus on security concepts
 Focus on the databases (access, how to customize,
objects)
TAP Architecture > Administration
82
82
82
Agenda
Interfaces
3
Learning Objectives
1
TAP Architecture >
Administration
2
Web
4
Reporting
5
References
6
Native mode –
Core gateway –
Gateway Pack –
83
83
83
Gateway Architecture
WTX Maps
Back
Office
Order
Management
System
Swift
WTX
Components
Triple’A
Components
Triple’A
Gateway
Adapter
Subscription Audit
Batch
Imp/Exp
AAA Native
Format
Core Type Trees
Tiers Type Trees
DB & Application Adapters
(Sybase, Oracle, DB2, Swift etc)
Messaging Middleware (Tibco, MQ, BEA etc
Communications (FTP, HTTP, eMail, etc…)
84
84
84
Import / Export Gateway Overview
 Standardized interfaces and data layouts to facilitate data flow in
and out of Triple A Plus
 Automated tools built on IBM’s Websphere TX technology.
 Import
 Ability to insert, update & delete configuration and user data in Triple A by
• Calling batch Import tools from the command line
• Accessing Online Import Adapter from WTX
 Export
 Ability to export configuration and user data by
• Calling batch Export tools from the command line
 Subscription
 Event Driven Interface to
• Trigger data to other systems via WTX
• Fulfil System Audit Requirements
TAP Architecture > Interfaces > Technical overview
85
85
85
Gateway PACK – Overview
Schema View
Triple A Core
Native Import File
Import/Gatit
transform
CMD INSERT currency
ATT code name geographic
DAT USD "US dollar" US
DAT CHF "Swiss franc" CH
TAP Architecture > Interfaces > Technical overview
86
86
86
Gateway PACK – Description
 The Architecture contains five entry points for loading data into
Triple A Core
 XML – Online Mode – Back to Front
 XML – Batch Mode – Back to Front
 XML – Online Mode – Front to Back
 Native Import File – Batch Mode
 Native Import File – Online Mode
 Online Mode is using the Gateway Adapter for importing data into
Triple A Core
 Batch Mode uses the Native Import mechanism even if the
incoming source is an XML file
TAP Architecture > Interfaces > Technical overview
87
87
87
Agenda
Interfaces
3
Learning Objectives
1
TAP Architecture >
Administration
2
Web
4
Reporting
5
References
6
Technical overview –
Core gateway –
Gateway Pack –
88
88
88
Batch Import
REM Definition of currency’s
SET QUOTE '
SET ESCAPE 
SET SEPARATOR ;
SET DECIMAL ,
SET THOUSAND .
SET DATAFORMAT DELIMITED
CMD INSUPD currency
ATT code name denom
DAT EUR;Euro;Euro
$AAAHOME/aaa imp
–Uaaa -Pxxxxxx
< currency.imp
# aaa imp –Uaaa –Pxxxxxx < currency.imp
MSG AAAHOME is /oft/aaa/current
MSG Executing /oft/aaa/current/bin/AIX/aaa_imp –Uaaa
MSG aaa, luxrs51, 2008/11/18 11:21:19, <stdin>:0 : opening <stdin>
SET QUOTE ‘
SET SEPARATOR ;
SET DECIMAL ,
SET THOUSAND .
SET DATAFORMAT DELIMITED
CMD INSUPD currency
ATT code name denom
SUC EUR;Euro;Euro
MSG aaa, luxrs51, 2008/11/18 11:21:19, <stdin>:9 : closing <stdin>
aaamaindb
TAP Architecture > Interfaces > Native mode
89
89
89
Batch Export
SET QUOTE '
SET SEPARATOR ;
SET DECIMAL .
SET THOUSAND ,
SET DATAFORMAT DELIMITED
SET DATEFORMAT DD/MM/YYYY
SET HEADER NO
CMD EXPORT currency
ATT 'code':<code_t>
ATT 'name':<name_t>
ATT 'denom':<info_t>
$AAAHOME/aaa imp
–Uaaa -Pxxxxxx
–MExpTripleA
< currency.exp
# aaa imp –Uaaa –Pxxxxxx –MExpTripleA < currency.exp
MSG AAAHOME is /oft/aaa/current
MSG Executing /oft/aaa/current/bin/AIX/aaa_imp –Uaaa
CHF;Swiss Franc;Swiss Franc
EUR;Euro;Euro
GBP;Sterling;Sterling
USD;US Dollar;US Dollar
ATS;Austrian Schilling; Austrian Schilling;
aaamaindb
TAP Architecture > Interfaces > Native mode
90
90
90
Agenda
Interfaces
3
Learning Objectives
1
TAP Architecture >
Administration
2
Web
4
Reporting
5
References
6
Technical overview –
Native mode –
Gateway Pack –
91
91
91
 A DLL (Windows) or Shared Library (Unix) which provides a
mechanism
 to import into Triple’A
 to export data from Triple’A
Gateway (Application) Adapter
WTX
File of
Records
Gateway
Application
Adapter
Mapped
Data
Errors
Online
Interface
Triple’A
Mapped
Data
Output
of
imp/exp
Output
of imp/exp
TAP Architecture > Interfaces > Gateway
92
92
92
 Components are:
 libgatit.so – Application adapter
 libolit.so – Online Interface
 rolitd – RPC Server facilitating communication between libgatit and libolit
 librolit.so – RPC Client library that communicates with rolitd
 aaa_rolit.sh – Shell Script used to launch rolitd
Gateway composition
libgatit.so
Application adapter
WTX Launcher Process
Batch
Imp/Exp
Batch
Imp/Exp
rolitd RPC Server
libolit.so
T’A
Online
interface
RPC
Layer
aaamaindb
librolit.so
aaa_rolit.sh
TAP Architecture > Interfaces > Gateway
93
93
93
IBM Websphere Transformation eXtender
 What
 A transaction-oriented Data Integration Solution. (Enterprise Application
Integration Product).
 Composed of
• A client-based design environment (Windows)
• Several server-based execution options (Unix and Windows)
 Components
 Maps (*.mmc)
• Executable Component which performs Data Transformation and Routing
• Typetrees are the Format Definition of data source/destination
 Command Server
• Provides a command-driven capability for the execution of maps.
 Event Launcher
• Provides a real-time, event-driven model for executing maps and systems of maps
• System (*.msl): Collection of Maps to be run within an Event Launcher
TAP Architecture > Interfaces > Gateway
94
94
94
IBM Websphere TX - Map
Environment Configuration
Triple’A Native Import
WTX Map (*.mmc)
Inbound
Typetrees
Transformation
Rules
Outbound
Typetrees
Currency
Format
Configuration
File
Format
Log File
Triple’A
Native Import
Format
Back-Office via MQ
Import Log
TAP Architecture > Interfaces > Gateway
95
95
95
IBM Websphere TX - Command Server
$AAAHOME/aaa mercator GWPACK_HostComp.mmc -IF1 BackOfficePositions.imp -OF1 HostComp.txt
Ascential DataStage(TM) TX Solaris(TM) Command Server - version 7.5(119_1_ec68907)
Copyright (c) 2004 Ascential Software Corporation.
Map file: /GWPACK/maps/GWPACK_HostComp.mmc -IF1 BackOfficePositions.imp -OF1 HostComp.txt
In # 1: 20358 Out # 1: 5358 Time: 0:00
Map completed (0): Map completed successfully (0.609 seconds)
TAP Architecture > Interfaces > Gateway
WTX Map (*.mmc)
Inbound
Typetrees
Transformation
Rules
Outbound
Typetrees
Currency
Format
Configuration
File
Format
Log File
Triple’A
Native Import
Format
Back-Office via MQ
Import Log
96
96
96
IBM Websphere TX - Event Launcher
TAP Architecture > Interfaces > Gateway
System #1: Back Office Data
Map:
Positions
Data
System #2: Order Management System
Map:
Order
Cancellation
Map:
Update
Triple’A
97
97
97
Agenda
Interfaces
3
Learning Objectives
1
TAP Architecture >
Administration
2
Web
4
Reporting
5
References
6
Technical overview –
Native mode –
Core gateway –
98
98
98
Overview
 Provides
 Functional XML Schema’s to facilitate ease of Integration
 Automated mechanisms for complete Interface Management
• Importing & Exporting Data
• Online and Batch Modes
• Error Management
Recycling
Reporting
• Statistics
• A Control Menu
 Functionally Composed of two parts
 Back-to-Front (B2F) for loading Back-Office data into Triple A Core for
initial load and daily updates
 Front-to-Back (F2B) for feeding an Order Management System with
Order Instructions generated in Triple A Core
TAP Architecture > Interfaces > Gateway Pack
99
99
99
Gateway Pack – Architecture Overview
 Built on IBM Websphere TX Technology
 Files are:
 WTX Event Systems and Maps
 Shell Scripts
 Triple A Core Subscriptions
 Processes
 Launcher monitors incoming data into the Gateway Pack structure and
automatically executes the appropriate WTX maps.
 Rolit imports data into Triple A Core when running an online importation
 Subscription monitors subscription events in Triple A Core
 Recycling restarts the importation of output files containing errors.
TAP Architecture > Interfaces > Gateway Pack
100
100
100
Gateway Pack – Systems
 Defined Systems are split by Functional Interface Requirements
 During Implementation systems which are not required should be
removed from the Event Launcher
 GWPACK.msl
 Back-to-Front Interface Maps
 GWPACK_F2B.msl
 Front-to-Back Interface Maps for Securities Order Management.
 GWPACK_F2B_MM_FX.msl
 Front-to-Back Interface Maps for Money Market and Foreign Exchange
Order Management.
 GWPACK_iMDI.msl
 Interface Maps for “Intelligent Market Data Interface.”
TAP Architecture > Interfaces > Gateway Pack
101
101
101
Gateway Pack – Architecture - Launcher
GWPACK.msl
GWPACK_Master_
Online
GWPACK_Import_
Batch
GWPACK_ProcessOutput
GWPACK_Master_
ExtImport_Batch
GWPACK_Master_
ExtImport_Online
GWPACK_Master_
Batch
GWPACK_Import_
Online
GWPACK_Statistic
GWPACK_CheckAudit
GWPACK_Log
GWPACK_F2B_MM_FX.msl
XML2TA_F2B_MM_FX
GWPACK_F2B.msl
XML2TA_F2B
GWPACK_iMDI.msl
GWPACK_CheckReport
GWPACK_RecyclingCaEvent
TAP Architecture > Interfaces > Gateway Pack
102
102
102
Gateway Pack – Architecture - Subscriptions
Subscriptions
GWPACK_
Order
GWPACK_
CancelRequest
WTX Maps
../xml_msg
$AAAHOME/aaa gwpackmercator (aaa subd…)
GWPACK_F2B_
Order.mmc
GWPACK_F2B_
CancelRequest.mmc
TAP Architecture > Interfaces > Gateway Pack
103
103
103
Subscription - Overview
 Subscription is a feature that facilitates monitored events and sends
event notifications whenever the predefined events occur.
TAP Architecture > Interfaces > Gateway Pack
Kind of events Information
Event
• Defined events are monitored and recorded to the “event” table.
• Each time an event or group of events is written to the “event” table, and
entry is recorded in an “event update” table.
• A Daemon Process polls the “event update” table. Matching events are sent
to a Gateway map before updating or deleting events from the “event” table
Example: Order Life Cycle – Transactions with a status “order” are
automatically sent through the subscription interface to an Order Management
System
Audit
• Defined events are monitored and recorded to the “audit” table.
• Data content is stored as a blob and contains all “before & after” values on
the entity
Example: Log all changes to user information (who? Time? Old/New value?
etc.)
104
104
104
Subscription - Event Architecture
Subscription Table
Event 1: Watch for Inserts on ExtOp Table
Event 2: Watch for Updates on ExtOp Table
Event 3: Watch for Deletes on ExtOp Table
Event Table
Event 1: Inserts on ExtOp Table
Event 2: Updates on ExtOp Table
Event 3: Deletes on ExtOp Table
GUI SRV IMP
Event Update Table
Date/Time of last Update
External Application
(swift, reuters, …)
1. At Start-up (aaa subd), the Subscription table is loaded into Memory
2. When event occurs an entry is inserted into the ‘Event Table’ (ET)
3. A Record is inserted into the ‘Event Updates’ Table
4. Subscription Daemon polls the ‘Event Updates’ Table
5. If record found, all new events read from ET
6. Data transformed in WTX & sent to defined destinations
7. Event Deleted from ET & Event Updates Table.
Possible Operation Status Update
1
2
3
4
5
6 6
7
Triple’A Daemon
WTX API
Triple’A
aaamaindb
7
TAP Architecture > Interfaces > Gateway Pack
105
105
105
Subscription - Audit Architecture
Subscription Table
Event 1: Watch for Inserts on ExtOp Table
Event 2: Watch for Updates on ExtOp Table
Event 3: Watch for Deletes on ExtOp Table
Audit Table
Event 1: Inserts on ExtOp Table
Event 2: Updates on ExtOp Table
Event 3: Deletes on ExtOp Table
GUI
SRV
IMP
1. At Start up, the Subscription is loaded into Memory
2. When an Event occurs, an insert is performed in the Audit Table
3. To Extract the data, the command “aaa AUDIT” must be executed
to send the data to WebSphere TX Extender
1 2
3
WTX API
aaa
AUDIT
TAP Architecture > Interfaces > Gateway Pack
106
106
106
Gateway PACK - Overview
 Main Goal:
 map XML files validated by the different XML schemas to Triple A Core
importation files.
 XML schemas group information into Functional views
 and not Entity views as it is in a Triple A Core importation file.
 Facilitates
 automated importation of Native Import Files where XML schemas are
not supported.
 Online and Batch interfacing
 Error Checking, Recycling, Archiving
TAP Architecture > Interfaces > Gateway Pack
107
107
107
Gateway PACK B2F – XML Online
TAP Architecture > Interfaces > Gateway Pack
1. XML Document arrives in /xml_online Directory
• Processed by Master Map which validate schema
and calls underlying map
• imported directly using libgatit
2. Output put file generated by Import Processed
• output_processed contains full output file
• output_report contains report of failures & stats
• output_xml xml representation of output_report
• statistics contains entity statistical data
• reload_output is failed records for recycling
3. Statistics updates Daily Global Statistics file with
• type & nature data
• SUC/ERR records
4. Recycling is a separate Daemon.
• The file containing only failed records resubmitted
• The output is sent to ProcessOutput
Gateway Adapter
(libgatit)
Online
GWPACK
_Master
_Online
/xml_online XML2TA_
Position
XML2TA_
FI
XML2TA_
Infra
XML2TA_
Client
XML2TA_
Transaction
ProcessOutput
Output Report File
/output_report
Output XML File
/output_xml
Output File
/output_processed
GWPACK_
ProcessOutput
Output Import File
/output
Recycling
Output File
/reload_output
Online Import File
/online_import
Daemon
Statistics
Statistics File
/statistic
GWPACK_
Statistic
Triple A
Core
Gateway Adapter
(libgatit)
108
108
108
Gateway PACK B2F – XML Batch
1. XML Document arrives in /xml_batch Directory
• processed by Master Map which validates the schema calls underlying map
• import file placed in /batch_import & processed by GWPACK_Import_Batch
2. Output put file generated by Import Processed
• output_processed contains full output file
• output_report contains report of failures & stats
• output_xml xml representation of output_report
• statistics contains entity statistical data
• reload_output is failed records for recycling
3. Statistics updates Daily Global Statistics file with
• type & nature data
• SUC/ERR records
4. Recycling is a separate Daemon.
• The file containing only failed records resubmitted
• The output is sent to ProcessOutput
TAP Architecture > Interfaces > Gateway Pack
Batch
GWPACK
_Master
_Batch
/xml_batch XML2TA_
Position
XML2TA_
FI
XML2TA_
Infra
XML2TA_
Client
XML2TA_
Transaction
Native Import
ProcessOutput
Output Report File
/output_report
Output XML File
/output_xml
Output File
/output_processed
GWPACK_
ProcessOutput
Output Import File
/output
Statistics
Statistics File
/statistic
GWPACK_
Statistic
Triple A Core
Import
Import File
/batch_import
GWPACK
_Import
_Batch
Recycling
Output File
/reload_output
Daemon
109
109
109
Gateway PACK B2F – Native Import File
1. Native Import File arrives in Directory
• Processed by specific ExtImport map which validates the schema and
• imports data
2. Output put file generated by Import Processed
• output_processed contains full output file
• output_report contains report of failures & stats
• output_xml xml representation of output_report
• statistics contains entity statistical data
• reload_output is failed records for recycling
3. Statistics updates Daily Global Statistics file with
• type & nature data
• SUC/ERR records
4. Recycling is a separate Daemon.
• The file containing only failed records resubmitted
• The output is sent to ProcessOutput
Gateway Adapter
(libgatit)
Online
GWPACK_Master_
ExtImport_Online
Import File
/extimport_online
ProcessOutput
Output Report File
/output_report
Output XML File
/output_xml
Output File
/output_processed
GWPACK_
ProcessOutput
Output Import File
/output
Triple A Core
Batch
GWPACK_Master_
ExtImport_Batch
Import File
/extimport_batch
GWPACK_
Import_Online
Import File
/online_import
GWPACK_
Import_Batch
Import File
/batch_import Native Import
Recycling
Output File
/reload_output
Daemon
Statistics
Statistics File
/statistic
GWPACK_
Statistic
1
1
2
3
4
TAP Architecture > Interfaces > Gateway Pack
110
110
110
Gateway PACK F2B – XML Online F2B
1. XML Document arrives in /xml_f2b Directory
• Processed by F2B specific XML2TA_F2B map which
validates the schema and
• imported directly using libgatit
2. Output put file generated by Import Processed
• output_processed contains full output file
• output_report contains report of failures & stats
• output_xml xml representation of output_report
• statistics contains entity statistical data
• reload_output is failed records for recycling
3. Statistics updates Daily Global Statistics file with
• type & nature data
• SUC/ERR records
4. Recycling is a separate Daemon.
• The file containing only failed records resubmitted
• The output is sent to ProcessOutput
Gateway Adapter
(libgatit)
ProcessOutput
Output Report File
/output_report
Output XML File
/output_xml
Output File
/output_processed
GWPACK_
ProcessOutput
Output Import File
/output
Recycling
Output File
/reload_output
Online Import File
/online_import
Daemon
Statistics
Statistics File
/statistic
GWPACK_
Statistic
Triple A Core
Gateway Adapter
(libgatit)
F2B
XML2TA_F2B
/xml_f2b
1
2
3
4
TAP Architecture > Interfaces > Gateway Pack
111
111
111
Quiz
 How many components does the Triple A Core
Gateway make up?
 In which table is an even inserted ?
 What is the purpose of Gateway Pack ?
TAP Architecture > Interfaces
112
112
112
Unit summary
 Native Triple A Core Import /Export
 Triple A Core Gateway
 Gateway Pack
TAP Architecture > Interfaces
113
113
113
Agenda
Web
4
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Reporting
5
References
6
Components –
Cocoon –
Design Studio –
114
114
114
Overview
Configuration
Files
WUI Cocoon Sitemap
WUI Cocoon Components Configuration (XCONF)
Cocoon Framework
Presentation
Framework
(Tag
libraries,
UDP,
Scope,…)
Tag
libraries
Business
(CRM
only)
properties
config
WUI Blocks
Design Studio
WUI Blocks
Manual
WUI Blocks
WUI
Block
Sitemaps
Menus,
Pages,Modules,
Css,Xsl
,Images
WUI Core
TAP Architecture > Web > Overview
Pageflow engine
Pflw-config
115
115
115
Cocoon
 Cocoon Framework
 Framework built around the Model–View–Controller (MVC) paradigm
 Implements this paradigm around the notion of component pipelines, each
component on the pipeline specializing on a particular operation
 WUI cocoon sitemap (sitemap.xmap)
 Core of WUI cocoon web application.
 Configuration of the different Cocoon components
 Definition of the client/server interactions in what Cocoon refers to pipelines
 WUI cocoon components configuration (cocoon.xconf)
 Specification of how the different Cocoon components interact with a given
request to produce a response.
 Defined by a Cocoon pipeline.
 A typical pipeline consists of a generator, followed by zero or more transformers,
and finally a serialization.
TAP Architecture > Web > Overview
116
116
116
WUI Core, Technical framework and Configuration files
 WUI Core
 Core of the Triple A Web application, classes implementation
 Configuration files
 Mostly xml files used for communication to third application (Triple A Core), data
sources settings, computations configuration (engines, data providers, …) and
interactions between components
 Tag libraries
 a set of tags packaged and distributed together to accomplish related tasks
without calling directly WUI core
 Odyssey Presentation Framework (OPF)
 a set of tags packaged and distributed together to display information
TAP Architecture > Web > Overview
117
117
117
WUI Blocks and Pageflow
 WUI Blocks
 Two kind of blocks : Design Studio WUI block files and Manual WUI block files.
 Access to the Pageflow engine and configuration files
 Customization consists in replacing the standard package by a customized
package.
 Package are created using Design Studio
 Pageflow
 Pageflow configuration file contains the list of states, transitions, and actions a
user can go through to perform a specific business task.
 Pageflow engine is a state machine and executes the requested transition from
it to another state, and returns the view URL associated with this state.
 Depending the context, the pageflow engine loads the appropriate configuration
file
TAP Architecture > Web > Overview
118
118
118
Agenda
Web
4
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Reporting
5
References
6
Overview –
Components –
Design Studio –
119
119
119
Apache Cocoon
 OCS WUI is based on the Apache Cocoon framework and as such
defines Cocoon pipelines and tag libraries.
 Apache Cocoon, usually just called Cocoon, is a web application
framework built around 3 main concepts.
 Pipeline
 Separation of concerns
 Component based web development
 The framework focuses on XML and XSLT publishing and is built
using the J2EE platform
 It allows rapid content publishing in a variety of formats including
HTML, PDF, WML, SVG…
TAP Architecture > Web > Cocoon
120
120
120
 Definition: Design Pattern that helps solve
some of the problems generated by defining
an approach to handling the relationships
among the data, application and presentation
Cocoon & Model View Controller (MVC)
Model
Controller
View
Check
model
state
Notification of
change in
model state
View Selection
Change
model
state
User Interactions
 Model: represents the data and the
fundamental business rules that
determine how the data can be
accessed and maintained
 View: manages the presentation of the
model. A model can have multiple
views
 Controller: picks up the user
interactions & converts those into
actions for the model to handle &
changes the view accordingly
TAP Architecture > Web > Cocoon
121
121
121
Apache Cocoon – Separation of Concerns (SoC)
 Management: refers to the decision makers, those who determine what
is going onto the site and how it should appear
 Logic: who are responsible for developing the code that accesses dbs,
encapsulates business rules
 Content: who are responsible for creating and owning the raw site
content
 Style: who are responsible for presenting the content, its look and feel
TAP Architecture > Web > Cocoon
Management
Logic Content Style
sitemap.xmap
Cocoon.xconf
XML
XSP
Taglibs
XSLT
CSS
Logicsheet
XSLT
Java
122
122
122
Cocoon Components Libraries
Pipeline Model - Overview
Client Cocoon
Http request
Cocoon:Sitemap Cocoon:Pipeline
Translate request
to pipeline
Select pipeline
Http response
WML
SVG
PDF
HMTL
Act Generate Transform
Transformer
Serialize
Serializer
Generator
Action
Request Response
SAX
SAX
Sitemap
TAP Architecture > Web > Cocoon
Generator: starting point for the pipeline (Content generation)
Transformer: transforms data flowing through the pipeline.
Serializer: serializes SAX events to byte/character stream.
123
123
123
Pipeline model – Content vs Data
 A pipeline consists of a chain of processing elements arranged so
that the output of each element is the input of the next
 The information that flows in these pipelines is often a stream
 succession of data elements made available over time
 XSP page  XML document containing tag-based directives that
specify how to generate dynamic content at request time.
 Most of WUI pages are XSPs
 Composed of tag libraries
 The templates are applied to the xsp page before the java compilation
TAP Architecture > Web > Cocoon
Generator ... Serializer
Transfor-
mer 1
Transfor-
mer 2
Transfor-
mer n
volume of information
content/presentation
124
124
124
Pipeline Model – Description
 Cocoon relies on the pipeline model: When a request is received,
Cocoon determines a pipeline in which the request will go through a
sequential chain of events to generate a response
 The pipeline and sequence is determined by url matching
 Cocoon main configuration file is called sitemap
 A pipeline is used to specify how the different Cocoon components
interact with a given request to produce a response.
 Every pipeline
 begins with a generator,
 continues with 0 or more transformers that transform data flowing
through the pipeline
 and ends with a serializer that serializes SAX events to
byte/character stream
TAP Architecture > Web > Cocoon
125
125
125
Apache Cocoon – pipeline – Generator
 The Web model is rather simple. One request,
one response! In Cocoon, the way the
response is constructed always starts with a
generator. XSP technology simply allows
writing generators in XML.
 The following diagram summarize the process
of turning an XSP page into a generator:
1. A request is received by Cocoon
and it determines, from the sitemap
configuration, that an XSP page
should serve it.
2. The first time or after any update in
the sources, Cocoon 2 must
compile the required XSP page,
involving the following steps:
3. Parsing the XSP document
4. Transforming the XSP page using a
dedicated XSLT style sheet, to
generate Java source code
5. Storing the resulting Java file, after
neatly indenting and formatting the
source using a code formatter
6. Compiling the source into a
Generator
7. Loading and executing the compiled
Generator within the request
pipeline
TAP Architecture > Web > Cocoon
my.xsp
my_xsp.java
my_xsp.class
XSLT
ServerPages
Generator
Transformer
Serializer
XSP
Compile
Pipeline
Pipeline
request
126
126
126
XSP definition
 Definition: eXtensible Server Page is a XML based language, which
offers the possibility of dynamically arranged Java code into XML
documents
 Developed for the Web Publishing Framework Cocoon
 The focus of XSP is the separation of content, logic and
presentation.
 XSP pages are transformed into Cocoon producers, typically as
Java classes
TAP Architecture > Web > Components
127
127
127
Sitemap concepts
 The sitemap is at the core of Cocoon
 Location where the web developer
 configures the different Cocoon components,
 defines the client/server interactions in what Cocoon refers to as the pipelines.
 Used to resolve requests for resources:
 Matches requests to a set of processing commands inside a pipeline
 Can also contain links to sub sitemaps that configure specific parts
of the application
 The sitemap files are then used to indicate
 How WUI pages can be found in the OCS file architecture when an action is performed.
TAP Architecture > Web > Cocoon
128
128
128
Agenda
Web
4
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Reporting
5
References
6
Overview –
Cocoon –
Design Studio –
129
129
129
Overview
 The Odyssey Presentation Framework (OPF) contains general user
interface components.
TAP Architecture > Web > Components
Interface Description
Presentation
Layer called in TAP Uniform Data Presentation
managing the display of data (tag libraries and
XML transformation)
Menu to create a multi-language & secured menus
Multi-profile to handle the different WUI user profiles
Scope
to ensure consistent variable management
across the whole application
User preferences user choices as language, time zone,...
130
130
130
Presentation – Uniform Data Presentation (UDP) definition
 Generic presentation layer which mainly deals with
 data acquisition,
 data transformation and
 data output.
 Supports the table models returned by the Triple Service Layer
 Data is manipulated in the same way, irrespective of the system
that generated it.
 This layer implements the filtering, formatting, parsing, pagination,
grouping, aggregation and sorting algorithms only once for all the
data.
 Further more functions like displaying columns in the correct order,
computing new columns on the fly, computing aggregated group
values,… are managed with this tag library.
TAP Architecture > Web > Components
131
131
131
Presentation – Tag library definition
 The term "taglib" comes from JSP, which inspired XSP.
 An XSP logic sheet is a "tag library" in the sense that it defines a set
of custom XML tags which can be used within an XSP program to
insert whole blocks of code into the file.
 Cocoon comes with several pre-defined "taglibs", such as the
request taglib.
 Two kind of tag libraries are used in TAP Web application:
 "render"/"format" portion of document: xgui taglib, udp taglib, xbuild taglib, cdmcomp taglib,
etc.
 "talk" to the Odyssey back-end components (also called “business”): Contact taglib
TAP Architecture > Web > Components
132
132
132
Presentation – XGUI definition
 Core presentation tag library that permits to define the content of a
page
 Used on top of the presentation layer to generate a displayable
page: XML Description of a user interface screen
 All WUI pages are described with XGUI
 Uniform usage of widget across complete application
 Uniform rendering of these widgets
 Uniform behavior of these widgets
 XGUI library generates optimized HTML code and several UI widgets are
available.
TAP Architecture > Web > Components
133
133
133
Menu – ACL definition
 The User Interface (UIF) as part of the PF is responsible for the
handling of the menu functionality
 Menus are defined in xml document and un-marshalled by UIF once
per user session after a page is requested
 Menus are reloaded if the user changes his WUI profile during his
session
 The menu xml definition language is enriched with an optional
security attribute acl (Access Control List)
 When building the menu hierarchy for the user, the acl is checked
against the configured OTF security domain (security-domain defined in
the RootMenu.xml file)
• If the user is not authorized to access this resource, the menu will
be disabled
 The security check prevails on all enabling mechanism
TAP Architecture > Web > Components
134
134
134
Multi-profile
 WUI implements the Multi-profiles strategy. A profile is implemented
for business purpose.
 The default packaging provides 4 different profiles
• Default
• RelationshipManager
• PortfolioManagerForT24
 In a WUI Block, each profile corresponds to a specific folder located
in /oams-profiles folder
 Profiles might be organized hierarchically: it is possible to have
profiles having the same parent profile
TAP Architecture > Web > Components
135
135
135
Scope – Definition
 The UIF-Context module provides the necessary infrastructure to
manage scoped variables
 This mechanism is similar to the Cocoon action-set concept to
execute Java code before the request is processed
 Principle
 To hold variables across multiple requests and to pass information
along through components (such as XSP pages), Web applications
written in Java use the session object.
 UIF-Context module extends this mechanism by providing the scope
object
TAP Architecture > Web > Components
136
136
136
Scope – Lifetime and hierarchy
 There are four different scopes implemented by UIF-Context
TAP Architecture > Web > Components
Scope Description
User
• Lifetime equivalent to the user’s session lifetime.
• A UserScope variable is accessible from any activity/page/module level until the
user logs out or the user session expires
Activity
• Accessible when the requested URLs point to the same business activity.
• One ActivityScope is created per accessed business activity.
• UserScope variables must be used to share information among distinct activities.
• Changing of activity does not invalidate the other ActivityScopes, so the user can
come back to a previously used activity and continue working in the same
context.
Page
• Remains valid as long as the same page is requested
• It is used for implementing HTML form round-trips or when changing the output
format of a page
• Pageflows use the PageScope as a "pageflow scope"
Module
• Same lifetime validity as PageScope but variables are visible inside the module
only.
137
137
137
Pageflows
 A pageflow defines the flow of control for a set
of pages that execute within a web application
 It is represented by a connected graph.
 Pageflow Graph: eq. to State Diagram.
• Defines the sequence of states and transitions
between states i.e. navigational representation of
a pageflow.
 State: Specific status of business task being
performed. Must be unique within the graph
 Transition: Operation the user can do from a
specific state of the pageflow
 Process: Business action executed when a
transition is navigated. 2 types: Standard &
Validation Process
 Redirector: Choice point implemented by the
result of the last executed process
 View: Page to be displayed to the user on a
pageflow state
Pageflow Graph
TAP Architecture > Web > Components
138
138
138
Page layout
 A WUI page is organized as follows:
WUI Page
Header
Body
Company /
Product logo
Primary navigation bar Dock items User info
Toolbar / Global commands
Domain Context
Summary View
Detailed View
Second navigation bar
Footer
 Horizontal navigation
• Pageflow based
 Body
• Domain context with
autocomplete search
• Synchronized Summary &
Detailed views
• Personalization allowing to
display/hide columns, sort
information
TAP Architecture > Web > Components
139
139
139
User Preferences component
 The chosen language, time zone, and current user profile are stored
in Triple A Core database
 Since R11, they have been extended to include persistence of
 column selection
 column order and
 sorting options in tables.
 They apply on all type of WUI page output (HTML, XLS, PDF)
TAP Architecture > Web > Components
140
140
140
Agenda
Web
4
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Reporting
5
References
6
Overview –
Components –
Cocoon –
141
141
141
Introduction
 Design Studio is an IDE workbench with a number of features
specifically designed to support building and maintaining the Web
front-end of Triple’A Plus
 Based on Eclipse,
 Follows the OMG Model Driven Architecture (MDA Approach
 Generates technical artifacts (XSP, Java Code, XML configuration files)
 Includes the following designers:
 Domain designer to represent the business objects manipulated by the
other designers
 Page, module and page fragment designers to graphically configure the
Web User Interface, and create reusable page building blocks
 Page Flow designer to assemble pages in a logical and guided flow
 Business rule designer to easily specify the rules used in page flow and
workflow transitions, but also for validation or specific computations
TAP Architecture > Web > Design Studio
142
142
142
Design Studio vs Cocoon
 Design Studio and Cocoon follow the MVC paradigm
 With Design Studio,
 Controller are Pageflow (PMS) and Pageflow/Workflow (CRM)
 Model are datasets
 View are Pages, Modules and Fragments
TAP Architecture > Web > Design Studio
143
143
143
Configuration and Designers
 Design Studio is enhanced to fully support PM&A and PG functions
and integration with T’A Core
 Configuration:
 Workspace Configuration is simplified
 New Server view to deploy the models projects on the application
server or Embedded Server
 Domain Designer allows to
 manage new domain entities like Business Type
 manage dataset like a class
 with the pms-model project:
• import T’A Formats & Meta dictionary
• manage new User Defined Entities to create in Triple’A
• manage TAP API (remoting infrastructure available in the next release)
TAP Architecture > Web > Design Studio
144
144
144
Designers and Other
 Page/Module/Fragment Designer allows to
 Design complex tables with grouping, sorting, aggregation, …
capabilities
 Design matrices
 Include hand coded xsps
 Menu Designer allows to
 Manage menu and entry point to the pageflow
 Security menu (ACL)
TAP Architecture > Web > Design Studio
145
145
145
Functionalities
 Dependencies Management:
 Design Studio embarks the Maven plugin for Eclipse to manage the project
dependencies and libraries’ versions
 A local repository of the libraries in use in the WUI is created when installing
Design Studio
 The models & templates projects contain a maven configuration file (pom.xml)
that defines also their output artifact (jar, war, ear, …)
 Collaborative Work:
 Multi-user collaboration on DS is possible as Design Studio includes a
Subversion (SVN) client, allowing the typical check-out and check-in team
operations to a central Subversion server.
TAP Architecture > Web > Design Studio
146
146
146
Templates
 Templates:
 Design Studio proposes several types of templates project to support
the customization and cover the development lifecycle
 customization workspace templates model to generate all the projects
structure to allow creating
• WUI blocks (incl. menus, activities, modules, patches)
• WUI libraries
• WUI processes
 An Embedded Server template model to create a light http server
where the generated artifact of your model project will be deployed
 A customization packager template model to create the final
customization package to be deployed on an external environment
TAP Architecture > Web > Design Studio
147
147
147
Quiz
 What is the name of the Cocoon configuration file?
 What is the concept allowing to secure the WUI menu ?
 What is the procedure to create a WUI customized package?
TAP Architecture > Web
148
148
148
Unit summary
 Architecture of the presentation layer
 Cocoon and WUI
 Design Studio
TAP Architecture > Web
149
149
149
Agenda
Reporting
5
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Web
4
References
6
150
150
150
Reporting Architecture and Features
GUI
WUI
Custom
Batch Tool
(Java API)
Application Server
AWSC-SOAP
API
Actuate
Server
Standard Reports
OFC
Services Report
DB
AAA_RS JAVA
On Demand
Batch Service
Triple’A
Server
Main
DB
Rep
DB
On Demand
Reporting Manager
TAP Architecture > Reporting
Custom
Batch Tool
(TSL Client)
TASC
API
API
(TASC / OData)
151
151
151
Reporting Features – Description
 The main features of Reporting with Live!Reports are:
 Creating reports from existing TAP Core financial functions.
 Online reporting from the WUI / API and GUI. PDF previews are
possible.
 Batch reporting with Report Launcher or AAA_RS Java batch service.
 The on-demand reporting can be launched from
 the GUI through the AAA_RS Java or
 the WUI / API through TAP components such as Job-Launcher and
Reporting Manager.
 The batch reporting can be produced using the AAA_RS Java
Batch Service.
TAP Architecture > Reporting
152
152
152
On-line reporting from the WUI
TAP Architecture > Reporting
153
153
153
On-line reporting from the WUI – Description
 In Triple’A Plus, all available reports rely on Triple’A Plus Core
financial functions, which implement extended parameters for
publication mode or output setup.
 Triple’A Plus Reporting supports
 tiled mode (the output is composed of a single report with a separate
section for each portfolio) and
 burst mode (the output is composed of a separate report for each
portfolio).
 From the WUI, the Portfolio Manager (PM) can run an on-line
business report to obtain a hardcopy of the financial statement.
 The PM runs the report from a financial function and provides a set of
parameters that define the report's context.
TAP Architecture > Reporting
154
154
154
TSL Reporting FlowService
 Triple’A Plus Reporting consists of a customizable and extensible
reporting architecture that generates online reports from the Triple'A
Plus Web User Interface (WUI).
 The main components of this solution are:
 The TSL reporting flow service: The WUI will call this service to start
the report generation.
 The Reporting Manager that manages the reporting pipeline: validation
and default values, service execution, report generation, and finally
report storage.
 The Report BPI job tsl-live-reporting-job.xml that is responsible to run
reporting generation sub-job asynchronously and in parallel
TAP Architecture > Reporting
155
155
155
TSL Reporting FlowService
TSL
ExecuteReportingFlowService
BPI Job
tsl-live-reporting-job
Actuate
Birt
iServer
YourReport.ROI
WUI
ReportingContext
pageflow
Triple’A
Main DB
Triple’A
Server
JCR Content
Repository
Reporting
DB
1. Report generation is managed by the ReportContext
pageflow which invokes the ExecuteReportingFlowService
2. The ExecuteReportingFlowService starts the
BPI job tsl-live-reporting-job
3. The tsl-live-reporting-job is responsible to call
the Actuate Birt iServer
4. Actuate iServer executes the report
5. The report executes the financial
functions required to fill the report
content via stored procedures
defined in the aaamaindb
6. The financial function result is stored in
the aaarepdb
7. Actuate returns the PDF report to the
tsl-live-reporting-job
8. The pdf report is stored in the content
repository
TAP Architecture > Reporting
156
156
156
Quiz
 How many user reporting interfaces are available
in TA+?
 What are the main difference between
the “on-demand reporting” through the GUI and the WUI?
TAP Architecture > Reporting
157
157
157
Unit summary
 What are the different way to perform a reporting
 Focus on the online report using the GUI and the WUI
TAP Architecture > Reporting
158
158
158
Agenda
References
6
Learning Objectives
1
TAP Architecture >
Administration
2
Interfaces
3
Web
4
Reporting
5
159
159
159
TAP Architecture > References
References
 TAPWeb_TSL_OperatingGuide
 TAPWeb_CDM_UserGuide
 TAPWeb_ReportLauncher_UserGuide
 TAPReporting_TechnicalGuide
 GatewayPack_TechnicalGuide
 TAPWeb_CDM_ConfigurationGuide
 TAPCore_SystemManagement_Guide
 TAP_Advanced_CustomisationGuide
Thank You

More Related Content

Similar to TAP Temenos Transact Architecture in detail

Csi Forms 261108
Csi Forms 261108Csi Forms 261108
Csi Forms 261108Nick Davis
 
OFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGOFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGsatish_kumar646
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration Tauhidul Islam
 
05. sap architecture final and os concepts (1)
05. sap architecture  final and os concepts (1)05. sap architecture  final and os concepts (1)
05. sap architecture final and os concepts (1)Tarek Hossain Chowdhury
 
AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9Cyril Hanquez
 
Oracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationOracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationMozammel Hoque
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01Argos
 
dokumen.tips_sap-basis-ppt.ppt
dokumen.tips_sap-basis-ppt.pptdokumen.tips_sap-basis-ppt.ppt
dokumen.tips_sap-basis-ppt.pptGanesh313811
 
F5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 Networks
 
Peteris Arajs - Where is my data
Peteris Arajs - Where is my dataPeteris Arajs - Where is my data
Peteris Arajs - Where is my dataAndrejs Vorobjovs
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power CenterEdureka!
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseDell World
 
Sap basis administrator user guide
Sap basis administrator   user guideSap basis administrator   user guide
Sap basis administrator user guidePoguttuezhiniVP
 
Informix warehouse and accelerator overview
Informix warehouse and accelerator overviewInformix warehouse and accelerator overview
Informix warehouse and accelerator overviewKeshav Murthy
 
AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16AppDynamics
 

Similar to TAP Temenos Transact Architecture in detail (20)

SAP
SAPSAP
SAP
 
Csi Forms 261108
Csi Forms 261108Csi Forms 261108
Csi Forms 261108
 
OFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAININGOFF SHORE RECRUITER TRAINING
OFF SHORE RECRUITER TRAINING
 
Sap Process Integration
Sap Process Integration Sap Process Integration
Sap Process Integration
 
05. sap architecture final and os concepts (1)
05. sap architecture  final and os concepts (1)05. sap architecture  final and os concepts (1)
05. sap architecture final and os concepts (1)
 
AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9AUG Belgium - Introduction to ColdFusion 9
AUG Belgium - Introduction to ColdFusion 9
 
Oracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System AdministrationOracle EBS R12.2 - Deployment and System Administration
Oracle EBS R12.2 - Deployment and System Administration
 
Alfresco Architecture
Alfresco ArchitectureAlfresco Architecture
Alfresco Architecture
 
Tyco IS Oracle Apps Support Project
Tyco IS Oracle Apps Support ProjectTyco IS Oracle Apps Support Project
Tyco IS Oracle Apps Support Project
 
Census Bureau PBOCS
Census Bureau PBOCSCensus Bureau PBOCS
Census Bureau PBOCS
 
SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01SAP performance testing & engineering courseware v01
SAP performance testing & engineering courseware v01
 
dokumen.tips_sap-basis-ppt.ppt
dokumen.tips_sap-basis-ppt.pptdokumen.tips_sap-basis-ppt.ppt
dokumen.tips_sap-basis-ppt.ppt
 
F5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer PresentationF5 9.x to 10.x Upgrade Customer Presentation
F5 9.x to 10.x Upgrade Customer Presentation
 
Peteris Arajs - Where is my data
Peteris Arajs - Where is my dataPeteris Arajs - Where is my data
Peteris Arajs - Where is my data
 
Management in Informatica Power Center
Management in Informatica Power CenterManagement in Informatica Power Center
Management in Informatica Power Center
 
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready EnterpriseRe-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
Re-Architect Your Legacy Environment To Enable An Agile, Future-Ready Enterprise
 
Mohamed Tawila CV
Mohamed Tawila CVMohamed Tawila CV
Mohamed Tawila CV
 
Sap basis administrator user guide
Sap basis administrator   user guideSap basis administrator   user guide
Sap basis administrator user guide
 
Informix warehouse and accelerator overview
Informix warehouse and accelerator overviewInformix warehouse and accelerator overview
Informix warehouse and accelerator overview
 
AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16AppDynamics Administration - AppSphere16
AppDynamics Administration - AppSphere16
 

Recently uploaded

WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform EngineeringMarcus Vechiato
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxFIDO Alliance
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهMohamed Sweelam
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxMasterG
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdfMuhammad Subhan
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)Wonjun Hwang
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 

Recently uploaded (20)

WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 

TAP Temenos Transact Architecture in detail

  • 3. 3 3 3 Learning Objectives Presentation of the TAP architecture in details Understand the different layer making up the application TAP Architecture >
  • 4. 4 4 4 General outline Toilets Fire Exit Mobile Phones and “chat” Messages Lunch Schedule for all days Start 09:15am Morning break 10:45am Lunch 12:15pm Afternoon break 03:15pm End 05:15pm TAP Architecture > Learning Objectives
  • 5. 5 5 5 Agenda Administration 2 Learning Objectives 1 TAP Architecture > Interfaces 3 Web 4 Reporting 5 References 6 Specifications – Security – Databases –
  • 6. 6 6 6 Overview Triple’A Plus  Triple’A Plus is a multi-layer architecture solution : WUI Presentation Layer GUI Application Layer Persistence Layer Integration Layer Business Components Computation Engines RDBMS Gateway Design Studio TAP Temenos Solution Third Party Solution Report Designer Reporting Platform Document Repository Back Office / Legacy Web Chart Engine API Mobile Layer Tablet Temenos Connect TCIB TAP Architecture > Administration > Technical overview
  • 7. 7 7 7 Presentation Layer  Several interfaces compose the presentation layer:  GUI: A thick-client/server based Administration console for business infrastructure information (currently being migrated to the WUI)  WUI: The Web User Interface (WUI) provides a unique access point to end-user product features, using customizable HTML pages and Ajax Web 2.0 interactive elements • Design Studio is the tool to adapt/customize the WUI front end.  API: The main implementation used is OData. It provides a unique access point to manage TAP data • Design Studio is the tool to adapt/customize the OData access. TAP Architecture > Administration > Technical overview
  • 8. 8 8 8 Presentation Layer  Other interfaces based on edgeConnect technology  TAPTablet is the first application available on mobile device. This application is fully oriented Relationship manager  TCIB stands for Temenos Connect Internet Banking. This application offers on-line access to core banking functions and wealth functions  Third Party applications & libraries enrich the presentation layer:  Web Chart: Domo PopChart renders charts in several image types  Report Designer: default reports are accessible from the WUI/GUI. • Actuate eDesigner is the tool to adapt/customize the report definition TAP Architecture > Administration > Technical overview
  • 9. 9 9 9 Application Layer  The application layer is composed by:  Java Business Components: Covering all the business aspects and functionalities of the WUI • Each business module of the WUI is backed with its own java business components  A set of Java services (also called Java Façade) offering access to all the user interface features to be integrated into a Service-Oriented Architecture or a Web portal  Triple’A financial computation engine  Third Party applications & libraries enriching the application layer:  Reporting (Actuate Server) and Business Intelligence Platform TAP Architecture > Administration > Technical overview
  • 10. 10 10 10 Persistence Layer  The persistence layer operates with a central database where permanent data, operational and computed, used by the Triple’A Plus components is stored  Several databases hold the Triple’A+ Data  Triple’A database supports TSL extensions  Additional tables & table fields added to support user preferences, meta-dictionary changes,…  JackRabbit - A document repository:  T’A+ integrates via new interfaces document repositories with as implementation example the JackRabbit open source solution  Actuate Reports can be stored and indexed since R11 in JackRabbit TAP Architecture > Administration > Technical overview
  • 11. 11 11 11 Integration Layer  As a front/middle-office banking solution, T’A+TM offers a wide range of interfaces to integrate the solution with the banks legacy systems  Gateway / Gateway Pack: allows enterprise data management, batch/xml import & exports  Back office interfaces with T24, Olympic, Avaloq,  Generic interfaces to integrate with other legacy systems  iMDI interfaces to gather external data sources (Reuters, Bloomberg,…) TAP Architecture > Administration > Technical overview
  • 12. 12 12 12 Business components  A Portfolio Management System (PMS)  Back to Frond functions (Analysis, Return, Performance,…)  Front to Back functions (Ordering, Rebalancing,… )  Simulation function (Proposal Generator)  Administration (Strategy and Constraint)  Alerts, Monitoring and Notifications  A Reporting System  Reporting database  Client module (Live!Report) installed on the Thick-Client  Repository (Live!Report) deployed within the Report server (Encyclopedia in Actuate)  Design Studio (based on Eclipse) to perform any customization of the application  on business side ( Web pages, business models and configuration)  on technical side ( J2EE server configuration, TAP configuration) TAP Architecture > Administration > Technical overview
  • 13. 13 13 13 Technical components* Legacy System Application layer TAP Core Servers Interface layer Gateway / Gateway Pack / TTI Presentation layer Web Chart Server Reporting WUI/API Persistent layer RDBMS aaarepdb permtsldb temptsldb aaamaindb aaalogindb ocsmaindb prmmaindb External Document Repository GUI Tablet / TCIB edgeConnect API DSTAP TSL Client API J2EE Server PMS PRM / / WUI API Tablet TCIB Report * CRM not described as in maintenance mode TAP Architecture > Administration > Technical overview
  • 14. 14 14 14 Supported Platforms in R14 Description Technical version J2EE application server IBM WebSphere Application Server 7.0 Oracle WebLogic Server 11g JBoss EAP 6 (OCS imp 2 only) 7.0.0.29 10.3.6 6.2 Database Management System Sybase ASE 15.7 15.7.SP103 Operating system IBM AIX 6.1 or 7.1 Solaris 10 (SUN SPARC or Fujitsu SPARC64) Windows 2008 / 2012 Server Red Hat Enterprise Linux 6.4 Client applications Internet Explorer IE 9.0, IE 10, IE 11 Firefox 27 Flash and Acrobat Reader plug-ins Windows XP, 7, 8.1 for the GUI TAP Architecture > Administration > Technical overview
  • 15. 15 15 15 Third Party Products Required  Sybase Adaptive Server Enterprise  Sybase Open Server (Triple’A PMS only)  Java 6  Websphere application server or Oracle Weblogic  IBM Websphere TX 8.3  Actuate BIRT iServer 11  Domo PopChart Server 7 Optional  Portfolio Risk Module (Fincell)  RenderX (Unicode & RTL languages) TAP Architecture > Administration > Technical overview
  • 16. 16 16 16 TAP Release management  TAP is made of Major release and Hotfixes  Depending on the Temenos product management strategy, we may have between 2 to 4 release per year  Usually a release is delivery in the end of a quarter  Marketing version (R14) differs of Technical version (8.0)  Some example TAP Release TAP version DSTAP version R13 7.0.01 8.0.0 R14.03 7.1.01 9.0.01 R14.08 8.0.0 9.0.04 TAP Architecture > Administration > Technical overview
  • 17. 17 17 17 Agenda Administration 2 Learning Objectives 1 TAP Architecture > Interfaces 3 Web 4 Reporting 5 References 6 Overview – Security – Databases –
  • 18. 18 18 18 Preamble  The chapter is a focus on the PMS and CRM part of the application  Topics presented:  Triple A Core Servers and databases  Triple A Service Layer and Job Launcher  Triple A Web server and databases  Overview of the installation framework to deploy Triple A Plus TAP Architecture > Administration > Specifications
  • 19. 19 19 19 Triple A Core Server – Main characteristics  Executes functions on request from other programs  Accessible through Sybase stored procedures  Business content defined by user format  Developed in C/C++ language  Based on Sybase Open Server libraries  Multi-threaded  Multi-purpose: it can have different roles  Several instances of this program can run simultaneously (in theory no limitation on the number of instances) TAP Architecture > Administration > Specifications
  • 20. 20 20 20 Triple A Core Servers – Roles  Four different roles  Financial: Computation based on the application & domain parameters, and on the formats script definitions Can be Multiple  Fusion: Fusion of the portfolios Can be Multiple  Dispatch: Dispatch fusion and report preparation to other servers Must be Unique  Report: Prepare the data required for the reports Can be Multiple  A Triple A Core server can have more than one role TAP Architecture > Administration > Specifications
  • 21. 21 21 21 Triple A Core databases – Description Product Database Default name Contents Notes Triple A Core Login aaalogindb Information defining the environments (database, financial servers) available to the user This database is defined by the environment variable AAALOGINDB Main aaamaindb Permanent data used by the software containing all PMS data It is the most important database in term of size Report aaarepdeb Data used by the reporting system, mainly temporary Reports are stored in it TAP Architecture > Administration > Specifications
  • 22. 22 22 22 Triple A Service Layer – Presentation  Triple A Service Layer (TSL) is an infrastructure introduced in R11and replaces TASC (Triple A Smart Component) available in the previous release (1.30.6 and above)  TSL infrastructure consists in the following components:  TSL Core: • TSL business data package (Triple A Core formats, screens, etc.) • TSL databases and objects • TSL and TASC (Triple A Smart Component) financial server services  TSL Web: • TSL application server services • TSL batch job launcher (otf-shell command tool) TAP Architecture > Administration > Specifications
  • 23. 23 23 23 Triple A Service Layer – General infrastructure T’A+ Core Databases TSL T’A Core Financial Server Services Layer shell command TSL cmd Web Application Layer Services Layer Meta Dictionary Data PCK: - Formats - Screens Static DB Volatile DB TAP Architecture > Administration > Specifications
  • 24. 24 24 24 Triple A Service Layer – Features and databases  Features:  Optimizes as much as possible the number of calls to the financial servers & to the database server  Decreases the volume of data transferred between clients & servers  Persists the computed data directly in the TSL db: data persisted is used as global & local cache  Databases: TAP Architecture > Administration > Specifications Product Database Default name Contents Notes Triple A Service Layer Permanent permtsldb Data loaded during the nightly batch (precomputed data) Also called “static database”. Life of all objects can be until 24 hours depending the Business requirements Temporary temptsldb Data loaded during the activity on the system Also called “volatile database”. Short life of all objects
  • 25. 25 25 25 Triple A Service Layer – Flow Server Side Application Layer Financial Servers TSL Data Layer Triple’A aaamaindb Triple’A tsldb Presentation Layer UDP WUI TSL Financial function 30 rows Done ! 30 rows Client Request 30 rows Show me the operation history TAP Architecture > Administration > Specifications
  • 26. 26 26 26 Triple A Service Layer – Global/Local cache concept WUI Application server TSL temptsldb Fmt3 Fmt2 Fmt1 OTF shell External scheduler (*) If pre-computation jobs defined aaamaindb Create private transient table (*) Check availability of pre-computation Paginate respecting sort order (*) Copy results and domain information Submit RPC for missing data permtsldb X format Y format Z format Append results and domain information Financial server Pre-computation periodical refresh (*) Submit financial function RPC (*) Store pre-computation TAP Architecture > Administration > Specifications
  • 27. 27 27 27 Triple A Service Layer – Vertical search mechanism WUI Ajax auto-complete WUI Search pattern vs_instrument id sqlname_c language_code pattern instrument id code name … denom denomination EN FR DE tasc_accent_conv from_char to_char <meta-dict tables> <meta-dict tables> <meta-dict tables> fill_tables_for_search where pattern like … where pattern like … TAP Architecture > Administration > Specifications
  • 28. 28 28 28 Triple A Service Layer – Rule based engine Dispatch Server thread tasc_global_recomp_obj tasc_entity_recomp_obj tasc_search_recomp_obj <Triple’A Plus Entity> <Triple’A Plus Entity> <Triple’A Plus Entity> <Triple’A Plus Entity> object_modif_stat data_dependency TSL Extensions Vertical search Global cache <user defined table> External system External feed <meta-dict tables> <meta-dict tables> <meta-dict tables> Scheduler tasks TAP Architecture > Administration > Specifications
  • 29. 29 29 29 Job Launcher – Description  It is a component designed to execute in a synchronous or asynchronous way jobs from other components.  JobLauncher gives its clients the ability to launch jobs that will load, process, transform, send or store data.  Principle: a job instance is structured into job executions Pre JobExecution Main JobExecution 1 … Main JobExecution n Post JobExecution Split up the job into parallelizable chunk of work. 0-1 instance Perform the core work Merge the chunks into 1 part TAP Architecture > Administration > Specifications
  • 30. 30 30 30 Job Launcher – Overview otf-shell VM Job Launcher Batch Manager Batch Definition Loader JobConfiguration Mapper JobType Selector JobLauncher ControlService Facade Parameters & Batch id Application Server WUI Pageflow Monitoring WUI JobInstances JobLauncher ControlerService JobInstance Executor … JobInstance Executor PreJob Domain Loader Data Slicer JobLauncher Monitoring Monitoring Console db PreJob Domain Loader Data Slicer SubJob chunk PostJob Sub Job Sub Job PostJob Sub Job Sub Job SubJob chunk SubJob chunk SubJob chunk SubJob chunk SubJob chunk TAP Architecture > Administration > Specifications
  • 31. 31 31 31 Design Studio Server and Databases J2EE Server Java components dependencies Business Models TAP Architecture > Administration > Specifications
  • 32. 32 32 32 Formats & Functions Entities TSL Business Services / Functional Architecture Services API Business Functions Design Studio Triple’A domain Import Generic Triple’A Entities Access Domain Datasets Based on TSL / Triple’A Meta-Dictionary TSL Extended T’A Meta-Dictionary Entities Structure Enumerations Translations + Formats / Elements Domain Datasets Based on Triple’A Formats and Domain AAA Main Database PMS Data Entities access: Data management (CRUD, Completion, Validation, Entity search) Business functions: Initialization, Execution and persist result, Data Read aggregate Results TAP Architecture > Administration > Specifications
  • 33. 33 33 33 Flow data access architecture Configuration through Design Studio WUI Process OData Action Spring FMK Abstract Process Flow Service TAP OData Producer OData FMK references Remoting Datasets Annotation Structure TAP Core Entity and Function View maps contains contains Remoting BO BO Datasets Structure Client OData Call HTTP uses uses Uses uses Databases Services (IV, DV, IC, Search…) TASC API Call HTTP TAP Core Entity and Function View maps Core Server uses uses references calls WUI Pageflow WUI Browser Call HTTP uses specific cases AAA Datasets Structure uses uses TAP Core Entity and Function View maps TAP Architecture > Administration > Specifications GUI Client TDS
  • 34. 34 34 34 Flow data access architecture – explanation  On Web side, whichever the case is executed, the data collected from TAP Core servers or the database passes though the Services Layer embedded in the Flow Service implementation  WUI  Data displayed are managed throughout datasets (“AAA Datasets”) and Business processes (also called WUI processes)  Processes are implemented in a transition of a pageflow  API with OData implementation  Data displayed are managed throughout datasets (“Remoting datasets”) and the chains are declared in the annotations of the datasets  A chain is a group of actions therefore a chain defined the behavior of the OData call (TAP OData Producer)  API with TASC implementation  Data displayed are managed throughout datasets (“BO datasets”) and the “Remote BO” services call directly either the Flow Engine or the Service Layer TAP Architecture > Web > Components
  • 35. 35 35 35 TAP Client module  TSL Client  As from R13, TSL Client replaces the Formatted Data Extractor (FDX) and TASC-Driver tools that were used in OCS 1.30.6 but were no longer supported in Release 11 and Release 12.  The TSL Client is a combination of Java classes that extracts data from TAP. TSL components are used by the TSL Client to provide high performance extraction of the data. The definition of the data to extract is expressed by input files that are mainly in XML format TAP Architecture > Administration > Specifications
  • 36. 36 36 36 Triple A Web – J2EE Server  The J2EE server manages:  The rendering to the front-end  The PMS business functions  Business components deployed are:  PMS modules (Valuation, Ordering, Rebalancing, Strategies…)  PG is a module that provides Relationship Managers with the ability to prepare and send active trading advice to their clients.  Reporting is a technical feature allowing the reporting of portfolios for any clients.  Other transversal modules such as Monitoring, Queries, Alerts,… TAP Architecture > Administration > Specifications
  • 37. 37 37 37 Triple A Web – Database  The default name of the Triple A Web database is ocsmaindb  This database is still available to continue to support the CRM part (Client Data Management system) now under maintenance  This database is used to store the Audit trail running in the J2EE server TAP Architecture > Administration > Specifications
  • 38. 38 38 38 Deployment – Triple A Core and Service Layer  Triple A Core and Triple A Service Layer are based on the same installation framework.  This installation framework is made up of 3 parts:  A dedicated script called “install_aaa_files.sh” to copy all shell and SQL scripts, binaries, libraries and configuration files into the Runtime folder.  A central file called “aaa_install.cfg” contains the Core and TSL databases definition. This configuration file is loaded by the framework only during an installation or a migration of the system  A dedicated script called “install_ddl.sh” to manage the database objects deployment (procedure, views, tables,…) TAP Architecture > Administration > Specifications
  • 39. 39 39 39 Deployment – Triple A Web  Triple A Web deployment is based on the Deployment Package Installer (DPI) mechanism but also implements the maven features.  This installation framework is composed of 3 modules:  The environment is built based on information defined in the all-in-one.dpi.properties file. This file is loaded by the UpdateInstaller.jar file when installing/migrating/refreshing the system  A zip file containing the release and the maven repository  The packager concept allowing the construction of the customization package is including in Design Studio TAP Architecture > Administration > Specifications
  • 40. 40 40 40 Quiz  How many layer does Triple A Plus make up ?  What is the purpose of TSL databases ?  What are the functionalities of the Triple A Core server having the Dispatch role? TAP Architecture > Administration > Specifications
  • 41. 41 41 41 Agenda Administration 2 Learning Objectives 1 TAP Architecture > Interfaces 3 Web 4 Reporting 5 References 6 Technical overview – Specifications – Databases –
  • 42. 42 42 42 Preamble TAP Architecture > Administration > Security  Triple A Plus security defers on the frond end used (GUI and WUI) Core TSL Web Authentication based on the Sybase security N/A based on JAAS Authorization based of the application (Profile) N/A based on the application (user, roles and/or profiles
  • 43. 43 43 43 TAP Core functions Overview* Authentication layer Authorization layer PMS database WUI/API third_party GUI appl_user Data Profile Function Security Profile Business Functions Valuation Operation History 1 1 1 WUI/API manager Menu Functions Reports Report Profile Screen Profile Orders … 1 * CRM not described TAP Architecture > Administration > Security
  • 44. 44 44 44 Overview with the CRM solution Authentication layer Authorization layer CRM database PMS database CDM user WUI manager/ third_party GUI user GCL Data Profile Function Security Profile 1 1 1 1 n 1 n TAP Core functions Business Functions Menu Functions Reports Report Profile Screen Profile Valuation Operation History Orders … TAP Architecture > Administration > Security
  • 45. 45 45 45 Authentication layer – Connection description from the GUI GUI master aaalogindb aaamaindb TAP Architecture > Administration > Security User & Password defined in syslogins 1 Check if User/Password is valid. (step done by the login “aaa_login_manager”) User defined in client_connect and sysusers User defined in appl_user and sysusers Check if the user is linked to a TAP Core server Check if the user can open the GUI (Is it a active user?) 2 3 User authenticated
  • 46. 46 46 46 Authentication layer – GUI or isql/Triple’A servers  The authentication mechanism is based on the Sybase security framework.  To connect to Triple’A Core System, a user is defined in several places:  User is defined in the PMS main database, “appl_user” table.  User is defined in the PMS login database, “client_connect” table.  User is defined in each “sysusers” (Sybase User) table of each Triple’A Core databases.  User is defined in the Sybase Master database, “syslogins” table  The password is only stored in the Sybase Master database, “syslogins” table TAP Architecture > Administration > Security
  • 47. 47 47 47 Authentication layer – Connection description from the WUI – Realm AAA TAP Architecture > Administration > Security WUI J A A S O T F - S e c u r i t y I m p l e m e n t a t i o n master aaamaindb J2EE Server code defined in managers, appl_user & third_party WUI Flag activated Databases JAAS login module directs the authentication request to OTF Otf-security.xml is read to know the realm (security manager) Authenticated if user/password is valid using OTF (third_party in aaamaindb) Authenticated if user/password is valid using OTF( manager in aaamaindb) 1 2 3a 3b R12
  • 48. 48 48 48 Authentication layer – Connection description from the WUI – Realm CDM TAP Architecture > Administration > Security WUI J A A S O T F - S e c u r i t y I m p l e m e n t a t i o n ocsmaindb aaamaindb J2EE Server code defined in managers & appl_user code defined in gcl_users Databases Security service directs the authentication request to OTF Otf-security.xml is read to know the realm (security manager) Authenticated if user/password is valid using GCL (gcl_user in ocsmaindb) Know the code to use in aaamaindb based on URI defined in shared privilege field in GCL 1 2 3 4
  • 49. 49 49 49 Authentication layer – Connection description from the WUI – SSO TAP Architecture > Administration > Security WUI J A A S O T F - S e c u r i t y I m p l e m e n t a t i o n ocsmaindb aaamaindb J2EE Server code defined in managers & appl_user code defined in gcl_users Databases Security service directs the authentication request to the LDAP (SSO) Depending the implementation (Full deployment or Only PMS), associated privileges to the user are loaded 1 2 LDAP SSO SSO with CRM (CDM) requires a specific customisation
  • 50. 50 50 50 Authentication layer - WUI or RMI/Soap connection - 1  The authentication mechanism depends on the implementation.  There is 3 possible implementations:  If the CRM part is deployed (e.g. CDM), the system is based of the CDM security. User and Password are stored in the Web database (ocsmaindb, “gcl_user” table).  If the CRM part is NOT deployed, the system is based of the AAA security. User and Password are stored in the Core database (aaamaindb, “manager” table)  External security system (e.g. LDAP), the system is customized and the User and Password are stored in the external security system TAP Architecture > Administration > Security
  • 51. 51 51 51 Authentication layer - WUI or RMI/Soap connection - 2  In TAP-Web, the framework managing the security is called Odyssey Technical Framework (OTF).  The security concept is divided in 3 categories:  Realm • Responsible for the authentication • Manage users, group & roles  Domain • Responsible for the authorization • Manages resources, control attributes (e.g. select, create, update, delete) and access control lists  Security Manager • Centralizes all access to Realms and Domains • Application developer’s interface TAP Architecture > Administration > Security
  • 52. 52 52 52 Authorization Layer - GUI or isql/Triple A Core servers  Any action to the Core and TSL databases are performed through the stored procedures and views. All stored procedures and views are protected by a Sybase group.  A Sybase group provides a convenient way to grant and revoke permissions to more than one user.  The Triple A Core and TSL databases are based on two groups: • triplea • tasc_tech  Any GUI/isql user must belong to the group “triplea”  The “tasc_tech” group is reserved for the technical user called “tasclogin” TAP Architecture > Administration > Security
  • 53. 53 53 53 Authorization Layer -– Multiple technical users  Starting from R12, several TAP Web instances connected to the same TAP Core instance is supported  Here we will have 3 different TASCLOGIN  “eurotasclogin”, “asiatasclogin” and “batchtasclogin*  Theses users will belong to the Sybase group “tasc_tech”  These users will be defined in the aaa_install.cfg file as below: TAP Web R12 Europe TAP Web R12 Asia TAP Core R12 Batch TAP Web R12 # User_Name Default_Database Environ_Name Client_Machine Appl_Owner Server_Name Group TECHNICAL U BATCHTASCLOGIN the_aaamaindb theEnv UNDEFINED <NO> FinServer tasc_tech <YES> U EUROTASCLOGIN the_aaamaindb theEnv UNDEFINED <NO> FinServer tasc_tech <NO> U ASIATASCLOGIN the_aaamaindb theEnv UNDEFINED <NO> FinServer tasc_tech <NO> TAP Architecture > Administration > Security
  • 54. 54 54 54 Data Profile Format Profile Report Profile Print Profile Additional Data Security Profile Function Security Profile Language User Data Security Profile Authorization layer – PMS system is based on profile TAP Architecture > Administration > Security GUI WUI Data Security Profile 1 1 1 Manager Screen Profile
  • 55. 55 55 55 Authorization layer – Manager Vs Third-part access TAP Architecture > Administration > Security Data Security Profile Screen Profile Function Security Profile User WUI Manager WUI Third Party 1 Manager Third Party 1 1 1 Additional Data Security Profile
  • 56. 56 56 56 Authorization layer – PMS Profile description  Profiles are used to manage access to data, functions, formats, screens and reports.  Defining profiles is a task for the Administrators of Triple A Core because it is part of the security management functionality.  Users defined in Triple A Core:  must be assigned to the following: • Data Security Profile: controls access to data • Function Security Profile: controls access to functions • Format Profile: controls access to formats  can also be linked to the following: • Screen Profile: controls access to screens • Report Profile: controls access to reports • Printer Profile: controls access to printers TAP Architecture > Administration > Security
  • 57. 57 57 57 Authorization layer – PMS data access  All data are secured through a DSP (Data Security Profile)  Starting from R12, two DSP are available per user called Data Security Profile and Additional Data Security Profile  Purpose  Used to define a fine-grained security TAP Architecture > Administration > Security Manager DP (DSP1-A, DSP2-Gen) Client DP (DSP2-A, DSP1-Instr) DSP1-A DSP2-A DSP2-Gen DSP1-Instr PTF1 PTF2 Instr-A Instr-X Instr-Y PTF3
  • 58. 58 58 58 Authorization layer – PMS business functions  All business functions are also secured  This security is applied through the function security profile.  Example: the end-user starts a valuation. By executing this business function, the system checks if the user has the rights. TAP Architecture > Administration > Security
  • 59. 59 59 59 Authorization layer – PMS business profile  This concept is only valid for the WUI  This functionality allows to display to a WUI user (manager or client) different menus and web pages.  The technical attribute is “wui_profile_e” Manager table Client table (third_party) • Default • RelationshipManager • MarketingOfficer • FinancialAnalyst • Developer • CdmSo • PmAdmin • RetailManager • Audit • Admin • PortfolioManagerForT24 • Default • Client TAP Architecture > Administration > Security
  • 60. 60 60 60 Quiz  What are the difference between the PMS and CRM on the Authentication part using the WUI?  Same question but on the authorization part using the WUI? TAP Architecture > Administration > Security
  • 61. 61 61 61 Agenda Administration 2 Learning Objectives 1 TAP Architecture > Interfaces 3 Web 4 Reporting 5 References 6 Technical overview – Specifications – Security –
  • 62. 62 62 62 Data Layer Triple’A PlusTM – database accesses overview Core DB Web DB TSL DB temptsldb aaamainb aaarepdb aaalogindb GUI J2EE Server Gateway Native Import Export Triple’A Servers Admin Scripts isql WUI TAP Architecture > Administration > Databases Admin Scripts Otf-shell permtsldb ocsmaindb
  • 63. 63 63 63 Databases description Databases Default name Contents Core Login aaalogindb Information defining the environments (database, financial servers) available to the user Main aaamaindb PMS database. Contains the meta-dictionary and all business entities (including the PMS security) Report aaarepdb Data used by the reporting system, mainly temporary Service Layer Permanent permtsldb The objects deployed in this database are pre- computed values and business extended entities Volatile temptsldb Objects with short life span Web Ocs ocsmaindb CRM database. Contains CRM business entities (including CRM security) and report data for mass reporting. TAP Architecture > Administration > Databases
  • 64. 64 64 64 Triple A Core – PMS database  PMS database is composed of tables for different purposes TAP Architecture > Administration > Databases Tables Prefix Description Meta-Dictionary dict_ Tables containing the description of the application. All objects like entities (physical and logical) are described with their attributes, permitted values, translations,…) xd_ Tables describing the meta-dictionary User Defined Attributes ud_ Tables dedicated for the customisation. Some entities might be customized by adding a new fields in a ud_table PMS infrastructure N/A Core data model (infrastructure tables, backbone tables, Triple’A Core specifics tables)
  • 65. 65 65 65 Triple A Service Layer – Permanent database  Permanent database is composed of tables for different purposes Tables Prefix Description Infrastructure N/A Job launcher, configuration Entity extended attributes x_ Fields are mainly intended for the WUI dashboard and pre-defined queries Vertical search vs_ Ajax implementation. Automatic completion left to right Pattern search ps_ Ajax implementation. Automatic complementation based on a pattern. Not yes implemented. CRM publication cdmq_ TCM and CDM tables filled by the TSL publication process Global Cache Format Name Tables containing data pre-computed. One table per format. TAP Architecture > Administration > Databases
  • 66. 66 66 66 Core and TSL data model – Logical vs Physical TAP Architecture > Administration > Databases Logical Model (Meta dictionary or Abstract objects) Database Server = Physical Model GUI Client Triple’A Server Report Client Triple’A Gateway Import Client Export Client Other modules WUI PMS
  • 67. 67 67 67 PMS Core data model Infrastructure Currency Geographic Third Party Manager Sector Rating Type F&T Convention Calendar … Triple’A Specific List Format Domain Document Report Scenario Notepad Strategy Accounting Plan … Backbone Portfolio Execution Ext Order Operation Position Balance Position Instrument TAP Architecture > Administration > Databases
  • 68. 68 68 68 PMS Core data model example = operation Buy Sell Income Invest. ... Fee Extended Operation position Logical View Physical View balance position ud_operation operation TAP Architecture > Administration > Databases
  • 69. 69 69 69 Meta-dictionary overview Message Attribute Permitted Value Datatype Entity Language Label TAP Architecture > Administration > Databases
  • 70. 70 70 70 Meta-Dictionary – Description – Main tables  dict_entity & dict_attribute tables contains:  The description of all tables and the attributes of the data model (instruments, ud_instruments, x_instruments, v_instruments,…)  dict_perm contains all permitted values (statuses, natures of instruments,…)  dict_type are the datatype used by the application (amount_t, type_t, flag_t,enum_t,…)  dict_label are the name visible using the GUI/WUI (menus, functions,…) TAP Architecture > Administration > Databases
  • 71. 71 71 71 Data configuration  In TAP Core, the concept of SQL User Data is available to offer the possibility to customize a set of attribute in the system like  System parameter  Permitted value  Attribute  …  The main purposes of these files are:  Persisting the User Change in the database  Guaranteeing the consistency of the system  Keeping the customizations during any upgrade of the system TAP Architecture > Administration > Databases
  • 72. 72 72 72 Database customization – Concepts  Most Triple A Plus logical entities are customizable: this allows to add easily new attributes to the database model to cater to any business requirements.  On the Core database (PMS database), the customization is performed through the User Defined (UD) Attribute concept  On the TSL databases, it is the extension attribute associated to a PMS entity.  On the Web database (CRM database), it is the extension table concept excepted for CDM (blob object) TAP Architecture > Administration > Databases
  • 73. 73 73 73 Database customization – PMS part  User Defined Attribute entity (PMS database):  Extended Attributes (TSL Permanent database) : TAP Architecture > Administration > Databases id code … 1 PTF_1 2 PTF_2 3 PTF_3 ud_id ud_new_field … 1 xyz 2 NULL 3 abcd portfolio table ud_portfolio table id code … 1 PTF_1 2 PTF_2 3 PTF_3 portfolio table in aaamaindb x_portfolio table in permtsldb x_id x_ptf_cur … 1 EUR 2 EUR 3 EUR
  • 74. 74 74 74 Database customization – User defined Entities  As from R12 is supported the concept of user-defined entities (UDEs)  UDE provides an extension of the standard data model with a new entity.  These custom entities are managed like standard ones. This includes: • Administration in the GUI. • Data importation through Triple'A Plus Core interface processing. • Back-end services accessed from the WUI  Modelling and creation has to be done through Design Studio  Definition of this new entity (including business and primary keys)  All permitted values and flag attributes completely described.  Label describing the database structure (entity, attributes,…)  At the end, DS generates a TAP Core native import file ready for a load into TAP Core meta dictionary TAP Architecture > Administration > Databases
  • 75. 75 75 75 Database customization – DDL Generator  A new Data Definition Language Generator has been developing to have a uniform management of all entities in TAP Core  Generated files are stored in AAA_HOME/ddl/src (stored procedures : *.psc / views: *.vsc files) Meta Data Custom Meta Data T’A Meta Dict Database Table, Triggers, Indexes, Constraints, Foreign keys, Views, Stored Procedures Metadict Definition dict_entity, dict_attribute, … DDL Generator Tool (RPC) TAP Architecture > Administration > Databases
  • 76. 76 76 76  Triple’A Plus secure objects may offer a view over several entities.  From the onset, each major entity has been associated with a second entity (1:1 relationship) that is a container for user defined fields.  Since R11, through its Triple’A Service Layer (TSL), brings the extended entity attributes (aka computed attributes)  These fields (or attribute in relational terms) belong to a table stored in a separate database to that of the base entity and the UD table of an entity, the TSL permanent database PMS database – Secured Object Base entity Secure object Entity User-defined attributes Entity Extended attributes aaamaindb permtsldb TAP Architecture > Administration > Databases
  • 77. 77 77 77 Extended attributes are data computed  Only some of entities (e.g., portfolios, third parties, etc.) have extended attributes.  All extended attributes are computed attributes defined through formats (computed during night batches executed through TSL)  Based on the parent-child inheritance principle, extensions are computed by formats at the child level and stored in a format at the parent level  The parent format contains empty formats elements defining the computed attributes  The child format must return to the parent one result and never a set TAP Architecture > Administration > Databases
  • 78. 78 78 78 Extended attributes are based on formats Parent Format defining computed attributes Child Format Computed Attribute 1 Child Format Computed Attribute 2 Child Format Computed Attribute N-1 Child Format Computed Attribute N TAP Architecture > Administration > Databases
  • 79. 79 79 79 TSL Extensions Calculation Extended attributes – Computation mechanism Base entity Secure object UD attributes Extended attributes Extended attributes One to one attributes mapping Parent Format SQL Format 1 Child Format n Child Format 1 One result returned TAP Architecture > Administration > Databases
  • 80. 80 80 80 Quiz  Does a direct access between the FS and TSL databases?  What are the different concepts to customize the TA+ data model?  What is the purpose of the DDL generator tool? TAP Architecture > Administration > Databases
  • 81. 81 81 81 Unit summary  Triple A Plus global architecture  Focus on security concepts  Focus on the databases (access, how to customize, objects) TAP Architecture > Administration
  • 82. 82 82 82 Agenda Interfaces 3 Learning Objectives 1 TAP Architecture > Administration 2 Web 4 Reporting 5 References 6 Native mode – Core gateway – Gateway Pack –
  • 83. 83 83 83 Gateway Architecture WTX Maps Back Office Order Management System Swift WTX Components Triple’A Components Triple’A Gateway Adapter Subscription Audit Batch Imp/Exp AAA Native Format Core Type Trees Tiers Type Trees DB & Application Adapters (Sybase, Oracle, DB2, Swift etc) Messaging Middleware (Tibco, MQ, BEA etc Communications (FTP, HTTP, eMail, etc…)
  • 84. 84 84 84 Import / Export Gateway Overview  Standardized interfaces and data layouts to facilitate data flow in and out of Triple A Plus  Automated tools built on IBM’s Websphere TX technology.  Import  Ability to insert, update & delete configuration and user data in Triple A by • Calling batch Import tools from the command line • Accessing Online Import Adapter from WTX  Export  Ability to export configuration and user data by • Calling batch Export tools from the command line  Subscription  Event Driven Interface to • Trigger data to other systems via WTX • Fulfil System Audit Requirements TAP Architecture > Interfaces > Technical overview
  • 85. 85 85 85 Gateway PACK – Overview Schema View Triple A Core Native Import File Import/Gatit transform CMD INSERT currency ATT code name geographic DAT USD "US dollar" US DAT CHF "Swiss franc" CH TAP Architecture > Interfaces > Technical overview
  • 86. 86 86 86 Gateway PACK – Description  The Architecture contains five entry points for loading data into Triple A Core  XML – Online Mode – Back to Front  XML – Batch Mode – Back to Front  XML – Online Mode – Front to Back  Native Import File – Batch Mode  Native Import File – Online Mode  Online Mode is using the Gateway Adapter for importing data into Triple A Core  Batch Mode uses the Native Import mechanism even if the incoming source is an XML file TAP Architecture > Interfaces > Technical overview
  • 87. 87 87 87 Agenda Interfaces 3 Learning Objectives 1 TAP Architecture > Administration 2 Web 4 Reporting 5 References 6 Technical overview – Core gateway – Gateway Pack –
  • 88. 88 88 88 Batch Import REM Definition of currency’s SET QUOTE ' SET ESCAPE SET SEPARATOR ; SET DECIMAL , SET THOUSAND . SET DATAFORMAT DELIMITED CMD INSUPD currency ATT code name denom DAT EUR;Euro;Euro $AAAHOME/aaa imp –Uaaa -Pxxxxxx < currency.imp # aaa imp –Uaaa –Pxxxxxx < currency.imp MSG AAAHOME is /oft/aaa/current MSG Executing /oft/aaa/current/bin/AIX/aaa_imp –Uaaa MSG aaa, luxrs51, 2008/11/18 11:21:19, <stdin>:0 : opening <stdin> SET QUOTE ‘ SET SEPARATOR ; SET DECIMAL , SET THOUSAND . SET DATAFORMAT DELIMITED CMD INSUPD currency ATT code name denom SUC EUR;Euro;Euro MSG aaa, luxrs51, 2008/11/18 11:21:19, <stdin>:9 : closing <stdin> aaamaindb TAP Architecture > Interfaces > Native mode
  • 89. 89 89 89 Batch Export SET QUOTE ' SET SEPARATOR ; SET DECIMAL . SET THOUSAND , SET DATAFORMAT DELIMITED SET DATEFORMAT DD/MM/YYYY SET HEADER NO CMD EXPORT currency ATT 'code':<code_t> ATT 'name':<name_t> ATT 'denom':<info_t> $AAAHOME/aaa imp –Uaaa -Pxxxxxx –MExpTripleA < currency.exp # aaa imp –Uaaa –Pxxxxxx –MExpTripleA < currency.exp MSG AAAHOME is /oft/aaa/current MSG Executing /oft/aaa/current/bin/AIX/aaa_imp –Uaaa CHF;Swiss Franc;Swiss Franc EUR;Euro;Euro GBP;Sterling;Sterling USD;US Dollar;US Dollar ATS;Austrian Schilling; Austrian Schilling; aaamaindb TAP Architecture > Interfaces > Native mode
  • 90. 90 90 90 Agenda Interfaces 3 Learning Objectives 1 TAP Architecture > Administration 2 Web 4 Reporting 5 References 6 Technical overview – Native mode – Gateway Pack –
  • 91. 91 91 91  A DLL (Windows) or Shared Library (Unix) which provides a mechanism  to import into Triple’A  to export data from Triple’A Gateway (Application) Adapter WTX File of Records Gateway Application Adapter Mapped Data Errors Online Interface Triple’A Mapped Data Output of imp/exp Output of imp/exp TAP Architecture > Interfaces > Gateway
  • 92. 92 92 92  Components are:  libgatit.so – Application adapter  libolit.so – Online Interface  rolitd – RPC Server facilitating communication between libgatit and libolit  librolit.so – RPC Client library that communicates with rolitd  aaa_rolit.sh – Shell Script used to launch rolitd Gateway composition libgatit.so Application adapter WTX Launcher Process Batch Imp/Exp Batch Imp/Exp rolitd RPC Server libolit.so T’A Online interface RPC Layer aaamaindb librolit.so aaa_rolit.sh TAP Architecture > Interfaces > Gateway
  • 93. 93 93 93 IBM Websphere Transformation eXtender  What  A transaction-oriented Data Integration Solution. (Enterprise Application Integration Product).  Composed of • A client-based design environment (Windows) • Several server-based execution options (Unix and Windows)  Components  Maps (*.mmc) • Executable Component which performs Data Transformation and Routing • Typetrees are the Format Definition of data source/destination  Command Server • Provides a command-driven capability for the execution of maps.  Event Launcher • Provides a real-time, event-driven model for executing maps and systems of maps • System (*.msl): Collection of Maps to be run within an Event Launcher TAP Architecture > Interfaces > Gateway
  • 94. 94 94 94 IBM Websphere TX - Map Environment Configuration Triple’A Native Import WTX Map (*.mmc) Inbound Typetrees Transformation Rules Outbound Typetrees Currency Format Configuration File Format Log File Triple’A Native Import Format Back-Office via MQ Import Log TAP Architecture > Interfaces > Gateway
  • 95. 95 95 95 IBM Websphere TX - Command Server $AAAHOME/aaa mercator GWPACK_HostComp.mmc -IF1 BackOfficePositions.imp -OF1 HostComp.txt Ascential DataStage(TM) TX Solaris(TM) Command Server - version 7.5(119_1_ec68907) Copyright (c) 2004 Ascential Software Corporation. Map file: /GWPACK/maps/GWPACK_HostComp.mmc -IF1 BackOfficePositions.imp -OF1 HostComp.txt In # 1: 20358 Out # 1: 5358 Time: 0:00 Map completed (0): Map completed successfully (0.609 seconds) TAP Architecture > Interfaces > Gateway WTX Map (*.mmc) Inbound Typetrees Transformation Rules Outbound Typetrees Currency Format Configuration File Format Log File Triple’A Native Import Format Back-Office via MQ Import Log
  • 96. 96 96 96 IBM Websphere TX - Event Launcher TAP Architecture > Interfaces > Gateway System #1: Back Office Data Map: Positions Data System #2: Order Management System Map: Order Cancellation Map: Update Triple’A
  • 97. 97 97 97 Agenda Interfaces 3 Learning Objectives 1 TAP Architecture > Administration 2 Web 4 Reporting 5 References 6 Technical overview – Native mode – Core gateway –
  • 98. 98 98 98 Overview  Provides  Functional XML Schema’s to facilitate ease of Integration  Automated mechanisms for complete Interface Management • Importing & Exporting Data • Online and Batch Modes • Error Management Recycling Reporting • Statistics • A Control Menu  Functionally Composed of two parts  Back-to-Front (B2F) for loading Back-Office data into Triple A Core for initial load and daily updates  Front-to-Back (F2B) for feeding an Order Management System with Order Instructions generated in Triple A Core TAP Architecture > Interfaces > Gateway Pack
  • 99. 99 99 99 Gateway Pack – Architecture Overview  Built on IBM Websphere TX Technology  Files are:  WTX Event Systems and Maps  Shell Scripts  Triple A Core Subscriptions  Processes  Launcher monitors incoming data into the Gateway Pack structure and automatically executes the appropriate WTX maps.  Rolit imports data into Triple A Core when running an online importation  Subscription monitors subscription events in Triple A Core  Recycling restarts the importation of output files containing errors. TAP Architecture > Interfaces > Gateway Pack
  • 100. 100 100 100 Gateway Pack – Systems  Defined Systems are split by Functional Interface Requirements  During Implementation systems which are not required should be removed from the Event Launcher  GWPACK.msl  Back-to-Front Interface Maps  GWPACK_F2B.msl  Front-to-Back Interface Maps for Securities Order Management.  GWPACK_F2B_MM_FX.msl  Front-to-Back Interface Maps for Money Market and Foreign Exchange Order Management.  GWPACK_iMDI.msl  Interface Maps for “Intelligent Market Data Interface.” TAP Architecture > Interfaces > Gateway Pack
  • 101. 101 101 101 Gateway Pack – Architecture - Launcher GWPACK.msl GWPACK_Master_ Online GWPACK_Import_ Batch GWPACK_ProcessOutput GWPACK_Master_ ExtImport_Batch GWPACK_Master_ ExtImport_Online GWPACK_Master_ Batch GWPACK_Import_ Online GWPACK_Statistic GWPACK_CheckAudit GWPACK_Log GWPACK_F2B_MM_FX.msl XML2TA_F2B_MM_FX GWPACK_F2B.msl XML2TA_F2B GWPACK_iMDI.msl GWPACK_CheckReport GWPACK_RecyclingCaEvent TAP Architecture > Interfaces > Gateway Pack
  • 102. 102 102 102 Gateway Pack – Architecture - Subscriptions Subscriptions GWPACK_ Order GWPACK_ CancelRequest WTX Maps ../xml_msg $AAAHOME/aaa gwpackmercator (aaa subd…) GWPACK_F2B_ Order.mmc GWPACK_F2B_ CancelRequest.mmc TAP Architecture > Interfaces > Gateway Pack
  • 103. 103 103 103 Subscription - Overview  Subscription is a feature that facilitates monitored events and sends event notifications whenever the predefined events occur. TAP Architecture > Interfaces > Gateway Pack Kind of events Information Event • Defined events are monitored and recorded to the “event” table. • Each time an event or group of events is written to the “event” table, and entry is recorded in an “event update” table. • A Daemon Process polls the “event update” table. Matching events are sent to a Gateway map before updating or deleting events from the “event” table Example: Order Life Cycle – Transactions with a status “order” are automatically sent through the subscription interface to an Order Management System Audit • Defined events are monitored and recorded to the “audit” table. • Data content is stored as a blob and contains all “before & after” values on the entity Example: Log all changes to user information (who? Time? Old/New value? etc.)
  • 104. 104 104 104 Subscription - Event Architecture Subscription Table Event 1: Watch for Inserts on ExtOp Table Event 2: Watch for Updates on ExtOp Table Event 3: Watch for Deletes on ExtOp Table Event Table Event 1: Inserts on ExtOp Table Event 2: Updates on ExtOp Table Event 3: Deletes on ExtOp Table GUI SRV IMP Event Update Table Date/Time of last Update External Application (swift, reuters, …) 1. At Start-up (aaa subd), the Subscription table is loaded into Memory 2. When event occurs an entry is inserted into the ‘Event Table’ (ET) 3. A Record is inserted into the ‘Event Updates’ Table 4. Subscription Daemon polls the ‘Event Updates’ Table 5. If record found, all new events read from ET 6. Data transformed in WTX & sent to defined destinations 7. Event Deleted from ET & Event Updates Table. Possible Operation Status Update 1 2 3 4 5 6 6 7 Triple’A Daemon WTX API Triple’A aaamaindb 7 TAP Architecture > Interfaces > Gateway Pack
  • 105. 105 105 105 Subscription - Audit Architecture Subscription Table Event 1: Watch for Inserts on ExtOp Table Event 2: Watch for Updates on ExtOp Table Event 3: Watch for Deletes on ExtOp Table Audit Table Event 1: Inserts on ExtOp Table Event 2: Updates on ExtOp Table Event 3: Deletes on ExtOp Table GUI SRV IMP 1. At Start up, the Subscription is loaded into Memory 2. When an Event occurs, an insert is performed in the Audit Table 3. To Extract the data, the command “aaa AUDIT” must be executed to send the data to WebSphere TX Extender 1 2 3 WTX API aaa AUDIT TAP Architecture > Interfaces > Gateway Pack
  • 106. 106 106 106 Gateway PACK - Overview  Main Goal:  map XML files validated by the different XML schemas to Triple A Core importation files.  XML schemas group information into Functional views  and not Entity views as it is in a Triple A Core importation file.  Facilitates  automated importation of Native Import Files where XML schemas are not supported.  Online and Batch interfacing  Error Checking, Recycling, Archiving TAP Architecture > Interfaces > Gateway Pack
  • 107. 107 107 107 Gateway PACK B2F – XML Online TAP Architecture > Interfaces > Gateway Pack 1. XML Document arrives in /xml_online Directory • Processed by Master Map which validate schema and calls underlying map • imported directly using libgatit 2. Output put file generated by Import Processed • output_processed contains full output file • output_report contains report of failures & stats • output_xml xml representation of output_report • statistics contains entity statistical data • reload_output is failed records for recycling 3. Statistics updates Daily Global Statistics file with • type & nature data • SUC/ERR records 4. Recycling is a separate Daemon. • The file containing only failed records resubmitted • The output is sent to ProcessOutput Gateway Adapter (libgatit) Online GWPACK _Master _Online /xml_online XML2TA_ Position XML2TA_ FI XML2TA_ Infra XML2TA_ Client XML2TA_ Transaction ProcessOutput Output Report File /output_report Output XML File /output_xml Output File /output_processed GWPACK_ ProcessOutput Output Import File /output Recycling Output File /reload_output Online Import File /online_import Daemon Statistics Statistics File /statistic GWPACK_ Statistic Triple A Core Gateway Adapter (libgatit)
  • 108. 108 108 108 Gateway PACK B2F – XML Batch 1. XML Document arrives in /xml_batch Directory • processed by Master Map which validates the schema calls underlying map • import file placed in /batch_import & processed by GWPACK_Import_Batch 2. Output put file generated by Import Processed • output_processed contains full output file • output_report contains report of failures & stats • output_xml xml representation of output_report • statistics contains entity statistical data • reload_output is failed records for recycling 3. Statistics updates Daily Global Statistics file with • type & nature data • SUC/ERR records 4. Recycling is a separate Daemon. • The file containing only failed records resubmitted • The output is sent to ProcessOutput TAP Architecture > Interfaces > Gateway Pack Batch GWPACK _Master _Batch /xml_batch XML2TA_ Position XML2TA_ FI XML2TA_ Infra XML2TA_ Client XML2TA_ Transaction Native Import ProcessOutput Output Report File /output_report Output XML File /output_xml Output File /output_processed GWPACK_ ProcessOutput Output Import File /output Statistics Statistics File /statistic GWPACK_ Statistic Triple A Core Import Import File /batch_import GWPACK _Import _Batch Recycling Output File /reload_output Daemon
  • 109. 109 109 109 Gateway PACK B2F – Native Import File 1. Native Import File arrives in Directory • Processed by specific ExtImport map which validates the schema and • imports data 2. Output put file generated by Import Processed • output_processed contains full output file • output_report contains report of failures & stats • output_xml xml representation of output_report • statistics contains entity statistical data • reload_output is failed records for recycling 3. Statistics updates Daily Global Statistics file with • type & nature data • SUC/ERR records 4. Recycling is a separate Daemon. • The file containing only failed records resubmitted • The output is sent to ProcessOutput Gateway Adapter (libgatit) Online GWPACK_Master_ ExtImport_Online Import File /extimport_online ProcessOutput Output Report File /output_report Output XML File /output_xml Output File /output_processed GWPACK_ ProcessOutput Output Import File /output Triple A Core Batch GWPACK_Master_ ExtImport_Batch Import File /extimport_batch GWPACK_ Import_Online Import File /online_import GWPACK_ Import_Batch Import File /batch_import Native Import Recycling Output File /reload_output Daemon Statistics Statistics File /statistic GWPACK_ Statistic 1 1 2 3 4 TAP Architecture > Interfaces > Gateway Pack
  • 110. 110 110 110 Gateway PACK F2B – XML Online F2B 1. XML Document arrives in /xml_f2b Directory • Processed by F2B specific XML2TA_F2B map which validates the schema and • imported directly using libgatit 2. Output put file generated by Import Processed • output_processed contains full output file • output_report contains report of failures & stats • output_xml xml representation of output_report • statistics contains entity statistical data • reload_output is failed records for recycling 3. Statistics updates Daily Global Statistics file with • type & nature data • SUC/ERR records 4. Recycling is a separate Daemon. • The file containing only failed records resubmitted • The output is sent to ProcessOutput Gateway Adapter (libgatit) ProcessOutput Output Report File /output_report Output XML File /output_xml Output File /output_processed GWPACK_ ProcessOutput Output Import File /output Recycling Output File /reload_output Online Import File /online_import Daemon Statistics Statistics File /statistic GWPACK_ Statistic Triple A Core Gateway Adapter (libgatit) F2B XML2TA_F2B /xml_f2b 1 2 3 4 TAP Architecture > Interfaces > Gateway Pack
  • 111. 111 111 111 Quiz  How many components does the Triple A Core Gateway make up?  In which table is an even inserted ?  What is the purpose of Gateway Pack ? TAP Architecture > Interfaces
  • 112. 112 112 112 Unit summary  Native Triple A Core Import /Export  Triple A Core Gateway  Gateway Pack TAP Architecture > Interfaces
  • 113. 113 113 113 Agenda Web 4 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Reporting 5 References 6 Components – Cocoon – Design Studio –
  • 114. 114 114 114 Overview Configuration Files WUI Cocoon Sitemap WUI Cocoon Components Configuration (XCONF) Cocoon Framework Presentation Framework (Tag libraries, UDP, Scope,…) Tag libraries Business (CRM only) properties config WUI Blocks Design Studio WUI Blocks Manual WUI Blocks WUI Block Sitemaps Menus, Pages,Modules, Css,Xsl ,Images WUI Core TAP Architecture > Web > Overview Pageflow engine Pflw-config
  • 115. 115 115 115 Cocoon  Cocoon Framework  Framework built around the Model–View–Controller (MVC) paradigm  Implements this paradigm around the notion of component pipelines, each component on the pipeline specializing on a particular operation  WUI cocoon sitemap (sitemap.xmap)  Core of WUI cocoon web application.  Configuration of the different Cocoon components  Definition of the client/server interactions in what Cocoon refers to pipelines  WUI cocoon components configuration (cocoon.xconf)  Specification of how the different Cocoon components interact with a given request to produce a response.  Defined by a Cocoon pipeline.  A typical pipeline consists of a generator, followed by zero or more transformers, and finally a serialization. TAP Architecture > Web > Overview
  • 116. 116 116 116 WUI Core, Technical framework and Configuration files  WUI Core  Core of the Triple A Web application, classes implementation  Configuration files  Mostly xml files used for communication to third application (Triple A Core), data sources settings, computations configuration (engines, data providers, …) and interactions between components  Tag libraries  a set of tags packaged and distributed together to accomplish related tasks without calling directly WUI core  Odyssey Presentation Framework (OPF)  a set of tags packaged and distributed together to display information TAP Architecture > Web > Overview
  • 117. 117 117 117 WUI Blocks and Pageflow  WUI Blocks  Two kind of blocks : Design Studio WUI block files and Manual WUI block files.  Access to the Pageflow engine and configuration files  Customization consists in replacing the standard package by a customized package.  Package are created using Design Studio  Pageflow  Pageflow configuration file contains the list of states, transitions, and actions a user can go through to perform a specific business task.  Pageflow engine is a state machine and executes the requested transition from it to another state, and returns the view URL associated with this state.  Depending the context, the pageflow engine loads the appropriate configuration file TAP Architecture > Web > Overview
  • 118. 118 118 118 Agenda Web 4 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Reporting 5 References 6 Overview – Components – Design Studio –
  • 119. 119 119 119 Apache Cocoon  OCS WUI is based on the Apache Cocoon framework and as such defines Cocoon pipelines and tag libraries.  Apache Cocoon, usually just called Cocoon, is a web application framework built around 3 main concepts.  Pipeline  Separation of concerns  Component based web development  The framework focuses on XML and XSLT publishing and is built using the J2EE platform  It allows rapid content publishing in a variety of formats including HTML, PDF, WML, SVG… TAP Architecture > Web > Cocoon
  • 120. 120 120 120  Definition: Design Pattern that helps solve some of the problems generated by defining an approach to handling the relationships among the data, application and presentation Cocoon & Model View Controller (MVC) Model Controller View Check model state Notification of change in model state View Selection Change model state User Interactions  Model: represents the data and the fundamental business rules that determine how the data can be accessed and maintained  View: manages the presentation of the model. A model can have multiple views  Controller: picks up the user interactions & converts those into actions for the model to handle & changes the view accordingly TAP Architecture > Web > Cocoon
  • 121. 121 121 121 Apache Cocoon – Separation of Concerns (SoC)  Management: refers to the decision makers, those who determine what is going onto the site and how it should appear  Logic: who are responsible for developing the code that accesses dbs, encapsulates business rules  Content: who are responsible for creating and owning the raw site content  Style: who are responsible for presenting the content, its look and feel TAP Architecture > Web > Cocoon Management Logic Content Style sitemap.xmap Cocoon.xconf XML XSP Taglibs XSLT CSS Logicsheet XSLT Java
  • 122. 122 122 122 Cocoon Components Libraries Pipeline Model - Overview Client Cocoon Http request Cocoon:Sitemap Cocoon:Pipeline Translate request to pipeline Select pipeline Http response WML SVG PDF HMTL Act Generate Transform Transformer Serialize Serializer Generator Action Request Response SAX SAX Sitemap TAP Architecture > Web > Cocoon Generator: starting point for the pipeline (Content generation) Transformer: transforms data flowing through the pipeline. Serializer: serializes SAX events to byte/character stream.
  • 123. 123 123 123 Pipeline model – Content vs Data  A pipeline consists of a chain of processing elements arranged so that the output of each element is the input of the next  The information that flows in these pipelines is often a stream  succession of data elements made available over time  XSP page  XML document containing tag-based directives that specify how to generate dynamic content at request time.  Most of WUI pages are XSPs  Composed of tag libraries  The templates are applied to the xsp page before the java compilation TAP Architecture > Web > Cocoon Generator ... Serializer Transfor- mer 1 Transfor- mer 2 Transfor- mer n volume of information content/presentation
  • 124. 124 124 124 Pipeline Model – Description  Cocoon relies on the pipeline model: When a request is received, Cocoon determines a pipeline in which the request will go through a sequential chain of events to generate a response  The pipeline and sequence is determined by url matching  Cocoon main configuration file is called sitemap  A pipeline is used to specify how the different Cocoon components interact with a given request to produce a response.  Every pipeline  begins with a generator,  continues with 0 or more transformers that transform data flowing through the pipeline  and ends with a serializer that serializes SAX events to byte/character stream TAP Architecture > Web > Cocoon
  • 125. 125 125 125 Apache Cocoon – pipeline – Generator  The Web model is rather simple. One request, one response! In Cocoon, the way the response is constructed always starts with a generator. XSP technology simply allows writing generators in XML.  The following diagram summarize the process of turning an XSP page into a generator: 1. A request is received by Cocoon and it determines, from the sitemap configuration, that an XSP page should serve it. 2. The first time or after any update in the sources, Cocoon 2 must compile the required XSP page, involving the following steps: 3. Parsing the XSP document 4. Transforming the XSP page using a dedicated XSLT style sheet, to generate Java source code 5. Storing the resulting Java file, after neatly indenting and formatting the source using a code formatter 6. Compiling the source into a Generator 7. Loading and executing the compiled Generator within the request pipeline TAP Architecture > Web > Cocoon my.xsp my_xsp.java my_xsp.class XSLT ServerPages Generator Transformer Serializer XSP Compile Pipeline Pipeline request
  • 126. 126 126 126 XSP definition  Definition: eXtensible Server Page is a XML based language, which offers the possibility of dynamically arranged Java code into XML documents  Developed for the Web Publishing Framework Cocoon  The focus of XSP is the separation of content, logic and presentation.  XSP pages are transformed into Cocoon producers, typically as Java classes TAP Architecture > Web > Components
  • 127. 127 127 127 Sitemap concepts  The sitemap is at the core of Cocoon  Location where the web developer  configures the different Cocoon components,  defines the client/server interactions in what Cocoon refers to as the pipelines.  Used to resolve requests for resources:  Matches requests to a set of processing commands inside a pipeline  Can also contain links to sub sitemaps that configure specific parts of the application  The sitemap files are then used to indicate  How WUI pages can be found in the OCS file architecture when an action is performed. TAP Architecture > Web > Cocoon
  • 128. 128 128 128 Agenda Web 4 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Reporting 5 References 6 Overview – Cocoon – Design Studio –
  • 129. 129 129 129 Overview  The Odyssey Presentation Framework (OPF) contains general user interface components. TAP Architecture > Web > Components Interface Description Presentation Layer called in TAP Uniform Data Presentation managing the display of data (tag libraries and XML transformation) Menu to create a multi-language & secured menus Multi-profile to handle the different WUI user profiles Scope to ensure consistent variable management across the whole application User preferences user choices as language, time zone,...
  • 130. 130 130 130 Presentation – Uniform Data Presentation (UDP) definition  Generic presentation layer which mainly deals with  data acquisition,  data transformation and  data output.  Supports the table models returned by the Triple Service Layer  Data is manipulated in the same way, irrespective of the system that generated it.  This layer implements the filtering, formatting, parsing, pagination, grouping, aggregation and sorting algorithms only once for all the data.  Further more functions like displaying columns in the correct order, computing new columns on the fly, computing aggregated group values,… are managed with this tag library. TAP Architecture > Web > Components
  • 131. 131 131 131 Presentation – Tag library definition  The term "taglib" comes from JSP, which inspired XSP.  An XSP logic sheet is a "tag library" in the sense that it defines a set of custom XML tags which can be used within an XSP program to insert whole blocks of code into the file.  Cocoon comes with several pre-defined "taglibs", such as the request taglib.  Two kind of tag libraries are used in TAP Web application:  "render"/"format" portion of document: xgui taglib, udp taglib, xbuild taglib, cdmcomp taglib, etc.  "talk" to the Odyssey back-end components (also called “business”): Contact taglib TAP Architecture > Web > Components
  • 132. 132 132 132 Presentation – XGUI definition  Core presentation tag library that permits to define the content of a page  Used on top of the presentation layer to generate a displayable page: XML Description of a user interface screen  All WUI pages are described with XGUI  Uniform usage of widget across complete application  Uniform rendering of these widgets  Uniform behavior of these widgets  XGUI library generates optimized HTML code and several UI widgets are available. TAP Architecture > Web > Components
  • 133. 133 133 133 Menu – ACL definition  The User Interface (UIF) as part of the PF is responsible for the handling of the menu functionality  Menus are defined in xml document and un-marshalled by UIF once per user session after a page is requested  Menus are reloaded if the user changes his WUI profile during his session  The menu xml definition language is enriched with an optional security attribute acl (Access Control List)  When building the menu hierarchy for the user, the acl is checked against the configured OTF security domain (security-domain defined in the RootMenu.xml file) • If the user is not authorized to access this resource, the menu will be disabled  The security check prevails on all enabling mechanism TAP Architecture > Web > Components
  • 134. 134 134 134 Multi-profile  WUI implements the Multi-profiles strategy. A profile is implemented for business purpose.  The default packaging provides 4 different profiles • Default • RelationshipManager • PortfolioManagerForT24  In a WUI Block, each profile corresponds to a specific folder located in /oams-profiles folder  Profiles might be organized hierarchically: it is possible to have profiles having the same parent profile TAP Architecture > Web > Components
  • 135. 135 135 135 Scope – Definition  The UIF-Context module provides the necessary infrastructure to manage scoped variables  This mechanism is similar to the Cocoon action-set concept to execute Java code before the request is processed  Principle  To hold variables across multiple requests and to pass information along through components (such as XSP pages), Web applications written in Java use the session object.  UIF-Context module extends this mechanism by providing the scope object TAP Architecture > Web > Components
  • 136. 136 136 136 Scope – Lifetime and hierarchy  There are four different scopes implemented by UIF-Context TAP Architecture > Web > Components Scope Description User • Lifetime equivalent to the user’s session lifetime. • A UserScope variable is accessible from any activity/page/module level until the user logs out or the user session expires Activity • Accessible when the requested URLs point to the same business activity. • One ActivityScope is created per accessed business activity. • UserScope variables must be used to share information among distinct activities. • Changing of activity does not invalidate the other ActivityScopes, so the user can come back to a previously used activity and continue working in the same context. Page • Remains valid as long as the same page is requested • It is used for implementing HTML form round-trips or when changing the output format of a page • Pageflows use the PageScope as a "pageflow scope" Module • Same lifetime validity as PageScope but variables are visible inside the module only.
  • 137. 137 137 137 Pageflows  A pageflow defines the flow of control for a set of pages that execute within a web application  It is represented by a connected graph.  Pageflow Graph: eq. to State Diagram. • Defines the sequence of states and transitions between states i.e. navigational representation of a pageflow.  State: Specific status of business task being performed. Must be unique within the graph  Transition: Operation the user can do from a specific state of the pageflow  Process: Business action executed when a transition is navigated. 2 types: Standard & Validation Process  Redirector: Choice point implemented by the result of the last executed process  View: Page to be displayed to the user on a pageflow state Pageflow Graph TAP Architecture > Web > Components
  • 138. 138 138 138 Page layout  A WUI page is organized as follows: WUI Page Header Body Company / Product logo Primary navigation bar Dock items User info Toolbar / Global commands Domain Context Summary View Detailed View Second navigation bar Footer  Horizontal navigation • Pageflow based  Body • Domain context with autocomplete search • Synchronized Summary & Detailed views • Personalization allowing to display/hide columns, sort information TAP Architecture > Web > Components
  • 139. 139 139 139 User Preferences component  The chosen language, time zone, and current user profile are stored in Triple A Core database  Since R11, they have been extended to include persistence of  column selection  column order and  sorting options in tables.  They apply on all type of WUI page output (HTML, XLS, PDF) TAP Architecture > Web > Components
  • 140. 140 140 140 Agenda Web 4 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Reporting 5 References 6 Overview – Components – Cocoon –
  • 141. 141 141 141 Introduction  Design Studio is an IDE workbench with a number of features specifically designed to support building and maintaining the Web front-end of Triple’A Plus  Based on Eclipse,  Follows the OMG Model Driven Architecture (MDA Approach  Generates technical artifacts (XSP, Java Code, XML configuration files)  Includes the following designers:  Domain designer to represent the business objects manipulated by the other designers  Page, module and page fragment designers to graphically configure the Web User Interface, and create reusable page building blocks  Page Flow designer to assemble pages in a logical and guided flow  Business rule designer to easily specify the rules used in page flow and workflow transitions, but also for validation or specific computations TAP Architecture > Web > Design Studio
  • 142. 142 142 142 Design Studio vs Cocoon  Design Studio and Cocoon follow the MVC paradigm  With Design Studio,  Controller are Pageflow (PMS) and Pageflow/Workflow (CRM)  Model are datasets  View are Pages, Modules and Fragments TAP Architecture > Web > Design Studio
  • 143. 143 143 143 Configuration and Designers  Design Studio is enhanced to fully support PM&A and PG functions and integration with T’A Core  Configuration:  Workspace Configuration is simplified  New Server view to deploy the models projects on the application server or Embedded Server  Domain Designer allows to  manage new domain entities like Business Type  manage dataset like a class  with the pms-model project: • import T’A Formats & Meta dictionary • manage new User Defined Entities to create in Triple’A • manage TAP API (remoting infrastructure available in the next release) TAP Architecture > Web > Design Studio
  • 144. 144 144 144 Designers and Other  Page/Module/Fragment Designer allows to  Design complex tables with grouping, sorting, aggregation, … capabilities  Design matrices  Include hand coded xsps  Menu Designer allows to  Manage menu and entry point to the pageflow  Security menu (ACL) TAP Architecture > Web > Design Studio
  • 145. 145 145 145 Functionalities  Dependencies Management:  Design Studio embarks the Maven plugin for Eclipse to manage the project dependencies and libraries’ versions  A local repository of the libraries in use in the WUI is created when installing Design Studio  The models & templates projects contain a maven configuration file (pom.xml) that defines also their output artifact (jar, war, ear, …)  Collaborative Work:  Multi-user collaboration on DS is possible as Design Studio includes a Subversion (SVN) client, allowing the typical check-out and check-in team operations to a central Subversion server. TAP Architecture > Web > Design Studio
  • 146. 146 146 146 Templates  Templates:  Design Studio proposes several types of templates project to support the customization and cover the development lifecycle  customization workspace templates model to generate all the projects structure to allow creating • WUI blocks (incl. menus, activities, modules, patches) • WUI libraries • WUI processes  An Embedded Server template model to create a light http server where the generated artifact of your model project will be deployed  A customization packager template model to create the final customization package to be deployed on an external environment TAP Architecture > Web > Design Studio
  • 147. 147 147 147 Quiz  What is the name of the Cocoon configuration file?  What is the concept allowing to secure the WUI menu ?  What is the procedure to create a WUI customized package? TAP Architecture > Web
  • 148. 148 148 148 Unit summary  Architecture of the presentation layer  Cocoon and WUI  Design Studio TAP Architecture > Web
  • 149. 149 149 149 Agenda Reporting 5 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Web 4 References 6
  • 150. 150 150 150 Reporting Architecture and Features GUI WUI Custom Batch Tool (Java API) Application Server AWSC-SOAP API Actuate Server Standard Reports OFC Services Report DB AAA_RS JAVA On Demand Batch Service Triple’A Server Main DB Rep DB On Demand Reporting Manager TAP Architecture > Reporting Custom Batch Tool (TSL Client) TASC API API (TASC / OData)
  • 151. 151 151 151 Reporting Features – Description  The main features of Reporting with Live!Reports are:  Creating reports from existing TAP Core financial functions.  Online reporting from the WUI / API and GUI. PDF previews are possible.  Batch reporting with Report Launcher or AAA_RS Java batch service.  The on-demand reporting can be launched from  the GUI through the AAA_RS Java or  the WUI / API through TAP components such as Job-Launcher and Reporting Manager.  The batch reporting can be produced using the AAA_RS Java Batch Service. TAP Architecture > Reporting
  • 152. 152 152 152 On-line reporting from the WUI TAP Architecture > Reporting
  • 153. 153 153 153 On-line reporting from the WUI – Description  In Triple’A Plus, all available reports rely on Triple’A Plus Core financial functions, which implement extended parameters for publication mode or output setup.  Triple’A Plus Reporting supports  tiled mode (the output is composed of a single report with a separate section for each portfolio) and  burst mode (the output is composed of a separate report for each portfolio).  From the WUI, the Portfolio Manager (PM) can run an on-line business report to obtain a hardcopy of the financial statement.  The PM runs the report from a financial function and provides a set of parameters that define the report's context. TAP Architecture > Reporting
  • 154. 154 154 154 TSL Reporting FlowService  Triple’A Plus Reporting consists of a customizable and extensible reporting architecture that generates online reports from the Triple'A Plus Web User Interface (WUI).  The main components of this solution are:  The TSL reporting flow service: The WUI will call this service to start the report generation.  The Reporting Manager that manages the reporting pipeline: validation and default values, service execution, report generation, and finally report storage.  The Report BPI job tsl-live-reporting-job.xml that is responsible to run reporting generation sub-job asynchronously and in parallel TAP Architecture > Reporting
  • 155. 155 155 155 TSL Reporting FlowService TSL ExecuteReportingFlowService BPI Job tsl-live-reporting-job Actuate Birt iServer YourReport.ROI WUI ReportingContext pageflow Triple’A Main DB Triple’A Server JCR Content Repository Reporting DB 1. Report generation is managed by the ReportContext pageflow which invokes the ExecuteReportingFlowService 2. The ExecuteReportingFlowService starts the BPI job tsl-live-reporting-job 3. The tsl-live-reporting-job is responsible to call the Actuate Birt iServer 4. Actuate iServer executes the report 5. The report executes the financial functions required to fill the report content via stored procedures defined in the aaamaindb 6. The financial function result is stored in the aaarepdb 7. Actuate returns the PDF report to the tsl-live-reporting-job 8. The pdf report is stored in the content repository TAP Architecture > Reporting
  • 156. 156 156 156 Quiz  How many user reporting interfaces are available in TA+?  What are the main difference between the “on-demand reporting” through the GUI and the WUI? TAP Architecture > Reporting
  • 157. 157 157 157 Unit summary  What are the different way to perform a reporting  Focus on the online report using the GUI and the WUI TAP Architecture > Reporting
  • 158. 158 158 158 Agenda References 6 Learning Objectives 1 TAP Architecture > Administration 2 Interfaces 3 Web 4 Reporting 5
  • 159. 159 159 159 TAP Architecture > References References  TAPWeb_TSL_OperatingGuide  TAPWeb_CDM_UserGuide  TAPWeb_ReportLauncher_UserGuide  TAPReporting_TechnicalGuide  GatewayPack_TechnicalGuide  TAPWeb_CDM_ConfigurationGuide  TAPCore_SystemManagement_Guide  TAP_Advanced_CustomisationGuide