art of heavy lifting in the enterprise world with oracle coherence and oracle weblogic

51
Art of Heavy Li.ing in the Enterprise World With Oracle Coherence and Oracle Weblogic Deniz Seçilir (@denizsecilir) Yusuf Uğur Soysal (@yusufsoysal)

Upload: yusufsoysal

Post on 18-May-2015

440 views

Category:

Technology


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

Our  Partners  

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

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

Meet  Us  

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

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

How  We  Choosed  Oracle  Coherence?  

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

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

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

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

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

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

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

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

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

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

Turkcell  CRM  Domain  Topology      

 

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

Turkcell  CRM  Domain  Topology  –  Web  Apps      

 

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

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

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

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

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

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

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

Turkcell  SMS  Proxy  -­‐  Columbus  

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

Columbus  Topology  

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

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

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

Columbus  Distributed  TPS  

+1

+1

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

Columbus  Distributed  TPS  

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

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

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

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

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

Columbus  –  Merging  Messages  

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

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

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

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

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

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

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

Columbus  –  Matching  Delivery  Reports  

10001101001

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

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  

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

Thank  You  

[email protected]  (@denizsecilir)  [email protected]  (@yusufsoysal)