SlideShare una empresa de Scribd logo
1 de 77
Descargar para leer sin conexión
The Real Time Web
      (Building It)
Blaine Cook
 Twitter, OAuth, ?
1
Real-Time
 Web?           2
            Problems &
             Solutions        3
                           First Steps



  Jabber
   4
  Basics
             Building
                5
            Applications      6
                           Next Steps




   7
  Best
Practices       8
              Scaling
            Techniques        9
                             Jabber
                              Tools
the real time web?
Social Objects

• The things we exchange
• Media: Writing, photos, audio, video, …
• Metadata: Location, relationship data,
  personal data
problems and
  solutions
What are our goals?

• Real time
• Low cost
• Asynchronous
• Simple
HTTP?

• Works fantastically for web browsers.
• Hard to scale for frequent updates.
• Hard to scale for frequent polling.
• Asks the wrong question:
  “what happened in the past?”
HTTP Ping/Push?

• NAT traversal breaks desktop clients.
• HTTP time-outs
• Inconsistent APIs
• Authentication
SMTP?

• No verifiable authentication scheme
• No consistent approach to API design
• Servers not tuned for high volume of
  low-latency messages
Comet?

• GMail
• Successful for web-based clients
• One connection per user
• Requires polling
• Stretching the HTTP metaphor
Jabber

• Fulfills all the goals
• Open
• Simple (if youʼre careful)
first steps
architecture

• Not p2p
• Client-to-server
• Clients maintain persistent connections
• Federation looks exactly like email
• Servers communicate directly
itʼs all just xml
• a jabber session is simply two
  streaming XML documents

• the spec defines common elements
• but you can extend it at any time
• similar to html, but with a larger
  vocabulary
jabber addressing

• addresses look like email addresses:
  
   user@domain.com

• but you can omit the username (node):
  
   domain.com

• or you can include a resource:
  
   user@domain.com/mydevice
jabber federation
• i.e., why itʼs not spammy
• s2s - server to server
• support for verified authentication of
  servers using SSL

• dialback authentication
• explicit whitelist by default
messages
• primary jabber payload. email.
• the simplest message is an addressed
  stanza with a body (the message)

• subject, alternate message types are
  available but client ui is poorly
  implemented

• we can send html and atom, too
presence

• online, offline, chat, away, xa
• the intellectual pivot between optimizing
  for store and forward (http, smtp) and
  streams of data
tracking presence


• we can subscribe and unsubscribe
• also allow, deny, or block requests
the roster

• your social connections
• maintains presence subscriptions
• maintains your whitelist
• synonomous with your buddy list on
  MSN / AIM / YahooIM
jabber basics
navigating jabber

• Nearly 200 specs defining all sorts of
  behaviour. Ignore them.

• Unless you need them.
• Core & IM: RFCs 3920 & 3921
stanzas

• XML Elements
• Shared attributes:
 • to, from, id, type
messages

<message from=quot;romeo@montague.netquot;
             to=quot;juliet@capulet.comquot;>


  <body>Hi!</body>
</message>
messages

<message from=quot;romeo@montague.net/orchardquot;
             to=quot;juliet@capulet.comquot;
             id=quot;msg:montague.net,1quot;>
  <body>Hi!</body>
</message>
presence

<presence from=quot;romeo@montague.netquot;
         to=quot;juliet@capulet.comquot; />
presence

<presence from=quot;romeo@montague.netquot;
          to=quot;juliet@capulet.comquot;>
  <show>away</show>
  <status>swooning</status>
</presence>
presence


<presence from=quot;romeo@montague.netquot;
         to=quot;juliet@capulet.comquot;
         type=quot;subscribequot; />
presence


<presence from=quot;juliet@capulet.comquot;
         to=quot;romeo@montague.netquot;
         type=quot;subscribedquot; />
presence
<presence from=quot;romeo@montague.netquot;
         to=quot;juliet@capulet.comquot;
         type=quot;unsubscribequot; />


<presence from=quot;juliet@capulet.comquot;
         to=quot;romeo@montague.netquot;
         type=quot;unsubscribedquot; />
iq

• Information Query
• Enables the roster, discovery, XEPs
• Should almost always be hidden behind
  libraries.
building applications
taking stock

• we can send/receive messages
• add / remove contacts
• track presence
• let's build something!
define bot behaviour

• what does your bot do?
• conversational
• informational
• recorder
define api behaviour

• what does your api look like?
• atom?
• custom xml with namespaces?
• we'll dig in a bit more later.
write the behaviour

• build a class or interface that handles
  messages

• test the class with mock xmpp stanzas
• mock out sending functions in your
  xmpp lib so you don't need an active
  connection
behaviour
class MyHandler
 def on_message(message)
      puts quot;Got Message:quot;
      puts quot;from #{message.from}quot;
      puts quot;to #{message.to}quot;
      puts quot;body #{message.body}quot;
      out = Jabber::Message.new(message.from, quot;got it!quot;)
      yield out
 end
end
event handler
client = Jabber::Simple.new('user@ex.com', 'pwd')
handler = MyHandler.new


 client.received_messages do |message|
   handler.on_message(message) do |out|
       client.send(out)
   end
 end
event loop
client = Jabber::Simple.new('user@ex.com', 'pwd')
handler = MyHandler.new
loop do
  client.received_messages do |message|
      handler.on_message(message) do |out|
        client.send(out)
      end
  end
end
handling presence

  client.status(:away, quot;eatingquot;)

client.presence_updates do |update|
  friend = update[0]
  presence = update[2]
  puts quot;#{friend.jid} is #{presence.status}quot;
end
handling presence

<presence from=quot;user@ex.comquot;>
  <show>away</show>
  <status>eating</status>
</presence>
rosters


• should ideally be handled by libraries
• if not, at least aim for being able to fetch
  your roster using a library call
rosters

Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for (RosterEntry entry : entries) {
    System.out.println(entry);
}
process management

• Very difficult to run Jabber clients from
  non-persistent connections

• Run a persistent daemon that manages
  your Jabber connection
next steps
PubSub

• A mechanism for Publishing and
  Subscribing to feeds

• Like presence subscriptions, but for
  data
PubSub

• Over-specified
• Don't try to read the spec if you can
  avoid it

• Thankfully, the concept is simple and
  the core implementation is easy
PubSub Subscribe
<iq type='set' from='francisco@denmark.lit/barracks'
   to='example.com' id='sub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
   <subscribe
        node='http://example.com/updates'
        jid='francisco@denmark.lit/barracks'/>
  </pubsub>
</iq>
PubSub Confirmation
<iq type='result' from='example.com'
    to='francisco@denmark.lit/barracks' id='sub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
    <subscription
        node='http://example.com/updates'
        jid='francisco@denmark.lit/barracks'
        subscription='subscribed'/>
  </pubsub>
</iq>
PubSub Messages
<message from='example.com'
  to='francisco@denmark.lit/barracks' id='foo'>
  <body>blah</body>
  <event xmlns='http://jabber.org/protocol/pubsub#event'>
    <items node='http://twitter.com/xmpp'>
      <item id='http://twitter.com/blaine/statuses/324236243'>
        <entry>...</entry>
      </item>
    </items>
  </event>
</message>
PubSub Unsubscribe
<iq type='set' from='francisco@denmark.lit/barracks'
   to='example.com' id='unsub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
     <unsubscribe
         node='http://example.com/xmpp'
         jid='francisco@denmark.lit'/>
  </pubsub>
</iq>
PubSub Confirmation

<iq type='result'
    from='example.com'
    to='francisco@denmark.lit/barracks'
    id='unsub1'/>
PEP

• Personal Eventing via PubSub
• You can think of it as exactly the same
  as regular PubSub, except the node
  becomes relative to a user (full JID)
PEP
<iq type='set' from='francisco@denmark.lit/barracks'
   to='user@example.com' id='sub1'>
  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
   <subscribe
        node='http://example.com/updates'
        jid='francisco@denmark.lit/barracks'/>
  </pubsub>
</iq>
Federation

• Social Network Federation
• Use PubSub to allow users on remote
  services to subscribe to eachother

• Breaking down walled gardens
best practices
• keeping the api simple
• choosing where to use jabber
• atom over xmpp
scaling techniques
scalability?

• Jabber scales well out of the box for
  relatively small numbers of contacts.

• Stops working at around 35k contacts,
  due to roster presence behaviour.

• Come online, find out what everyone's
  presence is.
components

• In order to work around this, we use the
  component protocol, XEP-0114

• Horrendously bad documentation
• But thankfully it's simple
components

• A component allows you to handle
  everything for a JID, or a whole domain

• You can turn off the roster!
• Without roster management, we now
  assume that out bot is always online.
components

• Components work just like client-to-
  server bots, but we need to handle
  presence ourselves.

• The easiest way is to do the following…
components
client = Jabber::Component.new('example.com')
client.connect(quot;127.0.0.1quot;)
client.auth(quot;secretquot;)
client.add_presence_callback do |presence|
  case presence.type.to_s
  when nil, 'unavailable': save_presence(presence)
  when 'probe': send_online(presence.from)
  when 'subscribe': send_subscribed(presence.from)
  end
end
horizontal scaling

• Many processes across machines
• Need a queuing mechanism
• We use Starling
• ActiveMQ, RabbitMQ, MySQL, local
  HTTP push are also viable options
horizontal scaling
client.add_message_callback do |message|
  incoming_message_queue.push message
end


loop do
  message = message_queue.pop
  client.send message
end
client connections

• If you plan to offer Jabber user
  accounts, you'll need to scale to many
  persistent connections.

• Thankfully, most Jabber servers do this
  part out of the box.
tools
Client Libraries

• Ruby: xmpp4r & xmpp4r-simple
• Java: Smack
• Python: twisted-words
• Perl: Net::Jabber
• Javascript: JSJaC
Jabber Servers

• ejabberd (recently 2.0)
• openfire
• Jabber XCP
Other Tools


• Debugging: Psi (cross-platform, fully
  featured)

• PubSub: Idavoll
Jabber-enabled
• livejournal
• twitter
• jaiku
• gtalk / gmail
• chesspark
• fire eagle (soon!)
questions?

Más contenido relacionado

Destacado

CADFEM Journal - Innovation ist berechenbar
CADFEM Journal - Innovation ist berechenbarCADFEM Journal - Innovation ist berechenbar
CADFEM Journal - Innovation ist berechenbarCADFEM Austria GmbH
 
Simulation of a fatigue crack problem in electronic devices
Simulation of a fatigue crack problem in electronic devicesSimulation of a fatigue crack problem in electronic devices
Simulation of a fatigue crack problem in electronic devicesCADFEM Austria GmbH
 
Fast and reliable bolt assessment inside ansys
Fast and reliable bolt assessment inside ansysFast and reliable bolt assessment inside ansys
Fast and reliable bolt assessment inside ansysCADFEM Austria GmbH
 
Linux Installation And Shamba Server
Linux Installation And Shamba ServerLinux Installation And Shamba Server
Linux Installation And Shamba ServerMayur Verma
 
Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Mikhail Kurnosov
 
PhD thesis presentation 2012
PhD thesis presentation 2012PhD thesis presentation 2012
PhD thesis presentation 2012vsharma78
 
Lee Clark 7th June 2010
Lee Clark 7th June 2010Lee Clark 7th June 2010
Lee Clark 7th June 2010leewclark
 
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...Andris Soroka
 
Mac os installation and Hardware Report
Mac os installation and Hardware ReportMac os installation and Hardware Report
Mac os installation and Hardware ReportPratik Vyas
 
Almoços Convívio Cerberus
Almoços Convívio CerberusAlmoços Convívio Cerberus
Almoços Convívio CerberusCerberus Pt
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentS. M. Hossein Hamidi
 
Temporal La Coru
Temporal La CoruTemporal La Coru
Temporal La Coruluisgontad
 

Destacado (20)

ANSYS v.14 User Defined Results
ANSYS v.14 User Defined ResultsANSYS v.14 User Defined Results
ANSYS v.14 User Defined Results
 
CADFEM Journal - Innovation ist berechenbar
CADFEM Journal - Innovation ist berechenbarCADFEM Journal - Innovation ist berechenbar
CADFEM Journal - Innovation ist berechenbar
 
Simulation of a fatigue crack problem in electronic devices
Simulation of a fatigue crack problem in electronic devicesSimulation of a fatigue crack problem in electronic devices
Simulation of a fatigue crack problem in electronic devices
 
Fast and reliable bolt assessment inside ansys
Fast and reliable bolt assessment inside ansysFast and reliable bolt assessment inside ansys
Fast and reliable bolt assessment inside ansys
 
Sp ws1 ulrich teichler
Sp ws1 ulrich teichlerSp ws1 ulrich teichler
Sp ws1 ulrich teichler
 
Linux Installation And Shamba Server
Linux Installation And Shamba ServerLinux Installation And Shamba Server
Linux Installation And Shamba Server
 
Finding Time to Study for the CIH Exam
Finding Time to Study for the CIH ExamFinding Time to Study for the CIH Exam
Finding Time to Study for the CIH Exam
 
Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...Пространственно-распределенная мультикластерная вычислительная система: архит...
Пространственно-распределенная мультикластерная вычислительная система: архит...
 
PhD thesis presentation 2012
PhD thesis presentation 2012PhD thesis presentation 2012
PhD thesis presentation 2012
 
Lee Clark 7th June 2010
Lee Clark 7th June 2010Lee Clark 7th June 2010
Lee Clark 7th June 2010
 
cIHMS
cIHMScIHMS
cIHMS
 
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...DSS ITSEC 2013 Conference 07.11.2013  - Accellion - The Secure File-Sharing P...
DSS ITSEC 2013 Conference 07.11.2013 - Accellion - The Secure File-Sharing P...
 
Mac os installation and Hardware Report
Mac os installation and Hardware ReportMac os installation and Hardware Report
Mac os installation and Hardware Report
 
Jaba sat explorer-710
Jaba sat explorer-710Jaba sat explorer-710
Jaba sat explorer-710
 
Almoços Convívio Cerberus
Almoços Convívio CerberusAlmoços Convívio Cerberus
Almoços Convívio Cerberus
 
An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
Lecture 13
Lecture 13Lecture 13
Lecture 13
 
QIP 2012
QIP 2012QIP 2012
QIP 2012
 
Temporal La Coru
Temporal La CoruTemporal La Coru
Temporal La Coru
 
Desktop environment
Desktop environmentDesktop environment
Desktop environment
 

Más de jward5519

Google App Engine Making It Easier For Developers To Build And Scale Apps P...
Google App Engine  Making It Easier For Developers To Build And Scale Apps  P...Google App Engine  Making It Easier For Developers To Build And Scale Apps  P...
Google App Engine Making It Easier For Developers To Build And Scale Apps P...jward5519
 
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
Mashing Up  Taking Enterprise Mashups To The Next Level  PresentationMashing Up  Taking Enterprise Mashups To The Next Level  Presentation
Mashing Up Taking Enterprise Mashups To The Next Level Presentationjward5519
 
Ibm Web 2 0 Goes To Work Presentation
Ibm  Web 2 0 Goes To Work PresentationIbm  Web 2 0 Goes To Work Presentation
Ibm Web 2 0 Goes To Work Presentationjward5519
 
Global Design Trends Presentation
Global Design Trends PresentationGlobal Design Trends Presentation
Global Design Trends Presentationjward5519
 
Maximizing Conversions And Overall Campaign Roi Presentation
Maximizing Conversions And Overall Campaign Roi PresentationMaximizing Conversions And Overall Campaign Roi Presentation
Maximizing Conversions And Overall Campaign Roi Presentationjward5519
 
Maximizing Ad Revenue Through Format Optimization Presentation
Maximizing Ad Revenue Through Format Optimization PresentationMaximizing Ad Revenue Through Format Optimization Presentation
Maximizing Ad Revenue Through Format Optimization Presentationjward5519
 
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...jward5519
 
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...jward5519
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...jward5519
 
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web PresentationData Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web Presentationjward5519
 
Design Learnings From Viral Applications Presentation
Design Learnings From Viral Applications PresentationDesign Learnings From Viral Applications Presentation
Design Learnings From Viral Applications Presentationjward5519
 
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...jward5519
 
Design Learnings From Viral Applications Presentation
Design Learnings From Viral Applications PresentationDesign Learnings From Viral Applications Presentation
Design Learnings From Viral Applications Presentationjward5519
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentationjward5519
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1jward5519
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1jward5519
 
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web PresentationData Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web Presentationjward5519
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentationjward5519
 
Building An App For Social Platforms Presentation
Building An App For Social Platforms PresentationBuilding An App For Social Platforms Presentation
Building An App For Social Platforms Presentationjward5519
 
A Symfony Answer Presentation
A Symfony Answer PresentationA Symfony Answer Presentation
A Symfony Answer Presentationjward5519
 

Más de jward5519 (20)

Google App Engine Making It Easier For Developers To Build And Scale Apps P...
Google App Engine  Making It Easier For Developers To Build And Scale Apps  P...Google App Engine  Making It Easier For Developers To Build And Scale Apps  P...
Google App Engine Making It Easier For Developers To Build And Scale Apps P...
 
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
Mashing Up  Taking Enterprise Mashups To The Next Level  PresentationMashing Up  Taking Enterprise Mashups To The Next Level  Presentation
Mashing Up Taking Enterprise Mashups To The Next Level Presentation
 
Ibm Web 2 0 Goes To Work Presentation
Ibm  Web 2 0 Goes To Work PresentationIbm  Web 2 0 Goes To Work Presentation
Ibm Web 2 0 Goes To Work Presentation
 
Global Design Trends Presentation
Global Design Trends PresentationGlobal Design Trends Presentation
Global Design Trends Presentation
 
Maximizing Conversions And Overall Campaign Roi Presentation
Maximizing Conversions And Overall Campaign Roi PresentationMaximizing Conversions And Overall Campaign Roi Presentation
Maximizing Conversions And Overall Campaign Roi Presentation
 
Maximizing Ad Revenue Through Format Optimization Presentation
Maximizing Ad Revenue Through Format Optimization PresentationMaximizing Ad Revenue Through Format Optimization Presentation
Maximizing Ad Revenue Through Format Optimization Presentation
 
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
 
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...Free Traffic  Seo Smo 101 (Search Engine   Social Media Optimization) Present...
Free Traffic Seo Smo 101 (Search Engine Social Media Optimization) Present...
 
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...Do Try This At Home  Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
Do Try This At Home Ajax Bookmarking, Cross Site Scripting, And Other Web 2 ...
 
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web PresentationData Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
 
Design Learnings From Viral Applications Presentation
Design Learnings From Viral Applications PresentationDesign Learnings From Viral Applications Presentation
Design Learnings From Viral Applications Presentation
 
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
Developing, Distributing, And Monetizing Web Applications With Web Ex Connect...
 
Design Learnings From Viral Applications Presentation
Design Learnings From Viral Applications PresentationDesign Learnings From Viral Applications Presentation
Design Learnings From Viral Applications Presentation
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1Creating Semantic Mashups  Bridging Web 2 0 And The Semantic Web Presentation 1
Creating Semantic Mashups Bridging Web 2 0 And The Semantic Web Presentation 1
 
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web PresentationData Portability, Privacy, And The Emergence Of The Social Web Presentation
Data Portability, Privacy, And The Emergence Of The Social Web Presentation
 
Capacity Planning For Web Operations Presentation
Capacity Planning For Web Operations PresentationCapacity Planning For Web Operations Presentation
Capacity Planning For Web Operations Presentation
 
Building An App For Social Platforms Presentation
Building An App For Social Platforms PresentationBuilding An App For Social Platforms Presentation
Building An App For Social Platforms Presentation
 
A Symfony Answer Presentation
A Symfony Answer PresentationA Symfony Answer Presentation
A Symfony Answer Presentation
 

Último

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...Enterprise Knowledge
 
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.pptxEarley Information Science
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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...Neo4j
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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 MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
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...Miguel Araújo
 
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 RobisonAnna Loughnan Colquhoun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 2024Rafal Los
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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.pptxKatpro Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Último (20)

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...
 
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
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
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...
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

Building The Real Time Web Presentation