10
Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Embed Size (px)

Citation preview

Page 1: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Apache StrutsRIFE

Ruby on RailsHarry R. Erwin, PhD

University of Sunderland

CIT304/CSE301

Page 2: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Resources• Hans Bergsten, 2002, JavaServer Pages, 2nd edition, O’Reilly, ISBN: 0-596-

00317-X

• http://java.sun.com/products/jsp/

• http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/

• Farley, et al., 2002, Java Enterprise in a Nutshell, 2nd edition, O’Reilly, ISBN: 0-596-00152-5

• Brittain and Darwin, 2003, Tomcat: the Definitive Guide, O’Reilly.

• Kurniawan and Deck, 2004, How Tomcat Works, BrainySoftware.com.

• Knuckles and Yuen, 2005, Web Applications: Concepts and Real World Design, Wiley.

• Nakhimovsky and Myers, 2004, Google, Amazon and Beyond, Apress.

Page 3: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Web Resources

• Wikipedia (of course)

• Apache Struts– http://struts.apache.org/

• RIFE– http://rifers.org/

• Ruby on Rails– http://www.rubyonrails.org/

Page 4: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

What is Struts?• The Struts framework is designed to help developers create

web applications that utilize a Model-View-Controller (MVC) architecture.

• The framework provides three key components:– A "request" handler provided by the application developer that is

mapped to a standard URI.– A "response" handler that transfers control to another resource

which completes the response.– A tag library that helps developers create interactive form-based

applications with server pages.• Struts works well with conventional REST applications and

with new technologies like SOAP and AJAX.

Page 5: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Struts as an Approach• According to the website, Apache Struts is a free open-source

framework for creating Java EE web applications.• It uses and extends the Java Servlet API.• Web applications differ from conventional websites in that

they can create a dynamic response. They can interact with databases and business logic engines to customize a response.

• Web applications based on JavaServer Pages often commingle database code, page design code, and control flow code. Unless these concerns are separated, larger applications become difficult to maintain. Struts is designed to control this problem.

Page 6: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

What is RIFE?

• “RIFE is a full-stack web application framework with tools and APIs to implement most common web features.

• Each of its toolkits is usable by itself and together they offer powerful integrated features that boost your productivity.

• RIFE ensures that every declaration and definition is handled in one place in the code.

• This simplifies the developer's task by reducing code replication, enforcing consistency, and easing maintenance.” (rifers.org)

Page 7: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

RIFE as an Approach

• Similar in concept to Ruby on Rails and Struts.

• Single place approach to CM

• Provides for the most common web features.

• Very modular

• Java EE

Page 8: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

What is Ruby on Rails?

• “Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.

• From the Ajax in the view, to the request and response in the controller, to the domain model wrapping the database, Rails gives you a pure-Ruby development environment.

• To go live, all you need to add is a database and a web server.” (www.rubyonrails.org)

Page 9: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Ruby on Rails as an Approach

• Ruby is the language.

• RoR is available in Mac OS X 10.5

• Provides MVC scaffolding and helps avoid code reuse.

• Modular

Page 10: Apache Struts RIFE Ruby on Rails Harry R. Erwin, PhD University of Sunderland CIT304/CSE301

Comments

• There is no silver bullet.

• Use what you’re comfortable with and plays well with your development environment.

• The choice of framework to use involves taste and experience.