Art	  of	  Heavy	  Li.ing	  in	  the	  Enterprise	  World	  With	  Oracle	  Coherence	  and	  Oracle	  Weblogic	          ...
Agenda	               Benefits	  of	  Using	  Oracle	  Weblogic	               and	  Coherence	               	            ...
Turkcell	  Group	  –	  Regional	  Leader	     9	  countries	     65.8	  million	  subscribes	     Leadership	  in	  the	  ...
Turkcell	  Group	  –	  Regional	  Leader	          9	  countries	          65.8	  million	  subscribes	          Leadershi...
More	  About	  Turkcell	                                  !   Creates	  employment	  for	  more	                          ...
Turkcell	  Technology	  We	  are	  an	  energeTc	  team	  having	  more	  than	  18	  years	  of	  experience	  combined	 ...
About	  Turkcell	  Technology	   Our	  innovaTon	  is	  driven	  by	  our	  customer’s	  challenges	  and	  we	  are	   pa...
Our	  Customers	  TTECH’s	  soluTons	  are	  market	  proven	  and	  serve	  more	  than	  100	  million	  customers	  in	...
Our	  Competencies	   §  Mobile	  MarkeTng	                              §  CRM	  &	  Channel	  Management	   §  SIM	  ...
Our	  Partners	  
Internaaonal	  Memberships	            The	  GSMA	  represents	  the	  interests	  of	  the	  worldwide	  mobile	         ...
Meet	  Us	  
Why	  Use	  a	  Grid	  System	  •  Efficient	  use	  of	  resources	             •  Load	  balancing	  •  Dynamic,	  scalabl...
How	  We	  Choosed	  Oracle	  Coherence?	  
Why	  We	  Choosed	  Oracle	  Coherence	    •  Scalability,	  Availability,	  Performance	    •  Support	  &	  Price	    •...
TCMP,	  Under	  The	  Hood	    •  Tangosol	  Cluster	  Management	  Protocol	  (TCMP)	       •  TCMP	  enhances	  UDP	    ...
Ease	  of	  Integraaon,	  Ease	  of	  Management	     •  Configuraaon	  Management	     •  Simple	  Cache	  Api	     •  Web...
Distributed	  Caching:	  Service	  Catalog	  Data	       Client     Client                         APP SERVER 1           ...
Distributed	  Caching:	  Service	  Catalog	  Data	                            Cache      Client      Client               ...
Distributed	  Caching:	  Service	  Catalog	  Data	    Client  Client                                                     S...
Our	  New	  Catalog	  System,	  CPCM	                                                •  Module	  that	  contains	  complet...
CPCM	  Architecture	  	                                          	  	                   Maps	  cached	                    ...
Coherence*Web	  	                                            	  	          •  HTTP	  session-­‐management	  module	  (buil...
Turkcell	  CRM	  Domain	  Topology	  	                                        	  	  
Turkcell	  CRM	  Domain	  Topology	  –	  Web	  Apps	  	                                                	  	  
Coherence*Web	  is	  easy	  to	  use	  	                                            	  	           • 	  Modify	  web.xml	 ...
Use	  Coherence*Web	  When	  	                                                	  	          • You	  don’t	  want	  to	  lo...
GALATA	  	           Oracle	  CEP	            	  	                               Processing	  big	  amount	  of	  data	   ...
GALATA	  	                                            	  	           •  800,000	  events	  per	  second	           •  50	 ...
GALATA	  	                                    	  	                      +1    +1                      +1                  ...
Turkcell	  SMS	  Proxy	  -­‐	  Columbus	  	                                              	  	                             ...
Turkcell	  SMS	  Proxy	  -­‐	  Columbus	  
Columbus	  Topology	  
Columbus	  Coherence	  Usage	   •    Minimize	  database	  access	   •    Calculate	  distributed	  TPS	   •    Quickly	  ...
Columbus	  Distributed	  TPS	   •    Flexible	  licence	  control	   •    Balance	  the	  load	  on	  SMSC	   •    Reliabl...
Columbus	  Distributed	  TPS	                      +1                                     +1
Columbus	  Distributed	  TPS	  
Columbus	  Distributed	  TPS	   •    Create	  a	  NamedCache	   •    Put	  iniaal	  values	   •    Increment	  /	  decreme...
Columbus	  Distributed	  TPS	   public boolean increment() {       Boolean result = Boolean.TRUE;       if (limitMt != nul...
Columbus	  Distributed	  TPS	   public class ChangeTPLimitTask extends AbstractProcessor                                  ...
Columbus	  –	  Merging	  Messages	   •  Treat	  different	  messages	  as	  one	   •  Data	  may	  not	  be	  available	  o...
Columbus	  –	  Merging	  Messages	  
Columbus	  –	  Merging	  Messages	   •    Create	  a	  NamedCache	   •    Create	  a	  list	  per	  message	  reference	  ...
Columbus	  –	  Merging	  Messages	   ConcatInfo concatInfo = createConcatInfo(); MergeMoConcatTask task = new MergeMoConca...
Columbus	  –	  Merging	  Messages	   public class MergeMoConcatTask extends AbstractProcessor                             ...
Columbus	  –	  Merging	  Messages	     @Override   public Object process(Entry entry) {     try {        List<ConcatInfo> ...
Columbus	  –	  Merging	  Messages	           public boolean isFirstPiece() {           return firstPiece;         }       ...
Columbus	  –	  Matching	  Delivery	  Reports	   •  Should	  know	  which	  message	  has	  arrived	   •  Match	  delivery	...
Columbus	  –	  Matching	  Delivery	  Reports	                                0   01                         1101          ...
Columbus	  –	  Matching	  Delivery	  Reports	       Message	  ID	      Message	      Confirmaaon	  ID	     Message	  ID	   ...
Thank	  You	           deniz.secilir@turkcell.com.tr	  (@denizsecilir)	  yusuf.soysal@turkcellteknoloji.com.tr	  (@yusufso...
Upcoming SlideShare
Loading in …5
×

Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic

742 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
742
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Art of Heavy Lifting in the Enterprise World With Oracle Coherence and Oracle Weblogic

  1. 1. Art  of  Heavy  Li.ing  in  the  Enterprise  World  With  Oracle  Coherence  and  Oracle  Weblogic   Deniz  Seçilir  (@denizsecilir)   Yusuf  Uğur  Soysal  (@yusufsoysal)  
  2. 2. 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  
  3. 3. Turkcell  Group  –  Regional  Leader   9  countries   65.8  million  subscribes   Leadership  in  the  region  
  4. 4. Turkcell  Group  –  Regional  Leader   9  countries   65.8  million  subscribes   Leadership  in  the  region   Turkcell  Group:  Subscribers  in  Q212  (million)   Turkcell  Europe   0.3   Listed  on  the   0.5  million  net   Northern  Cyprus         Moldova       0.4   1.1   addiaons  in  Q212     NYSE  and  the   1.7    Belarus       Georgia       2.0   ISE  since  July   Azerbaijan       Ukraine         4.3   10.1   2000   Kazakhstan       11.7   Turkcell  Turkey   34.7  
  5. 5. 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  
  6. 6. Turkcell  Technology  We  are  an  energeTc  team  having  more  than  18  years  of  experience  combined  with  an  ongoing  commitment  to  innovaTon.  
  7. 7. About  Turkcell  Technology   Our  innovaTon  is  driven  by  our  customer’s  challenges  and  we  are   passionate  in  differenaaang  our  customer’s  businesses.   More  than  10   TTECH  Center   Team  of  400+   years  of   put  into  service   people  with  17   experience  in   customers  in   Turkcell  ICT   17  countries       1994  -­‐  2006   2007   2008   2009    2012   TTECH  company   First  out  of   formed  with  44   group   engineers   customers  
  8. 8. Our  Customers  TTECH’s  soluTons  are  market  proven  and  serve  more  than  100  million  customers  in  17  countries  
  9. 9. Our  Competencies   §  Mobile  MarkeTng   §  CRM  &  Channel  Management   §  SIM  Asset  &  Services  Management   §  Business  Support  SoluTons   §  Value  Added  Services  &  Enablers   §  Mobile  Internet   §  Roaming  SoluTons   §  Mobile  Financial  Services   §  Mobile  Terminal  ApplicaTons   Mobile   Markeang   Roaming   BSS   CRM   MI   SIM   Terminal   MFS   BI   Mobile  App   VAS   CUSTOM  SERVICES   PACKAGED  SOLUTIONS  
  10. 10. Our  Partners  
  11. 11. Internaaonal  Memberships   The  GSMA  represents  the  interests  of  the  worldwide  mobile   communicaaons  industry.   Turkcell  Technology  has  become  the  only  associate  partner   of  the  Data  Warehouse  Global  Leaders  Group  from  the   telecommunicaaon  sector  in  the  EMEA  region.     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.  
  12. 12. Meet  Us  
  13. 13. Why  Use  a  Grid  System  •  Efficient  use  of  resources   •  Load  balancing  •  Dynamic,  scalable  data   •  High  availability   capacity   •  Process  data  where  they  are  •  Single,  consistent  view  of  data  
  14. 14. How  We  Choosed  Oracle  Coherence?  
  15. 15. Why  We  Choosed  Oracle  Coherence   •  Scalability,  Availability,  Performance   •  Support  &  Price   •  Ease  of  Integraaon,  Ease  of  Management   •  Mulaple  Client  Support   •  Distributed  Query  Execuaon  
  16. 16. 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
  17. 17. Ease  of  Integraaon,  Ease  of  Management   •  Configuraaon  Management   •  Simple  Cache  Api   •  Weblogic  Console  /  EM  Console  Integraaon  
  18. 18. Distributed  Caching:  Service  Catalog  Data   Client Client APP SERVER 1 SCME Client Client APP SERVER 2 Client Client APP SERVER 3
  19. 19. Distributed  Caching:  Service  Catalog  Data   Cache Client Client APP SERVER 1 SCME Cache Client Client APP SERVER 2 Cache Client Client APP SERVER 3
  20. 20. Distributed  Caching:  Service  Catalog  Data   Client Client SCME MASTER SERVER APP SERVER 1 Client Client APP SERVER 2 Client Client APP SERVER 3
  21. 21. Our  New  Catalog  System,  CPCM   •  Module  that  contains  complete  list  of  products  like  1  –  Catalog  Management     tariffs,  tariff  opTons,  services,  packets,  campaigns  etc.   •  Price  elements  adached  to  the  offers  2  –  Price  Management   •  Business  rules  associated  with  the  products  3  –  Rule  Management   •  A  management  module  responsible  for  technical  4  –  Resource  Management     resources  installed  with  products     •  Product  specificaTons  5  –  Profile  Management   •  Historic  data  about  products  and  requests  6  –  Version  Management      
  22. 22. CPCM  Architecture         Maps  cached   manualy     CPCM  Core  Applicaaon   Hibernate   Second  Level   Cache   Weblogic Application Servers
  23. 23. 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.  
  24. 24. Turkcell  CRM  Domain  Topology        
  25. 25. Turkcell  CRM  Domain  Topology  –  Web  Apps        
  26. 26. Coherence*Web  is  easy  to  use         •   Modify  web.xml  and  weblogic.xml   •   Deploy  coherence-­‐web-­‐spi.war   •   Configure  Coherence  Cluster  
  27. 27. 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  
  28. 28. 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  
  29. 29. GALATA         •  800,000  events  per  second   •  50  simultaneous  campaign/offer  capability   •  Responsiveness  under  1  second   •  With  scalable  architecture,  ready  to  expand  on  0-­‐ day  
  30. 30. GALATA         +1 +1 +1 +5 +5 +5 +20 +20 +20
  31. 31. Turkcell  SMS  Proxy  -­‐  Columbus         MO & MT SMS & MMS Forwarding   Support Different Procotols Bunch of B. Rules Delivery Reports Encrypted Messages Charging
  32. 32. Turkcell  SMS  Proxy  -­‐  Columbus  
  33. 33. Columbus  Topology  
  34. 34. Columbus  Coherence  Usage   •  Minimize  database  access   •  Calculate  distributed  TPS   •  Quickly  merge  incoming  messages   •  Match  delivery  reports  across  cluster  
  35. 35. Columbus  Distributed  TPS   •  Flexible  licence  control   •  Balance  the  load  on  SMSC   •  Reliable  traffic  for  SMSC   •  Minimize  network  traffic  –  if  necessary   •  Must  be  very  fast  
  36. 36. Columbus  Distributed  TPS   +1 +1
  37. 37. Columbus  Distributed  TPS  
  38. 38. 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  
  39. 39. 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); }  
  40. 40. 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; } // ... }  
  41. 41. Columbus  –  Merging  Messages   •  Treat  different  messages  as  one   •  Data  may  not  be  available  on  one  server   •  Should  be  processed  as  it  is  available  
  42. 42. Columbus  –  Merging  Messages  
  43. 43. 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  -­‐>  ...  
  44. 44. 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 }  
  45. 45. 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; }  
  46. 46. 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; }  
  47. 47. 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); } }  
  48. 48. 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  
  49. 49. Columbus  –  Matching  Delivery  Reports   0 01 1101 1000
  50. 50. Columbus  –  Matching  Delivery  Reports   Message  ID   Message   Confirmaaon  ID   Message  ID   #M1   Message#1   #C1   Message#2   #M2   Message#2   #C2   Message#3   #M3   Message#3   #C3   Message#1  
  51. 51. Thank  You   deniz.secilir@turkcell.com.tr  (@denizsecilir)  yusuf.soysal@turkcellteknoloji.com.tr  (@yusufsoysal)  

×