Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap

Size: px
Start display at page:

Download "Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap"

Transcription

1 Strategies for Rapid Web Prototyping Ruby on Rails

2 Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler CRUD and Rest Scaffolding

3 DRY: Don't Repeat Yourself OAOO: Once And Only Once Information in the specification of a system should not be duplicated Modification at one place should not be allowed to produce inconsistency at another place Do not use copy and paste while programming Usually implemented with reflection techniques allowing a programming language to analyze it's own objects metadata Examples Ruby: Describe an object, DB glue code is generated by reflection Counterexamples PHP Web: Metadata in SQL create statement, SQL query, PHP object Validation: Duplicate code on server and client

4 Convention over Configuration Prefer convention (ie. useful standards and defaults) over the necessity of having to configure every minuscule detail Issue: Documentation Programmer must know all conventions otherwise there is surprise over unexpected convention depent d behaviour Examples: Default behaviour in Prototype Rails: Every table has a primary key of name ID and type integer Rails: Object of name Car described in /app/models/car.rb table name is customers Rails: If object Car has 1:N relation to object Driver then table Drivers expects a key named car_id

5 Separation of Concern Separate a computer program into distinct features Implement every feature in a single component Minimize overlap between different components Examples: Object orientation: i Split system into single objects Procedural programming: Split system into procedures with I/O behavior MVC: Split application into content, presentation and interaction HTML / CSS / JS: Content, presentation, dynamics

6 Templating Template: Content with "holes" Object: Attributes for filling in object Template Description Advantages: Indepent change of look and feel Separation of areas of competency Template Engine HTML Text

7 MVC Pattern Controller User Event generated by View Interaction Requesting a view refresh Activate Setters of Business Logic View Activate Getters of Business Logic Model

8 MVC Pattern as used in Rails Dispatch Controller Method Rails Dispatcher Controller Mouse Click User Event generated by View Interaction Requesting a view refresh Activate Setters of Business Logic View Interaction View Activate Getters of Business Logic Model

9 CRUD & REST CRUD Named after the basic 4 operations on persistent storage Create, Read, Update, Delete Can be applied to all forms of data base architectures Architectural concept for data intensive web applications REST Representational State Transfer State of application is abstracted into resources Resource identified by a URL Client server protocol which is stateless and cacheable Set of well defined operations Commonly implemented on top of HTTP (GET, POST, PUT and others)

10 Scaffolding Method for rapid prototyping of web applications Provide metadata information on the objects Generate code for model: persistence: corresponding ruby object via reflection API CRUD: basic persistence operations presentation: tables for output forms for input links for manipulation glue code for paging etc.

11 Ruby on Rails

12 Who is who? Rails Application Framework for web development Main target: Agile programming Uses most of the previously outlined principles Written in Ruby, uses Javascript snippets Ail Agile programming: Continuous stream of results not deadline oriented results Regular adaption to changing requirements not frozen specifications Only measure of progress is working software Result driven not plan driven Close customer cooperation

13 Who is who? Ruby Interpreted programming language Functional can store lambda functions in a variable Object oriented with class based and prototype based inheritance Imperative classical features as in C, Java, etc. Duck typing do not check class membership but presence of method at time of interpretation i Issue: No compile time type check Automated garbage collection Implementations Interpreter based: Virtual machine based: Read code and execute Translate to bytecode, execute in Ruby VM

14 MVC Pattern Classical Design Pattern Model Represents the business logic Stores the state of the application View Controller Represents the model for the user Allows the user to change the model Several views and controllers per model are possible Data encapsulation Change of data only via methods of the model Supports semantic correctness inside of the model Supports consistency between representation and model

15 Model: Controller: Action: message echo say_hello Hello World Example get Controller in app/controllers/echo_controller.rb class EchoController < ApplicationController def = = Time.now View in app/views/echo/say_hello.erb Model in app/models/message.rb <html><head><title>test</title></head> <body> %></h1> at %> </body></html> class Message def gettext return "Hello World" getter

16 Model: Controller: Action: message echo say_hello Hello World Example (1) dispatch to correct controller file get (3) invoke correct action method Ok?? (6) request update using correct view template file View in app/views/echo/say_hello.erb Controller in app/controllers/echo_controller.rb (2) select correct class in file class EchoController < ApplicationController def = = Time.now (7) controller provides references to model (@msgobj) and private date (@when) (4) class name leads to file Model in app/models/message.rb (5) controller invokes setter / constr. in model <html><head><title>test</title></head> <body> %></h1> at %> </body></html> (9) view invokes getter of model (8) class name leads to file class Message def gettext return "Hello World" getter

17 Model: Controller: Action: message echo say_hello Hello World Example (1) dispatch to correct controller file get (3) invoke correct action method (6) request update using correct view template file View in app/views/echo/say_hello.erb Controller in app/controllers/echo_controller.rb (2) select correct class in file class EchoController < ApplicationController def = = Time.now (7) controller provides references to model (@msgobj) and private date (@when) (4) class name leads to file Model in app/models/message.rb (5) controller invokes setter / constr. in model <html><head><title>test</title></head> <body> %></h1> at %> </body></html> (9) view invokes getter of model (8) class name leads to file class Message def gettext return "Hello World" getter

18 Structure Dispatch: From URL to Action URL contains name of controller and action Controller abc implemented in file abc_controller.rb Action is function / method of this controller Update: From Action to View Every controller has directory of same name with view templates Action uvw has view template uvw.erb View template is HTML with embedded Ruby tags Naming: From class name to class definition Class Xyz is defined in file xyz.rb Wllk Well known from Java Note: Windows is case insensitive, Linux is case sensitive

19 Generation Many code portions are generated using diverse scripts Eg: Basic structure for application me: rails me Generates directory me and subdirectories i MVC basis: Area for Helper: Area for Data Bases Area for Documentation Area for Testing app/models, app/views, app/controllers app/helpers Eg: Controller contro: ruby script/generate controller contro

20 Database Conventions Application me Connected databases me_development me_test me_production During development During testing During production Changes to databases (ie. schema versioning) fully supported Allows on the fly up and downgrade of DB schema Persistent model mod Model mod Database table mods SQL Create File db/mods.sql

21 Modifications Eg: Change the DB schema Adapt the meta information and regenerate code DB adaption and code generation to reflect the changes Eg: remove Usecases Eg: No edit for a certain model Manually: Remove action from controller and link from view Eg: Reduction / Adaption of form Edit a generic, autogenerated form file Provide additional info for automated code generation Eg: Input data validation

22 Modelling Relationships 2 objects in a 1:n relationship Eg: Author Message Generate both tables Scaffolding for both objects Add associations in both directions class Message < ActiveRecord::Base belongs_to :author, :class_name => "User", :foreign_key => "author_id" Adapt views of the controller list: Also show author of a message _form: Also edit author of the message show: Also show author as such

Contents in Detail. Foreword by Xavier Noria

Contents in Detail. Foreword by Xavier Noria Contents in Detail Foreword by Xavier Noria Acknowledgments xv xvii Introduction xix Who This Book Is For................................................ xx Overview...xx Installation.... xxi Ruby, Rails,

More information

Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60

Web Technologies VU ( ) Vedran Sabol. Nov 13, ISDS, TU Graz. Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60 Web Technologies VU (706.704) Vedran Sabol ISDS, TU Graz Nov 13, 2017 Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, 2017 1 / 60 Outline 1 Separation of Concerns Design Principle 2 Model-View-Controller

More information

Web Application Expectations

Web Application Expectations Effective Ruby on Rails Development Using CodeGear s Ruby IDE Shelby Sanders Principal Engineer CodeGear Copyright 2007 CodeGear. All Rights Reserved. 2007/6/14 Web Application Expectations Dynamic Static

More information

Front End Programming

Front End Programming Front End Programming Mendel Rosenblum Brief history of Web Applications Initially: static HTML files only. Common Gateway Interface (CGI) Certain URLs map to executable programs that generate web page

More information

MVC: Model View Controller

MVC: Model View Controller MVC: Model View Controller Computer Science and Engineering College of Engineering The Ohio State University Lecture 26 Motivation Basic parts of any application: Data being manipulated A user-interface

More information

Introduction and first application. Luigi De Russis. Rails 101

Introduction and first application. Luigi De Russis. Rails 101 Introduction and first application Luigi De Russis 2 About Rails Ruby on Rails 3 Framework for making dynamic web applications created in 2003 Open Source (MIT License) for the Ruby programming language

More information

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017 Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction

More information

The Art of Metaprogramming in Java. Falguni Vyas Dec 08, 2012

The Art of Metaprogramming in Java. Falguni Vyas Dec 08, 2012 The Art of Metaprogramming in Java Falguni Vyas Dec 08, 2012 Metadata What is Metadata? Data that describes other data Defined as data providing information about one or more aspects of the data, such

More information

Teaching Ruby on Rails Dr Bruce Scharlau Computing Science Department University of Aberdeen Aberdeen, AB24 3UE

Teaching Ruby on Rails Dr Bruce Scharlau Computing Science Department University of Aberdeen Aberdeen, AB24 3UE Teaching Ruby on Rails Dr Bruce Scharlau Computing Science Department University of Aberdeen Aberdeen, AB24 3UE scharlau@csd.abdn.ac.uk Abstract This paper considers the teaching of the object oriented

More information

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE

Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE Ajax On Rails: Build Dynamic Web Applications With Ruby By Scott Raymond READ ONLINE Let's take a look at how we can accomplish this with AJAX in Rails. Overall, I was quite surprised at how easy it is

More information

Symfony is based on the classic web design pattern called the MVC pattern

Symfony is based on the classic web design pattern called the MVC pattern -Hemalatha What is Symfony Symfony is an Open source web application framework for PHP5 projects. PHP is a general purpose scripting language designed for web development The best use of PHP is in creating

More information

Rails: MVC in action

Rails: MVC in action Ruby on Rails Basic Facts 1. Rails is a web application framework built upon, and written in, the Ruby programming language. 2. Open source 3. Easy to learn; difficult to master. 4. Fun (and a time-saver)!

More information

Rails: Views and Controllers

Rails: Views and Controllers Rails: Views and Controllers Computer Science and Engineering College of Engineering The Ohio State University Lecture 18 Recall: Rails Architecture Wiring Views and Controllers A controller is just an

More information

20486-Developing ASP.NET MVC 4 Web Applications

20486-Developing ASP.NET MVC 4 Web Applications Course Outline 20486-Developing ASP.NET MVC 4 Web Applications Duration: 5 days (30 hours) Target Audience: This course is intended for professional web developers who use Microsoft Visual Studio in an

More information

PHP MVC Framework (CakePHP)

PHP MVC Framework (CakePHP) PHP MVC Framework (CakePHP) 안철수연구소최호진 2008-10-23 당신은누구십니까? Ruby On Rails 좀들어보신분 PHP 로잘개발해보실분 MVC 의중요성을아시는분 작은것파일럿으로해보신분 Why FRAMEWORK? 어느팀이나복잡해지면생기는것 MVC 개념은항상존재해왔다코딩스타일을일치개발절차까지정형화 Why CakePHP? PHP! Ruby

More information

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an with the URL Grading:

Upload to your web space (e.g., UCSC) Due this Thursday 4/8 in class Deliverable: Send me an  with the URL Grading: CS 183 4/6/2010 Build a simple HTML page, topic of your choice Will use this as a basis and gradually and add more features as the class progresses Need to be done with your favorite text editor, no visual

More information

Django with Python Course Catalog

Django with Python Course Catalog Django with Python Course Catalog Enhance Your Contribution to the Business, Earn Industry-recognized Accreditations, and Develop Skills that Help You Advance in Your Career March 2018 www.iotintercon.com

More information

Overview of the Ruby Language. By Ron Haley

Overview of the Ruby Language. By Ron Haley Overview of the Ruby Language By Ron Haley Outline Ruby About Ruby Installation Basics Ruby Conventions Arrays and Hashes Symbols Control Structures Regular Expressions Class vs. Module Blocks, Procs,

More information

Ruby on Rails 3 March 14th, 2011 Ken Li Allison Pon Kyra Leimert Matt Delaney Edward Bassett

Ruby on Rails 3 March 14th, 2011 Ken Li Allison Pon Kyra Leimert Matt Delaney Edward Bassett CMPUT 410 Ruby on Rails 3 March 14th, 2011 Ken Li Allison Pon Kyra Leimert Matt Delaney Edward Bassett Introduction - What is Ruby on Rails? Ruby on Rails is an open source web application development

More information

iflame INSTITUTE OF TECHNOLOGY

iflame INSTITUTE OF TECHNOLOGY Web Development Ruby On Rails Duration: 3.5 Month Course Overview Ruby On Rails 4.0 Training From Iflame Allows You To Build Full Featured, High Quality, Object Oriented Web Apps. Ruby On Rails Is A Full

More information

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system

widgets, events, layout loosely similar to Swing test browser, or plugin for testing with real browser on local system Web [Application] Frameworks conventional approach to building a web service write ad hoc client code in HTML, CSS, Javascript,... by hand write ad hoc server code in [whatever] by hand write ad hoc access

More information

Lecture 4. Ruby on Rails 1 / 49

Lecture 4. Ruby on Rails 1 / 49 Lecture 4 Ruby on Rails 1 / 49 Client-Server Model 2 / 49 What is it? A client (e.g. web browser, phone, computer, etc.) sends a request to a server Request is an HTTP request Stands for HyperText Transfer

More information

Developing ASP.NET MVC 5 Web Applications. Course Outline

Developing ASP.NET MVC 5 Web Applications. Course Outline Developing ASP.NET MVC 5 Web Applications Course Outline Module 1: Exploring ASP.NET MVC 5 The goal of this module is to outline to the students the components of the Microsoft Web Technologies stack,

More information

Cheap, Fast, and Good You can have it all with Ruby on Rails

Cheap, Fast, and Good You can have it all with Ruby on Rails Cheap, Fast, and Good You can have it all with Ruby on Rails Brian McCallister brianm@ninginc.com http://www.ning.com/ What is Ruby? Dynamic and Interpreted Strong support for OO programming Everything

More information

Now go to bash and type the command ls to list files. The unix command unzip <filename> unzips a file.

Now go to bash and type the command ls to list files. The unix command unzip <filename> unzips a file. wrangling data unix terminal and filesystem Grab data-examples.zip from top of lecture 4 notes and upload to main directory on c9.io. (No need to unzip yet.) Now go to bash and type the command ls to list

More information

Developing ASP.Net MVC 4 Web Application

Developing ASP.Net MVC 4 Web Application Developing ASP.Net MVC 4 Web Application About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will

More information

20486: Developing ASP.NET MVC 4 Web Applications

20486: Developing ASP.NET MVC 4 Web Applications 20486: Developing ASP.NET MVC 4 Web Applications Length: 5 days Audience: Developers Level: 300 OVERVIEW In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS ABOUT THIS COURSE In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus will be on coding activities that enhance the

More information

Comprehensive AngularJS Programming (5 Days)

Comprehensive AngularJS Programming (5 Days) www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop

More information

Ruby on Rails TKK, Otto Hilska

Ruby on Rails TKK, Otto Hilska Ruby on Rails intro @ TKK, 25.5.2009 Otto Hilska 1 Today s agenda 1. The Ruby programming language 2. Ruby on Rails framework 3. An example project 2 About me Started Nodeta Oy in 2004 10+ employees always

More information

20486: Developing ASP.NET MVC 4 Web Applications (5 Days)

20486: Developing ASP.NET MVC 4 Web Applications (5 Days) www.peaklearningllc.com 20486: Developing ASP.NET MVC 4 Web Applications (5 Days) About this Course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies

CNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response

More information

Pro ASP.NET MVC 2 Framework

Pro ASP.NET MVC 2 Framework Pro ASP.NET MVC 2 Framework Second Edition Steven Sanderson Apress TIB/UB Hannover 89 133 297 713 Contents at a Glance Contents About the Author About the Technical Reviewers Acknowledgments Introduction

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array

Introduction to PHP. Handling Html Form With Php. Decisions and loop. Function. String. Array Introduction to PHP Evaluation of Php Basic Syntax Defining variable and constant Php Data type Operator and Expression Handling Html Form With Php Capturing Form Data Dealing with Multi-value filed Generating

More information

Convention over Configuration

Convention over Configuration Convention over Configuration The Universal Remote: Powerful, but requires too much configuring Intent Design a framework so that it enforces standard naming conventions for mapping classes to resources

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Course 20486B; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

Lecture 4. Ruby on Rails 1 / 52

Lecture 4. Ruby on Rails 1 / 52 Lecture 4 Ruby on Rails 1 / 52 Homeworks 2 & 3 Grades were released for homework 2 Homework 3 was due last night Everyone got a style freebie since my default setup ignores spec files and I didn't change

More information

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology Java Applets, etc. Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 25, December 5, 2007 CGI (Common Gateway Interface) CGI is a standard for handling forms'

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

All India Council For Research & Training

All India Council For Research & Training WEB DEVELOPMENT & DESIGNING Are you looking for a master program in web that covers everything related to web? Then yes! You have landed up on the right page. Web Master Course is an advanced web designing,

More information

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015

Review. Fundamentals of Website Development. Web Extensions Server side & Where is your JOB? The Department of Computer Science 11/30/2015 Fundamentals of Website Development CSC 2320, Fall 2015 The Department of Computer Science Review Web Extensions Server side & Where is your JOB? 1 In this chapter Dynamic pages programming Database Others

More information

OOP with PHP. Roman Bednarik

OOP with PHP. Roman Bednarik Roman Bednarik rbednari@cs.joensuu.fi lecture outline What is PHP Why use OOP with PHP OOP with PHP Advanced topics on OOP and PHP OOP with PHP what is PHP? - development PHP = PHP Hypertext Preprocessor

More information

Contents. Contents... XI

Contents. Contents... XI Contents Preface... V Motivation for this Book... V Who Should Read this Book?...VI Outline to the Book Structure... VII Prerequisite Skills... VIII Acknowledgements... VIII About the Author... VIII Contents...

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Duration: 5 Days Course Code: 20486B About this course In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

More information

Course 20486B: Developing ASP.NET MVC 4 Web Applications

Course 20486B: Developing ASP.NET MVC 4 Web Applications Course 20486B: Developing ASP.NET MVC 4 Web Applications Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools and technologies. The focus

More information

Overview of Web Application Development

Overview of Web Application Development Overview of Web Application Development Web Technologies I. Zsolt Tóth University of Miskolc 2018 Zsolt Tóth (University of Miskolc) Web Apps 2018 1 / 34 Table of Contents Overview Architecture 1 Overview

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer S.NO Technologies 1 HTML5 &CSS3 2 JavaScript, Object Oriented JavaScript& jquery 3 PHP&MYSQL Objective: Understand the importance of the web as a medium of communication. Understand

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Extending Web Applications with Business Logic: Introducing EJB Components...1 EJB Project type Wizards...2

More information

Visual Studio Course Developing ASP.NET MVC 5 Web Applications

Visual Studio Course Developing ASP.NET MVC 5 Web Applications Visual Studio Course - 20486 Developing ASP.NET MVC 5 Web Applications Length 5 days Prerequisites Before attending this course, students must have: In this course, students will learn to develop advanced

More information

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS

RESTFUL WEB SERVICES - INTERVIEW QUESTIONS RESTFUL WEB SERVICES - INTERVIEW QUESTIONS http://www.tutorialspoint.com/restful/restful_interview_questions.htm Copyright tutorialspoint.com Dear readers, these RESTful Web services Interview Questions

More information

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18

Web Frameworks MMIS 2 VU SS Denis Helic. March 10, KMI, TU Graz. Denis Helic (KMI, TU Graz) Web Frameworks March 10, / 18 Web Frameworks MMIS 2 VU SS 2011-707.025 Denis Helic KMI, TU Graz March 10, 2011 Denis Helic (KMI, TU Graz) Web Frameworks March 10, 2011 1 / 18 Web Application Frameworks MVC Frameworks for Web applications

More information

ASP.NET MVC Training

ASP.NET MVC Training TRELLISSOFT ASP.NET MVC Training About This Course: Audience(s): Developers Technology: Visual Studio Duration: 6 days (48 Hours) Language(s): English Overview In this course, students will learn to develop

More information

appendix B: Working with Ruby on Rails

appendix B: Working with Ruby on Rails B1 appix B: Working with Ruby on Rails APPENDIX B B2 Since the beginning of the Web, both static and dynamic typed languages have been used for writing web applications. Java and its cousin C# have emerged

More information

Developing ASP.NET MVC 5 Web Applications

Developing ASP.NET MVC 5 Web Applications Developing ASP.NET MVC 5 Web Applications Course 20486C; 5 days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools

More information

OO and Ahh! An Introduction to Object Oriented Programming With PHP. Division 1 Systems. John Valance. Copyright John Valance Division 1 Systems

OO and Ahh! An Introduction to Object Oriented Programming With PHP. Division 1 Systems. John Valance. Copyright John Valance Division 1 Systems OO and Ahh! An Introduction to Object Oriented Programming With PHP John Valance Division 1 Systems johnv@div1sys.com Copyright John Valance Division 1 Systems About John Valance 30+ years IBM midrange

More information

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture

Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Web Presentation Patterns (controller) SWEN-343 From Fowler, Patterns of Enterprise Application Architecture Objectives Look at common patterns for designing Web-based presentation layer behavior Model-View-Control

More information

Object-Relational Mapping

Object-Relational Mapping Object-Relational Mapping Object-Relational Mapping Software Architecture ORM Problems ORM Solutions Demo Software Architecture Part 1 Architecture Separation of Concerns A design principle that comprises

More information

Project. Minpeng Zhu

Project. Minpeng Zhu Project Minpeng Zhu Groups of 4 (3-5) Form groups I want the following information from each group: Names, personal numbers, e-mail addresses Contact person ( project leader ) Deadline for group formation:

More information

Database Application Architectures

Database Application Architectures Chapter 15 Database Application Architectures Database Systems(Part 2) p. 221/287 Database Applications Most users do not interact directly with a database system The DBMS is hidden behind application

More information

User Guide Zend Studio for Eclipse V6.1

User Guide Zend Studio for Eclipse V6.1 User Guide Zend Studio for Eclipse V6.1 By Zend Technologies, Inc. www.zend.com Disclaimer The information in this help is subject to change without notice and does not represent a commitment on the part

More information

Oracle Application Express: Administration 1-2

Oracle Application Express: Administration 1-2 Oracle Application Express: Administration 1-2 The suggested course agenda is displayed in the slide. Each lesson, except the Course Overview, will be followed by practice time. Oracle Application Express:

More information

generates scaffolding/framework for models, views

generates scaffolding/framework for models, views Django by Adrian Holovaty and Jacob Kaplan-Moss (released July 2005) a collection of Python scripts to create a new project / site generates Python scripts for settings, etc. configuration info stored

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

Chapter 10 Web-based Information Systems

Chapter 10 Web-based Information Systems Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 10 Web-based Information Systems Role of the WWW for IS Initial

More information

DevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us

DevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us INTRODUCING PHP The origin of PHP PHP for Web Development & Web Applications PHP History Features of PHP How PHP works with the Web Server What is SERVER & how it works What is ZEND Engine Work of ZEND

More information

20486 Developing ASP.NET MVC 5 Web Applications

20486 Developing ASP.NET MVC 5 Web Applications Course Overview In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework tools and technologies. The focus will be on coding activities that enhance the performance

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

More information

Client Side MVC with Backbone & Rails. Tom

Client Side MVC with Backbone & Rails. Tom Client Side MVC with Backbone & Rails Tom Zeng @tomzeng tom@intridea.com Client Side MV* with Backbone & Rails Benefits of Client Side MVC Backbone.js Introduction Client Side MV* Alternatives Backbone

More information

(Worth 50% of overall Project 1 grade)

(Worth 50% of overall Project 1 grade) 第 1 页共 8 页 2011/11/8 22:18 (Worth 50% of overall Project 1 grade) You will do Part 3 (the final part) of Project 1 with the same team as for Parts 1 and 2. If your team partner dropped the class and you

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Front End Development» 2018-09-23 http://www.etanova.com/technologies/front-end-development Contents HTML 5... 6 Rich Internet Applications... 6 Web Browser Hardware Acceleration...

More information

Database Driven Web 2.0 for the Enterprise

Database Driven Web 2.0 for the Enterprise May 19, 2008 1:30 p.m. 2:30 p.m. Platform: Linux, UNIX, Windows Session: H03 Database Driven Web 2.0 for the Enterprise Rav Ahuja IBM Agenda What is Web 2.0 Web 2.0 in the Enterprise Web 2.0 Examples and

More information

At the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this

More information

Get in Touch Module 1 - Core PHP XHTML

Get in Touch Module 1 - Core PHP XHTML PHP/MYSQL (Basic + Advanced) Web Technologies Module 1 - Core PHP XHTML What is HTML? Use of HTML. Difference between HTML, XHTML and DHTML. Basic HTML tags. Creating Forms with HTML. Understanding Web

More information

Introduction to Web Concepts & Technologies

Introduction to Web Concepts & Technologies Introduction to Web Concepts & Technologies What to Expect This is an introduction to a very broad topic This should give you a sense of what you will learn in this course Try to figure out what you want

More information

Implementing a Numerical Data Access Service

Implementing a Numerical Data Access Service Implementing a Numerical Data Access Service Andrew Cooke October 2008 Abstract This paper describes the implementation of a J2EE Web Server that presents numerical data, stored in a database, in various

More information

CS169.1x Lecture 6: Basic Rails" Fall 2012"

CS169.1x Lecture 6: Basic Rails Fall 2012 CS169.1x Lecture 6: Basic Rails" Fall 2012" 1" The Database is Golden Contains valuable customer data don t want to test your app on that! Rails solution: development, production and test environments

More information

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Introduction: PHP (Hypertext Preprocessor) was invented by Rasmus Lerdorf in 1994. First it was known as Personal Home Page. Later

More information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies Database Systems: Design, Implementation, and Management Tenth Edition Chapter 14 Database Connectivity and Web Technologies Database Connectivity Mechanisms by which application programs connect and communicate

More information

How To Redirect A Webpage Cheat Sheet

How To Redirect A Webpage Cheat Sheet How To Redirect A Webpage Cheat Sheet Need the code for your htaccess file? Check out our htaccess redirect generator here! Using Wordpress The easiest way to redirect a webpage on Wordpress is to use

More information

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology

An Overview of. Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology An Overview of Eric Bollens ebollens AT ucla.edu Mobile Web Framework Architect UCLA Office of Information Technology August 23, 2011 1. Design Principles 2. Architectural Patterns 3. Building for Degradation

More information

10264A CS: Developing Web Applications with Microsoft Visual Studio 2010

10264A CS: Developing Web Applications with Microsoft Visual Studio 2010 10264A CS: Developing Web Applications with Microsoft Visual Studio 2010 Course Number: 10264A Course Length: 5 Days Course Overview In this course, students will learn to develop advanced ASP.NET MVC

More information

Full Stack Developer with Java

Full Stack Developer with Java Full Stack Developer with Java Full Stack Developer (Java) MVC, Databases and ORMs, API Backend Frontend Fundamentals - HTML, CSS, JS Unit Testing Advanced Full Stack Developer (Java) UML, Distributed

More information

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress"

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress Pro JavaScript Development Coding, Capabilities, and Tooling Den Odell Apress" Contents J About the Author About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi Chapter 1: Object-Oriented

More information

PRISMTECH. RESTful DDS. Expanding the reach of the information backbone. Powering Netcentricity

PRISMTECH. RESTful DDS. Expanding the reach of the information backbone. Powering Netcentricity PRISMTECH Powering Netcentricity RESTful DDS Expanding the reach of the information backbone Reinier Torenbeek Senior Solutions Architecht reinier.torenbeek@prismtech.com RESTful DDS Introduction What

More information

Full Stack Web Developer

Full Stack Web Developer Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics

More information

COMP 250 Winter 2011 Reading: Java background January 5, 2011

COMP 250 Winter 2011 Reading: Java background January 5, 2011 Almost all of you have taken COMP 202 or equivalent, so I am assuming that you are familiar with the basic techniques and definitions of Java covered in that course. Those of you who have not taken a COMP

More information

Lecture 10(-ish) Web [Application] Frameworks

Lecture 10(-ish) Web [Application] Frameworks Lecture 10(-ish) Web [Application] Frameworks Minimal Python server import SocketServer import SimpleHTTPServer class Reply(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_get(self): # query arrives

More information

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies

Ruby on Rails 3. Robert Crida Stuart Corbishley. Clue Technologies Ruby on Rails 3 Robert Crida Stuart Corbishley Clue Technologies Topic Overview What is Rails New in Rails 3 New Project Generators MVC Active Record UJS RVM Bundler Migrations Factory Girl RSpec haml

More information

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

Standard 1 The student will author web pages using the HyperText Markup Language (HTML) I. Course Title Web Application Development II. Course Description Students develop software solutions by building web apps. Technologies may include a back-end SQL database, web programming in PHP and/or

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Developing ASP.NET MVC 4 Web Applications Código del curso: 20486 Duración: 5 días Acerca de este curso In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework

More information

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group

A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group A Closer Look at XPages in IBM Lotus Domino Designer 8.5 Ray Chan Advisory I/T Specialist Lotus, IBM Software Group 2008 IBM Corporation Agenda XPage overview From palette to properties: Controls, Ajax

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Boldface numbers indicate illustrations, code listings, and tables.

Boldface numbers indicate illustrations, code listings, and tables. Index Boldface numbers indicate illustrations, code listings, and tables. A ActiveRecord, class in Ruby, 80-82, 84, 86, 88, 90 ActiveXMLService, class in Ruby, 80-82, 84, 90 Agile development, 109-110

More information

DIGIT.B4 Big Data PoC

DIGIT.B4 Big Data PoC DIGIT.B4 Big Data PoC GROW Transpositions D04.01.Information System Table of contents 1 Introduction... 4 1.1 Context of the project... 4 1.2 Objective... 4 2 Technologies used... 5 2.1 Python... 5 2.2

More information

Ruby on Rails for PHP and Java Developers

Ruby on Rails for PHP and Java Developers Deepak Vohra Ruby on Rails for PHP and Java Developers With 202 Figures and 32 Tables Springer Contents Preface Motivation for this Book Who Should Read this Book? Outline to the Book Structure Prerequisite

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information