WebFund 2013F Lecture 16

From Soma-notes
Jump to navigation Jump to search

The audio from the lecture given on November 13, 2013 is here.

Notes

  • Control flow graph
    • graph representation of program structure
    • you should know how things move in your program
      • graph is weird for web applications
        • no main => event driven
        • distributed
          • control flow goes between browser and one or more servers
        • RPC (RemoteProcedureCall)
          • sometimes when making a call? Actually making a call on something on the network
          • RPC's have fundamental security problems
          • always call by value (pass number along)
        • SOAP
          • effort to do RPC over the web
          • Problems?
            • Based on XML
              • very verbose
              • SOAP protocols based on XML are VERY verbose
        • REST
          • GET, POST, etc
  • Databases
    • don't want to store everything just in a text file
      • multiple files is a pain
    • associative arrays are easier to get access to
    • concurrency
      • I want to change data structures all over the place
        • allow for concurrent updates without corrupting entire thing
    • durability
      • can change values incrementally
    • We will be using MongoDB
      • “document store”
        • it's like you are storing a collection of word documents
        • allows to to incrementally update parts of the document without corrupting everything
        • transactions
          • making changes to multiple durable data structures
            • changes are always consistent
              • all should happen or none should happen
              • atomic commits
          • documents are basically JSON objects