case study of financial web system development and operations with oracle weblogic12c and exadata

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

Upload: arshal-ameen

Post on 26-Dec-2014

170 views

Category:

Technology


1 download

DESCRIPTION

To stay ahead of the technology curve, financial companies require the power, flexibility, and scalability of latest enterprise technologies for 24/7 services. Rakuten Card, one of the largest credit card companies in Japan, recently renewed its web front-end systems utilizing Java EE. This session provides answers to the following questions: Among the myriad of available technologies, why did it choose Oracle WebLogic and Oracle Exadata, managed by Oracle Enterprise Manager? How did it drive this huge project to completion in only six months, using only in-house development? What were the key success factors in launching and operating this mission-critical service? Hear about its extraordinary improvement results and how its selections are effective for financial enterprise systems.

TRANSCRIPT

Page 1: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

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.

Page 2: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

2

Agenda

1. Java EE with WebLogic and Exadata for Our Financial Systems Overview

2. Starting with GlassFish, Migrated to WebLogic

3. Hard Business Operations, with the Power of the WebLogic and Exadata

Page 3: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

3

Agenda

1. Java EE with WebLogic and Exadata for Our Financial Systems Overview

2. Starting with GlassFish, Migrated to WebLogic

3. Hard Business Operations, with the Power of the WebLogic and Exadata

Page 4: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

4

Global Rakuten Group

Page 5: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

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

Page 6: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

Rakuten Group Consolidated GMS

23.407 52.319 79.134 153.004 329.106

478.765 832.354

1154.786 1474.570

1861.268

2746.821

3413.582

4146.244

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

5248.976 (JPY B)

US $51.4B

Page 7: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

7

Internet Services

(1997)

(2003)

(2006)

(2007)

(2010)

in USA

EC in France

(2009)

(2004)

(2008)

(2008)

(2011)

EC in UK

EC In Austria

In Indonesia

in Brazil

(2005)

(2009)

EC In Thailand

(2010)

Internet Finance

(2001) (2000) (2005)

In Germany

(2012)

EC in Malaysia

(2013)

(2013)

In Spain

Logistics In France

(2012)

EC In Singapore

EC In Japan

Online Books, DVD Store

Online Hotel Reservation

Pay-per-view Video Service

Portal Site

Performance Marketing

In USA

Internet Research

Internet Auction

EC in Taiwan

Global eBook

Global Video streaming Global Video

Streaming

Global Social Messaging App

(2014)

Online Security Brokerage

Credit Card E-money Internet Banking

Rakuten Life Insurance

IP Telephony Professional Baseball

Marriage Consultant

1997 2014

(2014)

Credit Card Payment By Smartphone

(2012)

Point Service

(2013)

Phone Service

Online Golf Reservation

Others

Energy Service

Real Café Service

Curation Service

Expanding Business Portfolio

Page 8: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

8

Life Insurance

5 Financial Services of Rakuten Group in Japan

Credit Card

E-Money

Bank

Financial Securities

Page 9: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

9

Life Insurance

5 Financial Services of Rakuten Group in Japan

Credit Card

E-Money

Bank

Financial Securities

§ Big 5 Services § Each has Huge Transactions § 24/7 Non-Stop Services

Page 10: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

10

Requirements for Rakuten Financial Systems

Financial Systems Requires

1. Rapidly changeable business logic as business model changes

2. Huge request capacity as business grows

3. Must be transactional

Page 11: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

11

3 Big Issues of the Rakuten Card Systems

Credit Card

1. Outdated !

2. Complicated !

3. Difficult!

Page 12: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

12

3 Big Targets for New Architecture

Requirements

Sustainability

Flexibility System Transparency

Page 13: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

13

Portability Results of Financial Sys

Vendor Support

Community

Excellent Excellent Excellent Excellent

Nothing Good Not Bad Mediocre

Why We Chose the Java EE ?

Page 14: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

14

Why We Chose WebLogic 12c Product Productivity 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

Page 15: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

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

Page 16: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

16

PCI DSS Certification Requirements

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

OS audit DBA audit Standard audit Fine grain audit

Audit target

Instance start and stop, connect with admin or listener

DB operation with admin user

DB operation with login, object operation with DDL/DML, data reference, etc.

CRUD for specific data

Output OS file, listener log OS file OS file, (DBA_AUDIT_TRAIL view in Oracle)

User definition table, (DBA_FGA_AUDIT_TRAIL view in Oracle)

Audit log Time, OS info, DB instance, action, auth info, exit code

Time, DB user, action, auth info, OS user, exit code

Time, user, action, OS user, terminal name, query, etc.

time, DB user, OS user, accessed object name, fine grain audit policy name, query

Page 17: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

17

5 Big Issues to Apply New JEE Architecture

Page 18: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

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.

NO ORDER Educate & Develop

Rare Case for Financial Systems in Japan

In-House Development

External Vendors

Page 19: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

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

Page 20: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

20

2. Education: Online Materials

NetBeans Java EE docs for Advanced Information

Original Tutorial for Newbies (Start here!)

Page 21: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

21

2. Education: Simplify to Learn Old Architecture

New Architecture

Too difficult to learn many non-standard old technologies

Simple & Easy!

Page 22: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

22

Rich Clients (no business logics)

Call

Web Presentation (no business logics)

Business Logic (no presentations)

3. Architecture: Apply EE 6 Specs

Data Access JPA

EJB JSF

DBs

Java FX JTA

Automatic Transaction

Messaging JMS MQ

Connection RMI-IIOP

Other Servers

EMail MTA JavaMail

JAX

Call Call

Call

Call

Call There's no rich client

Page 23: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

23

Core

3. Architecture: Simplified

L7 Balancer

Front Real-time

Front Batch

Web Site B

Web Site A

Internal Site

Reverse P

roxy

Batch Exec

Services (aka A

PIs)

System B

Gateway

Database

System C

Sub Proc

Page 24: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

24

4. Environment: Ease of Dev.

X X =

Centralized DEV DB Local Weblogic Server instance Code and Test with Fast-swap

Page 25: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

25

4. Environment: Easy Startup

3. Install JDK, IDE, App servers -> Build -> Run on the local terminal

2. Download Code from Repository

1. Join a project.

4. Refer JIRA tickets for tasks

Page 26: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

26

5. Test: Full Auto Testing &Validation.

Management Server

1. Auto PULL

2. Auto Build & Test

3. Auto Validate 4. Report

Hourly ZERO Violations

Page 27: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

27

Agenda

1. Java EE with WebLogic and Exadata for Our Financial Systems Overview

2. Starting with GlassFish, Migrated to WebLogic

3. Hard Business Operations, with the Power of the WebLogic and Exadata

Page 28: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

28

§  Chart of the mid 2011 Java EE app servers

Vendor App Server EE 5 Servers EE 6 Servers Open Source GlassFish 2.1.1 3.1.1 Oracle WebLogic 10.3 - IBM WebSphere 7.0 8.0 Red Hat JBoss 6.0 7.0 (partially)

In Mid 2011, We Didn’t Have WebLogic 12c Yet

§  We wanted to apply Java EE 6 for our new system, but not released. §  We decided to use GlassFish 3.1.1 until the EE 6 applied WebLogic

(12c) released.

Page 29: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

29

Impact of the Migrating within the Project

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

GlassFish à WebLogic

Page 30: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

30

Code Base BEA WebLogic 6.0 based + Improvements

Felix OSGi modular based kernel

Web Container WebLogic Original Tomcat Container

EJB Container WebLogic Original GlassFish Original

Remote Invocation T3, RMI-IIOP, SOAP RMI-IIOP, SOAP

Transaction Processing WebLogic Original GlassFish Original

Persistence Container WebLogic Original TopLink Based

Runtime JRockit, Oracle JDK Oracle JDK

Investigation of the Differences

Page 31: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

31

Schedule for Migrating from GlassFish to WebLogic

Java EE 6 Development

with GlassFish

Migrating to WebLogic

(12c)

Developm

ent O

perations

Java EE Development with WebLogic (12c)

Production Release

Configuration of Java EE 6 applied WebLogic (12c) and

Enterprise Manager (12c)

(Dec, 2011)

Production Release

Finally the new WL was released at

the end of 2011

Page 32: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

32

Non-Interchangeable Point: 1. Container Initialization

§  Single WAR including JSF and EJBs –  GlassFish

1.  EJB initialize (@Startup) 2.  JSF (Servlet) initialize (HttpServlet#init())

–  WebLogic 1.  JSF (Servlet) initialize (HttpServlet#init()) 2.  EJB initialize (@Startup)

§  Inverse initialization pattern –  Affected for the server initializations. –  Absorbed with the wrapper classes

Page 33: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

33

New Functions of Moving from GF to WL 12c

* Basically We Didn’t Use These Functions

Page 34: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

34

New Function: What WL 12c Knows About GF Config Glassfish Weblogic Support  context-root context-root security-role-mapping security-role-assignment role-name role-name principle-name principle-name group-name principle-name session-config session-descriptor session-manager:manager-properties:reapIntervalSeconds   invalidation-interval-seconds session-manager:manager-properties:maxSessions   max-in-memory-sessions session-manager:manager-properties:directory   persistent store dir

session-manager:manager-properties:timeoutSeconds   timeout-secs ejb-ref ejb-ref-description ejb-ref-name ejb-ref-name jndi-name jndi-name resource-ref resource-description res-ref-name res-ref-name jndi-name jndi-name resource-env-ref resource-env-description resource-env-ref-name resource-env-ref-name jndi-name jndi-name class-loader container-descriptor delegate prefer-web-inf-classes jsp-config jsp-descriptor checkInterval page-check-seconds keepgenerated keepgenerated scratchdir working-dir

* Basically We Didn’t Use These Functions

Page 35: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

35

Non-Interchangeable Point: 2. Remote Invocation

§  Different EJB remote invocation operations. Wrapped for absorbing.

§  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/…”);

§  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/…”);

Page 36: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

36

Agenda

1. Java EE with WebLogic and Exadata for Our Financial Systems Overview

2. Starting with GlassFish, Migrated to WebLogic

3. Hard Business Operations, with the Power of the WebLogic and Exadata

Page 37: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

37

n  active-active cluster to avoid single-point of failure

n  Non-stop failover

n  Parallel operation for high performance

Atomic Database Scaling

Stand-by

Real-Tim

e

Batch

Old Database New Scaling model (Exadata)

SAN

Active

Fibre Channel switch (1~8Gb/s)

InfiniBand switch (40Gb/s)

Real-Tim

e

Batch

n  Single point of failure for non-stop service

n  MySQL limitation for update transaction performance

n  Batch traffic adversely affects online performance

n  Shared storage limitation with another service's bad performance affects

n  5 minutes in fail over

n  Divide online / batch servers

n  High performance networking

n  Independent storage for 24 Hrs / 365 days performance guarantee

Storage

RT group Batch group ・・・ ・・・

n  Scale-out enabled architecture

n  Not scalable architecture

×

Page 38: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

38

Single Database, Single Schema Strategy

Exadata X3-2

Replication (APB)

Web A

rea

INTR

A Area

Merged to Single Exadata

Ultra-huge financial online transactions with ACID props.

Page 39: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

39

Migration of Application

Front-End (Apache)"

Front-End (WebLogic)"

Back-End (WebLogic)"

Old App Architecture Back-End"

Database"

View PHP"

Action with

BusinessLogic"

Web Service"

APIService"

Data Service"

External Service"

External Services

DMZ(Apache)"

StaticHTML,

Images,CSS"

View Facelet"

Exadata"

External Services

Backing Bean (no

businesslogic)"

BusinessLogic"

Entity"

External"

DAO"

Entity"

Transaction Boundary

Transaction Boundary

BEGIN

COMMIT

WebLogicPlug-In"

BEGIN

COMMIT

New App Architecture

Page 40: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

40

Fast Deployment Operations WebLogic Server

Single WAR for API

WebLogic Managed Server

Real-Time

Batch

For Management

Deploy Deploy

WebLogic Management Console

Same WAR, for different servers.

Automatic multi server deploying

Page 41: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

41

Non-stop “Production Redeployment” WebLogic Server

Old Module

New Module WebLogic Request

Dispatcher

Request with current session

Requests Request with

new session

Auto versioning, Non-stop redeployment

WebLogic Managed Server

WAR

Automatic multi versioning, parallel operation

Old modules will be un-deployed gracefully when all old sessions are invalidated.

Page 42: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

42

Managing Servers by Oracle Enterprise Manager (EM)

Introduced Oracle Enterprise

Manager

Easy to Find Performance &

Status

Page 43: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

43

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 easy to operate

§  Huge costs for updating quarterly update patch. §  Complicated procedures for non-stop upgrading. §  Hoping for the next generation updating technology.

Page 44: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

44

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

Page 45: Case Study of Financial Web System Development and Operations with Oracle WebLogic12c and Exadata

45