Programming for Chemical and Life Science Informatics

Size: px
Start display at page:

Download "Programming for Chemical and Life Science Informatics"

Transcription

1 Programming for Chemical and Life Science Informatics I573 - Week 10 (Web Applications) Rajarshi Guha 31 st March & 2 rd April 2008

2 Outline Web services Overview Software tools Examples REST services

3 Part I Web Services

4 What is a Web Service? Code running on an arbitrary machine that can be accessed in a platform- and language-independent fashion More generally, a WS framework is an XML- based distributed services system Suitable for machine-to-machine interaction Platform and language agnostic Follows standards

5 Basic Architectures: CGI vs WS

6 WS versus CGI When is WS called for? What to make algorithms available avoid downloads avoid support requests if the algorithm takes milliseconds (or longer) it s feasible to make it into a web service Avoid direct database access Why not CGI? Returns HTML (traditionally) Can be a security issues It s possible to use CGI & WS s together

7 What Can WS s Do For Us? Generally we have to get software Might involve compiling, debugging Usually involves administration A web service is basically a set of function calls that a remote user can send output to and get a return value - the RPC view

8 Famous Web Services Google Amazon Access the search engine Get historical data Use their database functionality EBI (UK), KEGG (Japan), IU (USA), NCBI (USA)

9 Web Service Caveats A number of security issues can arise when using web services What s happening to your data after it s sent to the service? Same problem applies to ordinary CGI services Provence - what is the servcie really doing? Requires a network connection Is the service reliable?

10 Web Service Components Server side Web server Application container Service code Client side Some libraries The client code Web servers and application containers are optional Helps to administer a setup (redirection, load balancing etc) As we ll see clients can range from web pages to custom command line code You can work with C, C++, Java, Python, Ruby, Perl, R,.Net, PHP

11 Server Setup Unless we re working a very large WS setup, we can skip the web server setup Since we ll primary focus on Java services, we use an applicatin container - Tomcat A short tutorial on setting up Tomcat is here One of the key components that you need to add to a Tomcat installation is the AXIS libraries These libraries allow us to communicate with the service using the SOAP protocol

12 Writing a Web Service The nice thing about writing a Java web service is that it s no different from writing any other type of Java code No need to bother about SOAP or Tomcat It can get complex, especially when you start using custom classes as input arguments or return values As long a you use Java primitives, there is no extra work So what makes a Java class a web service? It s where it s located that makes it into a web service

13 Writing a Fingerprint Service The CDK provides a fingerprint function Given an IAtomContainer object, returns a BitSet object A BitSet is not a primitive, so we design the service such that it takes a String (SMILES) and returns a String (comma separated values of the bit positions that are set to 1) This approach ensures that any language will be able to communicate with our web service It is possible to return the BitSet directly - and it ll work if your the SOAP library for your language understands what a BitSet is and how to represent it in your language

14 Writing a Fingerprint Service public class CDKws { public String getfingerprintstring(string s, int length, int depth) throws CDKException { String print = ""; IMolecule mol = null; SmilesParser sp = new SmilesParser(); mol = sp.parsesmiles(s); if (mol == null) { throw new CDKException("SmilesParser exception"); } Fingerprinter fprinter = new Fingerprinter(length, depth); try { print = fprinter.getfingerprint(mol).tostring(); } catch (Exception e) { throw new CDKException("Fingerprinter error"); } return(print); } }

15 Writing a Fingerprint Service The code is exactly the same as if it were meant to be a command line program Makes local testing easy Returning a String is easy, but places the burden of parsing on the users side SOAP natively supports arrays. Since arrays are available in all common languages, we could use that to make things more efficient

16 Deploying the Web Service After compiling and testing the class, you will copy the class file to the appropriate Tomcat directory Update a web service deployment descriptor (WSDD) Lets Tomcat know what classes and methods can be accessed as WS s <deployment xmlns=" xmlns:java=" <service name="cdkws" provider="java:rpc"> <parameter name="classname" value="cdkws"/> <parameter name="allowedmethods" value="getfingerprintstring getfingerp </service> <service name="cdkdesc" provider="java:rpc"> <parameter name="classname" value="cdkdesc"/> <parameter name="allowedmethods" value="getdescriptors"/> </service> </deployment>

17 Deploying the Web Service

18 Writing a Web Service Client We can write the client in a variety of languages We ll focus on Python - much less boiler plate code to write If you use Java, you ll need the AXIS libraries in your CLASSPATH For Python you need to install the SOAPpy module or the ZSI module SOAPpy is no longer maintained, but is much easier to use than ZSI

19 Web Service Description Language WSDL is an XML description of a web service Suitable for a parsing (pretty verbose for humans) Given a WSDL document, you can autogenerate code to access the service This essentially lets you look at the service as if it were a local function A WSDL document describes What type of objects the service accepts What type of objecs the service returns What exceptions might occur

20 Web Service Description Language <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions targetnamespace=" xmlns:apachesoap=" xmlns:impl=" xmlns:intf=" xmlns:soapenc=" xmlns:tns1=" xmlns:wsdl=" xmlns:wsdlsoap=" xmlns:xsd=" <!--WSDL created by Apache Axis version: 1.2RC2 Built on Nov 16, 2004 (12:19:44 EST)--> <wsdl:types> <schema targetnamespace=" xmlns=" <import namespace=" <complextype name="cdkexception"> <sequence/> </complextype> </schema> </wsdl:types> <wsdl:message name="cdkexception"> <wsdl:part name="fault" type="tns1:cdkexception"/> </wsdl:message> <wsdl:message name="get3dcoordinatesresponse"> <wsdl:part name="get3dcoordinatesreturn" type="soapenc:string"/> </wsdl:message> <wsdl:message name="get3dcoordinatesrequest"> <wsdl:part name="in0" type="soapenc:string"/> <wsdl:part name="in1" type="soapenc:string"/> </wsdl:message> <wsdl:porttype name="cdkstruct3d"> <wsdl:operation name="get3dcoordinates" parameterorder="in0 in1">

21 Web Service Description Language We can write WSDL documents by hand This is the preferred way of designing web services It s possible to get Tomcat + AXIS to autogenerate WSDL documents for deployed web services This makes life much easier for the most part Certain clients cannot handle the tye of WSDL document that AXIS generates One of the key questions is: where do I find the WSDL document in the first place?

22 Web Service Discovery Web services can be provided by anybody, anywhere How do we know what is available? Universal Description Discovery and Integration XML registry for web services Supports annotation, so you can search for web services Someone must maintain a UDDI registry

23 Web Service Discovery Communication between the client and the UDDI registry is described in the specification Requires library support Java, Python, Perl, Ruby are supported Example UDDI or UDDI-like registries NASA BioMoby

24 Web Service Discovery Once you have the WSDL, you can directly communicate with the WS A conceptually equivalent way, but much more lightweight is to use RSS feeds to list available web services Allows you to keep track of new web services, or changes in WSDL s very easily Someone must collect the WSDL s and there s no standard way to annotate them An example is here

25 WSDL Components Types - used to define custom message types Messages - abstraction of request and response that a client and service need to communicate PortTypes - contains a set of operations, which organize WSDL messages Operation method name PortType Java interface Bindings - binds the PortType to a specific protocol Services - gives you one or more URL s for the service Lets us know where to go to execute CDKstruct3D

26 WSDL Examing the WSDL for the CDKstruct3D services indicates Location of the service It takes 2 inputs, both SOAP encoded String s It returns a SOAP encoded String It may throw an exception called CDKException But the WSDL does not say anything about what the arguments mean! Read the documentation if available Ask the author

27 Simple Object Access Protocol SOAP is an XML message format (encoding) Describes how an object is represented when sent to or received from a service SOAP mesages are sent to and received from a service SOAP is simply a standard way of sending different types of objects to and from web services As with most XML, it s very verbose for humans

28 A SOAP Message 0 or 1 header elements 1 body element Wrapped in an envelope The actual data being transfered is contained within the body Headers can contain Meta-data Security information QoS

29 A SOAP Message <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope SOAP- ENV:encodingStyle=" xmlns:soap-enc=" xmlns:xsi=" xmlns:soap-env=" xmlns:xsd=" > <SOAP-ENV:Body> <ns1:getfingerprintstring xmlns:ns1=" SOAP-ENC:root="1"> <v1 xsi:type="xsd:string">cc=coc</v1> <v2 xsi:type="xsd:int">1024</v2> <v3 xsi:type="xsd:int">6</v3> </ns1:getfingerprintstring> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

30 What Types Does SOAP Support? Specifies a number of built in types int, double, float, boolean, String, Date, arrays Some compound types also allowed Arrays, hashes When making a SOAP request, we need to convert objects to the appropriate SOAP type Specified in the WSDL We use a SOAP toolkit to handle the conversions

31 A Java Client Initialization public CDKwsClient(String host) { String endpoint = " try { Service service = new Service(); call = (Call) service.createcall(); call.settargetendpointaddress( new java.net.url(endpoint)); } catch (Throwable t) { // handle the exception } }

32 A Java Client Calling the Service public String getfpstring(string[] args) { try { call.removeallparameters(); call.setoperationname( "getfingerprintstring" ); call.addparameter( "s", XMLType.XSD_STRING, ParameterMode.IN); call.setreturntype( XMLType.XSD_STRING ); String ret = (String)call.invoke( new Object[] { args[0] }); System.out.println(ret); return ret; } catch (Throwable t) { // handle the error } }

33 Being Lazy This is a lot of tedious code We can use AXIS to generate Java classes from the WSDL java -cp $CLASSPATH org.apache.axis.wsdl.wsdl2java \ -p javaworld.axis.proxy \ This will create a set of classes that correspond to the WSDL components So now the client code simplifies to...

34 Proxy Classes public Vector getfpvector(string[] args) throws Exception { CDKwsServiceLocator service = new CDKwsServiceLocator(); CDKws port = service.getport(); Vector ret = port.getfingerprintvector(args[0]); return ret } The AXIS generated code creates a proxy Rather than dealing with SOAP we now deal with the WS in terms of WSDL Analogous to HTTP - you don t write the raw HTTP request to view Essentially we treat the service as it were a local object

35 Python Web Services Python has a number of ways to deal with WS s SOAPpy - simple to use, no further development ZSI - more comprehensive, steep learning curve Python handling of of SOAP is not as well as developed as for Java But we gin the advanatges of Python

36 A Python Client Client code to use the fingerprint service import SOAPpy if name == main : service = SOAPpy.WSDL.Proxy( \ ) ret = service.getfingerprintstring( CC=COC ) print ret One would expect that calling the Vector version of the web service would return a list object SOAPpy will throw an exception Restricts the use of complex web services

37 More Python Client Fun Very easy to get available methods, parameter names etc >>> from SOAPpy import WSDL >>> service = WSDL.Proxy( >>> service.methods.keys() [u getmolecularweight, u getmolecularformula,... u gethtmlmolecularformula, u gettpsa ] >>> fpmethod = service.methods[ getfingerprintvector ] >>> fpmethod.inparams[0].name u in0 >>> fpmethod.inparams[0].type (u u string ) >>> >>> fpmethod.outparams[0].name u getfingerprintvectorreturn >>> fpmethod.outparams[0].type (u u Vector )

38 Cheminformatics Web Services A number of cheminformatics web services are hosted at IU Cheminformatics web services core.html Database web services db.html Statistical web services statistics.html Documentation and WSDL are available, so you can play around with them

39 Part II Representational State Transfer

40 Actions and Resources The traditional way the WWW was considered was an interconnected set of resources which were viewed A URL represented the location of a thing, or some feature of a thing is the location of a picture of me But we can also do things on the web and so a URL can also represent an action will get a picture of me When we start considering actions on the WWW, we are faced with many approaches Web services are one way

41 Representation State Transfer REST is an alternative network architecture that considers everything to be a uniquely identifiable resources First described by Roy Fielding in his Ph.D. thesis In this context, resources are abstract concepts. In practice what we deal with are representations of resources My picture could be JPEG image Plain text (Base64 encoded) A URL pointing to some actual representation

42 How Do We Do Things? If resources correspond to things, what are the actions? REST largely uses HTTP as a way to specify actions GET retrieve a resource from its URI POST add something to a resource PUT update a resource DELETE delete a resource All actions may not be applicable to all types of resources By have just these 4 operations, we are able to interact with all types of resources Note - how resources are made available is not the concern of REST. A resource could be made available as a CGI, WS, plain file links REST style architecture just ensures that it has a unique address

43 How Do We Do Things? If resources correspond to things, what are the actions? REST largely uses HTTP as a way to specify actions GET retrieve a resource from its URI POST add something to a resource PUT update a resource DELETE delete a resource All actions may not be applicable to all types of resources By have just these 4 operations, we are able to interact with all types of resources Note - how resources are made available is not the concern of REST. A resource could be made available as a CGI, WS, plain file links REST style architecture just ensures that it has a unique address

44 REST Services - 3D Structure Database Database access is a natural REST application A resource exists in a database, and we can create a unique URL for it An HTTP GET on such a URL retrieves the data from the database An address for the 3D structure of PubChem CID Client simply performs a GET on the URL Internally, we query the database and return the structure in SD format Some resource physically exists and we simply provide a way to address it

45 REST Services - 3D Structure Database Database access is a natural REST application A resource exists in a database, and we can create a unique URL for it An HTTP GET on such a URL retrieves the data from the database An address for the 3D structure of PubChem CID Client simply performs a GET on the URL Internally, we query the database and return the structure in SD format Some resource physically exists and we simply provide a way to address it

46 REST Services - Descriptors Given a molecule we would like to evaluate descriptors What are the resources we would like to make available? 1 Specific descriptors for the molecule 2 Values of specific descriptors for the molecule Note that we consider two possible resources, rather than just talk about values By allowing specific descriptors to be resources, we allow more flexibilty

47 REST Services - Descriptors

48 REST Services - Descriptors The resource identified by the previous link is an XML document, that references other resources The current resource is a list of all the descriptors for the specified molecule But we d like more detailed information - what is the value of the descriptor X for the specified molecule? Simply visit the link (say ALogP) and we get another resource (XML document) <DescriptorList> <Descriptor parent="alogpdescriptor" name="alogp" value=" <Descriptor parent="alogpdescriptor" name="alogp2" value=" <Descriptor parent="alogpdescriptor" name="amr" value="6.4383"/> </DescriptorList>

49 What s Happening? So we re able to GET resources Descriptors Descriptor values We can also book mark the results We are not specifying an action to calculate descriptors - rather these things appear to us as if they exist on some part of Internet But we could calculate descriptors for an infinite set of molecules All of them can t be precalculated or stored somewhere! But where does the value come from?

50 What s Happenning? In this case we have a traditional SOAP WS Added a Python CGI frontend The Python CGI decides what resource should be returned by examining the URL Generates the appropriate resource via the WS and returns it You could avoid the Python frontend and just have the web service check the URL and return the appropriate resource

51 Physical versus Logical URL s For the REST DB service, the resource was physically located in a database For the descriptor service, there is no actual descriptor value until we calculate it In both cases, the URL defining the resource is logical If we had to have 17M HTML pages, one for each entry in the DB, it would not be good design We cannot even do that for the descriptor service In both cases, the URL does not reveal implementation details One is using direct SQL queries The other is using a SOAP web service

52 Should Everything be REST? Sometimes it can be tricky to design an application without using actions For certain types of services, how do we send large, structured data? What about services that maintain state? X & data to a OLS regression service? What if we don t need the model just now? Everything need not be REST - it s just one way to design an application But makes life easier for the client No special libraries required Usually resources are in simple, well-known formats Aggregating and manipulation is now a lot easier

53 REST Principles Create a URL to each resource. The resources should be nouns, not verbs Categorize your resources according to whether clients can just receive a representation of the resource, or whether clients can modify (add to) the resource The resource should just return a representation of the resource and invoking the resource should not result in modifying the resource. Design to reveal data gradually. Don t reveal everything in a single response document.

54 REST Principles Create a URL to each resource. The resources should be nouns, not verbs Categorize your resources according to whether clients can just receive a representation of the resource, or whether clients can modify (add to) the resource The resource should just return a representation of the resource and invoking the resource should not result in modifying the resource. Design to reveal data gradually. Don t reveal everything in a single response document.

55 REST Principles Create a URL to each resource. The resources should be nouns, not verbs Categorize your resources according to whether clients can just receive a representation of the resource, or whether clients can modify (add to) the resource The resource should just return a representation of the resource and invoking the resource should not result in modifying the resource. Design to reveal data gradually. Don t reveal everything in a single response document.

56 REST Principles Create a URL to each resource. The resources should be nouns, not verbs Categorize your resources according to whether clients can just receive a representation of the resource, or whether clients can modify (add to) the resource The resource should just return a representation of the resource and invoking the resource should not result in modifying the resource. Design to reveal data gradually. Don t reveal everything in a single response document.

57 Practical REST One of the nicest aspects of REST is that your application can decide what to do by investigating the URL - might mean get the DB record for might mean return a PNG image of How do we handle errors? Use HTTP error codes If the requested resource is unavailable return a 404 (Not Found) If you only support GET, then return a 405 (Method Not Allowed) code for any other method If the URL seems invalid, return 400 (Bad Request)

58 POST versus GET GET interfaces are easy to use - just create a URL with everything in it But most browsers have a limit on the length of a GET request What if you want to send a SD file? What if you want to send CC#CCC? Either limit yourself to a fixed length input Encode URL (but still does not solve URL length limits) Most general approach is to use POST

59 POST versus GET Using POST in place of GET goes against core REST principles But doesn t matter to much, if your service is not databased backed By using POST requests you can send anything of any size to the server Any decent server-side program, should not be bothered if it s a GET or POST request (besides from being able to identify what type of request is made) Downside is that you cannot make a quick test by constructing a URL

60 Less Formal than SOAP (?) SOAP is more formalized since it defines schemata for inputs and outputs of a service (WSDL) Client libraries can automatically generate proxy objects by analyzing WSDL REST interfaces can return anything - have to read the documentation This can be problematic if there is no documentation But at least you can make a request and easily inspect the return value One possibility is WADL - but not a general solution

61 Practical REST - PHP <?php $url = $_SERVER[ PHP_SELF ]; $comps = split("/", $url); $ncomp = count($comps); $id = $comps[ $ncomp-1 ]; $resource = $comps[ $ncomp-2 ]; if ($resource == "db") { // call the DB service } else if ($resource == depict") { // call the depiction service } // return appropriate content-type // and data?>

62 Python Web Applications Web applications can vary in complexity A simple service, with no user front end (i.e. web page) Beautiful web pages with complex database backend Lots of tools to help write these things Generally fall in the realm of web frameworks Django Turbogear We will consider a lower level approach, directly using mod python mod python runs Python code within the Apache server Generally faster than writing Python CGI s - each time such a CGI is called Apache starts a new Python process The nice thing is that beyond some boilerplate, mod python code just reuses your pre-exisiting code

63 Basic mod python Installed on cheminfo. See tutorial Need to update permissions to allow mod python programs to run Edit a file called.htaccess in public html (make it if it s not there) SetHandler mod_python PythonHandler depict PythonDebug On <Files ~ "\.(gif html jpg png css)$"> SetHandler default-handler </Files> depict is the name of the Python program that will be called when a request is made for this directory By default, a method called handler will be called within this program

64 Handlers The underlying philosophy is that Apache will call a specific Python program when it sees a matching URL The program can then analyze the full URL and do what ever it wants In the preceding cases, lets say we put our program under public html/rest/depict When a browser requests rguha/rest/depict, it knows that it should call depict.py (and specifically the default handler) If the request is rguha/rest/depict/foo then the method foo in depict.py is called

65 The Default Handler The default handler is called handler A minimal form of the handler is from mod_python import apache def handler(req): ## do some work ret = do_something() ## set content type req.content_type = text/plain ## send the return value back to the browser req.write(ret) ## signal everything is OK return apache.ok

66 The Environment of a Handler Since the handler is called from Apache, you have access to the Apache environment. Things of interest The URL that was used by the client - allows you to decide what specific request was made and handle it appropriately The requested content types as well as setting the return content type - lets you indicate to the user the specific type of data that is coming back from the result The type of method - GET or POST All of this is provided by an mp request object - i.e., the req argument to a handler

67 Request Objects from mod_python import apache def handler(req): req.content_type = text/plain uri = req.uri if req.method == GET : ret = uri + Got with GET else: ret = uri + Got with POST req.write(ret) return apache.ok In general, there s very little boiler plate code

68 Getting Form Data Form data is easily accessible mod python hides details of GET / POST from you from mod_python import apache def handler(req): ## get first form element called mytextfield formelem = req.form.getfirst( mytextfield, None) ## get all form elements named colorbuttons otherelems = req.form.getlist( colorbuttons ) Must escape and validate data received from forms.

69 Sounds too simple... Handling requests is just the first step For REST services, the return type is usually a simple HTML or XML document or even a bunch of plain text lines Most applications will have some sort of web page frontend Writing dynamic HTML pages can be painful Good idea to use template systems Cheetah Mako Django Templates In general, if it s a large project better to work with a well designed framework that does a lot of the grunt work for you See here for a collection of mod python based REST services

Writing and Using Web Services

Writing and Using Web Services Writing and Using Web Services or I don't care where my programs are Rajarshi Guha Indiana University rguha@indiana.edu Overview Two 45 minute sessions, with 15 minute break Some theory, but mainly focus

More information

Invoking Web Services. with Axis. Web Languages Course 2009 University of Trento

Invoking Web Services. with Axis. Web Languages Course 2009 University of Trento Invoking Web Services with Axis Web Languages Course 2009 University of Trento Lab Objective Refresh the Axis Functionalities Invoke Web Services (client-side) 3/16/2009 Gaia Trecarichi - Web Languages

More information

Exercise SBPM Session-4 : Web Services

Exercise SBPM Session-4 : Web Services Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 2014 Blue Net Corporation. All rights reserved a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed

More information

Introduction to Web Services

Introduction to Web Services Introduction to Web Services Motivation The Automated Web XML RPC SOAP Messaging WSDL Description Service Implementation & Deployment Further Issues Web Services a software application identified by a

More information

Sriram Krishnan, Ph.D. NBCR Summer Institute, August 2010

Sriram Krishnan, Ph.D. NBCR Summer Institute, August 2010 Sriram Krishnan, Ph.D. sriram@sdsc.edu NBCR Summer Institute, August 2010 What are Services Oriented Architectures? What are Web services? WSDL (Web Services Definition Language) Techniques for building

More information

SOAP Introduction Tutorial

SOAP Introduction Tutorial SOAP Introduction Tutorial Herry Hamidjaja herryh@acm.org 1 Agenda Introduction What is SOAP? Why SOAP? SOAP Protocol Anatomy of SOAP Protocol SOAP description in term of Postal Service Helloworld Example

More information

Grid-Based PDE.Mart: A PDE-Oriented PSE for Grid Computing

Grid-Based PDE.Mart: A PDE-Oriented PSE for Grid Computing Grid-Based PDE.Mart: A PDE-Oriented PSE for Grid Computing Guoyong Mao School of Computer Science and Engineering Shanghai University, Shanghai 200072, China gymao@mail.shu.edu.cn Wu Zhang School of Computer

More information

Web Services. GC: Web Services Part 3: Rajeev Wankar

Web Services. GC: Web Services Part 3: Rajeev Wankar Web Services 1 Let us write our Web Services Part III 2 SOAP Engine Major goal of the web services is to provide languageneutral platform for the distributed applications. What is the SOAP engine? A (Java)

More information

Web. Web. Java. Java. web. WebService. Apache Axis. Java web service. Applet Servlet JSP SOAP WebService XML J2EE. Web (browser)

Web. Web. Java. Java. web. WebService. Apache Axis. Java web service. Applet Servlet JSP SOAP WebService XML J2EE. Web (browser) Java Web Java web Applet Servlet JSP SOAP WebService XML J2EE WebService Web (browser) WSDL (Web Service Description Language) RPC) SOAP 80 () Apache Axis Apache AxisJavaSOAP (SOAPWeb XML.NET Java) tomcat

More information

Introduction to Web Service

Introduction to Web Service Introduction to Web Service Sagara Gunathunga ( Apache web Service and Axis committer ) CONTENTS Why you need Web Services? How do you interact with on-line financial service? Conclusion How do you interact

More information

On the Creation of Distributed Simulation Web- Services in CD++

On the Creation of Distributed Simulation Web- Services in CD++ On the Creation of Distributed Simulation Web- Services in CD++ Rami Madhoun, Bo Feng, Gabriel Wainer, Abstract CD++ is a toolkit developed to execute discrete event simulations following the DEVS and

More information

Developing Interoperable Web Services for the Enterprise

Developing Interoperable Web Services for the Enterprise Developing Interoperable Web Services for the Enterprise Simon C. Nash IBM Distinguished Engineer Hursley, UK nash@hursley.ibm.com Simon C. Nash Developing Interoperable Web Services for the Enterprise

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

XML Grammar and Parser for the Web Service. Offerings Language

XML Grammar and Parser for the Web Service. Offerings Language XML Grammar and Parser for the Web Service Offerings Language by Kruti Patel, B. Eng. A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the

More information

Functional Programming and the Web

Functional Programming and the Web June 13, 2011 About Me Undergraduate: University of Illinois at Champaign-Urbana PhD: Penn State University Retrofitting Programs for Complete Security Mediation Static analysis, type-based compiler Racker:

More information

WWW, REST, and Web Services

WWW, REST, and Web Services WWW, REST, and Web Services Instructor: Yongjie Zheng Aprile 18, 2017 CS 5553: Software Architecture and Design World Wide Web (WWW) What is the Web? What challenges does the Web have to address? 2 What

More information

Web Services Foundations: SOAP, WSDL and UDDI

Web Services Foundations: SOAP, WSDL and UDDI Web Services Foundations: SOAP, WSDL and UDDI Helen Paik School of Computer Science and Engineering University of New South Wales Alonso Book Chapter 5-6 Webber Book Chapter 3-4 Mike Book Chapter 4-5 References

More information

Lesson 14 SOA with REST (Part I)

Lesson 14 SOA with REST (Part I) Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)

More information

ECE450H1S Software Engineering II Tutorial I Web Services

ECE450H1S Software Engineering II Tutorial I Web Services Tutorial I Web Services 1. What is a Web Service? 2. An example Web Service 3. OmniEditor: Wrapping a text editor into a WS 4. OmniGraphEditor: supporting a graphic editor References Gustavo Alonso, Fabio

More information

Introduction to the Cisco ANM Web Services API

Introduction to the Cisco ANM Web Services API 1 CHAPTER This chapter describes the Cisco ANM Web Services application programming interface (API), which provides a programmable interface for system developers to integrate with customized or third-party

More information

SERVICE TECHNOLOGIES 1

SERVICE TECHNOLOGIES 1 SERVICE TECHNOLOGIES 1 Exercises 1 19/03/2014 Valerio Panzica La Manna valerio.panzicalamanna@polimi.it http://servicetechnologies.wordpress.com/exercises/ Outline Web Services: What? Why? Java Web Services:

More information

WDSL and PowerBuilder 9. A Sybase White Paper by Berndt Hamboeck

WDSL and PowerBuilder 9. A Sybase White Paper by Berndt Hamboeck WDSL and PowerBuilder 9 A Sybase White Paper by Berndt Hamboeck Table of Contents Overview... 3 What is WSDL?... 3 Axis with PowerBuilder 9... 4 Custom Deployment with Axis - Introducing WSDD... 4 Using

More information

Web Services Amazon Ecommerce Service, Comparison with other Web Services

Web Services Amazon Ecommerce Service, Comparison with other Web Services Web Services Amazon Ecommerce Service, Comparison with other Web Services COV885 Special Tpocis on Computer Applications Dept. Of Comp. Sc. and Engineering, IITD Semester I, 2018 Web Programming: Web Servives

More information

Getting started with OWASP WebGoat 4.0 and SOAPUI.

Getting started with OWASP WebGoat 4.0 and SOAPUI. Getting started with OWASP WebGoat 4.0 and SOAPUI. Hacking web services, an introduction. Version 1.0 by Philippe Bogaerts mailto:philippe.bogaerts@radarhack.com http://www.radarhack.com 1. Introduction

More information

Programming Web Services in Java

Programming Web Services in Java Programming Web Services in Java Description Audience This course teaches students how to program Web Services in Java, including using SOAP, WSDL and UDDI. Developers and other people interested in learning

More information

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc.

Web services. In plain words, they provide a good mechanism to connect heterogeneous systems with WSDL, XML, SOAP etc. Web Services Web Services A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format

More information

Developing Web Services. with Axis. Web Languages Course 2009 University of Trento

Developing Web Services. with Axis. Web Languages Course 2009 University of Trento Developing Web Services with Axis Web Languages Course 2009 University of Trento Lab Objective Develop and Deploy Web Services (serverside) Lab Outline WS Sum Up: WS-protocols Axis Functionalities WSDL2Java

More information

What is Web Service. An example web service. What is a Web Service?

What is Web Service. An example web service. What is a Web Service? What is Web Service Tutorial I Web Services 1. What is a Web Service? 2. An example Web Service 3. OmniEditor: Wrapping a text editor into a WS 4. OmniGraphEditor: supporting a graphic editor References

More information

BEAAquaLogic. Service Bus. Interoperability With EJB Transport

BEAAquaLogic. Service Bus. Interoperability With EJB Transport BEAAquaLogic Service Bus Interoperability With EJB Transport Version 3.0 Revised: February 2008 Contents EJB Transport Introduction...........................................................1-1 Invoking

More information

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti

XML for Java Developers G Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti XML for Java Developers G22.3033-002 Session 8 - Main Theme XML Information Rendering (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6

04 Webservices. Web APIs REST Coulouris. Roy Fielding, Aphrodite, chp.9. Chp 5/6 04 Webservices Web APIs REST Coulouris chp.9 Roy Fielding, 2000 Chp 5/6 Aphrodite, 2002 http://www.xml.com/pub/a/2004/12/01/restful-web.html http://www.restapitutorial.com Webservice "A Web service is

More information

Project Sens-ation. Research, Technology: AXIS, Web Service, J2ME

Project Sens-ation. Research, Technology: AXIS, Web Service, J2ME Bauhaus University Weimar Research, Technology: AXIS, Web Service, J2ME Project Sens-ation October 2004 CML Cooperative Media Lab CSCW, Bauhaus University Weimar Outline 1. Introduction, Ideas 2. Technology:

More information

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer

Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Simple Object Access Protocol (SOAP) Reference: 1. Web Services, Gustavo Alonso et. al., Springer Minimal List Common Syntax is provided by XML To allow remote sites to interact with each other: 1. A common

More information

ReST 2000 Roy Fielding W3C

ReST 2000 Roy Fielding W3C Outline What is ReST? Constraints in ReST REST Architecture Components Features of ReST applications Example of requests in REST & SOAP Complex REST request REST Server response Real REST examples REST

More information

Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net

Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net Data Access and Analysis with Distributed, Federated Data Servers in climateprediction.net Neil Massey 1 neil.massey@comlab.ox.ac.uk Tolu Aina 2, Myles Allen 2, Carl Christensen 1, David Frame 2, Daniel

More information

RESTful Services. Distributed Enabling Platform

RESTful Services. Distributed Enabling Platform RESTful Services 1 https://dev.twitter.com/docs/api 2 http://developer.linkedin.com/apis 3 http://docs.aws.amazon.com/amazons3/latest/api/apirest.html 4 Web Architectural Components 1. Identification:

More information

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web

XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Web Services. XML Web Service? A programmable component Provides a particular function for an application Can be published, located, and invoked across the Web Platform: Windows COM Component Previously

More information

Database extensions for fun and profit. Andrew Dalke Andrew Dalke Scientific, AB Gothenburg, Sweden

Database extensions for fun and profit. Andrew Dalke Andrew Dalke Scientific, AB Gothenburg, Sweden Database extensions for fun and profit Andrew Dalke Andrew Dalke Scientific, AB Gothenburg, Sweden Set the Wayback Machine to 1997! Relational databases - strings and numbers - SQL - clients written in

More information

Web Services Overview. Marlon Pierce Community Grids Lab Indiana University

Web Services Overview. Marlon Pierce Community Grids Lab Indiana University Web Services Overview Marlon Pierce Community Grids Lab Indiana University Assignments Download and install Tomcat (again). http://jakarta.apache.org jakarta.apache.org/tomcat/ You will need two tomcat

More information

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this

This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this This presentation is a primer on WSDL Bindings. It s part of our series to help prepare you for creating BPEL projects. We recommend you review this presentation before taking an ActiveVOS course or before

More information

Web Services: Introduction and overview. Outline

Web Services: Introduction and overview. Outline Web Services: Introduction and overview 1 Outline Introduction and overview Web Services model Components / protocols In the Web Services model Web Services protocol stack Examples 2 1 Introduction and

More information

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007

Web Services. Grid Computing (M) Lecture 6. Olufemi Komolafe 19 January 2007 Web Services Grid Computing (M) Lecture 6 Olufemi Komolafe (femi@dcs.gla.ac.uk) 19 January 2007 UDDI registry retrieved from a DTD WSDL service definition XML schema definition is a describes structure

More information

Implementation Method of OGC Web Map Service Based on Web Service. Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University

Implementation Method of OGC Web Map Service Based on Web Service. Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University Implementation Method of OGC Web Map Service Based on Web Service Anthony Wenjue Jia *,Yumin Chen *,Jianya Gong * *Wuhan University ABSTRACT The most important advantage of web service is the multi-platform,

More information

Publications Office. TED Website - Notice Viewer WS Technical Specifications Document - Appendix D - NoticeViewer

Publications Office. TED Website - Notice Viewer WS Technical Specifications Document - Appendix D - NoticeViewer Publications Office Subject NoticeViewer WS API Version / Status 1.03 Release Date 17/02/2017 Filename Document Reference TED_WEBSITE-TSP-Technical_Specifications_Document-v1.03 TED-TSP-Appendix D Table

More information

Java J Course Outline

Java J Course Outline JAVA EE - J2SE - CORE JAVA After all having a lot number of programming languages. Why JAVA; yet another language!!! AND NOW WHY ONLY JAVA??? CHAPTER 1: INTRODUCTION What is Java? History Versioning The

More information

Iron Scripter 2018: Prequel 3 A commentary

Iron Scripter 2018: Prequel 3 A commentary Iron Scripter 2018: Prequel 3 A commentary I ve decided to call these notes A commentary rather than A solution because I m mainly commenting on how to solve the puzzle. The solution you adopt will be

More information

Groovy and Web Services. Ken Kousen Kousen IT, Inc.

Groovy and Web Services. Ken Kousen Kousen IT, Inc. Groovy and Web Services Ken Kousen Kousen IT, Inc. ken.kousen@kousenit.com http://www.kousenit.com Who Am I? Ken Kousen Trainer, Consultant, Developer ken.kousen@kousenit.com http://www.kousenit.com @kenkousen

More information

Real Life Web Development. Joseph Paul Cohen

Real Life Web Development. Joseph Paul Cohen Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your

More information

Why SOAP? Why SOAP? Web Services integration platform

Why SOAP? Why SOAP? Web Services integration platform SOAP Why SOAP? Distributed computing is here to stay Computation through communication Resource heterogeneity Application integration Common language for data exchange Why SOAP? Why SOAP? Web Services

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

4. Java Project Design, Input Methods

4. Java Project Design, Input Methods 4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java

More information

REST - Representational State Transfer

REST - Representational State Transfer REST - Representational State Transfer What is REST? REST is a term coined by Roy Fielding to describe an architecture style of networked systems. REST is an acronym standing for Representational State

More information

Web Services Week 10

Web Services Week 10 Web Services Week 10 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap BPEL Process in Netbeans RESTful Web Services Introduction to Rest Api 2 Contents RESTful Web

More information

JSR 311: JAX-RS: The Java API for RESTful Web Services

JSR 311: JAX-RS: The Java API for RESTful Web Services JSR 311: JAX-RS: The Java API for RESTful Web Services Marc Hadley, Paul Sandoz, Roderico Cruz Sun Microsystems, Inc. http://jsr311.dev.java.net/ TS-6411 2007 JavaOne SM Conference Session TS-6411 Agenda

More information

General Coding Standards

General Coding Standards Rick Cox rick@rescomp.berkeley.edu A description of general standards for all code generated by ResComp employees (including non-programmers), intended to make maintaince, reuse, upgrades, and trainig

More information

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment.

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. web.py Tutorial Tom Kelliher, CS 317 1 Acknowledgment This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. 2 Starting So you know Python and want to make

More information

Creating Web Services with Apache Axis

Creating Web Services with Apache Axis 1 of 7 11/24/2006 5:52 PM Published on ONJava.com (http://www.onjava.com/) http://www.onjava.com/pub/a/onjava/2002/06/05/axis.html See this if you're having trouble printing code examples Creating Web

More information

Pieces of the puzzle. Wednesday, March 09, :29 PM

Pieces of the puzzle. Wednesday, March 09, :29 PM SOAP_and_Axis Page 1 Pieces of the puzzle Wednesday, March 09, 2011 12:29 PM Pieces of the puzzle so far Google AppEngine/GWTJ: a platform for cloud computing. Map/Reduce: a core technology of cloud computing.

More information

ก. ก ก (krunapon@kku.ac.th) (pongsakorn@gmail.com) ก ก ก ก ก ก ก ก ก ก 2 ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก ก 3 ก ก 4 ก ก 1 ก ก ก ก (XML) ก ก ก ก ( HTTP) ก ก Web Services WWW Web services architecture

More information

Developing JAX-RPC Web services

Developing JAX-RPC Web services Developing JAX-RPC Web services {scrollbar} This tutorial will take you through the steps required in developing, deploying and testing a Web Service in Apache Geronimo. After completing this tutorial

More information

Introduction to REST Web Services

Introduction to REST Web Services Introduction to REST Web Services Asst. Prof. Dr. Kanda Runapongsa Saikaew Department of Computer Engineering Khon Kaen University http://gear.kku.ac.th/~krunapon/xmlws 1 Agenda What is REST? REST Web

More information

CS506 Web Design & Development Final Term Solved MCQs with Reference

CS506 Web Design & Development Final Term Solved MCQs with Reference with Reference I am student in MCS (Virtual University of Pakistan). All the MCQs are solved by me. I followed the Moaaz pattern in Writing and Layout this document. Because many students are familiar

More information

Services Web Nabil Abdennadher

Services Web Nabil Abdennadher Services Web Nabil Abdennadher nabil.abdennadher@hesge.ch 1 Plan What is Web Services? SOAP/WSDL REST http://www.slideshare.net/ecosio/introduction-to-soapwsdl-and-restfulweb-services/14 http://www.drdobbs.com/web-development/restful-web-services-a-tutorial/

More information

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations

More information

3. ก ก (deploy web service)

3. ก ก (deploy web service) ก ก 1/12 5 ก ก ก ก (complex type) ก ก ก (document style) 5.1 ก ก ก ก ก (java object)ก ก ก (xml document ) ก ก (java bean) ก (serialize) (deserialize) Serialize Java Bean XML Document Deserialize 5.1 ก

More information

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul

Quick housekeeping Last Two Homeworks Extra Credit for demoing project prototypes Reminder about Project Deadlines/specifics Class on April 12th Resul CIS192 Python Programming Web Frameworks and Web APIs Harry Smith University of Pennsylvania March 29, 2016 Harry Smith (University of Pennsylvania) CIS 192 March 29, 2016 1 / 25 Quick housekeeping Last

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications Lecture 15: Frameworks for Application-layer Communications Prof. Shervin Shirmohammadi SITE, University of Ottawa Fall 2005 CEG 4183 15-1 Background We have seen previously that: Applications need to

More information

4.1.1 JWS (Java Web Service) Files Instant Deployment

4.1.1 JWS (Java Web Service) Files Instant Deployment ก ก 1 4 ก ก ก ก ก ก ก ก (SOAP) 4.1 ก ก ก (Create and deploy web service) ก ก ก 2 ก (JWS) ก ก 4.1.1 JWS (Java Web Service) Files Instant Deployment ก Calculator.java ก ก ก ก Calculator.java 4.1 public class

More information

Tutorial on Fast Web Services

Tutorial on Fast Web Services Tutorial on Fast Web Services This document provides tutorial material on Fast Web Services (it is equivalent to Annex C of X.892 ISO/IEC 24824-2). Some of the advantages of using Fast Web Services are

More information

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP 2013 Empowering Innovation DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP contact@dninfotech.com www.dninfotech.com 1 JAVA 500: Core JAVA Java Programming Overview Applications Compiler Class Libraries

More information

Client-side SOAP in S

Client-side SOAP in S Duncan Temple Lang, University of California at Davis Table of Contents Abstract... 1 Converting the S values to SOAP... 3 The Result... 3 Errors... 4 Examples... 4 Service Declarations... 5 Other SOAP

More information

Lotus Exam Using Web Services in IBM Lotus Domino 7 Applications Version: 5.0 [ Total Questions: 90 ]

Lotus Exam Using Web Services in IBM Lotus Domino 7 Applications Version: 5.0 [ Total Questions: 90 ] s@lm@n Lotus Exam 190-756 Using Web Services in IBM Lotus Domino 7 Applications Version: 5.0 [ Total Questions: 90 ] Topic 0, A A Question No : 1 - (Topic 0) Chris has used Domino Designer 7 to create

More information

Modulo II WebServices

Modulo II WebServices Modulo II WebServices Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Bibliografia April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 2 1 Ementa History

More information

An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails

An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails O'Reilly Published on O'Reilly (http://oreilly.com/) See this if you're having trouble printing code examples An Incredibly Brief Introduction to Relational Databases: Appendix B - Learning Rails by Edd

More information

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review

Web Services in Cincom VisualWorks. WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks WHITE PAPER Cincom In-depth Analysis and Review Web Services in Cincom VisualWorks Table of Contents Web Services in VisualWorks....................... 1 Web Services

More information

Biocomputing II Coursework guidance

Biocomputing II Coursework guidance Biocomputing II Coursework guidance I refer to the database layer as DB, the middle (business logic) layer as BL and the front end graphical interface with CGI scripts as (FE). Standardized file headers

More information

CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O

CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O Introduction The WRITE and READ ADT Operations Case Studies: Arrays Strings Binary Trees Binary Search Trees Unordered Search Trees Page 1 Introduction

More information

Alexa Site Thumbnail. Developer Guide

Alexa Site Thumbnail. Developer Guide : Published 2006-August-02 Copyright 2006 Amazon Services, Inc. or its Affiliates AMAZON and AMAZON.COM are registered trademarks of Amazon.com, Inc. or its Affiliates. All other trademarks are the property

More information

Component-based Grid Programming Using the HOC-Service Architecture

Component-based Grid Programming Using the HOC-Service Architecture Component-based Grid Programming Using the HOC-Service Architecture Sergei Gorlatch University of Münster, Germany 1 PARALLEL AND DISTRIBUTED COMPUTING: TOWARD GRIDS Demand growing: Grand Challenges: Scientific

More information

Pace University. Web Service Workshop Lab Manual

Pace University. Web Service Workshop Lab Manual Pace University Web Service Workshop Lab Manual Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University July 12, 2005 Table of Contents 1 1 Lab objectives... 1 2 Lab design...

More information

COMP102: Introduction to Databases, 23

COMP102: Introduction to Databases, 23 COMP102: Introduction to Databases, 23 Dr Muhammad Sulaiman Khan Department of Computer Science University of Liverpool U.K. 04 April, 2011 Programming with SQL Specific topics for today: Client/Server

More information

CherryPy on Apache2 with mod_python

CherryPy on Apache2 with mod_python Revision History CherryPy on Apache2 with mod_python Revision 1.5 November 9, 2009 Revised by: FB Ferry Boender 1. Introduction I ve recently written a web application using Python using the following

More information

Reading How the Web Works

Reading How the Web Works Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article

More information

Web-Based Systems. INF 5040 autumn lecturer: Roman Vitenberg

Web-Based Systems. INF 5040 autumn lecturer: Roman Vitenberg Web-Based Systems INF 5040 autumn 2013 lecturer: Roman Vitenberg INF5040, Roman Vitenberg 1 Two main flavors Ø Browser-server WWW application Geared towards human interaction Not suitable for automation

More information

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments

COPYRIGHTED MATERIAL. Contents. Part I: Introduction 1. Chapter 1: What Is XML? 3. Chapter 2: Well-Formed XML 23. Acknowledgments Acknowledgments Introduction ix xxvii Part I: Introduction 1 Chapter 1: What Is XML? 3 Of Data, Files, and Text 3 Binary Files 4 Text Files 5 A Brief History of Markup 6 So What Is XML? 7 What Does XML

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

TPF Users Group Fall 2007

TPF Users Group Fall 2007 TPF Users Group Fall 2007 z/tpf Enhancements for SOAP Provider Support and Tooling for Web Services Development Jason Keenaghan Distributed Systems Subcommittee 1 Developing Web services for z/tpf Exposing

More information

BEAWebLogic Server. WebLogic Web Services: Advanced Programming

BEAWebLogic Server. WebLogic Web Services: Advanced Programming BEAWebLogic Server WebLogic Web Services: Advanced Programming Version 10.0 Revised: April 28, 2008 Contents 1. Introduction and Roadmap Document Scope and Audience.............................................

More information

SOA: Service-Oriented Architecture

SOA: Service-Oriented Architecture SOA: Service-Oriented Architecture Dr. Kanda Runapongsa (krunapon@kku.ac.th) Department of Computer Engineering Khon Kaen University 1 Gartner Prediction The industry analyst firm Gartner recently reported

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 1 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2013 Contents Course Introduction

More information

Web Service Interest Management (WSIM) Prototype. Mark Pullen, GMU

Web Service Interest Management (WSIM) Prototype. Mark Pullen, GMU Web Service Interest Management (WSIM) Prototype Mark Pullen, GMU 1 Presentation Overview Case study: how to build a Web service WSIM architecture overview and issues Basic Web service implementation Extending

More information

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy

More information

XML Messaging: Simple Object Access Protocol (SOAP)

XML Messaging: Simple Object Access Protocol (SOAP) XML Messaging: Simple Object Access Protocol (SOAP) Authors Gabriel Toma-Tumbãr: GabrielToma-Tumbar@ucvro Dan-Ovidiu Andrei: DanAndrei@ucvro University of Craiova Faculty of Automation, Computers and Electronics

More information

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology

Web-APIs. Examples Consumer Technology Cross-Domain communication Provider Technology Web-APIs Examples Consumer Technology Cross-Domain communication Provider Technology Applications Blogs and feeds OpenStreetMap Amazon, Ebay, Oxygen, Magento Flickr, YouTube 3 more on next pages http://en.wikipedia.org/wiki/examples_of_representational_state_transfer

More information

Introduction to Web Services

Introduction to Web Services Introduction to Web Services SWE 642, Spring 2008 Nick Duan April 9, 2008 1 Overview What are Web Services? A brief history of WS Basic components of WS Advantages of using WS in Web application development

More information

Ambientes de Desenvolvimento Avançados

Ambientes de Desenvolvimento Avançados Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav/adav.htm Aula 20 Engenharia Informática 2005/2006 José António Tavares jrt@isep.ipp.pt 1 Web services standards 2 1 Antes

More information

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Components. Software{ User Programs. Operating System. Hardware Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point

More information

Shankersinh Vaghela Bapu Institue of Technology

Shankersinh Vaghela Bapu Institue of Technology Branch: - 6th Sem IT Year/Sem : - 3rd /2014 Subject & Subject Code : Faculty Name : - Nitin Padariya Pre Upload Date: 31/12/2013 Submission Date: 9/1/2014 [1] Explain the need of web server and web browser

More information