TAFJ in R12: Click To Edit Master Title Style
TAFJ in R12: Click To Edit Master Title Style
TAFJ in R12
TAFJ Package
2
Welcome to TAFJ - R12
3
T24 continuous innovation and investment protection
1996 2000 2004 2008 2012
Classic GUI Internet Banking (v1) Web Client HTML Design Time
(Green Screen) (VB Client) Multi Channels Internet Banking (v2) Mobile Banking Internet Banking (v3)
Presentation
Connectivity
Presentation
Connectivity
Openness
Client
XML
JMX BPMN BizTalk Adapter
Web Services
FTP TCP/IP WebServices IIOP, EJB Java .NET
JCA, JMS RIA
Telnet SWIFT ASCII XML IBM MQ C API, Java API, . NET API JEE Connectivity Integration Framework
Functionality
Functionality
Application
Application
$600m Modules
Modules
T24
T24 Updates
Updates
ARC,
ARC, Insight,
Insight, TAP,
TAP,
Mobile,
Mobile, etc.
etc.
Unix Windows Unix (Native AIX, SUN, HP) Linux Windows Azure Scalability
Database
Multiple App
Server
Platform
Universe jBASE, Oracle, DB2 (p) SQLServer SQL Server DB2 (z) neutral
(proprietary database) Database
(2005) (2008)
neutral
TAF - History
5
Welcome to TAFJ - R12 – Entreprise Frameworks
6
The 6 Principles (today) – Entreprise Frameworks
7
Enterprise Frameworks
• KB
– http://knowledgebase.temenosgroup.com/Pages/Enterprise%20Frameworks.aspx
• Developer Wiki
– http://knowledgebase.temenosgroup.com/SOA%20Framework%20Wiki/Home.as
px
– R12 to be released
• Forum
– https://gva1forum1.temenosgroup.com/viewforum.php?f=74
8
Enterprise Frameworks - KB
9
Platform Framework – KB Resources & Training
• TAFJ
– http://knowledgebase.temenosgroup.com/Pages/TAFJEnterprise.aspx
10
T24 Java Features
11
JEE Application Server Overview
12
Application server - descriptor
13
Application server – resource mapping jBoss Specific Application
server descriptor
(jboss.xml)
Datasource Resources:
jdbc/t24Datasource
EJB Resources:
ejblocal:TAFJJEE_EAR/T
AFJJEE_T24.jar/ARCIBPr
ocessingBean#com.temen
os.tafj.sb.OFSProcessing
BeanLocal
14
TAFC - Two Tier “AGENT” architecture
Java EE Application Server
T24
T24Browser
Browser T24
T24ARC-IB
ARC-IB TWS
TWS
((BrowserWeb.war
BrowserWeb.war)) ((ARC-IB.war
ARC-IB.war)) ((YourBank.war
YourBank.war))
“AGENT”
“AGENT” “AGENT”
“AGENT” “AGENT”
“AGENT”
Industry Standard T24 JCA RA
15
TAFJ Components interaction
Client layer Web Browser (Flash) Adobe AIR Web Browser (HTML)
16
Overview of the TAFC architecture in AS
JCA-IN
JAgent JAgent
JCA-OUT tSM
JAgent
Delivery
JAgent
Swift
TAF-C T24
AppServer
DB
17
Overview of the TAFJ architecture in AS
Application Server
TOCF (EE) Browser
jDls/
tLockManager IO Print
server
JMS
JMS
OFSQueue
OFSQueue
reply
JCA-IN
Browser Listener JAgent JAgent
MDB/MDB JCA-OUT tSM
JAgent
jSession jSession T24 jSession jSession
Delivery
Swift Delivery tSM OFS JAgent
TAF-J Swift
JVM (JRE)
TAF-C T24
Jboss DATA SOURCE (Connection Manager)
DB DB
18
TAFJ architecture – Component specialisation
JMS JMS
JMS JMS
OFSQueue TWSQueue
OFSQueue TwsQueue
reply reply
jSession jSession
T24
OFS Source GCS OFS Source TWS
TAF-J
JVM (JRE)
DB
19
TAFJ – Full AppServer compliant
20
TAFJ – Signon delivery
• What do we need ?
– Java
• JDK 1.6 or above
– TAFJ
– T24 ressources:
• A T24 Database
• T24 precompile jar file
• T24 Components
– JEE
21
Preparation of TAFJ environment from TAFC
22
Preparation of TAFJ environment from TAFC
• TAFJ Restriction:
– DEFC
– CALLC
– I-Types/I-Descriptor are only partially supported
23
TAFJ - Documentation
• http://knowledgebase.temenosgroup.com/Pages/TAFJEnterprise.aspx
24
Eclipse - overview
• Eclipse Configuration
– Drop/Link plugins in dropins folder
• Launch eclipse:
ModelBank-TAFJ-201112>tafj_Shell_32.cmd e
25
Eclipse - overview
26
Eclipse – TAFJ Project
27
Eclipse – TAFJ Project
• TAFJ Nature
– Basic editor
• Auto Completion
• Template
– Outline
• INSERT (open it, check dependency)
• Labels
• jBaseFunction
– Sample
– Debugger
– I_ Dependency
28
TAFJ - Application Server deployment
• jBoss 5
– Context
• –c SO201112
– -b 0.0.0.0
– Run.bat/run.sh option
• Memory option
rem JVM memory allocation pool parameters. Modify as appropriate.
set JAVA_OPTS=%JAVA_OPTS% -Xms512m –Xmx1048m -XX:MaxPermSize=512m
• JMX option
rem JMX authorized remote connection
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote
29
TAFJ - Application Server deployment
• jBoss 5
– Change file $JBOSS_HOME /server/tafjcontext/conf/jboss-log4j.xml
• Add
<!-- http://community.jboss.org/thread/149085 -->
<category name="org.jboss.ejb3.interceptor.InterceptorInfoRepository">
<priority value="ERROR"/>
</category>
<!-- http://community.jboss.org/message/571318 -->
<category name="org.jboss.injection.EJBRemoteHandler">
<priority value="ERROR"/>
</category>
30
TAFJ - Application Server deployment
31
TAFJ - Application Server deployment
32
TAFJ - Runtime
• Start H2 database
– startH2-64/32.cmd script
• Start jBoss
– Tafj_shell-64/32.bat -> set java_home and tafj_home
– Run.bat –c 201112
• Browse T24Browser
– http://localhost:8080/BrowserWeb/
33
WebApp tools
• T24Utility
– tocfT24ra-ra.rar mandatory
– OFS
• TOCFDemo
– OFSML
34
TOCF(EE) - BFL
• Deploy tocfee.ear
• Based on TCServer listener
• Config based on TCServer.xml file in tocfee.ear\tocfplugin-ra.rar\
• Instead of pushing message in TCS internal queue. It push message
on JMS/JCA.
• tocfee.ear\tocfplugin-ra.rar\ -> tocfee.ear\tocflistener-ejb.jar -> JMS
• Example Batch File Listener:
– Create folder C:\TEMP\SV and sub folder:
• ofserrors
• ofsmlerrors
• ofsmlrequests
• ofsmlresponses
• ofsrequests
• ofsresponses
– Two sample files
• ofsmlCurrency-list.tpr
• ofsRequest.tpr
35
TOOLBOX – Main features
Utilities DevStudio
Data
Library Monitor
36
TOOLBOX – Tips and tricks
37
TOOLBOX – Tips and tricks
• By
<context-param>
<param-name>valid_input_regex</param-name>
<!-- Anything that matches this regex will be rejected - the idea is to catch cross site scripting
attacks (e.g. see ha.ckers.org/xss.html) -->
<!-- NOTE: DO NOT USE 'CDATA' as this is NOT compatible with Oracle Application Server -->
<param-value>
((?i)< */? *((?i)script|img|form|object|applet|embed|frameset|iframe|a>|a[\s]+)|
javascript\:|cookie|href|String\.fromCharCode|expression[\s]*\(|eval[\s]*\(|onAbort|onActivate|onAfter|
onBefore|onBlur|onBounce|onCellChange|onChange|onClick|onContextMenu|onControlSelect|onCopy|onCut|
onDataAvailable|onDatasetChange|onDatasetComplete|onDblClick|onDeactivate|onDrag|onDrop|onError|onFilterChange|
onFinish|onFocus|onHelp|onKey[\s]*=|onLayoutComplete|onLoad|onLoseCapture|onMouse|onMove|onPaste|
onPropertyChange|onReadyStateChange|onReset|onResize|onRowEnter|onRowExit|onRowsDelete|onRowsInserted|onScroll|
onSelect|onSelectionChange|onSelectStart|onStart|onSubmit|onTimeError|onUnload|onMessage)
</param-value>
</context-param>
<context-param>
<param-name>valid_input_regex_strict</param-name>
<!-- Anything that matches this regex will be rejected - the idea is to catch cross site scripting
attacks (e.g. see ha.ckers.org/xss.html) -->
<!-- NOTE: DO NOT USE 'CDATA' as this is NOT compatible with Oracle Application Server -->
<param-value>
((?i)< */? *((?i)script|img|form|object|applet|embed|frameset|iframe|a>|a[\s]+)|
javascript\:|cookie|href|String\.fromCharCode|expression|eval[\W]|onAbort|onActivate|onAfter|onBefore|onBlur|
onBounce|onCellChange|onChange|onClick|onContextMenu|onControlSelect|onCopy|onCut|onDataAvailable|
onDatasetChange|onDatasetComplete|onDblClick|onDeactivate|onDrag|onDrop|onError|onFilterChange|onFinish|
onFocus|onHelp|onKey[\s]*=|onLayoutComplete|onLoad|onLoseCapture|onMouse|onMove|onPaste|onPropertyChange|
onReadyStateChange|onReset|onResize|onRowEnter|onRowExit|onRowsDelete|onRowsInserted|onScroll|onSelect|
onSelectionChange|onSelectStart|onStart|onSubmit|onTimeError|onUnload|
onMessage|\"[\s]*\)|\'[\s]*\)|\/\*.*\*\/|\'[\s]*\
+|\'[\s]*\,|\'[\s]*\-|\'[\s]*\=|\"[\s]*\,|\"[\s]*\-|\"[\s]*\=|\.\.\/|\.\.\\)
</param-value>
</context-param>
38
Enquiry Designer
39
Enquiry Designer
40
TWS – T24 Configuration
41
TWS – jBoss Deployment
• JBOSS deployment:
– add to Jboss classpath T24 Components :
<classpath codebase="${jboss.home.url}/../T24/TWS\" archives="tsoaframework.jar"/>
<classpath codebase="${jboss.home.url}/../T24/TWS\IntegrationLandscape\lib"
archives="*"/>
<classpath codebase="${jboss.home.url}/../T24/TWS\ServiceRepository\lib"
archives="*"/>
<classpath codebase="${jboss.home.url}/../T24/TWS\Customer\lib" archives="*"/>
<classpath codebase="${jboss.home.url}/../T24/lib" archives="R12GA.jar"/>
– Add property :
temn.tafj.appserver.mode=true
• Copy axis.war files
– Already configure with Components WS
– Change configuration in each component WS:
• File integrationLandscapeServiceContext.xml under axis2.war\WEB-
INF\services\t24-IntegrationLandscapeService-jws.aar\ folder.
• Comment the JCA part and uncomment the TAFJ one.
• Browse:
http://localhost:8080/axis2/services/IntegrationLandscapeServiceWS?wsdl
42
TWS – Design time
43
TWS – Design time
• Update /WS.CUST.PGO/WebContent/WEB-INF/tws.properties
– Change connector type to jms
• Update /WS.CUST.PGO/WebContent/WEB-INF/jboss-web.xml
– Change jms queue by
• queue/t24TWSQueue and queue/t24TWSReplyQueue
• Export project as war file
• Push the war file in deploy folder
• Browse:
http://localhost:8080/WS.CUST.PGO/services?wsdl
44
TWS - Runtime
• SOAPUI
45
TAFJ architecture – T24 Phantom
Application Server
TAFJ Execute
servlet
START.TSM
JMS
ExecQueue
TSA 1
Exec Listener MDB
jSession
jSession
jSession
T24
CallTSM
@ 1
TSA
TAF-J
JVM (JRE)
DB
46
OperateT24 - COB
47
T24Monitor / TAFJ Monitor
• JMX
– jConsole/VisualVM
• T24Monitor:
– Create a datasource for it:
– Drop T24Monitor.ear file
– http://localhost:8080/t24monitor/T24Monitor.html
• Show TAFJMonitor because not yet received T24Monitor
• TAFJMonitor:
– Work around jBoss 5 deployment
• start the monitoring EJB
http://localhost:8080/TAFJEE/BackgroundServlet?statFreqency=10
– http://localhost:8080/TAFJMonitor/
– OFS like T24Utility
– TAFJ Session monitor
– TAFJ Log / properties viewer
– COB Management + Monitoring
48
TAFJ - DBTools
49
Overview of the architecture in as for debug in eclipse
BrowserWeb.war
Browser
tafj-service.xml
JMS
JMS
OFSQueue
OFSQueue
reply
Tafj_ear.ear
ejb-jar.xml
Source Code Browser Listener
Source Code
BROWSER.LISTEN
BROWSER.LISTEN
BROWSER.LISTEN MDB
T24.jar
Source Code
Source Code
T24
T24
T24
TAFJ_HOME
TAFJ
jre6
ECLIPSE JDK JVM (JRE)
t24-ds.xml
DATA SOURCE
DB
50
R13 - TAFJ
– BenchMark
• P series in February
• Z series in March April
• Exa data oracle
– Platform principles
– Locking improvement
– Performance improvement
51
TAFJ in R12
52