[tdc 2013] integre um grid de dados em memória na sua arquitetura
DESCRIPTION
TRANSCRIPT
![Page 1: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/3.jpg)
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, ….
![Page 4: [TDC 2013] Integre um grid de dados em memória na sua Arquitetura](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/41.jpg)
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
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061120/546cdc5baf79596c298b5162/html5/thumbnails/51.jpg)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51