Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Lecture 10 Rails Projects Topics SaaSSaaS Readings: SaaS book Ch 2, 4 February 24, 2014 CSCE 740 Software Engineering."— Presentation transcript:

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).


Download ppt "Lecture 10 Rails Projects Topics SaaSSaaS Readings: SaaS book Ch 2, 4 February 24, 2014 CSCE 740 Software Engineering."

Similar presentations


Ads by Google