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



Similar documents
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

A review and analysis of technologies for developing web applications

Ruby on Rails is a web application framework written in Ruby, a dynamically typed programming language The amazing productivity claims of Rails is

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Web Development Frameworks

Web Cloud Architecture

Ruby on Rails. a high-productivity web application framework. blog.curthibbs.us/ Curt Hibbs <curt@hibbs.com>

Trollhättan, Sweden

Web Programming Languages Overview

Selenium An Effective Weapon In The Open Source Armory

Web Pages. Static Web Pages SHTML

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

XFlash A Web Application Design Framework with Model-Driven Methodology

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

Server-Side Scripting and Web Development. By Susan L. Miertschin

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

How To Build A Web App

Introduction: Ruby on Rails

A Performance Comparison of Web Development Technologies to Distribute Multimedia across an Intranet

Ruby On Rails. CSCI 5449 Submitted by: Bhaskar Vaish

Evaluation. Chapter 1: An Overview Of Ruby Rails. Copy. 6) Static Pages Within a Rails Application

Java Technology in the Design and Implementation of Web Applications

Outline. Lecture 18: Ruby on Rails MVC. Introduction to Rails

Extending Desktop Applications to the Web

Next Generation Lab. A solution for remote characterization of analog integrated circuits

Web Application Development

OCR LEVEL 3 CAMBRIDGE TECHNICAL

Short notes on webpage programming languages

White Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

Ruby on Rails. Object Oriented Analysis & Design CSCI-5448 University of Colorado, Boulder. -Dheeraj Potlapally


Evaluating the Performance. of Software Architectures

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

Abdullah Radwan. Target Job. Work Experience (9 Years)

Django Web Framework. Zhaojie Zhang CSCI5828 Class Presenta=on 03/20/2012

Tutorial on Client-Server Architecture

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

A Brief Analysis of Web Design Patterns

Developing ASP.NET MVC 4 Web Applications MOC 20486

Web Application Frameworks. Robert M. Dondero, Ph.D. Princeton University

Web Applications Come of Age

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

Page 1. Overview of System Architecture

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

SOA & Web Services Development Survey

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

10CS73:Web Programming

Ruby on Rails in GlassFish Sun Microsystems

Service Oriented Architectures

Systems Analysis Input and Output 1. Input and Output

Evolution of the Major Programming Languages

Logicify Fact Sheet. We bring logic to the software systems and development processes. We call this process to logicify.

Chapter 1. Introduction to web development

Efficiency Considerations of PERL and Python in Distributed Processing

Pentesting Web Frameworks (preview of next year's SEC642 update)

Commercial software development with the help of J2EE architecture and MVC

Test Automation -Selenium

This Record of activity confirms that Jonathan Scrase has completed the following courses within the Microsoft Virtual Academy:

Porting Legacy Windows Applications to the Server and Web

A Review of Web Application Security for Preventing Cyber Crimes

YouTrack MPS case study

Client-server 3-tier N-tier

Testing Tools using Visual Studio. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation

Framework as a master tool in modern web development

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

Rational Software White Paper

Automatic vs. Manual Code Analysis

By : Khalid Alfalqi Department of Computer Science, Umm Al-Qura University

Choosing a Content Management System (CMS)

What is a programming language?

Software as a Service (SaaS) for Management information system using multiple tenants

SKILLS HIGHLIGHTS: W e b a n d G r a p h i c D e s i g n e r

Developing ASP.NET MVC 4 Web Applications

Introduction to web development

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Principles of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)

opalang - Rapid & Secure Web Development

PHP Leads Web 2.0. White Paper: A Closer Look at the Hidden Drivers and Enablers of the Second Internet Revolution

<Insert Picture Here> Oracle Application Express 4.0

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

What s really under the hood? How I learned to stop worrying and love Magento

Senior Business Intelligence/Engineering Analyst

ActiveVOS Server Architecture. March 2009

Transcription:

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

INTRODUCTION

COMPONENT 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 and sometimes more. INTRODUCTION

COMPONENT 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] INTRODUCTION

RUBY 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. INTRODUCTION

What 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. INTRODUCTION

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

INTRODUCTION Famous Rails Websites

APPROACH

APPROACH Approach

GENERAL DESCRIPTION OF THE APPROACH Web pages are the building blocks of Web applications Web pages can be visible or invisible to the user APPROACH

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 APPROACH

REQUIREMENTS ANALYSIS Requirements Analysis

HIGH LEVEL ANALYSIS APPROACH

LOW LEVEL ANALYSIS APPROACH

Component Specification APPROACH

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 RENDERING SPECIFICATION

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 APPROACH

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 APPROACH

IMPLEMENTATION

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 IMPLEMENTATION

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 RELATED WORK

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 REFERENCES

THANK YOU!! Thank You! Questions? THANKS FOR LISTENING bgnisbet@engmail.uwaterloo.ca