art of heavy lifting in the enterprise world with oracle coherence and oracle weblogic
TRANSCRIPT
![Page 1: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/1.jpg)
Art of Heavy Li.ing in the Enterprise World With Oracle Coherence and Oracle Weblogic
Deniz Seçilir (@denizsecilir) Yusuf Uğur Soysal (@yusufsoysal)
![Page 2: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/2.jpg)
Agenda
Benefits of Using Oracle Weblogic and Coherence Turkcell CRM Infrastructure – Use of Coherence and Weblogic Servers Turkcell VAS Infrastructure – Use of Coherence and Weblogic Servers Q/A
![Page 3: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/3.jpg)
9 countries 65.8 million subscribes Leadership in the region
Turkcell Group – Regional Leader
![Page 4: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/4.jpg)
Turkcell Group – Regional Leader
9 countries 65.8 million subscribes Leadership in the region
34.7 11.7
10.1 4.3
2.0 1.7 1.1 0.4 0.3
Turkcell Turkey Kazakhstan
Ukraine Azerbaijan
Georgia Belarus Moldova
Northern Cyprus Turkcell Europe
Turkcell Group: Subscribers in Q212 (million)
Listed on the NYSE and the ISE since July
2000
0.5 million net addiaons in Q212
![Page 5: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/5.jpg)
More About Turkcell
! Creates employment for more than 50.000 people in Turkey
! The first and only Turkisy company listed on NYSE
! Complies with ISO9001, EU and US regulaTons
! Massive tax contribuTon to the Turkish goverment
! Corporate social responsibility projects on educaTon, culture and sports
![Page 6: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/6.jpg)
Turkcell Technology
We are an energeTc team having more than 18 years of experience combined with an ongoing commitment to innovaTon.
![Page 7: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/7.jpg)
About Turkcell Technology
More than 10 years of experience in Turkcell ICT
TTECH Center put into service
Team of 400+ people with 17 customers in 17 countries
TTECH company formed with 44 engineers
First out of group customers
Our innovaTon is driven by our customer’s challenges and we are passionate in differenaaang our customer’s businesses.
2009 2008 2012 2007 1994 -‐ 2006
![Page 8: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/8.jpg)
Our Customers
TTECH’s soluTons are market proven and serve more than 100 million customers in 17 countries
![Page 9: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/9.jpg)
Our Competencies
§ Mobile MarkeTng
§ SIM Asset & Services Management
§ Value Added Services & Enablers
§ Roaming SoluTons
§ CRM & Channel Management
§ Business Support SoluTons
§ Mobile Internet
§ Mobile Financial Services
§ Mobile Terminal ApplicaTons
Mobile Markeang
PACKAGED SOLUTIONS
Roaming SIM
VAS
CUSTOM SERVICES
MFS
BSS
BI
CRM MI Terminal
Mobile App
![Page 10: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/10.jpg)
Our Partners
![Page 11: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/11.jpg)
Internaaonal Memberships
Turkcell Technology has become the only associate partner of the Data Warehouse Global Leaders Group from the telecommunicaaon sector in the EMEA region.
The GSMA represents the interests of the worldwide mobile communicaaons industry.
CISQ works to build so.ware quality standards and incorporates with the leading technology organizaaons worldwide and global iniaaave sponsored by So.ware Engineering Insatute Carnegie Mellon University and OMG.
![Page 12: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/12.jpg)
Meet Us
![Page 13: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/13.jpg)
Why Use a Grid System
• Efficient use of resources • Dynamic, scalable data
capacity • Single, consistent view of data
• Load balancing • High availability • Process data where they are
![Page 14: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/14.jpg)
How We Choosed Oracle Coherence?
![Page 15: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/15.jpg)
Why We Choosed Oracle Coherence
• Scalability, Availability, Performance
• Support & Price
• Ease of Integraaon, Ease of Management
• Mulaple Client Support
• Distributed Query Execuaon
![Page 16: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/16.jpg)
TCMP, Under The Hood
• Tangosol Cluster Management Protocol (TCMP) • TCMP enhances UDP • Scalable
• UDP Mulacast • Membership Management • Mulacast is not required
• UDP used for • Very fast and scalable • TCMP guarantees packet order and delivery • TCP/IP connecaons do not need to be
maintained
![Page 17: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/17.jpg)
Ease of Integraaon, Ease of Management
• Configuraaon Management
• Simple Cache Api
• Weblogic Console / EM Console Integraaon
![Page 18: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/18.jpg)
Distributed Caching: Service Catalog Data
SCME APP SERVER 1
Client
Client
APP SERVER 2
Client
Client
APP SERVER 3
Client
Client
![Page 19: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/19.jpg)
Distributed Caching: Service Catalog Data
SCME
APP SERVER 2
APP SERVER 1 Client
APP SERVER 3
Client
Cac
he
Cac
he
Cac
he
Client
Client
Client
Client
![Page 20: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/20.jpg)
Distributed Caching: Service Catalog Data
SCME
APP SERVER 2
APP SERVER 1 Client
APP SERVER 3
Client
Client
Client
Client
Client
MASTER SERVER
![Page 21: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/21.jpg)
Our New Catalog System, CPCM
• Module that contains complete list of products like tariffs, tariff opTons, services, packets, campaigns etc. 1 – Catalog Management
• Price elements adached to the offers 2 – Price Management
• Business rules associated with the products 3 – Rule Management
• A management module responsible for technical resources installed with products 4 – Resource Management
• Product specificaTons 5 – Profile Management
• Historic data about products and requests 6 – Version Management
![Page 22: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/22.jpg)
CPCM Architecture
CPCM Core Applicaaon
Hibernate Second Level
Cache
Weblogic Application Servers
Maps cached manualy
![Page 23: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/23.jpg)
Coherence*Web
• HTTP session-‐management module (built-‐in feature of Coherence)
• Supports wide range of applicaaon servers • Does not require any changes to the applicaaon • Allows session state to be managed in the various
caching topologies • Allows storage of session data outside of Java EE
applicaaon server • Heterogeneous applicaaons running on mixed
hardware/OS/applicaaon servers can share common user session data.
![Page 24: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/24.jpg)
Turkcell CRM Domain Topology
![Page 25: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/25.jpg)
Turkcell CRM Domain Topology – Web Apps
![Page 26: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/26.jpg)
Coherence*Web is easy to use
• Modify web.xml and weblogic.xml
• Deploy coherence-‐web-‐spi.war
• Configure Coherence Cluster
![Page 27: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/27.jpg)
Use Coherence*Web When
• You don’t want to loose sessions while restarang/maintaining your applicaaon
• Your applicaaon works with large HTTP session state objects
• You run into memory constraints, due to storing HTTP session object data
• You want to off-‐load HTTP session storage to an exisang Coherence cluster
• You want to share session state across EAR files and applicaaon servers
![Page 28: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/28.jpg)
GALATA
Oracle CEP
Processing big amount of data
ConTnuous data flow
Latency in miliseconds
Different Data Sources
User-‐defined windows for evaluaTon
Complex Event Paderns
![Page 29: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/29.jpg)
GALATA
• 800,000 events per second
• 50 simultaneous campaign/offer capability
• Responsiveness under 1 second
• With scalable architecture, ready to expand on 0-‐day
![Page 30: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/30.jpg)
GALATA
+1 +1 +1
+5 +5 +5
+20 +20 +20 +20
![Page 31: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/31.jpg)
Turkcell SMS Proxy -‐ Columbus
SMS & MMS
Support
MO & MT Forwarding
Different Procotols
Delivery Reports
Charging
Encrypted Messages
Bunch of B. Rules
![Page 32: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/32.jpg)
Turkcell SMS Proxy -‐ Columbus
![Page 33: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/33.jpg)
Columbus Topology
![Page 34: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/34.jpg)
Columbus Coherence Usage
• Minimize database access • Calculate distributed TPS • Quickly merge incoming messages • Match delivery reports across cluster
![Page 35: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/35.jpg)
Columbus Distributed TPS
• Flexible licence control • Balance the load on SMSC • Reliable traffic for SMSC • Minimize network traffic – if necessary • Must be very fast
![Page 36: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/36.jpg)
Columbus Distributed TPS
+1
+1
![Page 37: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/37.jpg)
Columbus Distributed TPS
![Page 38: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/38.jpg)
Columbus Distributed TPS
• Create a NamedCache • Put iniaal values • Increment / decrement when needed • Check current value
KEY INITIAL VALUE MT TPS 0 MO TPS 0
![Page 39: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/39.jpg)
Columbus Distributed TPS
public boolean increment() { Boolean result = Boolean.TRUE; if (limitMt != null) { result = executeIncrementTask(MT_INDEX); } return result; } private Boolean executeIncrementTask(int indx) { ChangeTPLimitTask task = new ChangeTPLimitTask(); return (Boolean) this.storedMap.invoke(indx, task); }
![Page 40: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/40.jpg)
Columbus Distributed TPS
public class ChangeTPLimitTask extends AbstractProcessor implements PortableObject { private Boolean result = Boolean.FALSE; @Override public Object process(Entry entry) { try { Limit limit = (Limit) entry.getValue(); if( limit != null ) {
result = limit.increment(); }
entry.setValue(limit); } catch( Exception e ) { // handle somehow } return result; } // ... }
![Page 41: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/41.jpg)
Columbus – Merging Messages
• Treat different messages as one • Data may not be available on one server • Should be processed as it is available
![Page 42: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/42.jpg)
Columbus – Merging Messages
![Page 43: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/43.jpg)
Columbus – Merging Messages
• Create a NamedCache • Create a list per message reference • Add new message part to list • Process message once all message parts are arrived
KEY VALUE MessageRef#1 Part#1 -‐> Part#2 -‐> ... MessageRef#2 Part#4 -‐> ...
![Page 44: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/44.jpg)
Columbus – Merging Messages
ConcatInfo concatInfo = createConcatInfo(); MergeMoConcatTask task = new MergeMoConcatTask(concatInfo); task = (MergeMoConcatTask) this.storedMap.invoke(concatInfo.getMessageReference(), task); if( task.isFirstPiece() ) { // do things related to first piece of concat } else if( task.getAllPieces() != null && task.getAllPieces().size() > 0 ) { // do things when all pieces are found }
![Page 45: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/45.jpg)
Columbus – Merging Messages
public class MergeMoConcatTask extends AbstractProcessor implements PortableObject { private ConcatInfo concatPiece; private boolean firstPiece = false; private List<ConcatInfo> allPieces = null; public MergeMoConcatTask() { // for reflection purposes } public MergeMoConcatTask(ConcatInfo concatPiece) { this.concatPiece = concatPiece; }
![Page 46: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/46.jpg)
Columbus – Merging Messages
@Override public Object process(Entry entry) { try { List<ConcatInfo> value = (List<ConcatInfo>) entry.getValue(); ConcatInfo firstConcat = null; if( value == null ) { this.firstPiece = true; value = new ArrayList<ConcatInfo>(); firstConcat = this.concatPiece; } else { firstConcat = value.get(0); value = new ArrayList<ConcatInfo>(value); } value.add(this.concatPiece); if( value.size() == firstConcat.getConcatCount() ) { // we have all elements this.allPieces = value; } entry.setValue(value); } catch( Exception e ) { // handle somehow } return this; }
![Page 47: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/47.jpg)
Columbus – Merging Messages
public boolean isFirstPiece() { return firstPiece; } public List<ConcatInfo> getAllPieces() { return allPieces; } @Override public void readExternal(PofReader reader) throws IOException { concatPiece = (ConcatInfo) reader.readObject(0); firstPiece = reader.readBoolean(1); allPieces = (List<ConcatInfo>) reader.readCollection(2, new ArrayList<ConcatInfo>()); } @Override public void writeExternal(PofWriter writer) throws IOException { writer.writeObject(0, concatPiece); writer.writeBoolean(1, firstPiece); writer.writeCollection(2, allPieces); } }
![Page 48: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/48.jpg)
Columbus – Matching Delivery Reports
• Should know which message has arrived • Match delivery reports to the message that it belongs • Should be processed as it is available
![Page 49: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/49.jpg)
Columbus – Matching Delivery Reports
10001101001
![Page 50: Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic](https://reader033.vdocuments.net/reader033/viewer/2022052900/5558f388d8b42a724c8b4632/html5/thumbnails/50.jpg)
Columbus – Matching Delivery Reports
Message ID Message
#M1 Message#1
#M2 Message#2
#M3 Message#3
Confirmaaon ID Message ID
#C1 Message#2
#C2 Message#3
#C3 Message#1