SlideShare uma empresa Scribd logo
1 de 77
Baixar para ler offline
REST and
Resource Oriented
  Architectures
          Gabriele Lana
    gabriele.lana@gmail.com
what is
REST?
REST is not
           a Protocol
        an Architecture
           a Software
          a Standard
a fancy name for Web Services
          a Buzzword
Representational
                             State
                             Transfer

                                Roy T. Fielding
“Architectural Styles and the Design of Network-based Software Architectures”
                            Ph.D dissertation, 2000
REST is
     a Software Architecture Style
 a set of Constraints on Component
Interaction that, when obeyed, cause
  the resulting Architecture to have
          certain properties


Roy T. Fielding http://roy.gbiv.com/untangled/2008/on-software-architecture
?
prediction for 2009
 “Roy Fielding will officially disown most of the
     RESTful authors and software packages
available. Nobody will care, or worse, somebody
  looking to make a name for themselves will
  proclaim that “Roy doesn't really understand
     REST”, and they'll be right: Roy doesn't
  understand what they consider to be REST”


    http://dotnet.dzone.com/articles/ted-neward-2009-predictions-20
why?
“... the motivation for developing REST was to
create an architectural model for how the Web
  should work, such that it could serve as the
     guiding framework for the Web protocol
                   standards”




   http://www.ics.uci.edu/~fielding/pubs/dissertation/evaluation.htm
no Silver Bullets
         REST vs
          SOA vs
         SOAP vs
          RPC vs
         WS-* vs
            ...
but sometimes
REST is better :-)
web applications
Information Flow
             RDB
HTTP
       OOP   MS
HTTP is REST

              RDB
HTTP
       OOP    MS
Impedance
        Mismatch
                   RDB
HTTP
         OOP       MS
Accidental
       Complexity
                    RDB
HTTP
          OOP       MS
Essential
       Complexity
                    RDB
HTTP
          OOP       MS
RDB
RPC    OOP    MS




HTTP
        RPC
Resource Oriented
  Architectures
              RDB
HTTP   ROA
              MS
maybe not today,
 but Yes, we Can
HTTP   ROA   DATA
REST by Example
   (Chess)
how to Design a
       RESTful service
         Step by Step

Leonard Richardson & Sam Ruby “RESTful Web Services”, O’Reilly 2007
1. every Resource
must be Identified
Pawn   Move   Bishop
Game Player
Rank
      Board Rook
           File
 Knight
     Position
    Queen   Square
every Concept in
your Domain can
  be a Resource
2. design the URIs
(Ubiquitous Language)
/position/wqd3,wkd1,bqd7,bkd8
/position/wqd3,wkd1,bqe6,bkf8/d3-d8
/move/wqd3,wkd1,bkf8-wqd8,wkd1,bkf8
/position/initial
/board/4815162342




/position/wqd3,wkd1,bqe6,bkf8


    move = d3-d8



/position/wqd8,wkd1,bqe6,bkf8
/player/50298
3. for each Resource
  expose a subset of
the Uniform Interface
Uniform Interface
    GET (Read)
   POST (Create)
   PUT (Update)
  DELETE (Delete)
GET /player/50298 HTTP/1.1



  Retrieve informations
  on identified Resource

      Idempotent,
   should not change
   the Resource State
POST /position/wqd3,wkd1,bke8 HTTP/1.1
n
move = d3-d8


HTTP/1.1 302 Found
Location: /position/wqd8,wkd1,bke8


         POST to let Resources
          process informations
POST /game HTTP/1.1
n
white = /player/50298 &
black = /player/39650


HTTP/1.1 201 Created
Location: /game/42


            POST to Create
             new Resources
PUT /board/4815162342 HTTP/1.1
n
position = /position/wqd3,wkd2,bke8


HTTP/1.1 205 Reset Content



           PUT to Update
         Resource Informations
PUT /position/wqd3,wkd1,bke8 HTTP/1.1
n
position = /position/wqd3,wkd2,bke8


HTTP/1.1 405 Method Not Allowed


           a Method can be
     not supported by a Resource
       but should not be ignored
DELETE /board/4815162342 HTTP/1.1


HTTP/1.1 204 No Content




              DELETE to
            logically Remove
                Resources
4. for each Resource
design Representations
  from and to Client
GET /position/wqd3,wkd2,bke8 HTTP/1.1
Accept: text/plain

HTTP/1.1 200 OK
Content-Type: text/plain;format=fen
n
3k4/8/3q4/8/8/8/8/5K2


   client/server Content Negotiation
           (MIME properties)
GET /position/wqd3,wkd2,bke8 HTTP/1.1
Accept: image/png;q=0.8, text/plain;q=0.2

HTTP/1.1 200 OK
Content-Type: image/png
n
PNG...


   client/server Content Negotiation
              (Preferences)
GET /position/wqd3,wkd2,bke8.png HTTP/1.1
Accept: image/png

HTTP/1.1 200 OK
Content-Type: image/png
n
PNG...


        client Explicit Request of
              Content-Type
GET /position/wqd3,wkd2,bke8.gif HTTP/1.1
Accept: image/gif

HTTP/1.1 406 Not Acceptable
             or more friendly
HTTP/1.1 300 Multiple Choices
Content-Type: application/xml
n
<choices><content type=”image/png” uri=”...”>
GET /game/42 HTTP/1.1
Accept: application/vnd.dharma.chess

<game>
 <player role=”white”>/player/1001</player>
 <player role=”black”>/player/1002</player>
 <moves>
   <position>/position/initial</position>
 </moves>
</game>


            custom Content-Type
wait...
  what about
   plain old
Web Applications?
GET /game/42 HTTP/1.1
Accept: application/xhtml+xml

<html>
 ... <a rel=”owner” href=”/player/1001”>...</a> ...
 <ul class=”moves”>
   <li><image src=”/position/initial.png”/></li>
 </ul>
</html>


       Semantic Web is not a dream
Tim Berners-Lee
 on Linked Data
“... almost 20 years ago I wanted
    to reframe the way we use
  informations ... I invented the
Word Wide Web ... now is time
       for a new reframing...”


         Tim Berners-Lee @ http://linkeddata.org
expected behavior of the web
1. Use URIs as names for things
2. Use HTTP URIs so that people
       can look up those names
3. When someone looks up a URI,
      provide useful information
4. Include links to other URIs, so
  that they can discover more things
POST /game/42 HTTP/1.1
Content-Type: application/vnd.dharma.chess

Authorization: Basic dXN1cm5hbWU6cG...
n
<game>
 <player>...</player>
 <moves>
   <position>/position/initial</position>

  <position color=”white”>
   /position/wra1,wna2,...,wpd4,...
  </position>
 </moves>
</game>



                 ... from and to the Client
5. design
typical flows
and
error
conditions
POST /game/42 HTTP/1.1
Content-Type: application/vnd.dharma.chess
Authorization: Basic dXN1...
n
<game>
 <player>...</player>
 <moves>
   <position>/position/initial</position>

  <position color=”white”>
   /position/wra1,wna2,...,wpd4,...
  </position>
 </moves>
</game>




            white Player make first move
HTTP/1.1 201 Created
Location: /game/42/position/2

      Response to the white Player
GET /game/42/position/2

HTTP/1.1 301 Moved Permanently
Location: /position/wra1,wna2,...,wpd4,...
GET /game/42 HTTP/1.1
Authorization: Basic dXN1...
n
<game>
 <player>...</player>
 <moves>...</player>
</game>



GET /game/42 HTTP/1.1
Authorization: Basic aYR5...
n
<game>
 <player>...</player>
 <moves>...</player>
</game>


                  both Players must GET
                 the game Representation
POST /game/42 HTTP/1.1
Content-Type: application/vnd.dharma.chess
Authorization: Basic aYR5...
n
<game>
 <player>...</player>
 <moves>
   <position>/position/initial</position>
   <position>/position/wra1,wna2,...,wpd4,...</position>

  <position color=”black”>
   /position/wra1,wna2,...,bpd5,...
  </position>
 </moves>
</game>



       black Player can make next move
POST /game/42 HTTP/1.1
Content-Type: application/vnd.dharma.chess
Authorization: Basic aYR5...
n
...




     what if black Player try to resend?
HTTP/1.1 409 Conflict

             the game Representation is
                    out of date
POST /game/42 HTTP/1.1
Content-Type: application/vnd.dharma.chess
Authorization: Basic aYR5...
n
...




what if black Player try to move again?
HTTP/1.1 403 Forbidden

           the black Player should wait
           for the white Player to move
POST /position/wqd3,wkd1,bke8 HTTP/1.1
n
move = d3-e8

what if we try to make a wrong move?
HTTP/1.1 404 Not Found

    Business Rules could be easily
  expressed through the Resource's
               Behavior
wait...
 what about
complex User
 Interfaces?
what about Gmail
what about Gmail
      JS
           HTTP




?     JS
what about Gmail
FAQ: cool URIs
      are RESTful?
                        OpenSocial
                     /people/{guid}/@all
Collection of all people connected to user {guid}
 http://www.opensocial.org/Technical-Resources/opensocial-spec-v081/restful-protocol.html
FAQ: REST is
   stateless?
     Statelessness says that
all possible states of the server
       are also Resources
         (Resource State)
FAQ: REST is
   stateless?
     Statelessness says that
    each message contains
all the informations necessary
  to understand the Request
       (Application State)
Representational State Transfer




                           Application
                             State
             R3
                  R4
       R2
  R1

                  CLIENT




        SERVER
                       Resource
                        State
your application
can be Discoverable
your application
 can be Testable
Testability
View             Model



       Control




       HTTP
Testability
too much code untested

 View             Model



        Control




        HTTP
Testability
too fragile and unreliable

 View             Model



        Control




        HTTP
Testability
        Player
Board

           Position
   Game

          Move




                      Js
        HTTP
Testability
 what about the view?
        Player
Board

           Position
   Game

          Move




                      Js
        HTTP
your application
can be Composable
your application
 can be Scalable
...so what Really
 means (for me)
 being RESTful?
now the Web
can talk about
    chess
REST e Resource Oriented Architectures

Mais conteúdo relacionado

Semelhante a REST e Resource Oriented Architectures

ReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... YawnReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... Yawnozten
 
There is REST and then there is "REST"
There is REST and then there is "REST"There is REST and then there is "REST"
There is REST and then there is "REST"Radovan Semancik
 
Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)itnig
 
Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Sumy PHP User Grpoup
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era.toster
 
Communication Protocols And Web Services
Communication Protocols And Web ServicesCommunication Protocols And Web Services
Communication Protocols And Web ServicesOmer Katz
 
When RSS Fails: Web Scraping with HTTP
When RSS Fails: Web Scraping with HTTPWhen RSS Fails: Web Scraping with HTTP
When RSS Fails: Web Scraping with HTTPMatthew Turland
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaVladimir Tsukur
 
RESTful services
RESTful servicesRESTful services
RESTful servicesgouthamrv
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecuritiesamiable_indian
 
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011Alessandro Nadalin
 
Ellerslie User Group - ReST Presentation
Ellerslie User Group - ReST PresentationEllerslie User Group - ReST Presentation
Ellerslie User Group - ReST PresentationAlex Henderson
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandMatthew Turland
 
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Gaurav Bhardwaj
 

Semelhante a REST e Resource Oriented Architectures (20)

Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Switch to Backend 2023
 
ReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... YawnReST Vs SOA(P) ... Yawn
ReST Vs SOA(P) ... Yawn
 
There is REST and then there is "REST"
There is REST and then there is "REST"There is REST and then there is "REST"
There is REST and then there is "REST"
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)Api Design and More (Friday Training at Itnig)
Api Design and More (Friday Training at Itnig)
 
Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2Service approach for development Rest API in Symfony2
Service approach for development Rest API in Symfony2
 
Jordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-eraJordi Romero Api for-the-mobile-era
Jordi Romero Api for-the-mobile-era
 
Communication Protocols And Web Services
Communication Protocols And Web ServicesCommunication Protocols And Web Services
Communication Protocols And Web Services
 
When RSS Fails: Web Scraping with HTTP
When RSS Fails: Web Scraping with HTTPWhen RSS Fails: Web Scraping with HTTP
When RSS Fails: Web Scraping with HTTP
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
Together Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with HypermediaTogether Cheerfully to Walk with Hypermedia
Together Cheerfully to Walk with Hypermedia
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
Hacking Client Side Insecurities
Hacking Client Side InsecuritiesHacking Client Side Insecurities
Hacking Client Side Insecurities
 
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011REST in ( a mobile ) peace @ WHYMCA 05-21-2011
REST in ( a mobile ) peace @ WHYMCA 05-21-2011
 
Ellerslie User Group - ReST Presentation
Ellerslie User Group - ReST PresentationEllerslie User Group - ReST Presentation
Ellerslie User Group - ReST Presentation
 
Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
 
Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289Rest Vs Soap Yawn2289
Rest Vs Soap Yawn2289
 
Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle Pinterest like site using REST and Bottle
Pinterest like site using REST and Bottle
 

Mais de GrUSP

Drupal come framework di sviluppo
Drupal come framework di sviluppoDrupal come framework di sviluppo
Drupal come framework di sviluppoGrUSP
 
PayPal e PHP
PayPal e PHPPayPal e PHP
PayPal e PHPGrUSP
 
Zend Server
Zend ServerZend Server
Zend ServerGrUSP
 
Zend Dojo
Zend DojoZend Dojo
Zend DojoGrUSP
 
PHP & IBM i
PHP & IBM iPHP & IBM i
PHP & IBM iGrUSP
 
Programmazione Ad Eventi In Php
Programmazione Ad Eventi In PhpProgrammazione Ad Eventi In Php
Programmazione Ad Eventi In PhpGrUSP
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriGrUSP
 
Symfony 2.0
Symfony 2.0Symfony 2.0
Symfony 2.0GrUSP
 
Memi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignMemi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignGrUSP
 
Mocking Objects Practices
Mocking Objects PracticesMocking Objects Practices
Mocking Objects PracticesGrUSP
 

Mais de GrUSP (10)

Drupal come framework di sviluppo
Drupal come framework di sviluppoDrupal come framework di sviluppo
Drupal come framework di sviluppo
 
PayPal e PHP
PayPal e PHPPayPal e PHP
PayPal e PHP
 
Zend Server
Zend ServerZend Server
Zend Server
 
Zend Dojo
Zend DojoZend Dojo
Zend Dojo
 
PHP & IBM i
PHP & IBM iPHP & IBM i
PHP & IBM i
 
Programmazione Ad Eventi In Php
Programmazione Ad Eventi In PhpProgrammazione Ad Eventi In Php
Programmazione Ad Eventi In Php
 
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatoriJoomla! 1.5: CMS a mani tese verso gli sviluppatori
Joomla! 1.5: CMS a mani tese verso gli sviluppatori
 
Symfony 2.0
Symfony 2.0Symfony 2.0
Symfony 2.0
 
Memi Beltrame Collaborative Design
Memi Beltrame Collaborative DesignMemi Beltrame Collaborative Design
Memi Beltrame Collaborative Design
 
Mocking Objects Practices
Mocking Objects PracticesMocking Objects Practices
Mocking Objects Practices
 

Último

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

REST e Resource Oriented Architectures