1 / 48

Case Study of Financial Web System Development and Operations with Oracle WebLogic 12c [CON2820]

Case Study of Financial Web System Development and Operations with Oracle WebLogic 12c [CON2820]. Hirofumi Iwasaki(@ HirofumiIwasaki ) Arshal Ameen(@ aforarsh) Financial Services Department, Development Unit, Rakuten , Inc. Speaker Biography (1/ 2). Arshal Ameen Core Engineer.

sabina
Download Presentation

Case Study of Financial Web System Development and Operations with Oracle WebLogic 12c [CON2820]

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Case Study of Financial Web System Development and Operations with Oracle WebLogic 12c [CON2820] Hirofumi Iwasaki(@HirofumiIwasaki)Arshal Ameen(@aforarsh) Financial Services Department, Development Unit, Rakuten, Inc.

  2. Speaker Biography (1/2) • ArshalAmeen • Core Engineer. • Development leader for Rakuten Card Member Services. • Team Leader and Trainer. • Carrier • 3 Years as JEE engineer • App developer of iOS, Android and Win8. • Opus, Lectures, etc. • Conferences: JJUG Tokyo(2014)

  3. Agenda

  4. Agenda

  5. Global Rakuten Group

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

  7. 5248.976 Rakuten GroupConsolidated GMS (JPY B) US $51.4B

  8. Expanding Business Portfolio 1997 2014 Internet Services EC In Singapore EC In Austria EC in Malaysia EC In Japan EC In Thailand InternetResearch EC in France Online HotelReservation EC in UK ECin Taiwan InternetAuction Portal Site in Brazil In Spain Point Service Online Golf Reservation PerformanceMarketing In USA Online Books,DVD Store in USA In Germany Global Video streaming Global Video Streaming Real Café Service In Indonesia Pay-per-view Video Service Global eBook Energy Service Curation Service (2012) (2014) (2009) (2010) (2011) (2013) (2008) (1997) (2000) (2006) (2005) (2001) Internet Finance InternetBanking Credit Card Payment By Smartphone Rakuten LifeInsurance Online SecurityBrokerage E-money Credit Card (2012) (2010) (2003) (2009) (2005) (2013) ProfessionalBaseball MarriageConsultant Global SocialMessagingApp Others IP Telephony Phone Service (2004) (2008) (2007) (2014) (2013) Logistics In France (2012)

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

  10. 5 Financial Services of Rakuten Group in Japan Credit Card Bank • Big 5 Services • Each has Huge Transactions • 24/7 Non-Stop Services Financial Securities E-Money Life Insurance

  11. Requirements for Rakuten Financial Systems Financial Systems Requires

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

  13. 3 Big Targets for New Architecture

  14. Why We Chose the Java EE ?

  15. Why We Chose WebLogic12c

  16. Why We Chose the Oracle Exadata?

  17. PCI DSS Certification Requirements • We were supposed to be certified with PCI DSS, the card payment industry data security standard. Exadata is the solution.

  18. 5 Big Issues to Apply New JEE Architecture

  19. 1. Policies: Case of Rakuten NO ORDER Educate&Develop External Vendors In-HouseDevelopment Rare Case forFinancial Systems in Japan Internal Development First, no outsourcing to external SI vendors. (Group All) Financial businesses are also the target for the application of this policy.

  20. 2. Education: Read, Read, Read! Start from HERE4th Edition Translated Good PocketReference! Good & Only JapaneseEE 6 book For NetBeans 7with EE 6 RECOMMENDEDfor WebLogic 12c

  21. 2. Education: Online Materials Original Tutorialfor Newbies (Start here!) NetBeans Java EE docsfor Advanced Information

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

  23. 3. Architecture: Apply EE 6 Specs Business Logic(no presentations) WebPresentation(no business logics) Data Access DBs Call Call JPA Messaging Call JSF MQ JMS EJB RichClients(no business logics) Connection Call OtherServers Automatic Transaction Call RMI-IIOP JAX EMail Call MTA JTA JavaMail Java FX There's norich client

  24. 3. Architecture: Simplified L7 Balancer Front Real-time Core Reverse Proxy System B Web Site A Services (aka APIs) Gateway Web Site B Database Internal Site System C Front Batch Sub Proc Batch Exec

  25. 4. Environment: Ease of Dev. Centralized DEV DBLocal Weblogic Server instanceCode and Test with Fast-swap = X X

  26. 4. Environment: Easy Startup 2. DownloadCode from Repository 4. Refer JIRA ticketsfor tasks 1. Join a project. 3. Install JDK, IDE,App servers -> Build -> Run on the local terminal

  27. 5. Test: Full Auto Testing &Validation. 1. Auto PULL Management Server 2. Auto Build&Test 3. AutoValidate 4. ReportHourly ZERO Violations

  28. Speaker Biography (2/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.

  29. Agenda

  30. In Mid 2011, We Didn’t Have WebLogic 12c Yet • We wanted to apply Java EE 6for our new system, but not released. • We decided to use GlassFish3.1.1 until the EE 6 applied WebLogic (12c) released. Chart of the mid 2011 Java EE app servers

  31. Impact of the Migrating within the Project GlassFish WebLogic • Non-Interchangeable Development Code • Different container behaviors. • Non Java EE, different each server special APIs. • Scheduled Impacts for Migrating WebLogic Configurations • Cluster configurations for high availabilities. • Other setting adjustments. • Bug checking and applying patches. • Connecting Oracle Enterprise Manager.

  32. Investigation of the Differences

  33. Schedule for Migrating from GlassFish to WebLogic Java EE 6 Developmentwith GlassFish Migrating toWebLogic(12c) Java EE Developmentwith WebLogic (12c) Development ProductionRelease Configurationof Java EE 6 appliedWebLogic (12c) and Enterprise Manager (12c) Finally thenew WL wasreleased atthe end of 2011 Operations ProductionRelease (Dec, 2011)

  34. Non-Interchangeable Point: 1. Container Initialization • Single WAR including JSF and EJBs • GlassFish • EJB initialize (@Startup) • JSF (Servlet) initialize (HttpServlet#init()) • WebLogic • JSF (Servlet) initialize (HttpServlet#init()) • EJB initialize (@Startup) • Inverseinitialization pattern • Affectedfor the server initializations. • Absorbed with the wrapper classes

  35. New Functions of Moving from GF to WL 12c * Basically We Didn’t Use These Functions

  36. New Function: What WL 12c Knows About GF Config * Basically We Didn’t Use These Functions

  37. Non-Interchangeable Point: 2. Remote Invocation • WebLogic (4 properties, with security) Properties prop = new Properties(); prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, “weblogic.jndi.WLInitialContextFactory”); prop.setProperty(Context.PROVIDER_URL, “t3://theservername:7001”); prop.setProperty(Context.SECRITY_PRINCIPAL, “weblogic”); prop.setProperty(Context.SECURITY_CREDENTIALS, “thepassword”); Context context = new InitialContext(prop); ARemote remote = (ARemote) context.lookup(“java:global/…”); • GlassFish (5 properties, no security) Properties prop = new Properties(); prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,“com.sun.enterprise.naming.SerialInitContextFactory”); prop.setProperty(Context.URL_PKG_PREFXIES, “com.sun.enterprise.naming”); prop.setProperty(Context.STATE_FACTORIES “com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl” prop.setProperty("org.omg.CORBA.ORBInitialHost",“theservername”); prop.setProperty("org.omg.CORBA.ORBInitialPort", “3700”); Context context = new InitialContext(prop); ARemote remote = (ARemote) context.lookup(“java:global/…”); Different EJB remote invocation operations. Wrapped for absorbing.

  38. Agenda

  39. Atomic Database Scaling Old Database New Scaling model (Exadata) • Batch traffic adversely affects online performance Real-Time Batch Real-Time Batch • Not scalable architecture • Divide online / batch servers • Scale-out enabled architecture • Single point of failure for non-stop service • MySQL limitation for update transaction performance × ・・・ ・・・ Active Stand-by RT group Batch group FibreChannel switch(1~8Gb/s) • 5 minutes in fail over InfiniBandswitch(40Gb/s) • active-active cluster to avoid single-point of failure • Non-stop failover • Parallel operation for high performance • High performance networking • Shared storage limitation with another service's bad performance affects Storage SAN • Independent storage for 24 Hrs / 365 days performance guarantee

  40. Single Database, Single Schema Strategy Merged to Single Exadata Web Area INTRA Area Ultra-huge financialonline transactionswith ACID props. Replication(APB) Exadata X3-2

  41. Migration of Application Old App Architecture Back-End Front-End (Apache) BEGIN ExternalServices ExternalService WebService ViewPHP ActionwithBusinessLogic BL move to back-end APIService DataService Database COMMIT Entity TransactionBoundary New App Architecture Back-End(WebLogic) Front-End(WebLogic) DMZ(Apache) ExternalServices WebLogicPlug-In BusinessLogic External BEGIN ViewFacelet BackingBean(nobusinesslogic) DAO Exadata StaticHTML,Images,CSS COMMIT Entity TransactionBoundary

  42. Fast Deployment Operations WebLogic Management Console WebLogic Server Deploy Real-Time Deploy Automatic multi server deploying Deploy Deploy Single WARfor API Deploy Deploy Batch Deploy Operation WebLogicManaged Server Same WAR, for different servers. For Management

  43. Non-stop “Production Redeployment” WebLogic Managed Server WebLogic Server Deploy Auto versioning,Non-stop redeployment WAR WebLogicRequestDispatcher New Module Request with new session Automatic multi versioning, parallel operation Requests Old Module Request with current session Old modules will be un-deplayed gracefully when all old sessions are invalidated.

  44. Managing Servers by Oracle Enterprise Manager (EM) Introduced Oracle Enterprise Manager Easy to FindPerformance & Status

  45. Our Requests for WebLogic and Exadata • For WebLogic, • Appliance of latest Java EE specs ASAP!! • We know the WebLogic is the basement of the Oracle Fusion Middleware, but we want the latest EE for our products. • Yes, we’re waiting the next WebLogic version supporting JEE7. • For Exadata • Make patches easyto operate • Huge costs for updating quarterly update patch. • Complicated procedures for non-stop upgrading. • Hoping for the next generation updating technology.

  46. Questions ? Contact Hirofumi Iwasaki (@HirofumiIwasaki)Arshal Ameen (@AforArsh)

  47. Finally We’ve Got It! Project members (Apr, 2013)

More Related