Ruby On Rails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Ruby On Rails - Presentation Transcript

    1. Ruby on Rails - technical report - Alex Angelescu, Petrică Manoilă, Iulian Goriac
    2. RoR/TR - Overview 1. What is Ruby on Rails 2. Basic principles 3. RoR architecture 4. SWOT analysis 5. Demo Web Service client application 6. Conclusions 7. References
    3. RoR/TR - What is Ruby on Rails Ruby on Rails (RoR) is a web application framework based on the Ruby programming language, designed in the spirit of Agile development methodology and used by web developers for rapid development.
    4. RoR/TR - Basic principles The Rails philosophy includes several guiding principles: DRY – “Don’t Repeat Yourself” – suggests that writing the same code over and over again is a bad thing. Convention Over Configuration – means that Rails makes assumptions about what you want to do and how you’re going to do it, rather than letting you tweak every little thing through endless configuration files. REST is the best pattern for web applications – organizing your application around resources and standard HTTP verbs is the fastest way to go.
    5. RoR/TR - The MVC Architecture Models A model represents the information (data) of the application and the rules to manipulate that data. In the case of Rails, models are primarily used for managing the rules of interaction with a corresponding database table. In most cases, one table in your database will correspond to one model in your application. The bulk of your application’s business logic will be concentrated in the models. Views Views represent the user interface of your application. In Rails, views are often HTML files with embedded Ruby code that performs tasks related solely to the presentation of the data. Views handle the job of providing data to the web browser or other tool that is used to make requests from your application. Controllers Controllers provide the “glue” between models and views. In Rails, controllers are responsible for processing the incoming requests from the web browser, interrogating the models for data, and passing that data on to the views for presentation.
    6. RoR/TR - The Components of Rails Action Controller Action Controller is the component that manages the controllers in a Rails application. The Action Controller framework processes incoming requests to a Rails application, extracts parameters, and dispatches them to the intended action. Services provided by Action Controller include session management, template rendering, and redirect management. Action View Action View manages the views of your Rails application. It can create both HTML and XML output by default. Action View manages rendering templates, including nested and partial templates, and includes built-in AJAX support. Active Record Active Record is the base for the models in a Rails application. It provides database independence, basic CRUD functionality, advanced finding capabilities, and the ability to relate models to one another, among other services.
    7. RoR/TR - The Components of Rails (..) Action Mailer Action Mailer is a framework for building e-mail services. You can use Action Mailer to send emails based on flexible templates, or to receive and process incoming email. Active Resource Active Resource provides a framework for managing the connection between business objects an RESTful web services. It implements a way to map web-based resources to local objects with CRUD semantics. Railties Railties is the core Rails code that builds new Rails applications and glues the various frameworks together in any Rails application. Active Support Active Support is an extensive collection of utility classes and standard Ruby library extensions that are used in the Rails, both by the core code and by your applications.
    8. RoR/TR - REST REST, an acronym for Representational State Transfer, boils down to two main principles for RoR purposes: Using resource identifiers (which, for the purposes of discussion, you can think of as URLs) to represent resources Transferring representations of the state of that resource between system components. For example, to a Rails application a request such as this: DELETE /photos/17 would be understood to refer to a photo resource with the ID of 17, and to indicate a desired action – deleting that resource. REST is a natural style for the architecture of web applications, and Rails makes it even more natural by using conventions to shield you from some of the RESTful complexities and browser quirks.
    9. RoR/TR - Strenghts Ruby on Rails provides a consistent approach to building web applications with an out of the box architecture Ruby is a fully featured object-oriented language with a long history Rails includes a well thought out object relationship mapping tool with easy database migrations and rollbacks Rails includes support for a variety of web technologies Free, high productivity, high portability
    10. RoR/TR - Weaknesses The Rails framework is not in widespread use Scalability & performance Ruby is one of the slowest dynamic languages known to man Eats up tons of RAM Database can quickly become the bottleneck, lots of CPU time spent, esp. in the OR/M layer Clusters have to be used to handle even moderate traffic
    11. RoR/TR - Opportunities "Learn a new language every year!  - when you learn a new language, you learn a new way to think." - Why not Ruby? The ideea is to learn about web application development and since Ruby is very high level language this might ease the assimilation of the new concepts involved.  No team member knows this particular technology so it will be an interesting way to see how fast and how far can we grow together starting from zero.
    12. RoR/TR - Threats Very few jobs asking specifically for Ruby / RoR expertise - specific knowledge might not be directly useful in the workforce market
    13. RoR/TR - n-lines code to read the stock market require "soap/wsdlDriver" # WSDL file URL wsdl = 'http://www.bvb.ro/BSEDelayedWs/Intraday.asmx?wsdl'    #create the driver from WSDL file driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver #call the service ans = driver.ExchangeStatistics(0)   #harvest response   ans["ExchangeStatisticsResult"]["TypeExchangeStatistics"].each do |tes|     puts "LastSession: #{tes["LastSession"]}"     puts "Marketcode:  #{tes["Marketcode"]}"     puts "Volume:      #{tes["Volume"]}"     puts "Value:       #{tes["Value"]}"     puts "ValueUSD:    #{tes["ValueUSD"]}"     puts "ValueEUR:    #{tes["ValueEUR"]}"     puts "Trades:      #{tes["Trades"]}"     puts end
    14. RoR/TR - Conclusions Rails is a fun framework that takes a lot of the drudgery out of web programming. However, it’s lack of really great IDE support and static code analysis makes large apps difficult to maintain. There are also some serious scaling issues. This would be recommend for smaller projects with low to medium traffic loads.  However, the critical weaknesses of the language and the framework (e.g., performance) are actively being addressed. So, even if one doesn't choose to use Rails today, the platform might offer some pleasant surprises in the future.
    15. RoR/TR - References Ruby programming language http://www.ruby-lang.org RoR site http://rubyonrails.org RadRails - Cross-platform RoR IDE: http://aptana.com/radrails Tutorials: http://guides.rubyonrails.org/getting_started.html  http://api.rubyonrails.org
    16. Thank You!    

    + AlexAngelescuAlexAngelescu, 1 month ago

    custom

    201 views, 0 favs, 1 embeds more stats

    A short introduction to the Ruby on Rails framework more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 201
      • 197 on SlideShare
      • 4 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 5
    Most viewed embeds
    • 4 views on http://localhost:3000

    more

    All embeds
    • 4 views on http://localhost:3000

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories