More Related Content
Similar to [TDC 2013] Integre um grid de dados em memória na sua Arquitetura (20)
More from Fernando Galdino (16)
[TDC 2013] Integre um grid de dados em memória na sua Arquitetura
- 2. 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?
- 3. 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, ….
fernando.galdino@oracle.com
- 4. 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
- 5. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.5
Agenda Introdução
Adoção na arquitetura
Como usar?
- 7. 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.
- 8. 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
- 9. 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
- 10. 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
- 11. 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
- 12. 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
- 13. 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
- 14. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.14
Usos de um grid de dados
Caching
Analytics
Transactions
Events
- 15. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.15
Adoção na arquitetura
- 16. 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)
- 17. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.17
Como usar grid de dados em memória
na sua Arquitetura?
- 18. 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
- 19. 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
- 20. 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
- 21. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.21
2. DB Offload
Data Grid
- 22. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.22
3. Mainframe Offload
Data GridWorkers
Mainframe / Back End
- 23. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.23
4. “Always On” Information
Data Grid
In-Flight
Data
Production Servers
- 24. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.24
5. Web App Scale Out
Data Grid
Application
Servers
Back End
Systems
- 25. 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
- 26. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.26
6. Cross-Application User Sessions
Data
Grid
Web App1
Web App2
Web App2
- 27. 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
- 28. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.28
8. Query Results Pagination
Query Results
Data
Grid
- 29. 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
- 30. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.30
Reservation
System
Membership
Program
Application
Customer
DB
Ad ServerVideo/media
Server
Partner
Applications
Campaign
Analytics
10. Large Context Data
- 31. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.31
11. Object Interoperability
Data Grid
- 32. 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
- 33. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.33
Data
Grid
12. Enhanced Data Mapping
JPA
- 34. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.34
13. Data Grid power on SOA
Data Grid
Cust
om
Tuxe
do
FTP
File
SMT
P
Oracle Service Bus
Web
Servi
ces
JMS
MQ
EJB/
RMI
- 35. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.35
14. Geo Replication
Data Grid Data Grid
- 36. 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
- 37. 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
- 38. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.38
17. Complex Event Processing
Data Grid
Oracle CEP
Consolidated
& in-context
Data
- 39. 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…
- 40. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.40
18. Trading exchange
Mainframe / Back EndData Grid
Batch to Load Data
Oracle Data
Integrator
Exchange
Application
- 41. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.41
19. Next Generation OSS/BSS Network DomainIT 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
- 42. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.42
20. Payment Gateway
Data Grid
Cust
om
Tuxe
do
FTP
File
SMT
P
Oracle Service Bus
Web
Servi
ces
JMS
MQ
EJB/
RMI
WIRE
EFT
SWIFT
ACH
- 43. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.43
21. Risk Calculations
Mainframe / Back EndData Grid
Batch to Load Data
Oracle Data
Integrator
Risk Analysis
Dashboard
- 44. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.44
Como usar?
- 45. 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”);
- 46. 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));
- 47. 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
- 49. 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