180 likes | 290 Views
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
E N D
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 Web Application Web Server Language Support Database Support platform 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 etc. C# ASP VB C++ 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