Internet Systm Architecture
Internet Systm Architecture
Contents
• 2 tier Client – Server Architecture
• N tier Client – Server Architecture
– Comparison of Mobile, Web and Rich Internet Applications
• Evolution of Internet Applications
• Importance of RIAs in E-Learning
• Rich Internet Applications
• Modeling Approaches & Categories of RIAs
• RIA Concerns: Design, Frameworks and Deployment
• Real World Examples : YouTube, A9, Gmail
Objectives
• To recall the basic client server architecture.
• To compare and contrast the architectural designs of Web-
based, Mobile-based and Rich Internet Applications.
• To analyze the evolution of internet applications.
• To recognize the importance of RIAs in E-Learning.
• To outline the basic concepts of RIA.
• To generalize the RIA features based on real world examples.
Client-Server Architecture
• Client - server architecture is also called 2-tier architecture.
• A client is talking to a server which performs some services on
behalf of the client.
3 Tier Architecture
• Typically split into a presentation or GUI tier, an application
logic tier, and a data tier.
• The presentation or GUI tier contains the user interface of the
application.
• The application logic tier makes all the application decisions.
This is where the "business logic" is located.
• The data tier stores the data used in the application.
3 Tier Architecture - Examples
• Web Application : A Web application is an application that
can be accessed by the users through a Web browser or a
specialized user agent.
• Mobile Application: A mobile app is a software application
developed specifically for use on small, wireless computing
devices, such as smartphones and tablets, rather than
desktop or laptop computers.
• Rich Internet Application: Applications that are deployed over
the Web, this type of applications combines features and
functionality of Web applications and desktop applications.
3 Tier Architecture – Web application
• The presentation tier
consists of HTML, CSS
and JavaScript
• The application logic tier/
business layer runs on a
web server in form of
Java Servlets, JSP,
ASP.NET, PHP, Ruby,
Python etc.
• The data tier consists of a
database of some kind
(mysql, postgresql, a
noSQL database etc.).
Web Application Architecture [5]
3 Tier Architecture – Mobile application
• A mobile application generally
contains user interface
components in the presentation
layer, and perhaps may include
presentation logic components.
• The business layer, if it exists,
will usually contain business
logic components, any business
workflow and business entity
components that are required
by the application.
• The data layer will usually
include data access and service
agent components.
Load Balancing
YouTube as RIA
Enhanced user interface behavior
• Internal windows are resizable using split panes and links. This
allows users to adjust page layouts without refreshing pages.
Data distribution
• Video Serving: Each video hosted by a mini-cluster. Each video is
served by more than one machine.
• Use 5 or 6 data centers plus the CDN (Content Delivery Network).
• Images are replicated to different data centers using BigTable.
• Servers use the lighttpd web server for video streaming.
Distribution of Page Computation
• YouTube videos are available offline.
Client Server communication
• NetScalar is used for load balancing and caching static content.
• Application server communicates to various databases and other
information sources to get all the data and formats the html page.
A9 as RIA
Enhanced user interface behavior
• One of the first companies to develop a “drag & drop” feature
using JavaScript. To bookmark search results, for example, users
can drag and drop a title to the bookmark folder.
• Internal windows are resizable using split panes and links. This
allows users to adjust page layouts without refreshing pages.
Client Server communication
• It searches asynchronously, meaning that it handles search
requests on the back end while users are performing other tasks.
Distribution of Page Computation
• When the search engine finds the results, they are displayed on
the same page.
A9 as RIA
Data distribution
• Cloud search is offered through “near real-time indexing” on
content uploaded into the service.
• Indexes for the searches are stored in main memory by the A9
search engine to boost the performance on searches, and the
service is completely managed by Amazon.
• It includes hardware provisioning, setup, configuration, patching
and data partitioning to boost search results.
Reference
[1]Noda, Tom, and Shawn Helwig. "Rich internet applications." Technical
Comparison and Case Studies of AJAX, Flash, and Java based RIA UW E-
Business-Consortium Opinion Papers (2005).
[2] Busch, Marianne, and Nora Koch. "Rich Internet Applications. State-of-the-
Art. "Ludwig-Maximilians-Universitat Munchen, Munchen, Germany,
Rep 902 (2009).
[3] Brijesh Deb, Sunil G. Bannur and Shaurabh Bharti. “Rich Internet
Applications (RIA) Opportunities and Challenges for Enterprises”, Building
Tomorrow’s Enterprise, Jan 2007.
[4] Giner Alor-Hernández, Viviana Yarel Rosales-Morales, Luis Omar Colombo-
Mendoza. “Frameworks, Methodologies, and Tools for Developing Rich
Internet Applications”, Advances in Web Technologies and Engineering
(AWTE) Book Series, September, 2014.
[5] Chapter 21:Designing Web Applications, Microsoft Application Architecture
Guide, 2nd Edition, October 2009.
[6] Chapter 23:Designing Rich Internet Applications, Microsoft Application
Architecture Guide, 2nd Edition, October 2009.
Reference
[7] Chapter 24:Designing Mobile Applications, Microsoft Application
Architecture Guide, 2nd Edition, October 2009.
[8] Preciado, J.C.; Linaje, M.; Comai, S.; Sanchez-Figueroa, F., "Designing Rich
Internet Applications with Web Engineering Methodologies," in Web Site
Evolution, 2007. WSE 2007. 9th IEEE International Workshop on , vol., no.,
pp.23-30, 5-6 Oct. 2007.
[9] Murugesan, S. and Deshpande, Y, ICSE'99 workshop on Web Engineering,
21st international conference on Software Engineering, IEEE Computer
Society Press, Los Angeles,1999, pp. 693 – 694, ISBN:1-58113-074-0.
[10] Dart S. A., Configuration management: the missing link in Web Engineering,
Artech House, 2000, ISBN:1-58053- 098-2.
[11] Garzotto F., Paolini P. and Schwabe, D., “HDM: a model-based approach to
hypertext application design”, ACM Transactions on Information Systems,
ACM Press, 1993, vol. 11 is. 1 pp. 1 - 26, ISSN:1046-8188.
[12] Schwabe, D., Rossi, G. and Barbosa, S., “Systematic Hypermedia Design
with OOHDM”, 7th ACM International Conference on Hypertext, ACM Press,
Washington, 1996, pp. 116 - 128, ISBN:0-89791-778-2.
Reference
[13] Gómez J. and Cachero C., “OO-H Method: extending UML to model web
interfaces”, Information modeling for internet applications, Idea Group
Publishing, 2003, ISBN:1-591-40050-3.
[14] Koch, Nora, et al. "UML-based web engineering." Web Engineering:
Modelling and Implementing Web Applications. Springer London, 2008.
157-191.
[15] Meliá, M., Gómez, J., Pérez, S. and Díaz, O.: Architectural and
technological variability in Rich Internet Applications. IEEE Internet
Computing Journal, 14, 24—32 (2010).
[16] Pastor, Oscar, Joan Fons, and Vicente Pelechano. "Oows: A method to
develop web applications from web-oriented conceptual
models." International Workshop on Web Oriented Software Technology
(IWWOST). 2003.
[17] Peter Dolog, Jan Stage. Designing Interaction Spaces for Rich Internet
Applications with UML. Proc. 7th Int. Conf. on Web Engineering (ICWE’07).
LNCS 4607, Springer-Verlag, pp.358-363, 2007.
Reference
[18] Preciado, Juan Carlos, et al. "Designing rich internet applications
combining uwe and rux-method." Web Engineering, 2008. ICWE'08. Eighth
International Conference on. IEEE, 2008.
[19] Scott, Bill. "RIA Patterns." Best Practices for Common Patterns of Rich
Interaction http://www. uxmatters. com/mt/archives/2007/03/, Last
visited(2009): 10-02.
[20] Michael Mahemoff. Ajax Design Patterns, O’Reilly, 2006.