Sunday, April 18, 2010

Exercise 7 : Application server platforms in e-commerce

1. Why is the perception getting stronger that integration will become a critical factor in coming days?

There are a variety of application frameworks and a broad range of programming languages and the ability to integrate them is crucial. As systems rely more and more on a range of third-party services the need for simple and effective integration is vital. Service-orientated architecture (SOA) aims to assist in integration by providing loose coupling of services for consumption. XML is providing the mechanism for structure communication between services.



2. What is the relationship of AJAX to jQuery and the lightweight Web 2.0 javascript framework called MooTools within the enterprise software architecture?

Asynchronous Javascript and XML (AJAX)

AJAX enhances the user experience by providing asynchronous data exchange between client and server and partial page updates. As there is no need to refresh the entire page the interaction is more dynamic. AJAX is a group of interrelated web techniques and technologies including JavaScript. AJAX is supported by both jQuery and MooTools.

jQuery

An open source JavaScript framework that extends the JavaScript language. jQuery is a “a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development“. It provides specific support in using Document Object Model (DOM) elements.

MooTools

Another open source JavaScript framework, MooTools extends JavaScript in an object-oriented fashion. MooTools provides AJAX support via wrapper classes, cross-browser support and a coherent API.



3. What are the similarities between object-oriented development using model-view-controller (MVC) in Ruby on Rails 2.0 and ActionScript 2.0 (Flash animations)?

Ruby on Rails

MVC and its use on RoR is discussed at some length in Workshop 2. To recap RoR organises its applications around the MVC pattern automatically creating models, views and controller methods.

ActionScript 2.0

Flash player 7 – provides a structured object-oriented programming approach.

In 2006 this was replaced by ActionScript 3.0 – Flash Player 9 which was a fundamental restructuring of the language.

PureMVC

PureMVC is a free open-source lightweight framework for creating applications based upon the MVC design pattern. Wikipedia explains that in a standard implementation of PureMVC:

“The Model, View and Controller application tiers are represented by three Singletons (a class where only one instance may be created).

The MVC Singletons maintain named caches of Proxies, Mediators and Commands, respectively. The Façade, also a Singleton, provides a single interface for communications throughout the application. These four Singletons are referred to as the Core Actors.

Data objects, be they local or remote, are managed by Proxies.
The View Components that make up the User Interface are managed by Mediators.
Commands may interact with Proxies, Mediators, as well as trigger or execute other Commands.
All actors discover and communicate with each other via the Façade, rather than work directly with Model, View and Controller.”

The standard version of PureMVC is implemented in ActionScript 2 and Ruby.



4. What does it mean to develop RESTful practices into our web applications?

Representational State Transfer (REST)

A software architecture design for distributed systems such as the World Wide Web.

REST describes 6 constraints that a RESTful system must conform to:

Client-server – client and server are separated
Stateless – client-server communication is stateless
Cacheable – clients can store server responses
Layered System – client may be connected to intermediary servers
Code on Demand (optional) – servers can pass code to clients to execute such as JavaScript
Uniform Interface – identification and manipulation of resources, self descriptive messages and hypermedia
The goals of REST include scalability, improve response, reduce load and to encapsulate legacy systems.

No comments:

Post a Comment