[tdc 2013] integre um grid de dados em memória na sua arquitetura

51
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

Upload: fernando-galdino

Post on 18-Nov-2014

636 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1

Page 2: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 2

Suas aplicações precisam…

...acessar várias vezes o

banco de dados?

... armazenar dados em

cache?

Page 3: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 3

Integre um grid de dados em memória em sua arquitetura

Fernando Galdino

Fusion Middleware Solution Specialist

Weblogic, SOA, BPM, ….

[email protected]

Page 4: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 4

• Desde 2009 – ORACLE

• Antes: Ericsson, IBM, Banco JPMorgan,

Fundação CPqD e outras

• Mestrado Em Administração De Empresas –

Gestão De Projetos Pela Uninove

• Especialização em Administração De Empresas

pela FGV

• Ciência da Computação pela UNICAMP

Fernando Galdino

Page 5: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5

Agenda Introdução

Adoção na arquitetura

Como usar?

Page 6: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6

Introdução

Page 7: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 7

Por quê um grid de dados em memória? No início as aplicações eram simples.

Page 8: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 8

Por quê um grid de dados em memória? Escalar conforme a demanda e capacidade

Page 9: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 9

Por quê um grid de dados em memória? Alta latência, começamos a criar caches locais

Page 10: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 10

Por quê um grid de dados em memória? Da inconsistência para uma estrutura confiável e sincronizada

Page 11: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 11

Por quê um grid de dados em memória? O cache distribuído tinha que ser confiável

Page 12: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 12

O que é Oracle Coherence?

Uma biblioteca de desenvolvimento de software

– Funcionalidade de cache e grid de dados para desenvolvedores;

– Tecnologia de clusterização;

– Estruturas de dados distribuídas

Para Java

Para .Net

Para C++

REST clients

Page 13: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 13

Application Servers

Web Servers

Data Demand

Universo crescente de usuários

Data Supply

Data Sources

Java Objects

Page 14: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14

Usos de um grid de dados

Caching

Analytics

Transactions

Events

Page 15: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15

Adoção na arquitetura

Page 16: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 16

Como os desenvolvedores usam o Coherence?

Step 1. Incluir coherence.jar no classpath

Step 2. Fazer chamadas para a API do Coherence na aplicação

Step 3. Empacotar coherence.jar com a aplicação

Step 4. Instalar a Aplicação

(tantas vezes quanto necessário para atender a demanda)

Page 17: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17

Como usar grid de dados em memória na sua Arquitetura?

Page 18: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 18

Casos de Uso Técnicos

Seamless Consolidation

DB off-Load

Mainframe off-Load

“Always On” Information

Web Scale Out

1

2

3

4

5

REDUÇÃO DE CUSTOS

Cross-App User Session

Cross-Page Form Data

Query Results Pagination

User Profiles

Large context data

Object Interoperability

EXPERIÊNCIA USR.

Enhanced Data Mapping

Data Grid Power on SOA

Geo replication

Real Time System

State machine

Complex Event Process

ESCALABILIDADE

6

7

8

9

10

11

12

13

14

15

16

17

Page 19: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 19

REDUZIR CUSTOS

Seamless Consolidation

Offload Costly Back-End Data Sources: DB off-Load

Offload Costly Back-End Data Sources: Mainframe off-Load

“Always On” Information

Web Scale Out

1

2

3

4

5

Page 20: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 20

1. Seamless Consolidation

Data Grid Application

Server Cluster

with multiple

JVMs / Managed

Application

Server Cluster

with less

members and

data grid cluster

connected

Page 21: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21

2. DB Offload

Data Grid

Page 22: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22

3. Mainframe Offload

Data Grid Workers

Mainframe / Back End

Page 23: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23

4. “Always On” Information

Data Grid

In-F

lig

ht

Data

Production Servers

Page 24: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 24

5. Web App Scale Out

Data Grid

Application

Servers Back End

Systems

Page 25: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 25

APRIMORAR EXPERIÊNCIA DO USUÁRIO

Cross-Application User Sessions

Cross-Page Form Data

Query Results Pagination

User Profiles

Large context data

Object Interoperability

6

7

8

9

10

11

Page 26: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26

6. Cross-Application User Sessions

Data

Grid

Web App1

Web App2

Web App2

Page 27: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 27

7. Cross-Page Form Data

OnLine Form

Next

OnLine Form

Done

OnLine Form

Next

Data Grid

Page 28: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 28

8. Query Results Pagination

Query Results

Data

Grid

Page 29: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 29

9. User Profiles

Data Grid Catalog App

Orders App

Billing App

User: John Smith

Address: 424 Shady Lane

Phone: 732-871-4882

Orders:

Bills: Order 123

Order 456

Bill 329

Page 30: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 30

Reservation

System

Membership

Program

Application

Customer

DB Ad Server Video/media

Server

Partner

Applications

Campaign

Analytics

10. Large Context Data

Page 31: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31

11. Object Interoperability

Data Grid

Page 32: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 32

ESCALABILIDADE EXTREMA

Enhanced Data Mapping

Data Grid Power on SOA

Geo replication

Real Time System

State machine

Complex Event Processing

12

13

14

15

16

17

Page 33: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33

Data

Grid

12. Enhanced Data Mapping

JPA

Page 34: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 34

13. Data Grid power on SOA

Data Grid

Cu

st

om

Tu

xe

do

FT

P

File

SM

TP

Oracle Service Bus

We

b

Se

rvi

ce

s

JM

S

MQ

EJ

B/

RM

I

Page 35: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35

14. Geo Replication

Data Grid Data Grid

Page 36: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 36

15. Real Time Systems

Assurance

Dashboard

CRM

Billing

Oracle Data

Integrator

Rule

Authoring Data Grid

Page 37: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 37

16. State Machine

Data Grid

……………………

Back End

Network status

Rules & Decisions

Information

Telemetry

Real Time Devices

Page 38: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 38

17. Complex Event Processing

Data Grid Oracle CEP

Consolidated

& in-context

Data

Page 39: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 39

CASOS DE USO DE NEGÓCIO

Trading Exchange

Next Generation of OSS/BSS (Telco)

Payment Gateway

Risk Calculations

18

19

20

21

Outras possibilidades…

Page 40: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 40

18. Trading exchange

Mainframe / Back End Data Grid

Batch to Load Data

Oracle Data

Integrator

Exchange

Application

Page 41: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 41

19. Next Generation OSS/BSS

Network Domain IT Domain

IN

HLR

Black

List Voice

Mail

IMS DLSAM

BNG

Self Care

IVR

CRM

Billing, CRM,

ERP, MDM

Network

Events

Middleware

Data

Integration

Provisioning

Customer-Facing

Data Grid

Real Time Billing

Fraud Detection

System Assurance

Benefits

• Performance: data is always up to date on the

Grid

• Reliable and always Available

• Reduce access to network elements

• Compute intensive operations running in real time

on the Grid

• Scale dynamically on the fly

Page 42: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 42

20. Payment Gateway

Data Grid

Cu

st

om

Tu

xe

do

FT

P

File

SM

TP

Oracle Service Bus

We

b

Se

rvi

ce

s

JM

S

MQ

EJ

B/

RM

I

WIRE

EFT

SWIFT

ACH

Page 43: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 43

21. Risk Calculations

Mainframe / Back End Data Grid

Batch to Load Data

Oracle Data

Integrator

Risk Analysis

Dashboard

Page 44: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 44

Como usar?

Page 45: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 45

Usando o Oracle Coherence get, put, size & remove

NamedCache nc = CacheFactory.getCache(“mine”);

Object previous = nc.put(“key”, “hello world”);

Object current = nc.get(“key”);

int size = nc.size();

Object value = nc.remove(“key”);

Page 46: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 46

Usando o Oracle Coherence Realizando pesquisas

NamedCache nc = CacheFactory.getCache(“people”);

Set keys = nc.keySet(

new LikeFilter(“getLastName”,

“%Stone%”));

Set entries = nc.entrySet(

new EqualsFilter(“getAge”,

35));

Page 47: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 47

Usar um grid de dados em memória

é FÁCIL e traz

GANHOS significativos

para sua

APLICAÇÃO

e para

ARQUITETURA

Page 48: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 48

Page 49: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 49

Join the Coherence Community

http://coherence.oracle.com

@OracleCoherence

facebook.com/OracleCoherence

blogs.oracle.com/OracleCoherence

Oracle Coherence Users

youtube.com/OracleCoherence

coherence.oracle.com/display/CSIG Coherence Special Interest Group

Page 50: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 50

Page 51: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51