Java EE 6 Adoption in One of the World’s Largest Online Financial Systems

43 %
57 %
Information about Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Technology

Published on October 2, 2014

Author: Arshal08

Source: slideshare.net

Description

Financial companies need Java EE to power their business today. Rakuten Card, one of the largest credit card companies in Japan, adopted Java EE 6 for its online systems rearchitecture. Learn why it chose Java EE, and hear about its experiences and lessons learned. This is the first time a large credit card company in Japan is sharing its story. How do you start such a big project? Why did it choose Java EE? How did it select the in-house development policies, educate itself, and develop the additional libraries? How did it launch within only six months? What is the key factor driving 24/7 critical financial systems successfully? How do you migrate to Java EE 7 in the future? This presentation answers these questions and any others you may have.

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 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

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 Global Rakuten Group

5. Rapidly Expanding Worldwide from 2010 • E-commerce in 14 countries and regions • All services and businesses in 28 countries

6. 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

7. 1997 2014 7 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

8. 8 5 Financial Services of Rakuten Group in Japan Life Insurance Credit Card E-Money Bank Financial Securities

9. 9 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

10. 10 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

11. 11 3 Big Issues of the Rakuten Card Systems Credit Card 1. Outdated ! 2. Complicated ! 3. Difficult!

12. 12 3 Big Targets for New Architecture Sustainability Requirements System Flexibility Transparency

13. 13 Why We Chose the Java EE ? Portability Results of Financial Sys Vendor Support Community Excellent Excellent Excellent Excellent Nothing Good Not Bad Mediocre

14. 14 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

15. 15 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

16. 16 5 Big Issues to Apply New JEE Architecture

17. 17 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

18. 18 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

19. 19 2. Education: Online Materials Original Tutorial for Newbies (Start here!) NetBeans Java EE docs for Advanced Information

20. 20 2. Education: Simplify to Learn Old Architecture New Architecture Too difficult to learn many non-standard old technologies Simple & Easy!

21. 21 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

22. 22 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

23. 23 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

24. Local Weblogic Server instance Code and Test with Fast-swap 24 4. Environment: Ease of Dev. Centralized DEV DB = X X

25. 25 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

26. 26 5. Test: Full Auto Testing &Validation. 1. Auto PULL Management Server 2. Auto Build & Test 3. Auto 4. Report Validate Hourly ZERO Violations

27. 27 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

28. 28 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

29. 29 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.

30. 30 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

31. 31 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

32. 32 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.

33. 33 Stateful Vs Stateless in EJB § Stateless EJBs ! § States are managed by JSF.

34. 34 Managed Entities § Fetches same entity every time § Auto update entity on state change. § Performance is best with Exadata, with others……….

35. 35 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

36. 36 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

37. 37 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

38. 38 1. Flash

39. 39 2. Csrf tag § Custom CSRF implementation into a JSF tag

40. 40 3. Custom template include tag § Get template file contents from server and include it in JSF facelet

41. 41 4. Passthrough attributes § Custom renderers for common tags § Html5 attributes

42. 42 5. Customization § Custom tags, UI components, validators, convertors and comparators.

43. 43 Contact Hirofumi Iwasaki (@HirofumiIwasaki) Arshal Ameen (@AforArsh)

44. 44

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Rakuten: Java EE Adoption in One of the World?s Largest ...

... Java EE Adoption in One of the World ... Rakuten is one of the largest online financial systems in ... Java EE 6 Adoption in One of the World ...
Read more

The Aquarium News from the GlassFish Community: Rakuten ...

Java EE 6 Adoption in One of the World’s Largest Online Financial Systems from Arshal Ameen. Hirofumi Iwasaki and Arshal Ameen have been great advocates ...
Read more

Real World Java EE 6 Tutorial - YouTube

Real World Java EE 6 ... Refactor your Java EE application ... Java EE 6 Adoption in One of the World’s Largest Online Financial Systems ...
Read more

Corporation Financial System Project in Java - YouTube

Download Corporation Financial System Project in Java ... Java EE 6 Adoption in One of the World’s Largest Online ... Systems in Java ...
Read more

JJUG CCC 2014 Fallで感じたJavaの熱気 - Challenge Java EE

Java EE 6からJava EE 7ではなく、Spring Boot ... Java EE 8 は ... Java EE 6 Adoption in One of the World’s Largest Online Financial Systems ...
Read more

JavaOne Java EE Track Content Finalized (A Detailed ...

JavaOne Java EE Track Content Finalized (A Detailed ... perhaps were a better fit in one way ... of the World's Largest Online Financial Systems ...
Read more

JJUG CCC 2014 Fall ( #jjug_ccc ) - セッション資料の一覧 - 地平線に行く

H-3 Java EE の新たな ... R1-6 Concurrent Mark-Sweep Garbage ... R2-4 Java EE 6 Adoption in One of the World’s Largest Online Financial Systems ...
Read more

NetBeans Platform Showcase

Exie drives financial ... built on top of the NetBeans Platform and Java EE 6, ... technology into one SDK. Java ME SDK 3.0 is the ...
Read more