[tdc 2013] integre um grid de dados em memória na sua arquitetura
DESCRIPTION
TRANSCRIPT
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1
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?
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, ….
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 5
Agenda Introdução
Adoção na arquitetura
Como usar?
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 6
Introdução
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.
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
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
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
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
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 14
Usos de um grid de dados
Caching
Analytics
Transactions
Events
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 15
Adoção na 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)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 17
Como usar 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
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 21
2. DB Offload
Data Grid
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 22
3. Mainframe Offload
Data Grid Workers
Mainframe / Back End
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 23
4. “Always On” Information
Data Grid
In-F
lig
ht
Data
Production Servers
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 24
5. Web App Scale Out
Data Grid
Application
Servers Back End
Systems
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 26
6. Cross-Application User Sessions
Data
Grid
Web App1
Web App2
Web App2
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 28
8. Query Results Pagination
Query Results
Data
Grid
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 31
11. Object Interoperability
Data Grid
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 33
Data
Grid
12. Enhanced Data Mapping
JPA
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 35
14. Geo Replication
Data Grid Data Grid
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 38
17. Complex Event Processing
Data Grid Oracle CEP
Consolidated
& in-context
Data
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…
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
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
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
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 44
Como usar?
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”);
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));
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 48
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
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 50
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 51