ITWT411 : Web Services

Department

Internet Technologies Department

Academic Program

Bachelor in Internet Technologies

Type

Compulsory

Credits

03

Prerequisite

ITWT320

Overview

Topics covered in this course include: Apache, TCP/IP, How Does Apache Use TCP/IP; Apache's Flags; Block Directives; Virtual Hosts; HTTP Response Headers; Common Gateway Interface (CGI); Writing and Executing Scripts; Script Directives; Debugging Scripts; Setting Environment Variables; suEXEC on Unix; Handlers; Actions; Authentication; Authentication Protocol Authentication Directives; Passwords Under Unix; Order, Allow, and Deny; Digest Authentication; Anonymous Access; Automatic User Information; Using .htaccess Files; Overrides; MIME, Content and Language Negotiation; Indexing ; Redirection; Proxy Server, Proxy Directives, Caching; Server-Side Includes: Server Status, Server Info, Logging, Authentication; Blocking Access; Counters; Faster CGI Programs; FrontPage from Microsoft; Languages and Internationalization; Server-Side Scripting; Throttling Connections; URL Rewriting; Miscellaneous: MIME Magic, DSO; Security: Apache-SSL, The Apache API, Writing Apache Modules.Laboratory Projects:Students implement a Unix operating system and provide user services, internetwork services and application services to serve external ―client‖ requests.

Intended learning outcomes

Knowledge & understand

  • Explain the benefits of packaging business applications as services over the Internet
  • Identify the requirements of a web service application
  • Demonstrate an understanding of Web Services technologies: SOAP, WSDL, and UDDI
  • Describe and discuss SOAP features, and demonstrate an understanding of WSDL as a vocabulary of Web Services
  • Demonstrate an understanding of how SOA systems differ from traditional non-distributed systems
  • Identify REST constraints and how to construct APIs

Mental skills

  • Analyze the requirements of a web service application
  • Evaluate the specifications and designs of web service applications
  • Demonstrate how REST differ from traditional SOAP and its impact on software quality, efficiency, security, performance, and flexibility
  • Compare best practices of web service application development
  • Differentiate between http methods and select the appropriate ones according to the use case

Practical & professional skills

  • Apply the basic concepts, principles and practices of web services
  • Solve and develop program logic for Web Services systems
  • Apply the techniques and features of SOAP and REST
  • Build a robust and secure APIs
  • perform security evaluation of web service applications or APIs
  • Utilize Web Services to transmit attachments

Generic and transferable skills

  • Using knowledge and sources effectively
  • Searching capabilities
  • Group-working & presentation skills (real-life practical requirement)
  • Discuss and work in a group in order to design, build and deploy a web application
  • Hand in assignments, reports and projects in time
  • Communicate technical and design thinking

Teaching and learning methods

  • Lectures.
  • Tutorials.
  • Problem-based learning.
  • Laboratory and practical training.
  • Mini-projects.

Methods of assessments

  • Midterm Exam = 30
  • Assignments = 10
  • Mini-project = 10
  • Final Exam = 50

Course contents

  • Week1: Quick Introduction. What and why the web service is. Benefits of using web services
  • Week2: Hypertext Transfer Protocol (http) & its headers. http Resource, URL, and methods. http Status-codes and common MIME types
  • Week3: XML language, its main components, and rules. XML parsing and Document Object Model (DOM).
  • Week4: XML parser implementation using DOM library
  • Week5: Introduction to Netbeans & Java EE web application project using Maven
  • Week6: Simple Object Access Protocol (SOAP). Web Service Description Language (WSDL)
  • Week7: SOAP-WS implementation using JAX-WS. Consuming SOAP-WS (WS client) with the help of WSDL.
  • Week8: Service-Oriented Architecture (SOA) and the loosely-coupled concept
  • Week9: Representational State Transfer (REST), Resources, and methods
  • Week10: Types of parameters in RESTful and their use cases
  • Week11: Restful implementation using JAX-RS with the help of JAX-B
  • Week12: REST vs SOAP web services. Consuming RESTful web service (REST client) web and console  apps
  • Week13: Authentication, authorization, and security
  • Week14: Request/response filters and message reader/writer interceptors and implementation

Data Mining/Business Intelligence (ITWT301)
Wide Area Networks (ITWT309)
Information Retrieval Systems (ITWT302)
Introduction to Computer Graphics (ITWT303)
Image Processing (ITWT308)
Cloud Computing (ITWT307)
Multimedia over IP Networks (ITWT306)
Principles of Games Developments (ITWT305)
e-commerce (ITWT304)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Statistics (ITST211)
Introduction to Internet Programming (ITGS226)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Introduction to Databases (ITGS228)
Information Security (ITGS224)
Human Computer Interaction (ITWT315)
Security Policies and Procedure (ITWT317)
Advanced Databases (ITWT313)
Advanced Internet Programming (ITWT311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
IT Project Management (ITGS303)
Client server Programming (ITWT320)
Web Applications Development (ITWT413)
Ethical Hacking (ITWT420)
Scientific Writing (ITGS304)
Multimedia System development (ITWT324)
Web Services (ITWT411)
Integrated systems development (ITWT415)
Mobile Applications Development (ITWT422)