25
A COMPONENT BASED METHODOLOGY FOR WEB APPLICATION DEVELOPMENT USING RUBY ON RAILS Presentation 1 – 13 th July 2009 by Brett Nisbett

INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

A COMPONENT BASED METHODOLOGY FOR WEB APPLICATION DEVELOPMENT USING RUBY ON RAILSPresentation 1 – 13th July 2009 by Brett Nisbett

Page 2: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRODUCTION

Page 3: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NCOMPONENT BASED SOFTWARE ENGINEERING FOR WEB APPLICATIONS

•Do Websites really need CBSE?

•More to Web application development than visual design and user interfaces

•Involves planning, Web architecture and system design, testing, quality assurance just like most other applications andsometimes more.

Page 4: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NCOMPONENT BASED SOFTWARE ENGINEERING FOR WEB APPLICATIONS

•What is a component in a web application?

•A component, in the context of a Web‐based application, is a system or a software program that has been pre‐compiles to provide certain functionality.[1]

•They are often integrated into web applications through exposed interfaces and associations like hyperlinks and HTML tags.[1]

Page 5: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NRUBY ON RAILS

•Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language.

•Rails is an open source Ruby framework for developing database‐backed web applications. 

•All layers in Rails are built to work together so you [developer] Don’t Repeat Yourself (DRY) and can use a single language from top to bottom.

Page 6: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NWhat is Ruby?

•Ruby is a pure object‐oriented programming language with a very clean syntax that makes programming elegant. 

•Ruby is an interpreted scripting language, just like Perl, Python and PHP.

•Ruby successfully combines Smalltalk's conceptual elegance, Python's ease of use and learning and Perl's pragmatism.

Page 7: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NRUBY ON RAILS

•The MVC paradigm allows for clean separation of business logic (controller), data (model), and the formatting of data for display and user interaction (view).

Page 8: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

INTRO

DUCTIO

NFamous Rails Websites

Page 9: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPROACH

Page 10: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

Approach

Page 11: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

GENERAL DESCRIPTION OF THE APPROACH

•Web pages are the building blocks of Web applications

•Web pages can be visible or invisible to the user

Page 12: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

Component Types

•Components can be client side or server side

•Client side components are described as host dependent and client system components

•Observed by the user eg. plugins (host dependent) autonomous media player (client system)

•Server side component is run on the server 

•Provides functionality to a page such as chart generation

Page 13: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

REQUIREM

ENTS A

NALYSIS

Requirements Analysis

Page 14: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

HIGH LEVEL ANALYSIS

Page 15: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

LOW LEVEL ANALYSIS

Page 16: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

Component Specification

Page 17: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

RENDERIN

G SPECIFICA

TION

Rendering Specification

•Represents invisible pages

•Considers how visible pages are rendered based on the work done by the invisible page

•Helps in choosing the component type

Page 18: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

Integration Specification

•Deals with integration of components within the application and external ones necessary for functionality

•For example a delivery component of an external delivery company that is called whenever and order is completed

Page 19: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

APPRO

ACH

Interface Specification

•Specify interfaces between components in terms of messages

•Used to locate and call a particular component needed for the application

•Specifies detailed information about the caller and the callee and the events that trigger the components

Page 20: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

IMPLEMENTATION

Page 21: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

IMPLEM

ENTA

TION

IMPLEMENTATION

ROR vs ASP .NET•ASP. NET application called DocLib

•DocLib is a Web‐based Document Management System implemented in ASP .NET technology.

•RoR version to be implemented following proposed methodology and compared based on speed and performance metrix

Page 22: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

RELATED WORK

Page 23: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

RELATED

 WORK

Related Work

Component Based Deployment for Web Applications: Experiences with Duct Tape and Glue – [Gary, Kevin and Koehnemann, Harry]

•Complexities in deploying and supporting component based software for web‐based applications are not understood in professional  and academic communities

•Address this problem by presenting  component based web applications from a deployment perspective

•Only developers benefit greatly from component based software engineering of web applications while support team are bombarded with newer problems during deployment and maintenance

Page 24: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

REFERENCES

REFERENCES

1. Seung C. Lee, Ashraf I. Shirani, “A component based methodology for web application development,” The Journal of Systems and Software, vol. 71, pp177‐187, 2004

2. Oscar Pastor et al “Conceptual Modelling of Web Applications: The OOWS Approach,” in  Web Engineering: Modelling and Implementing Web Applications, Springer London, 2008 pp277‐302

3. Gustavo Rossi, Daniel Schwabe “Model‐Based Web Application Development” in  Web Engineering, Springer Berlin Heidelberg, 2006 pp303‐333

4. Kevin Gary, Harry Koehnemann “Component‐Based Deployment for Web Applications: Experiences with Duct Tape and Glue,” in Software Engineering for Modern Web Applications, Information Science Reference, 2008 pp123‐137

5. Colin Atkinson et al “Towards a General Component Model for Web Based Applications,” Annals of Software Engineering, vol. 13, pp35‐69, 2002

6. Aneesha Bakharia, “Ruby on Rails Fundamental Concepts” in Ruby on Rails Power: The Comprehensive Guide, Thomson Course Technology PTR, pp 1‐3, 2007

Page 25: INTRODUCTION - University of Waterlooltahvild/courses/ECE... · INTRODUCTION RUBY ON RAILS •Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming

THANKS FO

R LISTENING

THANK YOU!!

Thank You!Questions?

[email protected]