SlideShare une entreprise Scribd logo
1  sur  65
Pop quiz… who’s this? Ian Fleming – creator of James Bond Second question what was James Bonds first car?
It was this (not the Aston Martin DB5 from the 1964 movie ‘Goldfinger’)  in the first Bond novel, 'Casino Royale' published in 1953 Fleming put our James in one of these. This is a 4.5 litre supercharged Bentley from the 1920’s. W.O. Bentley famously said when talking about engine performance - "there's no replacement for displacement". One of his engineers said ah ha, I'll show you, and bolted a supercharger on to the engine of the regular 4.5 litre Bentley - the supercharger is the big silver box on the front of this car - forcing more oxygen into the engine allowing more fuel to be burnt and increasing performance. Now that's exactly what I'm going to outline for you in this presentation, how you can bolt on some currently available technology to increase the performance of your applications.
co·her·ence  I'm going to start with an overview of the supercharger - Oracle Coherence - what it is and how it works. And then show how it can  be used and is being used by our customers to increase performance, reduce costs and improve user experience.  What does coherence mean? Well, it’s defined as the state of cohering or sticking together, or the logical and orderly and consistent relation of parts. I like that, logic, order, consistency.
“ If you want a 3 second response time. You’ve got 3 seconds. 1 in the presentation layer, 1 in the mid-tier and 1 in the back end” This quote from the CIO of one of our customers really sums up the problem space that we’re in here. If you want a ‘n’ second response time then you only have ‘n’ seconds to deliver that. There are no silver medals for second place in the response time Olympics.
wrote the book
David Chappell – Enterprise Service Bus
Avoid processing wherever possible What does a scalable architecture need to ensure? And see if you can identify a theme here...
Avoid I/O where possible
Avoid serialization and deserialization
Avoid sending a large document around
Avoid distributed file schemes
Avoid driving increased traffic to back end systems I like this one a lot... and it's a classic SOA example, and if it's a mainframe there's a monetary cost in terms of haw many MIPS you need to pay for, using the technologies described here you can actually reduce the traffic to the back ends, reduce the MIPS that you're paying for.
Value simplicity.  Maximize the amount of work not done Thanks to the Agile Alliance for this one – more details here  http://agilemanifesto.org/principles.html
where are we today?
Thanks to  http://zapthink.com/  for the Lego block analogy to explain SOA – interoperable, unbreakable, composable, reusable.
paradigm shift
business agility
flexibility
We're trying to achieve business agility, business alignment, so that when a line of business comes to IT and says government legislation on superannuation just changed, make our systems change to reflect it. IT can say sure thing rather than suck it's teeth and say, "it's gonna cost ya" like some dodgy plumber.
large payloads
unexpected usage
unmet SLAs
tearing down silos
hard to share
boundary costs
And then there's this organisational tension that developing between the SOA architects who come up with these pristine blueprints for how the IT world should look within their organisation and then they hand that off…
… to IT operations and say make that run, make it highly available, make it high performance, ensure that it will scale. And today there is too tight a coupling between those two sets of folks - between the people that design the architecture and the people that have to operate it. For example, what does it mean to scale up the order to cash process? That process might consist of 42 different services across 8 machines. How do IT ops go about bringing some scale to that process at the same as managing the end of month financial close and keeping the lights on and fixing the printer on level 6 while resetting my password?
Scalability
Reliability
Availability – always open, always on. 24 hours a day, 7 days a week.
stateless
idempotent
So thinking about state and state management we have this continuum that runs from completely stateless to fully stateful. and there are a few things that can affect or influence this - one is complexity - the more complex a service the more likely it is that it will need to manage state across multiple requests coming in and out of the service, and the longevity of the service - how long the service needs to run to satisfy a particular business transaction. Service Sophistication, Longevity Complex Stateless Cookies + Servlet  Session State passing via XML Payloads Loose Coupling, Tight Coupling Service Complexity Stateful Service State Repository Simple
state aware So that's where we are... where should we be?
continuous availability
predictable linear scalability
Next pop quiz question, who knows what this is? That’s right, Napster. Remember Napster? Well think of Coherence like Napster for your business data - highly available, highly distributed peer to peer clustering protocol.
P B Backup  Node Primary Node Put() HashKey/CacheKey Hashmap iFace Here's a picture of how it works. At the core are a set of connected network nodes - software processes, which cooperate together across a network, with the sole purpose of storing and maintaining instance data for individual application objects. An application does a ‘put’, that operation is delegated to the grid and the grid automatically elects a primary storage node and a backup storage node on another machine and it does that in a highly available way. So each of these nodes is on a different physical server, and each knows about each other, they are aware of each other existence, health, availability etc... If the primary owner goes down the grid detects that and selects a new primary and backup pair. And this switching this failover can happen in flight without affecting a transaction because of the self-healing nature of the grid. Application Object Application Object Application Object
Put() HashKey/CacheKey Hashmap iFace P B Backup  Node Primary Node X Application Object Application Object Application Object
Put() HashKey/CacheKey Hashmap iFace P B Backup  Node Primary Node X Application Object Application Object Application Object
Backup  Node Primary Node Write Behind Queue DB Grid Put() HashKey/CacheKey ESB Mediation  P B Service Service Service
Shared web session state across multiple portals
Caching the results of service calls
State management for stateful services
Process large XML payloads
Shared web session state across multiple portals
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Caching the results of service calls
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
State management for stateful services
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Process large XML payloads
So this picture is fairly typical - every vendor of a Service Bus could draw out this picture - they all use some sort of Message Oriented Middleware (MOM) to achieve high reliability and quality of service - and I'm using MOM here to cover anything that's JMS based or MQ based or Rendezvous based or implements WS-RM - all those similar techniques of message retries and store and forward to reliably send data from one place to the next... And then it dawned on us, why do I have to send something, when it really doesn't have to go anywhere? Everything is already in the grid. All interested parties can act on it. Why do I have to put it in a big JMS message or a big SOAP message and put it into the bus and send it across the wire just so someone can take it out again - if all you really want to do is share that information reliably? So this is what the new bus looks like. Same as the old but without some MOM implementation at the core. There's just no need when the data is in the grid and everyone can access it. Web  Service  Consumer WS-A ddr <ReplyTo> Callback Portal BPEL CRM ERP CEP Rules BAM JMS / MOM / WS-RM  Core  Web Service Provider
Web  Service  Consumer WS-A ddr <ReplyTo> Callback Portal BPEL CRM ERP CEP Rules BAM Web Service Provider
 
The XTPP — a new generation of platform middleware meant to enable low-cost, commodity hardware-based XTP — is emerging from the convergence of current enterprise application servers, enterprise service buses, flow management technology and innovative XTP point technologies. Massimo Pezzini, Gartner
state aware
continuous availability
predictable linear scalability
dramatic increase in performance and throughput
“ Major, often unexpected, changes will directly affect IT organizations in 2009. The successful CIOs will be those who execute well, expand their influence within the enterprise, and, perhaps, are a little bit lucky.” Stefan Spang, McKinsey
Supercharge Your Applications

Contenu connexe

Similaire à Supercharge Your Applications

Similaire à Supercharge Your Applications (20)

Soa To The Rescue
Soa To The RescueSoa To The Rescue
Soa To The Rescue
 
Edge 2014: Maintaining the Balance: Getting the Most of Your CDN with IKEA
Edge 2014: Maintaining the Balance: Getting the Most of Your CDN with IKEAEdge 2014: Maintaining the Balance: Getting the Most of Your CDN with IKEA
Edge 2014: Maintaining the Balance: Getting the Most of Your CDN with IKEA
 
A Tale of Contemporary Software
A Tale of Contemporary SoftwareA Tale of Contemporary Software
A Tale of Contemporary Software
 
MongoDB and In-Memory Computing
MongoDB and In-Memory ComputingMongoDB and In-Memory Computing
MongoDB and In-Memory Computing
 
The Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservicesThe Why and How of Applications with APIs and microservices
The Why and How of Applications with APIs and microservices
 
5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS5 Years Of Building SaaS On AWS
5 Years Of Building SaaS On AWS
 
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
Serverless Design Patterns for Rethinking Traditional Enterprise Application ...
 
SAP vs SAS - Comparison
SAP vs SAS - ComparisonSAP vs SAS - Comparison
SAP vs SAS - Comparison
 
Mr bi
Mr biMr bi
Mr bi
 
The Next Five Years of Rails
The Next Five Years of RailsThe Next Five Years of Rails
The Next Five Years of Rails
 
VPLS versus MPLS
VPLS versus MPLSVPLS versus MPLS
VPLS versus MPLS
 
Report Storage
Report StorageReport Storage
Report Storage
 
At 306 Case Study The Newest Shipping Systems Its All About Rapid Informa...
At 306   Case Study   The Newest Shipping Systems Its All About Rapid Informa...At 306   Case Study   The Newest Shipping Systems Its All About Rapid Informa...
At 306 Case Study The Newest Shipping Systems Its All About Rapid Informa...
 
GuideIT - Virtual Economies of Scale
GuideIT - Virtual Economies of Scale GuideIT - Virtual Economies of Scale
GuideIT - Virtual Economies of Scale
 
Message Queues at salesforce.com
Message Queues at salesforce.comMessage Queues at salesforce.com
Message Queues at salesforce.com
 
Cloud Economics for Java at Java2Days
Cloud Economics for Java at Java2DaysCloud Economics for Java at Java2Days
Cloud Economics for Java at Java2Days
 
Everything you want to know about microservices
Everything you want to know about microservicesEverything you want to know about microservices
Everything you want to know about microservices
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
Enterprise Testing in The Cloud
Enterprise Testing in The CloudEnterprise Testing in The Cloud
Enterprise Testing in The Cloud
 

Plus de Sean Boiling

Plus de Sean Boiling (6)

Oracle Apps Day Fusion Middleware Keynote
Oracle Apps Day Fusion Middleware KeynoteOracle Apps Day Fusion Middleware Keynote
Oracle Apps Day Fusion Middleware Keynote
 
Australian Oracle Users Group - Middleware for Innovation
Australian Oracle Users Group - Middleware for InnovationAustralian Oracle Users Group - Middleware for Innovation
Australian Oracle Users Group - Middleware for Innovation
 
Web 2.0 Workshop
Web 2.0 WorkshopWeb 2.0 Workshop
Web 2.0 Workshop
 
A History of Middleware
A History of MiddlewareA History of Middleware
A History of Middleware
 
Get Virtualized
Get VirtualizedGet Virtualized
Get Virtualized
 
Next Generation Grid Enabled SOA - July2008
Next Generation Grid Enabled SOA - July2008Next Generation Grid Enabled SOA - July2008
Next Generation Grid Enabled SOA - July2008
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Supercharge Your Applications

  • 1. Pop quiz… who’s this? Ian Fleming – creator of James Bond Second question what was James Bonds first car?
  • 2. It was this (not the Aston Martin DB5 from the 1964 movie ‘Goldfinger’) in the first Bond novel, 'Casino Royale' published in 1953 Fleming put our James in one of these. This is a 4.5 litre supercharged Bentley from the 1920’s. W.O. Bentley famously said when talking about engine performance - &quot;there's no replacement for displacement&quot;. One of his engineers said ah ha, I'll show you, and bolted a supercharger on to the engine of the regular 4.5 litre Bentley - the supercharger is the big silver box on the front of this car - forcing more oxygen into the engine allowing more fuel to be burnt and increasing performance. Now that's exactly what I'm going to outline for you in this presentation, how you can bolt on some currently available technology to increase the performance of your applications.
  • 3. co·her·ence I'm going to start with an overview of the supercharger - Oracle Coherence - what it is and how it works. And then show how it can be used and is being used by our customers to increase performance, reduce costs and improve user experience. What does coherence mean? Well, it’s defined as the state of cohering or sticking together, or the logical and orderly and consistent relation of parts. I like that, logic, order, consistency.
  • 4. “ If you want a 3 second response time. You’ve got 3 seconds. 1 in the presentation layer, 1 in the mid-tier and 1 in the back end” This quote from the CIO of one of our customers really sums up the problem space that we’re in here. If you want a ‘n’ second response time then you only have ‘n’ seconds to deliver that. There are no silver medals for second place in the response time Olympics.
  • 6. David Chappell – Enterprise Service Bus
  • 7. Avoid processing wherever possible What does a scalable architecture need to ensure? And see if you can identify a theme here...
  • 8. Avoid I/O where possible
  • 9. Avoid serialization and deserialization
  • 10. Avoid sending a large document around
  • 12. Avoid driving increased traffic to back end systems I like this one a lot... and it's a classic SOA example, and if it's a mainframe there's a monetary cost in terms of haw many MIPS you need to pay for, using the technologies described here you can actually reduce the traffic to the back ends, reduce the MIPS that you're paying for.
  • 13. Value simplicity. Maximize the amount of work not done Thanks to the Agile Alliance for this one – more details here http://agilemanifesto.org/principles.html
  • 14. where are we today?
  • 15. Thanks to http://zapthink.com/ for the Lego block analogy to explain SOA – interoperable, unbreakable, composable, reusable.
  • 19. We're trying to achieve business agility, business alignment, so that when a line of business comes to IT and says government legislation on superannuation just changed, make our systems change to reflect it. IT can say sure thing rather than suck it's teeth and say, &quot;it's gonna cost ya&quot; like some dodgy plumber.
  • 26. And then there's this organisational tension that developing between the SOA architects who come up with these pristine blueprints for how the IT world should look within their organisation and then they hand that off…
  • 27. … to IT operations and say make that run, make it highly available, make it high performance, ensure that it will scale. And today there is too tight a coupling between those two sets of folks - between the people that design the architecture and the people that have to operate it. For example, what does it mean to scale up the order to cash process? That process might consist of 42 different services across 8 machines. How do IT ops go about bringing some scale to that process at the same as managing the end of month financial close and keeping the lights on and fixing the printer on level 6 while resetting my password?
  • 30. Availability – always open, always on. 24 hours a day, 7 days a week.
  • 33. So thinking about state and state management we have this continuum that runs from completely stateless to fully stateful. and there are a few things that can affect or influence this - one is complexity - the more complex a service the more likely it is that it will need to manage state across multiple requests coming in and out of the service, and the longevity of the service - how long the service needs to run to satisfy a particular business transaction. Service Sophistication, Longevity Complex Stateless Cookies + Servlet Session State passing via XML Payloads Loose Coupling, Tight Coupling Service Complexity Stateful Service State Repository Simple
  • 34. state aware So that's where we are... where should we be?
  • 37. Next pop quiz question, who knows what this is? That’s right, Napster. Remember Napster? Well think of Coherence like Napster for your business data - highly available, highly distributed peer to peer clustering protocol.
  • 38. P B Backup Node Primary Node Put() HashKey/CacheKey Hashmap iFace Here's a picture of how it works. At the core are a set of connected network nodes - software processes, which cooperate together across a network, with the sole purpose of storing and maintaining instance data for individual application objects. An application does a ‘put’, that operation is delegated to the grid and the grid automatically elects a primary storage node and a backup storage node on another machine and it does that in a highly available way. So each of these nodes is on a different physical server, and each knows about each other, they are aware of each other existence, health, availability etc... If the primary owner goes down the grid detects that and selects a new primary and backup pair. And this switching this failover can happen in flight without affecting a transaction because of the self-healing nature of the grid. Application Object Application Object Application Object
  • 39. Put() HashKey/CacheKey Hashmap iFace P B Backup Node Primary Node X Application Object Application Object Application Object
  • 40. Put() HashKey/CacheKey Hashmap iFace P B Backup Node Primary Node X Application Object Application Object Application Object
  • 41. Backup Node Primary Node Write Behind Queue DB Grid Put() HashKey/CacheKey ESB Mediation P B Service Service Service
  • 42. Shared web session state across multiple portals
  • 43. Caching the results of service calls
  • 44. State management for stateful services
  • 45. Process large XML payloads
  • 46. Shared web session state across multiple portals
  • 47.  
  • 48.
  • 49. Caching the results of service calls
  • 50.  
  • 51.
  • 52. State management for stateful services
  • 53.  
  • 54.
  • 55. Process large XML payloads
  • 56. So this picture is fairly typical - every vendor of a Service Bus could draw out this picture - they all use some sort of Message Oriented Middleware (MOM) to achieve high reliability and quality of service - and I'm using MOM here to cover anything that's JMS based or MQ based or Rendezvous based or implements WS-RM - all those similar techniques of message retries and store and forward to reliably send data from one place to the next... And then it dawned on us, why do I have to send something, when it really doesn't have to go anywhere? Everything is already in the grid. All interested parties can act on it. Why do I have to put it in a big JMS message or a big SOAP message and put it into the bus and send it across the wire just so someone can take it out again - if all you really want to do is share that information reliably? So this is what the new bus looks like. Same as the old but without some MOM implementation at the core. There's just no need when the data is in the grid and everyone can access it. Web Service Consumer WS-A ddr <ReplyTo> Callback Portal BPEL CRM ERP CEP Rules BAM JMS / MOM / WS-RM Core Web Service Provider
  • 57. Web Service Consumer WS-A ddr <ReplyTo> Callback Portal BPEL CRM ERP CEP Rules BAM Web Service Provider
  • 58.  
  • 59. The XTPP — a new generation of platform middleware meant to enable low-cost, commodity hardware-based XTP — is emerging from the convergence of current enterprise application servers, enterprise service buses, flow management technology and innovative XTP point technologies. Massimo Pezzini, Gartner
  • 63. dramatic increase in performance and throughput
  • 64. “ Major, often unexpected, changes will directly affect IT organizations in 2009. The successful CIOs will be those who execute well, expand their influence within the enterprise, and, perhaps, are a little bit lucky.” Stefan Spang, McKinsey

Notes de l'éditeur

  1. Pop quiz… who’s this?