Upload
martha-hunt
View
215
Download
0
Embed Size (px)
Citation preview
Chapter 13Web Application Infrastructure
Objectives
• Explain the components and purpose of a web application platform
• Describe several common webapp platforms• Explain the nature and purpose of a webapp
framework• Describe several common webapp frameworks• Explain the nature and purpose of a content
management system• Describe several common content management
systems
Web Application Platform
• A webapp platform is the host environment for application development and operation
• The platform includes– operating system, web server,
language support, database support
Hardware
WebServer
LanguageSupport
DatabaseSupport
Operating System
WebApplication
platform
LAMP
• Linux, Apache, MySQL, PHP/Perl/Python
• The LAMP platform appeared in mid 1990's and has become very popular
• LAMP is open-source free software, which is one reason for its popularity
Microsoft / .NET
• All Microsoft products (licensed)
• .NET supports multiple languages
• Runs primarily on Windows Server O/S
Sun Microsystems/Java EE
• Supports Java language development
• Supported by multiple operating systems
• Proprietary, free license
Web Application Framework
• A webapp framework is a set of tools that support webapp development with:– A standard design model (e.g., MVC)– User interface toolkit– Reusable components for common functions
(authentication, e-commerce, etc.)– Database support– Support for distributed system integration
Web Application Framework
• Frameworks give application developers more powerful building blocks to work with
Java EE
• Java EE is based purely in the Java programming language
• Includes– Java Servlets– Java Server Pages– Java DataBase Connectivity– Java Server Faces– Enterprise Java Beans– etc.
.NET Framework
• .NET Framework is a Microsoft (licensed) product
• .NET supports many programming languages through its Common Language Runtime (CLR) system
C# ASP VB C++ etc.
CLR Intermediate Language
CLR Interpreter
compilation
Ruby On Rails
• Ruby: a dynamically typed object-oriented programming language
• Rails: a webapp framework, featuring:– automatic code skeletons– built-in testing features– object-relation mapping– default implementation of common webapp
functions
Struts
• A webapp framework based on Java EE
• Features:– use of MVC design paradigm– Centralized XML-based application
configuration that can define many functions– Action definitions link user interface events to
Controller and View modules
Content Management System
• A CMS is a tool for creating, cataloging, and accessing documents (web pages)
Content Management System
• A CMS can streamline and automate the process of creating, approving, deploying, and retiring web content
Workflow Management
• A CMS can coordinate the steps involved in creating, editing, and approving web content within an organization
Content Management Systems
• Joomla!– open source, free– based on MySQL and PHP– supports web pages, RSS feeds, blogs, etc.
• Vignette– proprietary product– includes extensive workflow management
support– integrates with related development tools
Web Application Software Stack
• The webapp software stack includes platform, framework, CMS, and application
Review
• Webapp Platforms– LAMP, Microsoft/.NET Sun/Java
• Webapp Frameworks– Java EE, .NET Framework, Ruby on Rails,
Struts
• Content Management Systems– Joomla!, Vignette
• Webapp Software Stack