SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
Java EE 6 Adoption in 
One of the World’s Largest 
Online Financial Systems [CON2789] 
Hirofumi Iwasaki 
Arshal Ameen 
Financial Services Department, Development Unit, 
Rakuten, Inc.
2 
Speaker Biography (1/2) 
§ Hirofumi Iwasaki 
– Group Manager, Technology Manager 
– Financial Service Department, Development Unit, 
Rakuten, Inc. 
§ Carrier 
– Planning, designing & implementation of huge enterprise systems for financial, 
manufacturing and public systems with enterprise middleware, especially Java 
EE & .NET in Japan for about 16 years. 
§ Opus, Lectures, etc. 
– Conferences: Java Day Tokyo 2014, JJUG CCC Spring (2014), WebLogic 
roundtable (2012-2013), Rakuten Tech Conference (2013) etc. 
– Magazine: @IT (2005-2010), CIO Magazine (2009), IT Architect (2005-2009), 
Web+DB Press (2005), Java World (2001-2004), etc.
3 
Agenda 
1. Java EE 6 for Our Financial Systems 
Overview 
2. EJB Appliance 
for Financial Back-End Systems 
3. JSF Appliance 
for Financial Front-End Systems
4 
Agenda 
1. Java EE 6 for Our Financial Systems 
Overview 
2. EJB Appliance 
for Financial Back-End Systems 
3. JSF Appliance 
for Financial Front-End Systems
5 
Global Rakuten Group
Rapidly Expanding Worldwide from 2010 
• E-commerce in 14 countries and regions 
• All services and businesses in 28 countries
Rakuten Group 
Consolidated GMS 
US $51.4B 
23.407 52.319 79.134 153.004 
329.106 
478.765 
1154.786 
832.354 
1861.268 
1474.570 
3413.582 
2746.821 
5248.976 
(JPY B) 
4146.244 
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
1997 2014 
8 
Internet Services 
(1997) 
Online Hotel 
Reservation 
Internet 
Research 
(2000) (2001) (2005) 
(2003) 
(2006) 
(2007) 
EC in 
France 
in USA 
(2010) 
EC 
In Thailand 
(2009) 
(2004) 
(2008) 
(2008) 
EC in 
UK 
(2011) 
EC 
In Austria 
In Indonesia 
EC in 
Malaysia 
in Brazil 
(2005) 
(2009) 
(2010) 
Internet Finance 
In Germany 
Global Video 
streaming Global Video 
(2012) 
In Spain 
(2013) 
(2013) 
EC 
In Singapore 
EC 
In Japan 
Online Books, 
DVD Store 
Pay-per-view 
Video Service 
Portal Site 
Performance 
Marketing 
In USA 
Internet 
Auction 
EC 
in Taiwan 
Global eBook 
Streaming 
Global Social 
Messaging App 
(2014) 
Online Security 
Brokerage 
Credit Card E-money Internet 
Banking 
Rakuten Life 
Insurance 
Professional IP Telephony 
Baseball 
Marriage 
Consultant 
(2014) 
Credit Card Payment 
By Smartphone 
(2012) 
Point Service 
Phone Service 
(2013) 
Online Golf 
Reservation 
Others 
Energy Service 
Real Café Service 
Curation Service 
Expanding Business Portfolio
9 
5 Financial Services of Rakuten Group in Japan 
Life 
Insurance 
Credit Card 
E-Money 
Bank 
Financial 
Securities
10 
5 Financial Services of Rakuten Group in Japan 
§ Big 5 Services 
§ Each has Huge Transactions 
§ 24/7 Non-Stop Services 
Life 
Insurance 
Credit Card 
E-Money 
Bank 
Financial 
Securities
11 
Requirements for Rakuten Financial Systems 
Financial Systems Requires 
1. Rapid business logic changeable as 
business model changes 
2. Huge request capacity as business grows 
3. Must be transactional
12 
3 Big Issues of the Rakuten Card Systems 
Credit Card 
1. Outdated ! 
2. Complicated ! 
3. Difficult!
13 
3 Big Targets for New Architecture 
Sustainability 
Requirements 
System Flexibility 
Transparency
14 
Why We Chose the Java EE ? 
Portability Results of 
Financial Sys 
Vendor 
Support 
Community 
Excellent Excellent Excellent Excellent 
Nothing Good Not Bad Mediocre
15 
Why We Chose WebLogic 12c 
Product Productivit 
y 
Reliability Scalability Support Price Operation Development 
WebLogic 
Server 12c 
Excellent Excellent Excellent Excellent Not Good Excellent Excellent 
Product A Excellent Excellent Excellent Excellent Not Good Not Good Not Good 
Product B Excellent Excellent Not Good Not Good Not Good Not Good Excellent
16 
Why We Chose the Oracle Exadata? 
Product Productivity Data 
reliability 
Scalability HA PCI DSS Operation 
Oracle 
Exadata Excellent Excellent Excellent Excellent Excellent Excellent 
Product X - Not Good - - - Not Good 
Product Y Excellent Excellent - Excellent Not Good Not Good
17 
5 Big Issues to Apply New JEE Architecture
18 
1. Policies: Case of Rakuten 
§ Internal Development First, 
no outsourcing to external SI vendors. (Group All) 
§ Financial businesses are also the target for the 
application of this policy. 
Educate NO ORDER 
& 
Develop 
Rare Case for 
Financial Systems in Japan 
In-House 
Development 
External Vendors
19 
2. Education: Read, Read, Read! 
RECOMMENDED 
for WebLogic 12c 
Good & Only 
Japanese 
EE 6 book 
Start from HERE 
4th Edition 
Good Pocket 
Reference! 
For NetBeans 7 
with EE 6
20 
2. Education: Online Materials 
Original Tutorial 
for Newbies (Start here!) 
NetBeans Java EE docs 
for Advanced Information
21 
2. Education: Simplify to Learn 
Old Architecture 
New Architecture 
Too difficult to learn many 
non-standard old technologies 
Simple & Easy!
22 
3. Architecture: Apply EE 6 Specs 
Rich Clients 
(no business logics) 
Call 
Web Presentation 
(no business logics) 
Business Logic 
(no presentations) 
Data Access 
JPA 
EJB 
JSF 
DBs 
Automatic 
Transaction 
Java FX JTA 
Messaging 
JMS MQ 
Connection 
RMI-IIOP 
Other 
Servers 
EMail 
JAX 
MTA JavaMail 
Call 
Call 
Call 
Call 
Call 
There's no 
rich client
23 
3. Architecture: Migrate from Old 
Front-End (Apache) 
Front-End 
(WebLogic) 
External 
Service 
Back-End 
(WebLogic) 
Old App Architecture 
Back-End 
Database 
View 
PHP 
Action 
with 
Business 
Logic 
Web 
Service 
API 
Service 
Data 
Service 
External 
Services 
DMZ 
(Apache) 
Static 
HTML, 
Images, 
CSS 
View 
Facelet 
External 
Services 
Exadata 
Backing 
Bean 
(no 
business 
logic) 
Business 
Logic 
External 
Entity 
DAO 
Entity 
Transaction 
Boundary 
Transaction 
Boundary 
BEGIN 
COMMIT 
WebLogic 
Plug-In 
BEGIN 
COMMIT 
New App Architecture
24 
3. Architecture: Simplified 
Core 
L7 Balancer 
Front Real-time 
Web Site A 
Web Site B 
Internal Site Proxy 
Reverse Batch Exec 
Front Batch 
Services (aka APIs) 
System B 
Gateway 
Database 
System C 
Sub Proc
Local Weblogic Server instance 
Code and Test with Fast-swap 
25 
4. Environment: Ease of Dev. 
Centralized DEV DB 
= X X
26 
4. Environment: Easy Startup 
2. Download 
Code from 
Repository 
3. Install JDK, IDE, 
App servers -> Build -> Run on the local terminal 
1. Join a 
project. 
4. Refer JIRA tickets 
for tasks
27 
5. Test: Full Auto Testing &Validation. 
1. Auto PULL 
Management Server 
2. Auto 
Build 
& Test 
3. Auto 
4. Report Validate 
Hourly 
ZERO Violations
28 
Speaker Biography (2/2) 
§ Arshal Ameen 
– Core Engineer. 
– Development leader for Rakuten Card Member Services. 
– Team Leader and Trainer. 
§ Carrier 
– 3 Years as JEE engineer 
– App developer (iOS, Android and Win8). 
§ Opus, Lectures, etc. 
– Conferences: JJUG Tokyo(2014)
29 
Agenda 
1. Java EE 6 for Our Financial Systems 
Overview 
2. EJB Appliance 
for Financial Back-End Systems 
3. JSF Appliance 
for Financial Front-End Systems
30 
Comparison between old and new system 
Feature Old New(JEE6) 
Dependency Injection Spring DI CDI 
Web Framework PHP(Symfony, Smarty) JSF 
REST Servlets JAX-RS 
Transactions Transactional(Spring) EJB CMT(JTA) 
Persistence iBATIS JPA 
Batch TERASOLUNA batch FW EJB 
WebSockets ー Java API for WebSockets 
Validation ー Bean Validation API 
Security ー Java EE Security
31 
Leverages and advantages 
Services Old Architecture EJB 3.x 
Dependency 
Could inject almost anything, programmatically 
Injection 
too 
Can inject anything in the container including EJBs, data 
sources, JMS and JPA resources but only annotations. 
Transaction 
management Transactional of Spring JTA 
Persistence iBatis Tightly integrated through JPA 
State management Web container session management Stateful Session Beans and Extended Persistence 
Context but we still stick to JSF based states 
Web Services By using XFire for registered beans. JAX-WS 2.0 
Messaging JMSTemplate adds nice abstraction over JMS. Message Driven Beans. 
AOP AspectJ and Spring AOP alliance. Simple but limited support through interceptors. 
Security None Declarative and programmatic security through JAAS. 
Scheduling Must add and configure Quartz for scheduling. 
None were used Simple scheduling possible through EJB Timer service 
Remoting Remote transactions and security are not 
supported. Not standardized. 
Integrated support through Session Bean remote 
interfaces.
32 
Remote Interfaces 
RDBMS 
Local Client 
JMS 
JTA 
JNDI 
JDBC 
RMI_IIOP 
Threading 
Pooling 
Security 
Web Services 
Remote Client JMS Provider 
Remote Client 
Application Server 
EJB Container 
Business Logic Tier 
Session Beans Message Driven 
Persistence Tier 
MeBsesaagnes Driven 
MeBsesaagnes Driven 
Beans 
Session Beans 
Session Beans 
JPA Entities Entity Manager 
JPA Entities Entity Manager
33 
JPA 
Features iBATIS JPA 
Simplicity Best Good 
Complete ORM solution Average Best 
Adaptability to data model changes Good Average 
Complexity Best Average 
Dependence on SQL Good Average 
Performance Best Average 
Portability across different relational 
databases Average Average 
Portability to non-Java platforms Best Not Supported 
Community support and documentation Average Good
34 
JTA 
§ Transaction rollback prevents data pollution 
§ Timeout settings limits latency in EJB response 
§ An ideal tool for resource management and data integrity. 
§ XA enables global transaction a.k.a 2PC.
35 
Stateful Vs Stateless in EJB 
§ Stateless EJBs ! 
§ States are managed by JSF.
36 
Managed Entities 
§ Fetches same entity every time 
§ Auto update entity on state change. 
§ Performance is best with Exadata, with others……….
37 
EJB Timer Service 
§ The EJB 3 timer service allows to invoke a method by the container 
after a specified interval of time. 
§ Timers are persistent and can survive a container crash or restart. 
§ Timers are transactional. 
§ Timers well actually are not that precise. 
§ Managing multiple timer events in not possible
38 
Agenda 
1. Java EE 6 for Our Financial Systems 
Overview 
2. EJB Appliance 
for Financial Back-End Systems 
3. JSF Appliance 
for Financial Front-End Systems
39 
Limitation of JSF 2.1 
1. Flash one step traversal limitation doesn’t meet our requirements. 
2. CSRF – No standardized implementation in 2.1. 
3. No file(template) include feature from server i.e the file to include 
using ui:include is present on server not within war or ear. 
4. No way to pass passthrough attributes or html5 data attributes used 
in JSF 2.2 
5. Custom validators, custom tags and custom renderers
40 
1. Flash
41 
2. Csrf tag 
§ Custom CSRF implementation into a JSF tag
42 
3. Custom template include tag 
§ Get template file contents from server and include it in JSF facelet
43 
4. Passthrough attributes 
§ Custom renderers for common tags 
§ Html5 attributes
44 
5. Customization 
§ Custom tags, UI components, validators, convertors and comparators.
45 
Contact 
Hirofumi Iwasaki (@HirofumiIwasaki) 
Arshal Ameen (@AforArsh)
46

Weitere ähnliche Inhalte

Was ist angesagt?

Sap integration with_j_boss_technologies
Sap integration with_j_boss_technologiesSap integration with_j_boss_technologies
Sap integration with_j_boss_technologies
Serge Pagop
 

Was ist angesagt? (20)

An Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12cAn Unbiased Look: Oracle SOA Suite 12c
An Unbiased Look: Oracle SOA Suite 12c
 
Sap integration with_j_boss_technologies
Sap integration with_j_boss_technologiesSap integration with_j_boss_technologies
Sap integration with_j_boss_technologies
 
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to KnowThe Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
The Microsoft Azure and Oracle Cloud Interconnect Everything You Need to Know
 
Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3Oracle SOA Suite 12c 1z0-434 Day 1/3
Oracle SOA Suite 12c 1z0-434 Day 1/3
 
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the CloudSecuring your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
Securing your Oracle Fusion Middleware Environment, On-Prem and in the Cloud
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
2020 – A Decade of Change
2020 – A Decade of Change2020 – A Decade of Change
2020 – A Decade of Change
 
Why Use an Oracle Database?
Why Use an Oracle Database?Why Use an Oracle Database?
Why Use an Oracle Database?
 
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
01 Ronald Vargas Verdades ciertas, mitos y falacias sobre oracle database 19c
 
(Oracle) DBA and Other Skills Needed in 2020
(Oracle) DBA and Other Skills Needed in 2020(Oracle) DBA and Other Skills Needed in 2020
(Oracle) DBA and Other Skills Needed in 2020
 
Password Policies in Oracle Access Manager. How to improve user authenticatio...
Password Policies in Oracle Access Manager. How to improve user authenticatio...Password Policies in Oracle Access Manager. How to improve user authenticatio...
Password Policies in Oracle Access Manager. How to improve user authenticatio...
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
Upcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST supportUpcoming JDeveloper ADF Business Components REST support
Upcoming JDeveloper ADF Business Components REST support
 
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS InstanceOracle Database Cloud Service - Provisioning Your First DBaaS Instance
Oracle Database Cloud Service - Provisioning Your First DBaaS Instance
 
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementUsing MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance Improvement
 
SAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner WebinarSAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner Webinar
 
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RACThe Top 5 Reasons to Deploy Your Applications on Oracle RAC
The Top 5 Reasons to Deploy Your Applications on Oracle RAC
 
Solving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloudSolving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloud
 
Oracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLONOracle RAC 19c and Later - Best Practices #OOWLON
Oracle RAC 19c and Later - Best Practices #OOWLON
 

Ähnlich wie Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [JavaOne CON2789]

Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
Hirofumi Iwasaki
 
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic ServerPeter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Saul Cunningham
 
Technical Compentency Document
Technical Compentency DocumentTechnical Compentency Document
Technical Compentency Document
amitdesai
 
Company Presentation (+Portfolio)
Company Presentation (+Portfolio)Company Presentation (+Portfolio)
Company Presentation (+Portfolio)
Joseph McKay
 

Ähnlich wie Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [JavaOne CON2789] (20)

Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
 
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial SystemsJava EE 6 Adoption in One of the World’s Largest Online Financial Systems
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
 
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
[Rakuten TechConf2014] [Fukuoka] Case Study of Financial Web Systems Developm...
 
Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...Case Study of Financial Web System Development and Operations with Oracle Web...
Case Study of Financial Web System Development and Operations with Oracle Web...
 
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
[RakutenTechConf2013] [E-3] Financial Web System with Java EE 6
 
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
Java EE 6 Adoption in One of the World's Largest Online Financial Systems (fo...
 
Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7Seven Points for Applying Java EE 7
Seven Points for Applying Java EE 7
 
Java-J2ee_Resume
Java-J2ee_ResumeJava-J2ee_Resume
Java-J2ee_Resume
 
Resume & CV
Resume & CVResume & CV
Resume & CV
 
Huge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EEHuge Enterprise Systems Architecture Design with Java EE
Huge Enterprise Systems Architecture Design with Java EE
 
MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?MicroProfile and Jakarta EE - What's Next?
MicroProfile and Jakarta EE - What's Next?
 
Chaitanya r b resume
Chaitanya r b resumeChaitanya r b resume
Chaitanya r b resume
 
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic ServerPeter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
Peter McTaggart - Renewtek - Achieving Hero Status with WebLogic Server
 
Bakiyaraj_Profile_25-May-2015
Bakiyaraj_Profile_25-May-2015Bakiyaraj_Profile_25-May-2015
Bakiyaraj_Profile_25-May-2015
 
Technical Compentency Document
Technical Compentency DocumentTechnical Compentency Document
Technical Compentency Document
 
Java enterprise paradise
Java enterprise paradiseJava enterprise paradise
Java enterprise paradise
 
Company presentation (+portfolio)
Company presentation (+portfolio)Company presentation (+portfolio)
Company presentation (+portfolio)
 
Company Presentation (+Portfolio)
Company Presentation (+Portfolio)Company Presentation (+Portfolio)
Company Presentation (+Portfolio)
 
Gangadhar_Challa_Profile
Gangadhar_Challa_ProfileGangadhar_Challa_Profile
Gangadhar_Challa_Profile
 
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs TomcatWebSphere App Server vs JBoss vs WebLogic vs Tomcat
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
 

Mehr von Hirofumi Iwasaki

Mehr von Hirofumi Iwasaki (12)

MicroProfileの正しい使い方 (Java Developer Summit 2023)
MicroProfileの正しい使い方 (Java Developer Summit 2023)MicroProfileの正しい使い方 (Java Developer Summit 2023)
MicroProfileの正しい使い方 (Java Developer Summit 2023)
 
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステムMicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
MicroProfile 5で超手軽に始める今どきのクラウド完全対応エンタープライズシステム
 
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
Jakarta EEとMicroprofileの上手な付き合い方と使い方 - JakartaOne Livestream Japan 2020
 
Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方Jakarta EE + MicroProfile との付き合い方
Jakarta EE + MicroProfile との付き合い方
 
45分で作る Java EE 8 システム
45分で作る Java EE 8 システム45分で作る Java EE 8 システム
45分で作る Java EE 8 システム
 
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
Java EE 7 with Apache Spark for the World’s Largest Credit Card Core Systems ...
 
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
Case Study: Credit Card Core System with Exalogic, Exadata, Oracle Cloud Mach...
 
Java EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise SystemsJava EE 7 for Real Enterprise Systems
Java EE 7 for Real Enterprise Systems
 
Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)Future of Java EE with SE 8 (revised)
Future of Java EE with SE 8 (revised)
 
Move from J2EE to Java EE
Move from J2EE to Java EEMove from J2EE to Java EE
Move from J2EE to Java EE
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
 
Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2 Java EE 7技術アップデート & 逆引き JSF 2.2
Java EE 7技術アップデート & 逆引き JSF 2.2
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [JavaOne CON2789]

  • 1. Java EE 6 Adoption in One of the World’s Largest Online Financial Systems [CON2789] Hirofumi Iwasaki Arshal Ameen Financial Services Department, Development Unit, Rakuten, Inc.
  • 2. 2 Speaker Biography (1/2) § Hirofumi Iwasaki – Group Manager, Technology Manager – Financial Service Department, Development Unit, Rakuten, Inc. § Carrier – Planning, designing & implementation of huge enterprise systems for financial, manufacturing and public systems with enterprise middleware, especially Java EE & .NET in Japan for about 16 years. § Opus, Lectures, etc. – Conferences: Java Day Tokyo 2014, JJUG CCC Spring (2014), WebLogic roundtable (2012-2013), Rakuten Tech Conference (2013) etc. – Magazine: @IT (2005-2010), CIO Magazine (2009), IT Architect (2005-2009), Web+DB Press (2005), Java World (2001-2004), etc.
  • 3. 3 Agenda 1. Java EE 6 for Our Financial Systems Overview 2. EJB Appliance for Financial Back-End Systems 3. JSF Appliance for Financial Front-End Systems
  • 4. 4 Agenda 1. Java EE 6 for Our Financial Systems Overview 2. EJB Appliance for Financial Back-End Systems 3. JSF Appliance for Financial Front-End Systems
  • 6. Rapidly Expanding Worldwide from 2010 • E-commerce in 14 countries and regions • All services and businesses in 28 countries
  • 7. Rakuten Group Consolidated GMS US $51.4B 23.407 52.319 79.134 153.004 329.106 478.765 1154.786 832.354 1861.268 1474.570 3413.582 2746.821 5248.976 (JPY B) 4146.244 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013
  • 8. 1997 2014 8 Internet Services (1997) Online Hotel Reservation Internet Research (2000) (2001) (2005) (2003) (2006) (2007) EC in France in USA (2010) EC In Thailand (2009) (2004) (2008) (2008) EC in UK (2011) EC In Austria In Indonesia EC in Malaysia in Brazil (2005) (2009) (2010) Internet Finance In Germany Global Video streaming Global Video (2012) In Spain (2013) (2013) EC In Singapore EC In Japan Online Books, DVD Store Pay-per-view Video Service Portal Site Performance Marketing In USA Internet Auction EC in Taiwan Global eBook Streaming Global Social Messaging App (2014) Online Security Brokerage Credit Card E-money Internet Banking Rakuten Life Insurance Professional IP Telephony Baseball Marriage Consultant (2014) Credit Card Payment By Smartphone (2012) Point Service Phone Service (2013) Online Golf Reservation Others Energy Service Real Café Service Curation Service Expanding Business Portfolio
  • 9. 9 5 Financial Services of Rakuten Group in Japan Life Insurance Credit Card E-Money Bank Financial Securities
  • 10. 10 5 Financial Services of Rakuten Group in Japan § Big 5 Services § Each has Huge Transactions § 24/7 Non-Stop Services Life Insurance Credit Card E-Money Bank Financial Securities
  • 11. 11 Requirements for Rakuten Financial Systems Financial Systems Requires 1. Rapid business logic changeable as business model changes 2. Huge request capacity as business grows 3. Must be transactional
  • 12. 12 3 Big Issues of the Rakuten Card Systems Credit Card 1. Outdated ! 2. Complicated ! 3. Difficult!
  • 13. 13 3 Big Targets for New Architecture Sustainability Requirements System Flexibility Transparency
  • 14. 14 Why We Chose the Java EE ? Portability Results of Financial Sys Vendor Support Community Excellent Excellent Excellent Excellent Nothing Good Not Bad Mediocre
  • 15. 15 Why We Chose WebLogic 12c Product Productivit y Reliability Scalability Support Price Operation Development WebLogic Server 12c Excellent Excellent Excellent Excellent Not Good Excellent Excellent Product A Excellent Excellent Excellent Excellent Not Good Not Good Not Good Product B Excellent Excellent Not Good Not Good Not Good Not Good Excellent
  • 16. 16 Why We Chose the Oracle Exadata? Product Productivity Data reliability Scalability HA PCI DSS Operation Oracle Exadata Excellent Excellent Excellent Excellent Excellent Excellent Product X - Not Good - - - Not Good Product Y Excellent Excellent - Excellent Not Good Not Good
  • 17. 17 5 Big Issues to Apply New JEE Architecture
  • 18. 18 1. Policies: Case of Rakuten § Internal Development First, no outsourcing to external SI vendors. (Group All) § Financial businesses are also the target for the application of this policy. Educate NO ORDER & Develop Rare Case for Financial Systems in Japan In-House Development External Vendors
  • 19. 19 2. Education: Read, Read, Read! RECOMMENDED for WebLogic 12c Good & Only Japanese EE 6 book Start from HERE 4th Edition Good Pocket Reference! For NetBeans 7 with EE 6
  • 20. 20 2. Education: Online Materials Original Tutorial for Newbies (Start here!) NetBeans Java EE docs for Advanced Information
  • 21. 21 2. Education: Simplify to Learn Old Architecture New Architecture Too difficult to learn many non-standard old technologies Simple & Easy!
  • 22. 22 3. Architecture: Apply EE 6 Specs Rich Clients (no business logics) Call Web Presentation (no business logics) Business Logic (no presentations) Data Access JPA EJB JSF DBs Automatic Transaction Java FX JTA Messaging JMS MQ Connection RMI-IIOP Other Servers EMail JAX MTA JavaMail Call Call Call Call Call There's no rich client
  • 23. 23 3. Architecture: Migrate from Old Front-End (Apache) Front-End (WebLogic) External Service Back-End (WebLogic) Old App Architecture Back-End Database View PHP Action with Business Logic Web Service API Service Data Service External Services DMZ (Apache) Static HTML, Images, CSS View Facelet External Services Exadata Backing Bean (no business logic) Business Logic External Entity DAO Entity Transaction Boundary Transaction Boundary BEGIN COMMIT WebLogic Plug-In BEGIN COMMIT New App Architecture
  • 24. 24 3. Architecture: Simplified Core L7 Balancer Front Real-time Web Site A Web Site B Internal Site Proxy Reverse Batch Exec Front Batch Services (aka APIs) System B Gateway Database System C Sub Proc
  • 25. Local Weblogic Server instance Code and Test with Fast-swap 25 4. Environment: Ease of Dev. Centralized DEV DB = X X
  • 26. 26 4. Environment: Easy Startup 2. Download Code from Repository 3. Install JDK, IDE, App servers -> Build -> Run on the local terminal 1. Join a project. 4. Refer JIRA tickets for tasks
  • 27. 27 5. Test: Full Auto Testing &Validation. 1. Auto PULL Management Server 2. Auto Build & Test 3. Auto 4. Report Validate Hourly ZERO Violations
  • 28. 28 Speaker Biography (2/2) § Arshal Ameen – Core Engineer. – Development leader for Rakuten Card Member Services. – Team Leader and Trainer. § Carrier – 3 Years as JEE engineer – App developer (iOS, Android and Win8). § Opus, Lectures, etc. – Conferences: JJUG Tokyo(2014)
  • 29. 29 Agenda 1. Java EE 6 for Our Financial Systems Overview 2. EJB Appliance for Financial Back-End Systems 3. JSF Appliance for Financial Front-End Systems
  • 30. 30 Comparison between old and new system Feature Old New(JEE6) Dependency Injection Spring DI CDI Web Framework PHP(Symfony, Smarty) JSF REST Servlets JAX-RS Transactions Transactional(Spring) EJB CMT(JTA) Persistence iBATIS JPA Batch TERASOLUNA batch FW EJB WebSockets ー Java API for WebSockets Validation ー Bean Validation API Security ー Java EE Security
  • 31. 31 Leverages and advantages Services Old Architecture EJB 3.x Dependency Could inject almost anything, programmatically Injection too Can inject anything in the container including EJBs, data sources, JMS and JPA resources but only annotations. Transaction management Transactional of Spring JTA Persistence iBatis Tightly integrated through JPA State management Web container session management Stateful Session Beans and Extended Persistence Context but we still stick to JSF based states Web Services By using XFire for registered beans. JAX-WS 2.0 Messaging JMSTemplate adds nice abstraction over JMS. Message Driven Beans. AOP AspectJ and Spring AOP alliance. Simple but limited support through interceptors. Security None Declarative and programmatic security through JAAS. Scheduling Must add and configure Quartz for scheduling. None were used Simple scheduling possible through EJB Timer service Remoting Remote transactions and security are not supported. Not standardized. Integrated support through Session Bean remote interfaces.
  • 32. 32 Remote Interfaces RDBMS Local Client JMS JTA JNDI JDBC RMI_IIOP Threading Pooling Security Web Services Remote Client JMS Provider Remote Client Application Server EJB Container Business Logic Tier Session Beans Message Driven Persistence Tier MeBsesaagnes Driven MeBsesaagnes Driven Beans Session Beans Session Beans JPA Entities Entity Manager JPA Entities Entity Manager
  • 33. 33 JPA Features iBATIS JPA Simplicity Best Good Complete ORM solution Average Best Adaptability to data model changes Good Average Complexity Best Average Dependence on SQL Good Average Performance Best Average Portability across different relational databases Average Average Portability to non-Java platforms Best Not Supported Community support and documentation Average Good
  • 34. 34 JTA § Transaction rollback prevents data pollution § Timeout settings limits latency in EJB response § An ideal tool for resource management and data integrity. § XA enables global transaction a.k.a 2PC.
  • 35. 35 Stateful Vs Stateless in EJB § Stateless EJBs ! § States are managed by JSF.
  • 36. 36 Managed Entities § Fetches same entity every time § Auto update entity on state change. § Performance is best with Exadata, with others……….
  • 37. 37 EJB Timer Service § The EJB 3 timer service allows to invoke a method by the container after a specified interval of time. § Timers are persistent and can survive a container crash or restart. § Timers are transactional. § Timers well actually are not that precise. § Managing multiple timer events in not possible
  • 38. 38 Agenda 1. Java EE 6 for Our Financial Systems Overview 2. EJB Appliance for Financial Back-End Systems 3. JSF Appliance for Financial Front-End Systems
  • 39. 39 Limitation of JSF 2.1 1. Flash one step traversal limitation doesn’t meet our requirements. 2. CSRF – No standardized implementation in 2.1. 3. No file(template) include feature from server i.e the file to include using ui:include is present on server not within war or ear. 4. No way to pass passthrough attributes or html5 data attributes used in JSF 2.2 5. Custom validators, custom tags and custom renderers
  • 41. 41 2. Csrf tag § Custom CSRF implementation into a JSF tag
  • 42. 42 3. Custom template include tag § Get template file contents from server and include it in JSF facelet
  • 43. 43 4. Passthrough attributes § Custom renderers for common tags § Html5 attributes
  • 44. 44 5. Customization § Custom tags, UI components, validators, convertors and comparators.
  • 45. 45 Contact Hirofumi Iwasaki (@HirofumiIwasaki) Arshal Ameen (@AforArsh)
  • 46. 46