Web-App-A1 (Abdul Rafey Masood)

download Web-App-A1 (Abdul Rafey Masood)

of 10

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.