Web-App-A1 (Abdul Rafey Masood)
-
Upload
aryantariq -
Category
Documents
-
view
224 -
download
0
Transcript of Web-App-A1 (Abdul Rafey Masood)
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
1/10
Web Application Development
Assignment # 1
Due Date: Saturday, March 24, 2012
This is an individual assignment.
Answer the following questions,
Q1: Briefly describe different Web Application Architectures and Key
Components used in it.
Ans: Following are the different Web Application Architectures and their key components.
Client/Server --Segregates the system into two applications, where the client makes requests
to the server. In many cases, the server is a database with application logic represented asstored procedures.
SOA - Refers to applications that expose and consume functionality as a service using contracts
and messages.
N-Tier / 3-Tier -- Segregates functionality into separate segments in much the same way as the
layered style, but with each segment being a tier located on a physically separate computer.
The three tiers are Web server, Application server and Database.
MVC ArchitectureModel-view-Controller. It separates the software application into three
distinct elements. The Model is how the underlying data is structured. The View is what is
presented to user and the Controller is the element that performs the processing. This allows
more flexibility and achieve loose coupling.
MVP ArchitectureModel-view-Presenter. It is an interactive application architecture pattern
used to separate the concerns of an applications data, presentation, and user input into
specialized components. Model encapsulates all Business Logic and data in the application.
View component represents the applications Presentation layer. The Presenter component is
responsible for acting upon the model and the view.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
2/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q2: Compare and Contrast the merits and demerits of Object Oriented and
Markup Languages.
Markup Language (standard)
Long-term viability as an ISO standard
Non-proprietary and platform-independent
Supports user-defined tags reflecting the richness of documents
Disadvantages.
Costly to set up, requiring real expertise
SGML tools are expensive, compared to those for HTML
Creating DTDs with SGML is expensive - especial labor
SGML has a steep learning curve
Object Oriented Languages
Responsive to changes
Encapsulation
Simplify Testing, debugging
Easy to understand
Avoid reinventing the wheel
Easier to manage, to maintain
Off-the-shelf software
Disadvantages
Over generalization
Artificial class relations
Unnecessary complications
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
3/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q3: Compare and contrast merits and demerits of HTML and XML Languages.
The most salient difference between HTML and XML is that HTML describes
presentation and XML describes content.
XML was designed to transport and store data, with focus on what data is
HTML was designed to display data, with focus on how data looks
HTML
Advantage: HTML is the base of a webpage. It is the language that truly "builds" the page with
tables, divisions, and outputting text in certain formats, such as bold and underlined fonts. It's
presence is dominating the web - it is the most widely accepted language for web design.
Disadvantage: HTML is a simple language to most, but poor (Or even the best) markup
structure by the user / webmaster can result in multiple browsers displaying the markup
differently (Though that's not always the case). XHTML is a new form of HTML that combines
some characteristics of XML and the actual language of HTML (Meaning, XHTML is just HTML
with new rules). XHTML, along with Document Type Declarations, can fix the problem of
multiple browsers displaying markup differently.
XML
Advantages: XML is used for organizing. It has a language markup just like HTML, using tags and
whatnot. The tags are made up by the user (So is a real tag in XML), thus not much
memorization is required. It is commonly used for RSS feeds, and other feeds accepting XML. It
is a simple way to streamline news and updates.
Disadvantages: XML does not "build" like HTML does. It is just a bunch of tags and words until
put into a feed that churns XML into user-friendly data. Also, therefore, CSS cannot design XML,
since XML does not initially "output" anything but the raw source.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
4/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q4: Briefly describe SOAP, REST, RPC and HTTP,HTTPS Protocols used in web
technologies
SOAP Simple Object Access Protocol. SOAP is an XML-based messaging protocol that can be
used with any communication protocol, including HTTP.
REST
Representational State Transfer. It is an approach for getting information content from
a Web site by reading a designated Web page that contains an XML file that describes and
includes the desired content.
RPC Remote Procedure Call. A type of protocol that allows a program on one computer to
execute a program on a server computer. Using RPC, a system developer need not develop
specific procedures for the server. The client program sends a message to the server with
appropriate arguments and the server returns a message containing the results of the program
executed.
HTTP The underlying protocol used by the World Wide Web. HTTP defines how messages are
formatted and transmitted, and what actions Web servers and browsers should take in
response to various commands.
HTTPS -- is the use of Secure Socket Layer (SSL) or Transport Layer Security (TLS) as a sub layer
under regular HTTP application layering.
Q5: Briefly describe Different WEB/WAP technologies used in Web Engineering.
CSS3, HTML5 : They together are responsible for giving styling content and layouts in the web
paradigm
Web 2.0: Allows users to interact and collaborate via different medium like social media.
JavaScript: it was present on web for a long time but the introduction of HTML5 has allowed it
to enter the territory of Flash. Mobile devices are now capable of running Flash and JavaScript
thanks to high processing power now available in them.
Flash, Video & Audio Streaming: these technologies have been responsible for the increase in
participation of users via internet. They enable quick media sharing via different services like
YouTube.
Content Management System: They have made the process of creating and managing content
very easy and manageable. Software like Joomla have allowed novice users to create website
and share their ideas and news with the world.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
5/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q6: What is the difference between web based and internet based applications.
Web based application -- an application that is accessed over a network such as the Internet or
an intranet.
Internet based application an application that is only accessible from the internet.
Q7: Briefly describe the roles/functions of Web Server, Application Server,
Content Server, File server, Email Server, Database Server, MQ Server, CA Server
and Network Management Server
Web serverit can be the hardware or software that helps us in delivering content to the users
who access them via internet.
Application server An application server is a server which provides software applications with
services such as security, data services, transaction support, load balancing, and management of
large distributedsystems.
Content server The server that is responsible for the management of the content that is
displayed on the website.
Filer server is a computer attached to a network that has the primary purpose of providing a
location for shared disk access
Email server
is a program responsible for receiving, routing, and delivering e-mail messages.
Database serveris used for storing and managing the data.
MQ serverprovides queuing services to the client.
CA serverCertificate servers validate, or certify, keys as part of a Public key infrastructure.
Network management server used for managing the network and bandwidth control.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
6/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q8: Briefly describe synchronous and asynchronous messaging used in Web
Applications.
In synchronous messaging, there is real-time communication and collaboration for example
Skype audio conferencing.
In Asynchronous messaging, communication and collaboration takes place over a period of
time. Email applications are a good example.
Q9: Briefly describe Thin client, Thick Client and Smart Client Web Applications.
A thin client (sometimes also called a lean or slim client) is a computer or a computer
program which depends heavily on some other computer (its server) to fulfill its traditional
computational roles.
A thick client is a computer (client) in clientserver architecture or networks that typically
provides rich functionality independent of the central server.
Smart Client Web applications have specific functionality for users in web environment and can
be updated automatically. Examples can include Facebook applications.
Q10: Briefly Describe the roles of W3C and IETF in Web Technologies.
World Wide Web Consortium (W3C) is an international community where Member
organizations, a full-time staff, and the public work together to develop Web standards.
Internet Engineering Task Force (IETF) develops and promotes Internet standards, cooperating
closely with the W3C and ISO/IEC standards bodies and dealing in particular with standards of
the TCP/IP and Internet protocol suite.
Q11: Prepare your detailed resume using simple HTML with maximum featuresavailable in it.
Attached
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
7/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q12: Briefly describe the merits and demerits of using CSS and XSL based
technologies.
Advantages of CSS Disadvantages of CSSBandwidth - A stylesheet will usually be stored in
the browser cache, and can therefore be usedon multiple pages without being reloaded,increasing download speeds and reducing datatransfer over a network.
Lack of Variables - CSS contains no variables.
This makes it necessary to do a "replace-all"when one desires to change a fundamentalconstant, such as the color scheme or variousheights and widths.
Reformatting or Progressive Enhancement -With a simple change of one line, a differentstylesheet can be used for the same page.
Inconsistent Browser Support - Differentbrowsers will render CSS layout differently as aresult of browser bugs or lack of support for CSSfeatures.
Consistency - When CSS is used effectively, interms of inheritance and "cascading," a globalstylesheet can be used to affect and styleelements site-wide.
Poor Layout Controls for Flexible Layouts - Whilenew additions to CSS3 provide a stronger, morerobust layout feature-set, CSS is still very muchrooted as a styling language, not a layout
language.
Advantages of XML Disadvantages of XML
It is a simultaneously human- and machine-
readable format.
XML syntax is redundant or large relative tobinary representations of similar data.
It can represent the most general computer
science data structures: records, lists and
trees.
No intrinsic data type support: XML provides
no specific notion of integer, string,
Boolean, date, and so on.
It is platform-independent, thus relatively
immune to changes in technology.
The hierarchical model for representation is
limited in comparison to the relational modelor an object oriented graph.
Forward and backward compatibility are
relatively easy to maintain despite changes in
DTD or Schema.
XML namespaces are problematic to use and
namespace support can be difficult to
correctly implement in an XML parser.
The hierarchical structure is suitable for most
(but not all) types of documents.
XML is commonly depicted as self-
documenting but this depiction ignores
critical ambiguities.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
8/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q13: Compare the merits and demerits of using J2EE N-Tier and SOA
Architectures.
J2EE N-Tier Architecture
The advantages of the multiple-layered design are found in the maintenance and
evolution stage of the applications lifetime. As technologies and functionality
requirements change over time it is easier to adapt the multi-layered application than it
is a single layered design.
The level of componentization achieved will directly influence the amount of effort
needed to adapt the application the new requirements.
Disadvantages of N-Tier
Since the design is more complex than the single or two layer design, the
implementation will also be more complex. When compared to pure VFP single layered
design data access performance may be affected. Because of the nature of the data
access mechanisms the presentation layers user interface design may be affected.
Although these are listed as disadvantages, they can be more accurately described as
effects of the multiple layered architecture. This is because they may or may not have a
negative impact, in fact, their impact may be positive.
SOA Architecture
Reusability
Ease of maintenance
Reduced development cost
Maintainability
Total cost of ownership
Standard
Disadvantages of SOA
SOA Architecture would not be suitable for applications with GUI functionalities. Those
applications would become more complex if they use SOA architecture which requiresheavy data exchange
In case of standalone and short lived applications implementations, SOA will become anadded burden
The SOA model does not involve programs that are object oriented.
-
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
9/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q14: Briefly describe key features of any 10 Web Application Development tools.
1. Accelerator Development Solutionsprovides end-to-end RAD generation and other productivity
frameworks for C# and for cross platform support C.
2. Smartface Platform: A cross platform tool for Windows used to create mobile applications for
J2ME, Symbian S60, BlackBerry and Android, usingdrag-and-droptools and action editing.
3. Code::Blocksis a cross-platform C/C++ RAD IDE using wxWidgets; the latest developmental
builds have a built-in form designer wxSmith, so it's similar to Embarcadero C++ Builder and
Microsoft Visual C++/MFC now.
4. HyperNextis a freeware cross-platform software development system for Mac OS X & Mac OS 9,
and Microsoft Windows XP & Vista. It has many similarities withHyperCardand can compile to
both stand alone applications and stacks for the cross-platform HyperNext Player.
5. Ebase Xiis a commercialrapid application developmentplatformthat combinesweb browser-
baseduser interfacedevelopment,business process managementanddata integrationinto a
single-technologyIDE.
6. IBM Rational Business Developer Extensionis a cross-platform, Rapid Application Development
IDE for creating enterprise and web applications and services for Windows, Linux, Unix (Solaris,
HPUX, AIX), System z and System i
7. IBM Rational Application Developeris a cross-platform, Rapid Application Development IDE for
creating enterprise and web applications and services for Windows, Linux and Unix (Solaris,
HPUX, AIX)
8. LANSAis a development environment for generating applications on multiple platforms. One of
the main features of LANSA is its high level programming language, called RDML (Rapid
Development and Maintenance Language). It is classified as a 4GL (4th generation language).
LANSA-developed applications run on many systems including MS Windows, IBM i and Linux.
9. Lazarusis a cross-platform IDE similar to Embarcadero Delphi.
10. m-Poweris a Software Development tool which automates application development and rapidlycreates enterprise-class Web applications over any database or platform.
11. MyEclipseis a Rapid Application Development environment, focusing on enterprise Java and
Web application development. The specialty MyEclipse "Blue Edition" is most similar toIBM
Rational Application Developer.
12. NetBeansis a cross-platform, RAD IDE for creating visual desktop, mobile, web, and SOA
applications for Linux, Windows and Mac OS X. The IDE officially supports Java, PHP, JavaScript
and C/C++ programming languages.
13. Omnis Studiois a cross-platform, Rapid Application Development tool or IDE for creating
enterprise and web applications for Windows, Linux, Solaris, and Mac OS X.
14. OpenROADis a cross-platform IDE for Linux/Unix, Windows with embedded SQL support
http://en.wikipedia.org/wiki/Accelerator_(Software)http://en.wikipedia.org/wiki/Accelerator_(Software)http://en.wikipedia.org/wiki/Smartfacehttp://en.wikipedia.org/wiki/Smartfacehttp://en.wikipedia.org/wiki/Drag_and_drophttp://en.wikipedia.org/wiki/Drag_and_drophttp://en.wikipedia.org/wiki/Drag_and_drophttp://en.wikipedia.org/wiki/Code::Blockshttp://en.wikipedia.org/wiki/Code::Blockshttp://en.wikipedia.org/wiki/HyperNexthttp://en.wikipedia.org/wiki/HyperNexthttp://en.wikipedia.org/wiki/HyperCardhttp://en.wikipedia.org/wiki/HyperCardhttp://en.wikipedia.org/wiki/HyperCardhttp://en.wikipedia.org/wiki/Ebase_Xihttp://en.wikipedia.org/wiki/Ebase_Xihttp://en.wikipedia.org/wiki/Rapid_application_developmenthttp://en.wikipedia.org/wiki/Rapid_application_developmenthttp://en.wikipedia.org/wiki/Computing_platformhttp://en.wikipedia.org/wiki/Computing_platformhttp://en.wikipedia.org/wiki/Computing_platformhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/Data_integrationhttp://en.wikipedia.org/wiki/Data_integrationhttp://en.wikipedia.org/wiki/Data_integrationhttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/IBM_Rational_Business_Developer_Extensionhttp://en.wikipedia.org/wiki/IBM_Rational_Business_Developer_Extensionhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/LANSA_(development_environment)http://en.wikipedia.org/wiki/LANSA_(development_environment)http://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/M-Powerhttp://en.wikipedia.org/wiki/M-Powerhttp://en.wikipedia.org/wiki/M-Powerhttp://en.wikipedia.org/wiki/MyEclipsehttp://en.wikipedia.org/wiki/MyEclipsehttp://en.wikipedia.org/wiki/MyEclipsehttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/OpenROADhttp://en.wikipedia.org/wiki/OpenROADhttp://en.wikipedia.org/wiki/OpenROADhttp://en.wikipedia.org/wiki/OpenROADhttp://en.wikipedia.org/wiki/Omnis_Studiohttp://en.wikipedia.org/wiki/NetBeanshttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/MyEclipsehttp://en.wikipedia.org/wiki/M-Powerhttp://en.wikipedia.org/wiki/Lazarus_(software)http://en.wikipedia.org/wiki/LANSA_(development_environment)http://en.wikipedia.org/wiki/IBM_Rational_Application_Developerhttp://en.wikipedia.org/wiki/IBM_Rational_Business_Developer_Extensionhttp://en.wikipedia.org/wiki/Integrated_development_environmenthttp://en.wikipedia.org/wiki/Data_integrationhttp://en.wikipedia.org/wiki/Business_process_managementhttp://en.wikipedia.org/wiki/User_interfacehttp://en.wikipedia.org/wiki/Web_browserhttp://en.wikipedia.org/wiki/Computing_platformhttp://en.wikipedia.org/wiki/Rapid_application_developmenthttp://en.wikipedia.org/wiki/Ebase_Xihttp://en.wikipedia.org/wiki/HyperCardhttp://en.wikipedia.org/wiki/HyperNexthttp://en.wikipedia.org/wiki/Code::Blockshttp://en.wikipedia.org/wiki/Drag_and_drophttp://en.wikipedia.org/wiki/Smartfacehttp://en.wikipedia.org/wiki/Accelerator_(Software) -
7/31/2019 Web-App-A1 (Abdul Rafey Masood)
10/10
Institute of Business Administration Spring 2012
Version 1.0 1
Q15: Briefly describe merits and demerits of using Client-Server Application
Software Models.
Advantages of Client/Server
Centralized Resources
All data stored in one location
Easier to backup files and data
Easier to find files and data
Efficient
Software optimized for multiple users
Hardware optimized for multiple users
Security
One machine can secure entire network
One central login
Scalability
Easy to add new resources
Disadvantages of Client/Server
If the server goes down, it takes part or the whole network with it.
It is more expensive to install.
Needs to be maintained by staff with high IT skills.