Download presentation
Presentation is loading. Please wait.
Published byFay Imogene Hicks Modified over 9 years ago
1
Lecture 10 Rails Projects Topics SaaSSaaS Readings: SaaS book Ch 2, 4 February 24, 2014 CSCE 740 Software Engineering
2
– 2 – CSCE 740 Spring 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 Summary of Rails HAML Cucumber Capybara Next Time:
3
– 3 – CSCE 740 Spring 2014 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-readable data serialization format human-readable dataserializationhuman-readable dataserialization 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
– 4 – CSCE 740 Spring 2014 Chapter 2 SaaS Architecture Review Saasbook Fox, Armando; Patterson, David (2014-01-31).
5
– 5 – CSCE 740 Spring 2014 Review Fig 2.3 – URI + HTTPmethod Saasbook Fox, Armando; Patterson, David (2014-01-31).
6
– 6 – CSCE 740 Spring 2014 Fig 2.4 50,000 ft view
7
– 7 – CSCE 740 Spring 2014 Fig 2.6 Refining Steps 2 and 3 Saasbook Fox, Armando; Patterson, David (2014-01-31).
8
– 8 – CSCE 740 Spring 2014 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
– 9 – CSCE 740 Spring 2014 Scalability Saasbook Fox, Armando; Patterson, David (2014-01-31).
10
– 10 – CSCE 740 Spring 2014 Fig 2.8 5,000 ft view Refining Middleware
11
– 11 – CSCE 740 Spring 2014 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
– 12 – CSCE 740 Spring 2014 Fig 2.10 – 5,000 ft view Saasbook Fox, Armando; Patterson, David (2014-01-31).
13
– 13 – CSCE 740 Spring 2014 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
– 14 – CSCE 740 Spring 2014 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
– 15 – CSCE 740 Spring 2014 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
– 16 – CSCE 740 Spring 2014 Fig 2.12 Rake Routes Summary Operation Method & URI action Index (list) movies GET /moviesindex Read (show) movie GET /movies/:id show Display fill-in form GET /movies/new new Create from filled-in form POST /moviescreate Display form to edit GET /movies/:id/editedit Update movie PUT /movies/:id update Destroy movie DELETE /movies/:id destroy Saasbook Fox, Armando; Patterson, David (2014-01-31).
17
– 17 – CSCE 740 Spring 2014 Fig 2.13 Restful vs nonRestful Login to site Non-RESTful site - POST /login/daveNon-RESTful site - POST /login/dave URI RESTful site - POST /login/daveURI RESTful site - POST /login/dave Welcome page Non-RESTful - GET /welcomeNon-RESTful - GET /welcome URI RESTful - GET /user/301/welcomeURI RESTful - GET /user/301/welcome Add item ID 427 to cart Non-RESTful - POST /add/427Non-RESTful - POST /add/427 URI RESTful - POST /user/301/add/427URI RESTful - POST /user/301/add/427 Saasbook Fox, Armando; Patterson, David (2014-01-31).
18
– 18 – CSCE 740 Spring 2014 View cart Non-RESTful - GET / cartNon-RESTful - GET / cart URI RESTful - GET /user/301/cartURI RESTful - GET /user/301/cartCheckout Non-RESTful - POST /checkoutNon-RESTful - POST /checkout URI RESTful - POST /user/301/checkoutURI RESTful - POST /user/301/checkout Saasbook Fox, Armando; Patterson, David (2014-01-31).
19
– 19 – CSCE 740 Spring 2014 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
– 20 – CSCE 740 Spring 2014 Fig 2.14 500 ft – Template views HAML Haml HTML %br{:clear => ’left’} %br{:clear => ’left’} %p.foo Hello Hello %p.foo Hello Hello %p#foo Hello Hello %p#foo Hello Hello.foo....foo... #foo.bar... #foo.bar... Saasbook Fox, Armando; Patterson, David (2014-01-31).
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.