1 / 20

Lecture 10 Rails Projects

Lecture 10 Rails Projects. CSCE 740 Software Engineering. Topics SaaS Readings: SaaS book Ch 2, 4. February 24, 2014. SaaS round 2 -. Last Time RAILS Fig 2.1 100,000 view Client-server HTTP & URIs HTML & CSS HAML. Finish-up Last Lecture Slides Slides ??? New

harperb
Download Presentation

Lecture 10 Rails Projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 10Rails Projects CSCE 740 Software Engineering • Topics • SaaS • Readings: SaaS book Ch 2, 4 February 24, 2014

  2. SaaS round 2 - • Last Time • RAILS • Fig 2.1 100,000 view • Client-server • HTTP & URIs • HTML & CSS • HAML • Finish-up Last Lecture Slides • Slides ??? • New • Summary of Rails • HAML • Cucumber • Capybara • Next Time:

  3. Rails Summary from Last time • The MVC Architecture • Components of Rails • REST • a New Rails Project • Rails Application Dir • Rails Appl Directory II • Directory: app • HAML - lightweight • YAML-human-readabledataserialization format • Configuring a DB • Creating a DB • Starting Webrick • rails generate • Setting the Application Home Page • Rails Scaffolding • What’s Next? • Rails Summary • Active Record • … CS 169 Saasbook: Fox and Patterson

  4. Chapter 2 SaaS Architecture Review Saasbook Fox, Armando; Patterson, David (2014-01-31).

  5. Review Fig 2.3 – URI + HTTPmethod Saasbook Fox, Armando; Patterson, David (2014-01-31).

  6. Fig 2.4 50,000 ft view

  7. Fig 2.6 Refining Steps 2 and 3 Saasbook Fox, Armando; Patterson, David (2014-01-31).

  8. Lamp • Early SaaS sites were created using the Perl and PHP scripting languages, whose • availability coincided with the early success of Linux, an open-source operating system, and MySQL, an open-source database. • Thousands of sites are still powered by the LAMP Stack—Linux, Apache, MySQL, and PHP or Perl. Saasbook Fox, Armando; Patterson, David (2014-01-31).

  9. Scalability Saasbook Fox, Armando; Patterson, David (2014-01-31).

  10. Fig 2.8 5,000 ft view Refining Middleware

  11. Architectures for Web Apps • Left - page controller Sinatra • Center top – front controller J2EE servlets • Center bottom – PHP • Right – MVC used by rails Saasbook Fox, Armando; Patterson, David (2014-01-31).

  12. Fig 2.10 – 5,000 ft view Saasbook Fox, Armando; Patterson, David (2014-01-31).

  13. 2.6 500 Feet: Active Record for Models • Active Record architectural pattern • a single instance of a model class (in our case, the entry for a single movie) corresponds to a single row in a specific table Saasbook Fox, Armando; Patterson, David (2014-01-31).

  14. CRUD • Create a new row in the table (representing a new object), • Read an existing row into a single object instance, • Update an existing row with new attribute values from a modified object instance, • Delete a row (destroying the object’s data forever). Saasbook Fox, Armando; Patterson, David (2014-01-31).

  15. 2.7 500 Feet: Routes, Controllers, and REST • REST - In 2000, Roy Fielding proposed, in his Ph.D. dissertation, a consistent way to map requests to actions that is particularly well suited to a service-oriented architecture. • identify the various entities manipulated by a Web app as resources, and • design the routes so that any HTTP request would contain all the information necessary to identify both a particular resource and the action to be performed on it. •  In Rails, the route mappings are generated by code in the file config/routes.rb, Saasbook Fox, Armando; Patterson, David (2014-01-31).

  16. Fig 2.12 Rake Routes Summary • Operation Method & URI action • Index (list) movies GET /movies index • Read (show) movie GET /movies/:id show • Display fill-in form GET /movies/new new • Create from filled-in form POST /movies create • Display form to edit GET /movies/:id/edit edit • Update movie PUT /movies/:id update • Destroy movie DELETE /movies/:id destroy Saasbook Fox, Armando; Patterson, David (2014-01-31).

  17. Fig 2.13 Restful vs nonRestful • Login to site • Non-RESTful site - POST /login/dave • URI RESTful site - POST /login/dave • Welcome page • Non-RESTful - GET  /welcome • URI RESTful - GET  /user/301/welcome • Add item ID 427 to cart • Non-RESTful - POST /add/427 • URI RESTful - POST /user/301/add/427 Saasbook Fox, Armando; Patterson, David (2014-01-31).

  18. View cart • Non-RESTful - GET / cart • URI RESTful - GET  /user/301/cart • Checkout • Non-RESTful - POST /checkout • URI RESTful - POST /user/301/checkout Saasbook Fox, Armando; Patterson, David (2014-01-31).

  19. ELABORATION: REST vs. SOAP vs. WS-* • SOA standards bodies created committees to develop standards for SOA interoperation. • One approach resulted in a collection of elaborate protocols for Web Services including WS-Discovery, WS-Description, and others, sometimes collectively called WS-* and jokingly called “WS-Deathstar” by David Heinemeier Hansson, the creator of Rails. • The competing SOAP standard (Simple Object Access Protocol) was a bit simpler but still far more complex than REST. By and large, practicing developers perceived SOAP and WS-* as overdesigned committee-driven standards burdened by the archaic design stance Saasbook Fox, Armando; Patterson, David (2014-01-31).

  20. Fig 2.14 500 ft – Template views HAML • Haml HTML • %br{:clear => ’left’} <br clear=”left”/> • %p.foo Hello <p class=”foo”>Hello</p> • %p#foo Hello <p id=”foo”>Hello</p> • .foo <div class=”foo”>. . . </div> • #foo.bar <div id=”foo” class=”bar”>. . . </div> Saasbook Fox, Armando; Patterson, David (2014-01-31).

More Related