Lecture 10 12/3/12 1. $_SERVER Server and execution environment information An array containing information such as headers, paths, and script locations.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Overview Environment for Internet database connectivity
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
6/11/2015Page 1 Web Services-based Distributed System B. Ramamurthy.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Web services: an Introduction Stuart Fitz-Gerald Feb 2005.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
Web Service What exactly are Web Services? To put it quite simply, they are yet another distributed computing technology (like CORBA, RMI, EJB, etc.).
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Databases and the Internet. Lecture Objectives Databases and the Internet Characteristics and Benefits of Internet Server-Side vs. Client-Side Special.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Web Services (SOAP, WSDL, and UDDI)
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
James Holladay, Mario Sweeney, Vu Tran. Web Services Presentation Web Services Theory James Holladay Tools – Visual Studio Vu Tran Tools – Net Beans Mario.
Web Server Administration Web Services XML SOAP. Overview What are web services and what do they do? What is XML? What is SOAP? How are they all connected?
Lecture 15 Introduction to Web Services Web Service Applications.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Current Trends in Network- Based Application Developments Bill Chu Department of Software and Information Systems UNC Charlotte.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Web Services An Introduction Copyright © Curt Hill.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
SOAP, Web Service, WSDL Week 14 Web site:
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Sabri Kızanlık Ural Emekçi
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
WEB SERVICES.
Web Service Interview/VIVA
Unit – 5 JAVA Web Services
Introduction to Web Services
Web services, WSDL, SOAP and UDDI
Distributed System using Web Services
Distributed System using Web Services
Presentation transcript:

Lecture 10 12/3/12 1

$_SERVER Server and execution environment information An array containing information such as headers, paths, and script locations The entries in this array are created by the web server $_SERVER['PHP_SELF'] This is the filename of the currently executing script 2

Resources 3

Server-side scripting web server technology in which a user's request is fulfilled by running a script directly on the web server to generate dynamic web pages It is usually used to provide interactive web sites that interface to databases or other data stores This is different from client-side scripting where scripts are run by the viewing web browser, usually in JavaScript The primary advantage to server-side scripting is the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores 4

Alternatives to PHP Classic ASP PERL.NET JSP 5

PHP and.NET Compiled Code vs. PHP Interpreted Code NET compiles code, such as C#, into what its creators have termed MSIL, or Microsoft Intermediate Language This roughly resembles Java's bytecode, the "binary" you have after you compile the source code 6

Compiled Code vs. PHP Interpreted Code PHP pages will compile into smaller pieces than the equivalent ASP.NET page, because there is more overhead with the intermediate compilation with the CLR 7

Declaration of Independence from <% When a function is declared in ASP.NET it must appear in a block with the language declared Functions must exist in these blocks or else they will generate an error 8

Arrays In ASP.NET the first value will be in the 0 position. This is concurrent with other compiled languages Secondly, in order to access the values in an array from a querystring or the like the GetValues method must be called 9

Example ASP.NET: <% variable1=(Request.QueryString.GetValues("values")(0) %> 10

Error Messages When an ASP.NET page is run, if you are on the machine that the code is being executed on, or you have a web.config file in the root directory of the website configured properly, error messages that appear are quite intuitive 11

Multiple Languages ASP.NET enables you to switch between multiple languages on the same page ASP.NET adds another language to the fold, C#, known as C sharp 12

File Extension ASP.NET pages require a different extension When a page is created in ASP.NET it requires an.aspx extension, which you may notice this web page has as well When a page has this extension IIS knows to treat it as an ASP.NET 13

Useful Resources ll_php2.html ll_php2.html 14

Web Services: Definition Available online (addressable) Uses XML messaging (I, O, or both) Operating system/programming language independent (provider and consumer can be different) Self-describing via a common XML grammar (or at least human-documented) Discoverable via a simple mechanism 15

Human-centric web 16

Application-centric Web 17

Two common Architectures 18 SOAP XML HTTP GET SOAP REST

Web Services Protocol Stack 19

Web Services Protocol Stack Service transport layer - responsible for transporting messages between applications. XML messaging layer - responsible for encoding messages in a common XML format so that messages can be understood at either end. Service description layer - responsible for describing the public interface to a specific web service. Service discovery layer - responsible for centralizing services into a common registry, and providing easy publish/find functionality. 20

Web Services Roles Service provider - implements the service and makes it available on the Internet. Service requestor - utilizes an existing web service by opening a network connection and sending an XML request. Service registry - provides a central place where developers can publish new services or find existing ones. It therefore serves as a centralized clearinghouse for companies and their services. 21

Web Services Process 22

23 The Service Request Perspective

24 Service Provider Perspective

25 1. The Transport Layer HTTP currently the most popular Pros: simple, stable, widely deployed, works well with firewalls Cons: Security and performance concerns can be encrypted via the Secure Sockets Layer (SSL) but problems arise when a single web service comprises a chain of applications "SOAP is going to open up a whole new avenue for security vulnerabilities." (Bruce Schneier) Schneier's argument: HTTP was designed for document retrieval not RPC HTTP + SOAP enables remote clients to invoke commands and procedures, exactly what firewalls are designed to prevent

26 2. The Messaging Layer

27 The Messaging Layer REST uses raw XML as output transform with XSLT manipulate with DOM uses as ASP.NET data source RSS and other feeds are related SOAP – for typed data exchange and method invocation Envelope - rules for encapsulating data being transferred between computers (e.g. method name and parameters, return values, error handling) Data encoding rules - data types mostly based on the W3C XML Schema specification RPC conventions - conventions for representing remote procedure calls and responses

28

29 Example SOAP Request <ns1:getTemp xmlns:ns1="urn:xmethods-Temperature" SOAP- ENV:encodingStyle="

30 Envelope – root element Body – required child getTemp – the “payload” (RPC) Zipcode – the parameter Namespaces: SOAP Envelope data encoding via XML Schemas and application identifiers specific to XMethods urn:xmethods- Temperature

31 Example SOAP Response <ns1:getTempResponse xmlns:ns1="urn:xmethods- Temperature“ SOAP- ENV:encodingStyle=" ng/"> 71.0

32 Envelope and Body again getTempResponse – payload (response to RPC) return – returned value

33 3. Description Web Service Descriptions (WSDL) Describe the abstract interface through which a service consumer communicates with a service provider defines specific details of how a given web service has implemented that interface Defines four types of things: data messages interfaces services

34

35 Data <wsdl:definitions name="HelloWorldDescription" targetNamespace="urn:HelloWorld" xmlns:tns="urn:HelloWorld" xmlns:soap=" xmlns:wsdl=" xmlns:xsd="

36 Messages

37 Interfaces <wsdl:binding name="HelloWorldBinding" type="tns:HelloWorldInterface"> <soap:binding style="rpc" transport=" />

38 Services <!-- location of the Perl Hello World Service -->

39 4. Discovery Layer UDDI – Universal Description, Discovery and Integration A technical specification for building distributed directories of businesses and web services White pages General company information like business name, business description, contact information, address and phone numbers. Yellow pages General company/service classification data (e.g. industry, product, or geographic codes) Green pages Technical information about a web service (e.g. pointer to an external specification and an address for invoking the web service) UDDI is not restricted to describing web services based on SOAP but can be used to describe any service, from a single web page or address all the way up to SOAP, CORBA, and Java RMI services.

40 Technical Components UDDI data model An XML Schema for describing businesses and web services. The data model is described in detail in the "UDDI Data Model" section, later in this chapter. UDDI API A SOAP-based API for searching and publishing UDDI data. UDDI cloud services Operator sites that provide implementations of the UDDI specification and synchronize all data on a scheduled basis. Private UDDI registries

41 UDDI Data Model

42 Sources Ethan Cerami "Web Services Essentials" O'Reilly,