SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Motivation

                               Classic approaches

                               Better approaches



      Agenda



Make XML/JSON Parsing Simple
Developers not aware of
                               recent platform changes.

                               Google gives pointers to
                               obsolete APIs.

                               Obsolete APIs are slow and
                               hurt on governor limits like
  Motivation                   “script statements
                               consumption”

                               New APIs use platform
                               capabilities for resource
                               hungry tasks like parsing.

Why we are discussing this ?
Native Lib ?

               Provided by Force.com
               platform aka System libraries,
               like XMLStreamReader
               Doesn’t hurt on resources like
Native Lib     script statements
               consumption.
    vs
Apex Lib     Apex Lib ?

               Wrapper on Native Lib, like
               XMLDOM.cls
               Written from scratch in Apex
               only, like JSONObject.cls
XML Parsing
<books>

              <book author="Chatty">Foo
             bar</book>

              <book author="Sassy">Baz </
             book>

Sample XML   </books>
public class Book {

                              String name;

                              String author;

                          }

Apex Model



Parse XML to this Model
XMLStream Classes

               Native Lib
               Stream based approach to
               parse XML


  Classic    XMLDom.cls (OpenSource)
Approaches     Apex Lib, wrapper on above
               XMLStream classes
               Create in memory DOM for
               XML Structure.
               Written by Ron Hess
               (Salesforce)
Dom.Document/XmlNode
             Classes
              Native Lib
              Came in Spring’10 release
              DOM based approach to parse
              XML
  Better
Approaches   FastXmlDom (OpenSource)
              Apex Lib, wrapper on above
              Dom.XmlNode classes
              Exposes pretty common DOM
              API for XML Parsing
              Tested & used in many
              projects.
Over to sublime code snippet




Sample Code



Lets see some code about all of
       these approaches
Pros

                Native Lib (Not an Apex
                implementation)
                Heap/Memory efficient like
                usual stream parsers.

XmlStream       Good for big XML string, parse
                only the required part of XML.
 Classes      Cons

                Complex code to parse XML.
                Not so developer friendly
                Sometimes can consume lots
                of script statements in
  Pros/Cons     iterations for big XMLs.
Pros
               Simple W3C DOM library,
               which developers are used to
               of using in HTML DOM as well.
               Simple and more readable
               code for XML Parsing.
             Cons
XMLDOM.cls     Creates in memory DOM for
               complete XML structure, so
               heavy on heap
               Consumes too many script
               statements in the above
               process.
               Not suitable for large XML
               parsing.
Pros

               Native DOM Lib
               Relatively simpler to use as
               compared to
               XMLStreamReader.
 Dom class     Consumes least script
Document &     statements.
             Cons
 XmlNode
               DOM API is not following w3c
               model, so learning curve for
               developers.
               Mandates namespace
               usage, that complicates simple
               xml parsing.
Pros

                 Exposes W3C DOM API (no
                 learning curve for developers)
                 Simpler to use as compared to
                 XMLStreamReader and DOM
                 Classes.

FastXMLDom       Consumes less script
                 statements.
               Cons

                 An Apex Lib, so consumes a bit
                 more script statements and
                 heap as compared to
                 Dom.XmlNode
   Pros/Cons
JSON Parsing
JSONObject.cls

               Apex Lib
               Tokenizes the string to create
               in memory JSON Structure
               Written by Ron
  Classic      Hess(Salesforce)
             System.JSONParser
Approaches
               Native lib
               Streaming and token based
               parsing of JSON
JSON

              Native Lib
              Mapped strong and loose
              parsing with Apex UDT(User
              Defined Types) and
              Collections like Maps.
  Better
Approaches
JSONObject

               Not required and please don’t
               use it any more.
              JSONParser

               http://www.salesforce.com/us/
               developer/docs/apexcode/Con
Sample Code    tent/apex_methods_system_js
               onparser.htm
              JSON

               http://www.tgerm.com/2011/10
               /winter12-jsonparser-
               serialize.html
Pros

                   None as of now


                 Cons

                   Consumes script statements
JSONObject.cls     and heap for large JSON files
                   Not as stable as compared to
                   Native libs.
Pros

               Native lib, hurts less on
               resources.
               Good option when JSON
               automated
               serialization/deserialization
               fails.
JSONParser     Came with Winter’12 release
             Cons

               Complex code and less
               developer friendly way to
               parse.
Pros

         Native lib, hurts less on
         resources.
         Serialize/De-serialize big
         JSON strings in one line of
         code.
         Easy transformation of JSON
         from String > UDT and vice
         versa
JSON     Gives option of loose parsing
         to Maps i.e.
         deserializeUntyped()
         Came with winter’12 release
         Improved a bit with every next
         release
       Cons

         Special care if required if
         JSON contains reserved words
         or conflicting stuff with Apex.
Searching for solutions in this
               order

                 Consult platform guides, like
                 apex dev guide.
                 developer.force.com
                 Salesforce.stackexchange.com
                 Google


General Tips   Stay on latest and greatest
               API

                 Don’t download pdf for
                 documentation use online
                 guides.
                 Use latest API version of Apex
                 class and VF page when
                 creating new ones.
Q&A
Use “Apex Developer Guide” for
                                       native libs, like:

                                         XmlStreamReader
                                         Dom classes
                                         JSON Parser
                                         JSON
                                       XMLDOM.cls

                                         http://developer.force.com/projectpa
                                         ge?id=a0630000002ahp5AAA
   Resources                           Fast XML DOM

                                         http://code.google.com/p/apex-fast-
                                         xml-dom/
                                       JSONObject.cls

                                         http://code.google.com/p/apex-
You will get all the link, as I will     library/source/browse/trunk/JSONO
      share the slides                  bject/src/classes/JSONObject.cls
@abhinavguptas
Thanks !   www.tgerm.com

Weitere Àhnliche Inhalte

Was ist angesagt?

Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitectureAshwini Kuntamukkala
 
A Brief Look at Serverless Architecture
A Brief Look at Serverless ArchitectureA Brief Look at Serverless Architecture
A Brief Look at Serverless ArchitectureAmazon Web Services
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy IntroductionDoug Gregory
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Lucas Jellema
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecAdam Paxton
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to ServerlessAmazon Web Services
 
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptxëŹžêž° 박
 
큎띌우드 넀읎티람넌 위한 Confluent Cloud
큎띌우드 넀읎티람넌 위한 Confluent Cloud큎띌우드 넀읎티람넌 위한 Confluent Cloud
큎띌우드 넀읎티람넌 위한 Confluent Cloudconfluent
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingAmazon Web Services
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 
Async API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven FutureAsync API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven FutureSolace
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesJames Armes
 
RabbitMQ & Kafka
RabbitMQ & KafkaRabbitMQ & Kafka
RabbitMQ & KafkaVMware Tanzu
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022Kai WĂ€hner
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and UsesGlobalLogic Ukraine
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessAmazon Web Services
 

Was ist angesagt? (20)

Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
AWS Service Catalog
AWS Service CatalogAWS Service Catalog
AWS Service Catalog
 
A Brief Look at Serverless Architecture
A Brief Look at Serverless ArchitectureA Brief Look at Serverless Architecture
A Brief Look at Serverless Architecture
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
Designing APIs with OpenAPI Spec
Designing APIs with OpenAPI SpecDesigning APIs with OpenAPI Spec
Designing APIs with OpenAPI Spec
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx
__Cloud_CNA_MSA_Service+Data+InferenceMesh 소개-ë°•ëŹžêž°@ë©”ê°€ìĄŽíŽëŒìš°ë“œ-20230320.pptx
 
큎띌우드 넀읎티람넌 위한 Confluent Cloud
큎띌우드 넀읎티람넌 위한 Confluent Cloud큎띌우드 넀읎티람넌 위한 Confluent Cloud
큎띌우드 넀읎티람넌 위한 Confluent Cloud
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 
AWS business essentials
AWS business essentials AWS business essentials
AWS business essentials
 
Async API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven FutureAsync API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven Future
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
RabbitMQ & Kafka
RabbitMQ & KafkaRabbitMQ & Kafka
RabbitMQ & Kafka
 
The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022The Top 5 Apache Kafka Use Cases and Architectures in 2022
The Top 5 Apache Kafka Use Cases and Architectures in 2022
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
 
AWS Lambda Features and Uses
AWS Lambda Features and UsesAWS Lambda Features and Uses
AWS Lambda Features and Uses
 
Getting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and ServerlessGetting Started with AWS Lambda and Serverless
Getting Started with AWS Lambda and Serverless
 

Andere mochten auch

Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsDaniel Ballinger
 
Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsSalesforce Developers
 
Xml And JSON Java
Xml And JSON JavaXml And JSON Java
Xml And JSON JavaHenry Addo
 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsDreamforce
 
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™Mu Chun Wang
 
Dino's DEV Project
Dino's DEV ProjectDino's DEV Project
Dino's DEV Projectdinoppc40sw07
 
Parsing XML Data
Parsing XML DataParsing XML Data
Parsing XML DataMu Chun Wang
 
6 xml parsing
6   xml parsing6   xml parsing
6 xml parsinggauravashq
 

Andere mochten auch (9)

Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service Clients
 
Using the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service ClientsUsing the Tooling API to Generate Apex SOAP Web Service Clients
Using the Tooling API to Generate Apex SOAP Web Service Clients
 
Xml And JSON Java
Xml And JSON JavaXml And JSON Java
Xml And JSON Java
 
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible AppsOur API Evolution: From Metadata to Tooling API for Building Incredible Apps
Our API Evolution: From Metadata to Tooling API for Building Incredible Apps
 
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™
æ‰‹æŠŠæ‰‹æ•™äœ ćŠ‚äœ•äžČ掄 Log 戰搄繼ç¶Čè·Żæœć‹™
 
Dino's DEV Project
Dino's DEV ProjectDino's DEV Project
Dino's DEV Project
 
Xml parsing
Xml parsingXml parsing
Xml parsing
 
Parsing XML Data
Parsing XML DataParsing XML Data
Parsing XML Data
 
6 xml parsing
6   xml parsing6   xml parsing
6 xml parsing
 

Ähnlich wie Parsing XML & JSON in Apex

Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Espen BrĂŠkken
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Espen BrĂŠkken
 
Difference between xml and json
Difference between xml and jsonDifference between xml and json
Difference between xml and jsonUmar Ali
 
Q con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancoukQ con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancoukRoger Xia
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to ScalaSynesso
 
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotDelphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotArnaud Bouchez
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2Marco Gralike
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?mikaelbarbero
 
Speed Up Your APEX Apps with JSON and Handlebars
Speed Up Your APEX Apps with JSON and HandlebarsSpeed Up Your APEX Apps with JSON and Handlebars
Speed Up Your APEX Apps with JSON and HandlebarsMarko Gorički
 
The Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerThe Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerVladimir Sedach
 
Understanding Dom
Understanding DomUnderstanding Dom
Understanding DomLiquidHub
 
Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformMarco Gralike
 
Moving from Relational to Document Store
Moving from Relational to Document StoreMoving from Relational to Document Store
Moving from Relational to Document StoreGraham Tackley
 
A Tour Of Scala
A Tour Of ScalaA Tour Of Scala
A Tour Of Scalafanf42
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroadJim Jones
 

Ähnlich wie Parsing XML & JSON in Apex (20)

Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Difference between xml and json
Difference between xml and jsonDifference between xml and json
Difference between xml and json
 
Q con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancoukQ con london2011-matthewwall-whyichosemongodbforguardiancouk
Q con london2011-matthewwall-whyichosemongodbforguardiancouk
 
Introduction to Scala
Introduction to ScalaIntroduction to Scala
Introduction to Scala
 
ODF Mashups
ODF MashupsODF Mashups
ODF Mashups
 
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMotDelphi ORM SOA MVC SQL NoSQL JSON REST mORMot
Delphi ORM SOA MVC SQL NoSQL JSON REST mORMot
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
 
Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?Language Server Protocol - Why the Hype?
Language Server Protocol - Why the Hype?
 
Speed Up Your APEX Apps with JSON and Handlebars
Speed Up Your APEX Apps with JSON and HandlebarsSpeed Up Your APEX Apps with JSON and Handlebars
Speed Up Your APEX Apps with JSON and Handlebars
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby on Rails
Ruby on Rails Ruby on Rails
Ruby on Rails
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
The Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compilerThe Parenscript Common Lisp to JavaScript compiler
The Parenscript Common Lisp to JavaScript compiler
 
Avro
AvroAvro
Avro
 
Understanding Dom
Understanding DomUnderstanding Dom
Understanding Dom
 
Design Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will PerformDesign Concepts For Xml Applications That Will Perform
Design Concepts For Xml Applications That Will Perform
 
Moving from Relational to Document Store
Moving from Relational to Document StoreMoving from Relational to Document Store
Moving from Relational to Document Store
 
A Tour Of Scala
A Tour Of ScalaA Tour Of Scala
A Tour Of Scala
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroad
 

Mehr von Abhinav Gupta

What is Einstein Data Detect?
What is Einstein Data Detect?What is Einstein Data Detect?
What is Einstein Data Detect?Abhinav Gupta
 
Salesforce 2023 Recap
Salesforce 2023 RecapSalesforce 2023 Recap
Salesforce 2023 RecapAbhinav Gupta
 
Safeguarding Salesforce: Mastering Data Security with Data Mask
Safeguarding Salesforce: Mastering Data Security with Data MaskSafeguarding Salesforce: Mastering Data Security with Data Mask
Safeguarding Salesforce: Mastering Data Security with Data MaskAbhinav Gupta
 
đŸ€– Understanding 4 Waves of AI
đŸ€– Understanding 4 Waves of AI đŸ€– Understanding 4 Waves of AI
đŸ€– Understanding 4 Waves of AI Abhinav Gupta
 
AI & Evolving Customer Trust Dynamics (1).pdf
AI & Evolving Customer Trust Dynamics  (1).pdfAI & Evolving Customer Trust Dynamics  (1).pdf
AI & Evolving Customer Trust Dynamics (1).pdfAbhinav Gupta
 
Salesforce Functions History - Launch to Retirement (2019-2023)
Salesforce Functions History - Launch to Retirement (2019-2023)Salesforce Functions History - Launch to Retirement (2019-2023)
Salesforce Functions History - Launch to Retirement (2019-2023)Abhinav Gupta
 
Unlocking the Puzzle of Modern Customer Wants.pdf
Unlocking the Puzzle of Modern  Customer Wants.pdfUnlocking the Puzzle of Modern  Customer Wants.pdf
Unlocking the Puzzle of Modern Customer Wants.pdfAbhinav Gupta
 
NFT Collectors - Understanding AI Puke Art
NFT Collectors - Understanding AI Puke ArtNFT Collectors - Understanding AI Puke Art
NFT Collectors - Understanding AI Puke ArtAbhinav Gupta
 
What’s Web3 for Salesforce?
What’s Web3 for Salesforce?What’s Web3 for Salesforce?
What’s Web3 for Salesforce?Abhinav Gupta
 
Generative AI Art - The Dark Side
Generative AI Art - The Dark SideGenerative AI Art - The Dark Side
Generative AI Art - The Dark SideAbhinav Gupta
 
Whats, Whys and Hows of NFTs?
Whats, Whys and Hows of NFTs?Whats, Whys and Hows of NFTs?
Whats, Whys and Hows of NFTs?Abhinav Gupta
 
Mental Peace at Work during Pandemic
Mental Peace at Work during PandemicMental Peace at Work during Pandemic
Mental Peace at Work during PandemicAbhinav Gupta
 
Salesforce restriction rules <2 min Summary
Salesforce restriction rules <2 min SummarySalesforce restriction rules <2 min Summary
Salesforce restriction rules <2 min SummaryAbhinav Gupta
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneyAbhinav Gupta
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesAbhinav Gupta
 
Building a layoff proof career
Building a layoff proof careerBuilding a layoff proof career
Building a layoff proof careerAbhinav Gupta
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & SalesforceAbhinav Gupta
 
Dreamforce 2015 Session - Angular-ifying your visualforce pages
Dreamforce 2015 Session - Angular-ifying your visualforce pagesDreamforce 2015 Session - Angular-ifying your visualforce pages
Dreamforce 2015 Session - Angular-ifying your visualforce pagesAbhinav Gupta
 
Intro to Apex - Salesforce Force Friday Webinar
Intro to Apex - Salesforce Force Friday Webinar Intro to Apex - Salesforce Force Friday Webinar
Intro to Apex - Salesforce Force Friday Webinar Abhinav Gupta
 
Building Chrome Extensions For Salesforce
Building Chrome Extensions  For SalesforceBuilding Chrome Extensions  For Salesforce
Building Chrome Extensions For SalesforceAbhinav Gupta
 

Mehr von Abhinav Gupta (20)

What is Einstein Data Detect?
What is Einstein Data Detect?What is Einstein Data Detect?
What is Einstein Data Detect?
 
Salesforce 2023 Recap
Salesforce 2023 RecapSalesforce 2023 Recap
Salesforce 2023 Recap
 
Safeguarding Salesforce: Mastering Data Security with Data Mask
Safeguarding Salesforce: Mastering Data Security with Data MaskSafeguarding Salesforce: Mastering Data Security with Data Mask
Safeguarding Salesforce: Mastering Data Security with Data Mask
 
đŸ€– Understanding 4 Waves of AI
đŸ€– Understanding 4 Waves of AI đŸ€– Understanding 4 Waves of AI
đŸ€– Understanding 4 Waves of AI
 
AI & Evolving Customer Trust Dynamics (1).pdf
AI & Evolving Customer Trust Dynamics  (1).pdfAI & Evolving Customer Trust Dynamics  (1).pdf
AI & Evolving Customer Trust Dynamics (1).pdf
 
Salesforce Functions History - Launch to Retirement (2019-2023)
Salesforce Functions History - Launch to Retirement (2019-2023)Salesforce Functions History - Launch to Retirement (2019-2023)
Salesforce Functions History - Launch to Retirement (2019-2023)
 
Unlocking the Puzzle of Modern Customer Wants.pdf
Unlocking the Puzzle of Modern  Customer Wants.pdfUnlocking the Puzzle of Modern  Customer Wants.pdf
Unlocking the Puzzle of Modern Customer Wants.pdf
 
NFT Collectors - Understanding AI Puke Art
NFT Collectors - Understanding AI Puke ArtNFT Collectors - Understanding AI Puke Art
NFT Collectors - Understanding AI Puke Art
 
What’s Web3 for Salesforce?
What’s Web3 for Salesforce?What’s Web3 for Salesforce?
What’s Web3 for Salesforce?
 
Generative AI Art - The Dark Side
Generative AI Art - The Dark SideGenerative AI Art - The Dark Side
Generative AI Art - The Dark Side
 
Whats, Whys and Hows of NFTs?
Whats, Whys and Hows of NFTs?Whats, Whys and Hows of NFTs?
Whats, Whys and Hows of NFTs?
 
Mental Peace at Work during Pandemic
Mental Peace at Work during PandemicMental Peace at Work during Pandemic
Mental Peace at Work during Pandemic
 
Salesforce restriction rules <2 min Summary
Salesforce restriction rules <2 min SummarySalesforce restriction rules <2 min Summary
Salesforce restriction rules <2 min Summary
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
Building a layoff proof career
Building a layoff proof careerBuilding a layoff proof career
Building a layoff proof career
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
Dreamforce 2015 Session - Angular-ifying your visualforce pages
Dreamforce 2015 Session - Angular-ifying your visualforce pagesDreamforce 2015 Session - Angular-ifying your visualforce pages
Dreamforce 2015 Session - Angular-ifying your visualforce pages
 
Intro to Apex - Salesforce Force Friday Webinar
Intro to Apex - Salesforce Force Friday Webinar Intro to Apex - Salesforce Force Friday Webinar
Intro to Apex - Salesforce Force Friday Webinar
 
Building Chrome Extensions For Salesforce
Building Chrome Extensions  For SalesforceBuilding Chrome Extensions  For Salesforce
Building Chrome Extensions For Salesforce
 

KĂŒrzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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 organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

KĂŒrzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Parsing XML & JSON in Apex

  • 1.
  • 2. Motivation Classic approaches Better approaches Agenda Make XML/JSON Parsing Simple
  • 3. Developers not aware of recent platform changes. Google gives pointers to obsolete APIs. Obsolete APIs are slow and hurt on governor limits like Motivation “script statements consumption” New APIs use platform capabilities for resource hungry tasks like parsing. Why we are discussing this ?
  • 4. Native Lib ? Provided by Force.com platform aka System libraries, like XMLStreamReader Doesn’t hurt on resources like Native Lib script statements consumption. vs Apex Lib Apex Lib ? Wrapper on Native Lib, like XMLDOM.cls Written from scratch in Apex only, like JSONObject.cls
  • 6. <books> <book author="Chatty">Foo bar</book> <book author="Sassy">Baz </ book> Sample XML </books>
  • 7. public class Book { String name; String author; } Apex Model Parse XML to this Model
  • 8. XMLStream Classes Native Lib Stream based approach to parse XML Classic XMLDom.cls (OpenSource) Approaches Apex Lib, wrapper on above XMLStream classes Create in memory DOM for XML Structure. Written by Ron Hess (Salesforce)
  • 9. Dom.Document/XmlNode Classes Native Lib Came in Spring’10 release DOM based approach to parse XML Better Approaches FastXmlDom (OpenSource) Apex Lib, wrapper on above Dom.XmlNode classes Exposes pretty common DOM API for XML Parsing Tested & used in many projects.
  • 10. Over to sublime code snippet Sample Code Lets see some code about all of these approaches
  • 11. Pros Native Lib (Not an Apex implementation) Heap/Memory efficient like usual stream parsers. XmlStream Good for big XML string, parse only the required part of XML. Classes Cons Complex code to parse XML. Not so developer friendly Sometimes can consume lots of script statements in Pros/Cons iterations for big XMLs.
  • 12. Pros Simple W3C DOM library, which developers are used to of using in HTML DOM as well. Simple and more readable code for XML Parsing. Cons XMLDOM.cls Creates in memory DOM for complete XML structure, so heavy on heap Consumes too many script statements in the above process. Not suitable for large XML parsing.
  • 13. Pros Native DOM Lib Relatively simpler to use as compared to XMLStreamReader. Dom class Consumes least script Document & statements. Cons XmlNode DOM API is not following w3c model, so learning curve for developers. Mandates namespace usage, that complicates simple xml parsing.
  • 14. Pros Exposes W3C DOM API (no learning curve for developers) Simpler to use as compared to XMLStreamReader and DOM Classes. FastXMLDom Consumes less script statements. Cons An Apex Lib, so consumes a bit more script statements and heap as compared to Dom.XmlNode Pros/Cons
  • 16. JSONObject.cls Apex Lib Tokenizes the string to create in memory JSON Structure Written by Ron Classic Hess(Salesforce) System.JSONParser Approaches Native lib Streaming and token based parsing of JSON
  • 17. JSON Native Lib Mapped strong and loose parsing with Apex UDT(User Defined Types) and Collections like Maps. Better Approaches
  • 18. JSONObject Not required and please don’t use it any more. JSONParser http://www.salesforce.com/us/ developer/docs/apexcode/Con Sample Code tent/apex_methods_system_js onparser.htm JSON http://www.tgerm.com/2011/10 /winter12-jsonparser- serialize.html
  • 19. Pros None as of now Cons Consumes script statements JSONObject.cls and heap for large JSON files Not as stable as compared to Native libs.
  • 20. Pros Native lib, hurts less on resources. Good option when JSON automated serialization/deserialization fails. JSONParser Came with Winter’12 release Cons Complex code and less developer friendly way to parse.
  • 21. Pros Native lib, hurts less on resources. Serialize/De-serialize big JSON strings in one line of code. Easy transformation of JSON from String > UDT and vice versa JSON Gives option of loose parsing to Maps i.e. deserializeUntyped() Came with winter’12 release Improved a bit with every next release Cons Special care if required if JSON contains reserved words or conflicting stuff with Apex.
  • 22. Searching for solutions in this order Consult platform guides, like apex dev guide. developer.force.com Salesforce.stackexchange.com Google General Tips Stay on latest and greatest API Don’t download pdf for documentation use online guides. Use latest API version of Apex class and VF page when creating new ones.
  • 23. Q&A
  • 24. Use “Apex Developer Guide” for native libs, like: XmlStreamReader Dom classes JSON Parser JSON XMLDOM.cls http://developer.force.com/projectpa ge?id=a0630000002ahp5AAA Resources Fast XML DOM http://code.google.com/p/apex-fast- xml-dom/ JSONObject.cls http://code.google.com/p/apex- You will get all the link, as I will library/source/browse/trunk/JSONO share the slides  bject/src/classes/JSONObject.cls
  • 25. @abhinavguptas Thanks ! www.tgerm.com

Hinweis der Redaktion

  1. Your introductory or title slide should convey the overall “feeling” and focus of your presentation. For instance, I typically present about small-business trends, new business ideas, growth opportunities or other positive trends. In this sample presentation, I’m talking about new business ideas, so I used a sun graphic in this slide template to convey a positive feeling. Personalize this slide template with your company’s logo. To add a logo to all slides, place it on the Slide Master. To access the Slide Master, on the Themes tab of the Ribbon, click Edit Master and then click Slide Master.Disclaimer: You understand that Microsoft does not endorse or control the content provided in the following presentation. Microsoft provides this content to you for informational purposes only; it is not intended to be relied upon as business or financial advice. Microsoft does not guarantee or otherwise warrant the accuracy or validity of this information and encourages you to consult with a business or financial professional as appropriate.RIEVA LESONSKY Founder and President, GrowBiz Media RievaLesonsky is founder and president of GrowBiz Media, a content and consulting company specializing in covering small businesses and entrepreneurship. A nationally known speaker and authority on entrepreneurship, Lesonsky has been covering America’s entrepreneurs for nearly 30 years. Before co-founding GrowBiz Media, Lesonsky was Editorial Director of Entrepreneur Magazine.