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

Size: px
Start display at page:

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

Transcription

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

2 Outline 1 Separation of Concerns Design Principle 2 Model-View-Controller Design Pattern 3 Model-View-Presenter 4 Presentation-Abstraction-Control 5 MVC on the Server Side Vedran Sabol (ISDS, TU Graz) Web Technologies Nov 13, / 60

3 Architectural Patterns and Web frameworks Web Technologies ( ) Vedran Sabol ISDS, TU Graz Nov 13, 2017 Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

4 Separation of Concerns Design Principle Separation of Concerns Core design principle of all software engineering Easily supported by object-oriented software development Definition by Edsger Dijkstra (1974 essay: On the role of scientific thought) We know that a program must be correct and we can study it from that viewpoint only; we also know that is should be efficient and we can study its efficiency on another day [...] But nothing is gained - on the contrary - by tackling these various aspects simultaneously. It is what I sometimes have called the separation of concerns [...] [...]even if not perfectly possible, it is yet the only available technique for effective ordering of one s thoughts (focusing of attention) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

5 Separation of Concerns Design Principle Separation of Concerns You want to isolate different aspects of a software application from each other At a single moment you work only on a single aspect (e.g., not distracted with other aspects) You can work on each aspect in details You can be consistent within each aspect Basis for the team work (e.g., different teams work on different aspects) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

6 Separation of Concerns Design Principle Separation of Concerns Object-Oriented principles easily support SOC Modularity and encapsulation (classes and objects) isolate aspects Clearly defined interfaces: work on different aspects in isolation Aspect-Oriented programming: separation of cross-cutting concerns Concerns affecting most other concerns in a modular software system (e.g. logging, security) Cannot be cleanly addressed by OOP Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

7 Separation of Concerns Design Principle Separation of Concerns Architectural and design patterns are also used to achieve SOC Software layers should have cleanly separated responsibilities Presentation layer, business logic layer, data access layer (e.g. a Web-based information system) Modules separate software in blocks of functionality with no overlap e.g. Authentication module, workflow engine, messaging subsystem etc. Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

8 Separation of Concerns Design Principle Benefits of SOC Reduced complexity (clear interfaces, minimized overlap, etc.) Simplified integration of aspects and components Possibility of their reuse or exchange Easier adaptibility, customization Improved comprehension of the application domain (immersing into the domain) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

9 Separation of Concerns Design Principle User-oriented database applications - SOC Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

10 Separation of Concerns Design Principle User-oriented database applications - SOC The interface between UI and Data Management is crucial! It is where the SOC is violated most Why is this so? Example: database contains info about the registered students Info includes: name, matrikel number, study field Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

11 Separation of Concerns Design Principle User-oriented database applications - SOC In the process logic you have a Student class Student class has getter and setter methods getname(), getstudyfield(), etc. The UI script (e.g., a PHP script) retrieves a list of Student objects (from process logic) iterate through the list use the getters to read information write info in a HTML table Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

12 Separation of Concerns Design Principle User-oriented database applications - SOC Customer tells that there is another external student database Contains contact info: addresses, s, etc. Requirement: include students addresses in the list (Lazy) developer wants to accomplish this fast In the UI script: get the matrikel number of each student Connect to the external database and retrieve the needed info Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

13 Separation of Concerns Design Principle User-oriented database applications - SOC Problem: mixing UI and data management Consequences of such architecture can be tremendous For each change (data access) different UI scripts must be updated Maintainance nightmare if applied throughout a large application Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

14 Separation of Concerns Design Principle User-oriented database applications - SOC Proper way of implementing such changes Student class extension: get/set () methods Data Management module: connect to the external database populate student objects with set () New info available everywhere (UI scripts) Data access code modifications only at a single place Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

15 Separation of Concerns Design Principle User-oriented database applications - SOC SOC supported by OO languages, but not enforced Developers need to take care about this (design)! Scripting languages are even more vulnerable You do not need compiling, it is extremely fast to make such changes! Inviting to a bad programming style But, Java is vulnerable too - you need to take care! Need a module system preventing the UI from seeing DM functionality (finally available!) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

16 Separation of Concerns Design Principle User-oriented database applications - SOC One way to improve the situation: a layered architecture The UI communicates only with the PL module Again, hard to enforce this You can only hope that developers will follow the principle! Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

17 Separation of Concerns Design Principle User-oriented database applications - SOC Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

18 Model-View-Controller Design Pattern Model-View-Controller Design Pattern Model-View-Controller: a particular design pattern that supports SOC Invented in the early days of GUIs Roots at Xerox Parc in the 70 s Still in widest application (Java,.NET, JS frameworks) MVC also followed by many new frameworks (e.g. angular.js) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

19 Model-View-Controller Design Pattern Model-View-Controller Design Pattern Principles Decouples the graphical interface from the application data and logic UI is further separated into data presentation user input handling logic Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

20 Model-View-Controller Design Pattern Model-View-Controller Compatible with principles of OOP state encapsulation, message passing between objects... The first appereance in Smalltalk-80 One of the first OO languages Pure OO language, i.e., everything is an object MVC invented by Trygve Reenskaug: Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

21 Model-View-Controller Design Pattern Model-View-Controller Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

22 Model-View-Controller Design Pattern Model-View-Controller Controller Brain of the UI (e.g. implements the workflows and the logic within the UI) Handles user input (e.g., mouse clicks, keyboard,...) Updates the model Instructs the view to redraw itself Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

23 Model-View-Controller Design Pattern Model-View-Controller View Presents the model in a specific way Manages the display and rendering of information to the user Note: different views for the same model are possible Very important: not only desktop GUIs, also in Web applications etc. (e.g., XHTML, PDF, etc.) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

24 Model-View-Controller Design Pattern Model-View-Controller Model: contains the data and application logic on the data Manages the behavior and data of the application Responds to: Requests for information about its state/data Instructions to change state/modify data Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

25 Model-View-Controller Design Pattern Model-View-Controller Model easily accomplished with an OO programming model Objects encapsulate the data Objects implement behaviour (as methods) Interaction between different objects (i.e., invoking methods) supports realisation of complex application logic Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

26 Model-View-Controller Design Pattern Model-View-Controller Where does the data come from? If in memory - everything is covered If externally persisted: in the local file system, RDBMS... We need a special Data Management module (layer) Handles persistent data storage (e.g. relational DBMS) Moves data between memory and storage (e.g. O/R mapping) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

27 Model-View-Controller Design Pattern Model-View-Controller Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

28 Model-View-Controller Design Pattern MVC - Observer Pattern A special case of the MVC uses Observer design pattern Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

29 Model-View-Controller Design Pattern MVC - Observer Pattern When the model changes it notifies the views about the change A list of all observers is maintained Views redraw as the result of the notification Until Ajax not applicable in a Web application Before Ajax: page-oriented applications User request needed to update each particular view Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

30 Model-View-Controller Design Pattern MVC - Observer Pattern With Ajax it is possible (Asynchronous request) On user intraction an Ajax request is performed Observers notified when response is received Web UI remains responsive in the meantime It improves the responsiveness of a Web app tremendously HTML5 WebSockets also provide observer pattern support Server initiated events/messages Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

31 Model-View-Controller Design Pattern MVC - Observer Pattern Purpose of the controller is not to separate the model from the view but to handle user events To achieve the separation another design pattern is needed Typically acheived by means of the Observer pattern Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

32 Model-View-Controller Design Pattern Model-View-Controller Behaviour Diagram Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

33 Model-View-Presenter MVC Variations and Derivatives A number of patterns derived from MVC Model-View-Presenter: a further development of MVC Developed by Apple (1996, project Taligent) Presentation-Abstraction-Control: a hierarchical version Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

34 Model-View-Presenter Model-View-Presenter Separates the concerns of data, data specification, data manipulation, presentation, user interaction, and application coordination Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

35 Model-View-Presenter Model-View-Presenter Model: refers to application data and business functionality (logic) Selections: components specifying what portion of the data within the Model is to be operated upon e.g. define rows, columns, or individual elements meeting some criteria Commands: components defining operations performed on the data e.g. deleting, printing, or saving data within the Model Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

36 Model-View-Presenter Model-View-Presenter The View is the visual representation of the Model comprises screens and widgets used within an application routes user input to the presenter and interactors a lightweight, thin layer can be replaced by different implementations (Web, RIA, desktop, App...) Interactors: components addressing how user events are mapped onto operations performed on the Model Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

37 Model-View-Presenter Model-View-Presenter Presenter: orchestrates overall interaction of the other components Replaces the controller taking over the UI logic Acts as an intermediary to maximise decoupling Directs the workflow within the application Handles creation of Selections, Commands, Views, and Interactors Typically one per view, but may manage multiple logically related Views Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

38 Model-View-Presenter Model-View-Presenter Two variants Passive View: dumb View separated from the Model Model events are handled by the Presenter Presenter handles the state and sets View properties (setters) Supervising Presenter View connected to the Model (e.g. via data binding mechanisms) Presenter/Interactors still contains logic for handling user events Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

39 Model-View-Presenter Model-View-Presenter Model-View-Presenter is how a complex GUI application is built today Selections and commands are separate components In a typical system they are defined through interfaces - such as DAO interfaces and O/R mappers Data Access Objects (DAO) and Object-Relational mappers provide an abstract interface to a persistant database Provide strict separation between bussiness logic and persistance Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

40 Presentation-Abstraction-Control Presentation-Abstraction-Control Presentation-Abstraction-Control (PAC): hierarchical MVC variation Hierarchy of sub-systems where each sub-system follows PAC Separates concerns of an application into a hierarchy of cooperating components Each component depends on a zero or more sub-systems Links between sub-systems model associations within an application Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

41 Presentation-Abstraction-Control Presentation-Abstraction-Control Pattern for constructing UIs at different abstraction levels Application is decomposed into a hierarchy of sub-systems each presenting a finer-grained view of an aspect of an application Example: hierarchically organised administration tools Advantage: at any level the system is defined using the same architectural model Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

42 Presentation-Abstraction-Control Presentation-Abstraction-Control Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

43 Presentation-Abstraction-Control Presentation-Abstraction-Control Consist of PAC-triads (Presentation, Abstraction, Control) Presentation: visual representation of a particular abstraction Abstraction: the data and business domain functionality (i.e. the model) Control: maintains consistency between abstractions and their presentation Also: communicates with other Controls within the system Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

44 MVC on the Server Side Struts MVC Example using a high-level view of the Struts framework open-source, Java-based Web application framework Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

45 MVC on the Server Side MVC on the server side The server (a Servlet) receives HTTP requests Requests include parameters submitted by the user Server produces the response based on the parameters Server dispatches the request to handlers - called Actions Actions implement the logic Registry maintains mappings of parameters onto actions Server, registry, dispatcher and actions are the Controller Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

46 MVC on the Server Side MVC on the server side The Model is accessed from the actions Data and behaviour encapsulated within objects Form beans: data entered by users in HTML forms Session beans: session information that persists between two HTTP requests by the same user Results beans: information needed to generate the HTML page Each action is associated with a View When the action finishes the Controller invokes the View (JSP) The registry also includes associations between actions and views The View accesses the Model, retrieves the data and presents it (HTML) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

47 MVC on the Server Side Ruby on Rails Ruby is a pure object-oriented programming language Everything is an object (e.g. the number 1 is an instance of class Fixnum) Interpreted scripting language Dynamically, weakly typed Single inheritance, but can be extended with so-called modules (similar to Java interfaces) Rich text processing functionality (similar to Perl) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

48 MVC on the Server Side Ruby on Rails Rails is open source Web application framework Focus on simplicity and productivity Supports development of Web-based, database-backed application Follows MVC architecture and design pattern Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

49 MVC on the Server Side Ruby on Rails Three main guiding principles Model-driven development You start with a data model and add the functionality, controllers, views on top of it Convention over configuration Set of naming conventions (similar to JavaBeans but more in depth) Less software, i.e., less code Generating default code that you can adjust to fit your needs Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

50 MVC on the Server Side Ruby on Rails Based on an ActiveRecord ORM framework Similar to Hibernate Uses a naming convention to provide the default mapping You can adjust the default mapping if you need to ActiveRecord naming convention for classes and tables Name classes as English singular Start the name with an upper case, all other letters are lower case (Student) Name tables as English plural, all lower case (students) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

51 MVC on the Server Side Ruby on Rails Student class class Student < ActiveRecord::Base end Student table create table students ( id int not null auto_increment, name varchar(80), study_field varchar(10), primary key(id) ); Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

52 MVC on the Server Side Ruby on Rails Names of the table columns and instance variables Map 1-to-1, i.e., student.name maps to name column in students Primary key must be named id in the table Immediatelly you can use all methods from = = = Student.new Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

53 MVC on the Server Side Ruby on Rails To map associations a simple domain language-like set of macros is used, for example belongs to has one has many see ActiveRecord::Associations::ClassMethods Connects classes through foreign keys via an associative table (many-to-many relation) class Student < ActiveRecord::Base has_one : catalogue has_and_belongs_to_many : courses end Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

54 MVC on the Server Side Ruby on Rails Controllers are modules that handle user requests Convention on mapping of URLs onto methods in controllers Much easier than Struts configuration Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

55 MVC on the Server Side Ruby on Rails URL = /controller class name/controller method name For example, Another example: class TestController < ApplicationController def index render_text "Wow, that was easy" end def hello render_text "Hello World" end end Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

56 MVC on the Server Side Ruby on Rails Whenever you have a model class (e.g. Student) you can use a so-called CRUD (Create, Read, Update, Delete) scaffold Scaffolding: specify usage of the database, code generated from templates by the framework create, read, update, delete methods These methods are provided by the ActiveRecord class StudentController < ApplicationController scaffold :student end Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

57 MVC on the Server Side Ruby on Rails This single line embeds all of the CRUD methods into controller Consequently, they are immediatelly visible through URLs Read: Update: List: Note how meaningful and consistent URLs are (discussed this in one of previous lectures) Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

58 MVC on the Server Side Ruby on Rails By scaffolding you also get default views However, you can adjust them For a particular controller method, e.g., show() you need to create show.rhtml Another naming convention Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

59 MVC on the Server Side Ruby on Rails: Advanced Features Defining layouts (headers, footers,...) Modules for standard functionality, e.g., authentication Caching Validation and callbacks Transactions Testing Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

60 MVC on the Server Side Further Readings Rails Documentation Rolling with Ruby on Rails Rolling with Ruby on Rails, Part 2 Really Getting Started in Rails /01/24/really-getting-started-in-rails Vedran Sabol (ISDS, TU Graz) Architectural Patterns and Web frameworks Nov 13, / 60

Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU ( ) Christoph Trattner

Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU ( ) Christoph Trattner Multimedia Information Systems Design Patterns & Web Frameworks (Part 1) VU (707.020) Christoph Trattner Know-Center @Know-Center, TUG, Austria 1 Today s plan! PART 1: First partial exam (30mins) PART

More information

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

Strategies for Rapid Web Prototyping. Ruby on Rails. Clemens H. Cap Strategies for Rapid Web Prototyping Ruby on Rails Strategies for Rapid Web Prototyping DRY: Don't repeat yourself Convention over Configuration Separation of Concern Templating MVC: Model View Controler

More information

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering

Software System/Design & Architecture. Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Software System/Design & Architecture Eng.Muhammad Fahad Khan Assistant Professor Department of Software Engineering Todays lecture Model View Controller (MVC) Copyright 2012 @ M.Fahad Khan 2 Model-View-Controller

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

Architectural Styles II

Architectural Styles II Architectural Styles II Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 21, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles II Nov 21, 2012 1 / 66

More information

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently.

Socket attaches to a Ratchet. 2) Bridge Decouple an abstraction from its implementation so that the two can vary independently. Gang of Four Software Design Patterns with examples STRUCTURAL 1) Adapter Convert the interface of a class into another interface clients expect. It lets the classes work together that couldn't otherwise

More information

Patterns Of Enterprise Application Architecture

Patterns Of Enterprise Application Architecture Patterns Of Enterprise Application Architecture Lecture 11-12 - Outlines Overview of patterns Web Presentation Patterns Base Patterns Putting It All Together References Domain Logic Patterns Domain Model

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts

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

Discovering Computers Chapter 13 Programming Languages and Program Development

Discovering Computers Chapter 13 Programming Languages and Program Development Discovering Computers 2009 Chapter 13 Programming Languages and Program Development Chapter 13 Objectives Differentiate between machine and assembly languages Identify and discuss the purpose of procedural

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

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

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

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

More reading: A series about real world projects that use JavaServer Faces:

More reading: A series about real world projects that use JavaServer Faces: More reading: A series about real world projects that use JavaServer Faces: http://www.jsfcentral.com/trenches 137 This is just a revision slide. 138 Another revision slide. 139 What are some common tasks/problems

More information

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture

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

Execution Architecture

Execution Architecture Execution Architecture Software Architecture VO (706.706) Roman Kern Institute for Interactive Systems and Data Science, TU Graz 2018-11-07 Roman Kern (ISDS, TU Graz) Execution Architecture 2018-11-07

More information

CSCI-2320 Web Programming: Ruby on Rails

CSCI-2320 Web Programming: Ruby on Rails CSCI-2320 Web Programming: Ruby on Rails Mohammad T. Irfan Plan u Model-View-Controller (MVC) framework of web programming u Ruby on Rails 1 Ruby on Rails u Developed by David Hansson released 2004 u MVC

More information

Remote Health Service System based on Struts2 and Hibernate

Remote Health Service System based on Struts2 and Hibernate St. Cloud State University therepository at St. Cloud State Culminating Projects in Computer Science and Information Technology Department of Computer Science and Information Technology 5-2017 Remote Health

More information

Improve and Expand JavaServer Faces Technology with JBoss Seam

Improve and Expand JavaServer Faces Technology with JBoss Seam Improve and Expand JavaServer Faces Technology with JBoss Seam Michael Yuan Kito D. Mann Product Manager, Red Hat Author, JSF in Action http://www.michaelyuan.com/seam/ Principal Consultant Virtua, Inc.

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

1 Software Architecture

1 Software Architecture Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to

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

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

Organization of User Interface Software

Organization of User Interface Software Organization of User Interface Software Administration Questions about assignments due and assignments assigned 2 What we will talk about Ways to organize UI code Different models of user interfaces as

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

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

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

MVC: the Model-View-Controller architectural pattern

MVC: the Model-View-Controller architectural pattern MVC: the Model-View-Controller architectural pattern Laura Farinetti Dipartimento di Automatica e Informatica Politecnico di Torino laura.farinetti@polito.it 1 Model-View-Controller MVC is an architectural

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

Modern and Responsive Mobile-enabled Web Applications

Modern and Responsive Mobile-enabled Web Applications Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 110 (2017) 410 415 The 12th International Conference on Future Networks and Communications (FNC-2017) Modern and Responsive

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

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

Application Design and Development: October 30

Application Design and Development: October 30 M149: Database Systems Winter 2018 Lecturer: Panagiotis Liakos Application Design and Development: October 30 1 Applications Programs and User Interfaces very few people use a query language to interact

More information

Implementation Architecture

Implementation Architecture Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition

More information

Application Architectures, Design Patterns

Application Architectures, Design Patterns Application Architectures, Design Patterns Martin Ledvinka martin.ledvinka@fel.cvut.cz Winter Term 2017 Martin Ledvinka (martin.ledvinka@fel.cvut.cz) Application Architectures, Design Patterns Winter Term

More information

GUI-Hanger syndrome SOFTWARE ARCHITECTURES. Architectural Design Choices. Why software architectures? Monolithic Architecture / 2

GUI-Hanger syndrome SOFTWARE ARCHITECTURES. Architectural Design Choices. Why software architectures? Monolithic Architecture / 2 GUI-Hanger syndrome SOFTWARE ARCHITECTURES An architecture contains the information on how the software devides into building blocks. Software Engineering do http://www.cs.uta.fi/se this; Why software

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

/ / JAVA TRAINING

/ / JAVA TRAINING www.tekclasses.com +91-8970005497/+91-7411642061 info@tekclasses.com / contact@tekclasses.com JAVA TRAINING If you are looking for JAVA Training, then Tek Classes is the right place to get the knowledge.

More information

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes Java CORE JAVA Core Java Programing (Course Duration: 40 Hours) Introduction to Java What is Java? Why should we use Java? Java Platform Architecture Java Virtual Machine Java Runtime Environment A Simple

More information

Model-View-Controller Patterns and Frameworks. MVC Context

Model-View-Controller Patterns and Frameworks. MVC Context Model-View-Controller Patterns and Frameworks MVC Context The purpose of many computer systems is to retrieve data from a data store and display it for the user. The user may then modify the data in keeping

More information

Project # 1: Database Programming

Project # 1: Database Programming Project # 1: Database Programming CSE462 Database Concepts Demian Lessa Department of Computer Science and Engineering State University of New York, Buffalo February 21, 2011 Outline 1 Database Programming

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

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

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Microsoft Developing ASP.NET MVC 4 Web Applications

Microsoft Developing ASP.NET MVC 4 Web Applications 1800 ULEARN (853 276) www.ddls.com.au Microsoft 20486 - Developing ASP.NET MVC 4 Web Applications Length 5 days Price $4290.00 (inc GST) Version C Overview In this course, students will learn to develop

More information

PRIMIX SOLUTIONS. Core Labs. Tapestry : Java Web Components Whitepaper

PRIMIX SOLUTIONS. Core Labs. Tapestry : Java Web Components Whitepaper PRIMIX SOLUTIONS Core Labs Tapestry : Java Web s Whitepaper CORE LABS Tapestry: Java Web s Whitepaper Primix Solutions One Arsenal Marketplace Phone (617) 923-6639 Fax (617) 923-5139 Tapestry contact information:

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

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears

About the Tutorial. Audience. Prerequisites. Disclaimer & Copyright. TurboGears About the Tutorial TurboGears is a Python web application framework, which consists of many modules. It is designed around the MVC architecture that are similar to Ruby on Rails or Struts. TurboGears are

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

JVA-117A. Spring-MVC Web Applications

JVA-117A. Spring-MVC Web Applications JVA-117A. Spring-MVC Web Applications Version 4.2 This course enables the experienced Java developer to use the Spring application framework to manage objects in a lightweight, inversion-of-control container,

More information

XIX. Software Architectures

XIX. Software Architectures XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

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

Tapestry. Code less, deliver more. Rayland Jeans

Tapestry. Code less, deliver more. Rayland Jeans Tapestry Code less, deliver more. Rayland Jeans What is Apache Tapestry? Apache Tapestry is an open-source framework designed to create scalable web applications in Java. Tapestry allows developers to

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

DESIGN PATTERN - INTERVIEW QUESTIONS

DESIGN PATTERN - INTERVIEW QUESTIONS DESIGN PATTERN - INTERVIEW QUESTIONS http://www.tutorialspoint.com/design_pattern/design_pattern_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Design Pattern Interview Questions

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

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar

Produced by. Design Patterns. MSc in Communications Software. Eamonn de Leastar Design Patterns MSc in Communications Software Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

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

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

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

Architectural patterns

Architectural patterns Architectural patterns Open Source & DOTNET platform Understanding architectural design patterns (like MVC, MVP, MVVM etc.) is essential for producing a maintainable, clean, extendable and testable source

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

JAVA SYLLABUS FOR 6 MONTHS

JAVA SYLLABUS FOR 6 MONTHS JAVA SYLLABUS FOR 6 MONTHS Java 6-Months INTRODUCTION TO JAVA Features of Java Java Virtual Machine Comparison of C, C++, and Java Java Versions and its domain areas Life cycle of Java program Writing

More information

Over All Idea about MVC: How to use Model- View-Controller (MVC)

Over All Idea about MVC: How to use Model- View-Controller (MVC) Over All Idea about MVC: How to use Model- View-Controller (MVC) Parth Jivani B. H. Gardividyapith Engg. &Tech. Chhaya Chopara B. H. Gardividyapith Engg. & Tech. Mehta Prashant B. H. Gardividyapith Engg.

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

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

Model-View-Controller

Model-View-Controller Model-View-Controller Motivation The MVC pattern Using the Observer pattern in Java 1 MVC Rationale Multiple views, loosely coupled to the underlying data model. 2 Multiple Views 3 Multiple Views Many

More information

Etanova Enterprise Solutions

Etanova Enterprise Solutions Etanova Enterprise Solutions Server Side Development» 2018-06-28 http://www.etanova.com/technologies/server-side-development Contents.NET Framework... 6 C# and Visual Basic Programming... 6 ASP.NET 5.0...

More information

Principles of Computer Game Design and Implementation. Lecture 3

Principles of Computer Game Design and Implementation. Lecture 3 Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,

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

Development of E-Institute Management System Based on Integrated SSH Framework

Development of E-Institute Management System Based on Integrated SSH Framework Development of E-Institute Management System Based on Integrated SSH Framework ABSTRACT The J2EE platform is a multi-tiered framework that provides system level services to facilitate application development.

More information

Chapter 2. Operating-System Structures

Chapter 2. Operating-System Structures Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz

WWW Architecture I. Software Architecture VO/KU ( / ) Roman Kern. KTI, TU Graz WWW Architecture I Software Architecture VO/KU (707.023/707.024) Roman Kern KTI, TU Graz 2013-12-04 Roman Kern (KTI, TU Graz) WWW Architecture I 2013-12-04 1 / 81 Web Development Tutorial Java Web Development

More information

ANGULARJS INTERVIEW QUESTIONS

ANGULARJS INTERVIEW QUESTIONS ANGULARJS INTERVIEW QUESTIONS http://www.tutorialspoint.com/angularjs/angularjs_interview_questions.htm Copyright tutorialspoint.com Dear readers, these AngularJS Interview Questions have been designed

More information

Event Dispatch. Dispatching events to windows and widgets.

Event Dispatch. Dispatching events to windows and widgets. Event Dispatch Dispatching events to windows and widgets. Review: Event Architecture 2 Event capture, processing and dispatch. Event Capture Hardware events (interrupts) Event Dispatch Software events

More information

Working with the Seagull Framework. By Demian Turner, Seagull Systems

Working with the Seagull Framework. By Demian Turner, Seagull Systems Working with the Seagull Framework By Demian Turner, Seagull Systems seagullproject.org Who is Demian Turner? Developing websites since 1996, using PHP since 1999 Committer on several open source projects:

More information

Web Software Model CS 4640 Programming Languages for Web Applications

Web Software Model CS 4640 Programming Languages for Web Applications Web Software Model CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Upsorn Praphamontripong, Web Mutation Testing ] 1 Web Applications User interactive

More information

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics

Spring & Hibernate. Knowledge of database. And basic Knowledge of web application development. Module 1: Spring Basics Spring & Hibernate Overview: The spring framework is an application framework that provides a lightweight container that supports the creation of simple-to-complex components in a non-invasive fashion.

More information

Web Architecture AN OVERVIEW

Web Architecture AN OVERVIEW Web Architecture AN OVERVIEW General web architecture Historically, the client is a web browser But it can be also A mobile application A desktop application Other server applications Internet Server(s)

More information

COURSE 9 DESIGN PATTERNS

COURSE 9 DESIGN PATTERNS COURSE 9 DESIGN PATTERNS CONTENT Applications split on levels J2EE Design Patterns APPLICATION SERVERS In the 90 s, systems should be client-server Today, enterprise applications use the multi-tier model

More information

Software Tools. Scott Klemmer Autumn 2009

Software Tools. Scott Klemmer Autumn 2009 stanford hci group http://cs147.stanford.edu Software Tools Scott Klemmer Autumn 2009 It accomplishes an important task (for better and for worse) You don t have to make it yourself, and it abstracts a

More information

The Sky s the Limit. JAOO Conference, Aarhus Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems. Cincom EMEA Central

The Sky s the Limit. JAOO Conference, Aarhus Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems. Cincom EMEA Central The Sky s the Limit Ernest Micklei, QNH PhilemonWorks Tim Matthews, Cincom Systems Cincom EMEA Central JAOO Conference, Aarhus 2009 1 Spanning five decades of global software leadership Founded in 1968

More information

Design concepts for data-intensive applications

Design concepts for data-intensive applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of

More information

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009

Mix It Up: Visual Studio 2010 and ASP.NET 4.0. Singapore 25 March 2009 Mix It Up: Visual Studio 2010 and ASP.NET 4.0 Singapore 25 March 2009 Mar Mix-It-Up: Visual Studio 2010 and ASP.NET 4.0 Mix 01: Future of Web Development with Visual Studio 2010 and ASP.NET 4.0 by Maung

More information

Sitesbay.com. A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript

Sitesbay.com.  A Perfect Place for All Tutorials Resources. Java Projects C C++ DS Interview Questions JavaScript Sitesbay.com A Perfect Place for All Tutorials Resources Java Projects C C++ DS Interview Questions JavaScript Core Java Servlet JSP JDBC Struts Hibernate Spring Java Projects C C++ DS Interview Questions

More information

Module 3 Web Component

Module 3 Web Component Module 3 Component Model Objectives Describe the role of web components in a Java EE application Define the HTTP request-response model Compare Java servlets and JSP components Describe the basic session

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

Building Web Applications With The Struts Framework

Building Web Applications With The Struts Framework Building Web Applications With The Struts Framework ApacheCon 2003 Session TU23 11/18 17:00-18:00 Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Slides: http://www.apache.org/~craigmcc/

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

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

20486C: Developing ASP.NET MVC 5 Web Applications

20486C: Developing ASP.NET MVC 5 Web Applications 20486C: Developing ASP.NET MVC 5 Web Course Details Course Code: Duration: Notes: 20486C 5 days This course syllabus should be used to determine whether the course is appropriate for the students, based

More information

Model-View-Controller

Model-View-Controller Model-View-Controller rationale implementation benefit Model-View-Controller 1 How can we design a power point application? Model-View-Controller 2 Possible Design: Data and UI in Same Object What if we

More information

Struts interview questions

Struts interview questions Struts interview questions 1.What is MVC? Model-View-Controller (MVC) is a design pattern put together to help control change. MVC decouples interface from business logic and data. Model : The model contains

More information

Patterns Architectural Styles Archetypes

Patterns Architectural Styles Archetypes Patterns Architectural Styles Archetypes Patterns The purpose of a pattern is to share a proven, widely applicable solution to a particular problem in a standard form that allows it to be easily reused.

More information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1 What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely

More information

What s new in Spring Web Flow 2.0

What s new in Spring Web Flow 2.0 What s new in Spring Web Flow 2.0 Agim Emruli SpringSource Germany Copyright 2008 SpringSource. Copying, publishing or distributing without express written permission is prohibited. About me Senior Consultant

More information

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module Java Platform, Enterprise Edition 5 (Java EE 5) Core Java EE Java EE 5 Platform Overview Java EE Platform Distributed Multi tiered Applications Java EE Web & Business Components Java EE Containers services

More information