Chapter13Slides

advertisement
Chapter 13
Web 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
platform
Web
Server
Web
Application
Language Database
Support
Support
Operating System
Hardware
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.
compilation
CLR Intermediate Language
CLR Interpreter
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
Download