Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

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

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 44 Anzeige

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

Herunterladen, um offline zu lesen

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.

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.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (16)

Andere mochten auch (18)

Anzeige

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

Aktuellste (20)

Anzeige

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

  1. 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. 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. 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. 4 Global Rakuten Group
  5. 5. Rapidly Expanding Worldwide from 2010 • E-commerce in 14 countries and regions • All services and businesses in 28 countries
  6. 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. 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. 8 5 Financial Services of Rakuten Group in Japan Life Insurance Credit Card E-Money Bank Financial Securities
  9. 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. 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. 11 3 Big Issues of the Rakuten Card Systems Credit Card 1. Outdated ! 2. Complicated ! 3. Difficult!
  12. 12. 12 3 Big Targets for New Architecture Sustainability Requirements System Flexibility Transparency
  13. 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. 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. 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. 16 5 Big Issues to Apply New JEE Architecture
  17. 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. 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. 19 2. Education: Online Materials Original Tutorial for Newbies (Start here!) NetBeans Java EE docs for Advanced Information
  20. 20. 20 2. Education: Simplify to Learn Old Architecture New Architecture Too difficult to learn many non-standard old technologies Simple & Easy!
  21. 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. 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. 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. 24. Local Weblogic Server instance Code and Test with Fast-swap 24 4. Environment: Ease of Dev. Centralized DEV DB = X X
  25. 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. 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. 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. 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. 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. 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. 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. 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. 33 Stateful Vs Stateless in EJB § Stateless EJBs ! § States are managed by JSF.
  34. 34. 34 Managed Entities § Fetches same entity every time § Auto update entity on state change. § Performance is best with Exadata, with others……….
  35. 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. 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. 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. 38 1. Flash
  39. 39. 39 2. Csrf tag § Custom CSRF implementation into a JSF tag
  40. 40. 40 3. Custom template include tag § Get template file contents from server and include it in JSF facelet
  41. 41. 41 4. Passthrough attributes § Custom renderers for common tags § Html5 attributes
  42. 42. 42 5. Customization § Custom tags, UI components, validators, convertors and comparators.
  43. 43. 43 Contact Hirofumi Iwasaki (@HirofumiIwasaki) Arshal Ameen (@AforArsh)
  44. 44. 44

×