Docstoc

Web services_1_

Document Sample
Web services_1_ Powered By Docstoc
					WEB SERVICES
FIRST AND FOREMOST - LINKS
 Tomcat 6.0 - http://tomcat.apache.org/download-60.cgi
 AXIS2 - http://axis.apache.org/axis2/java/core/download.cgi
 NetBeans - http://netbeans.org/downloads/index.html
 How to setup Tomcat server in NetBeans with Axis -
  http://netbeans.org/kb/docs/websvc/gs-axis.html
 Creating Axis2 Web Services on NetBeans -
  http://netbeans.org/kb/docs/websvc/gs-axis.html
 Creating Web Service Client - http://netbeans.org/kb/docs/websvc/client.html
 Official JEE tutorial -
  http://download.oracle.com/javaee/6/tutorial/doc/index.html
JAVA AND THE (INTERNAL) WEB
 This is JEE (or J2EE, or Java Enterprise Edition)
 Most programs use client/server paradigm
 Instead of implementing Servers and communication code every time,
  there is a framework of protocols for servers that can execute Java
  code
 There are different implementations of JEE servers – Apache, Tomcat,
  Glassfish (and more, and more…)
 These servers can run multiple types of logic code
 It’s actually more complicated than this… but let’s keep it simple for
  now
WEB SERVICES
 Try to solve the problem of exposing data without the need for the
  server and client to be written in the same programming
  language (or by the same developer, or the same environments, or
  anything the same)
 How ?
 Server (da!?)  get requests from Client (da!?!?)  returns responses
  (well… da!?)
WEB SERVICES
 There are three protocols that are used here:
 WSDL (Web Services Description Language) - an XML file that
  describes the methods, parameters and return values for the service in
  the server
 XML (Extensible Markup Language) - for the data (so anyone can read
  it… it’s just text in a certain format)
 SOAP (Simple Object Access Protocol) - for moving (that mean
  serializing and sending over the net) the data between client and server
 Oh… all this stuff runs over HTTP protocol…
WEB SERVICES WITH AXIS2 AND TOMCAT

 Web services can be implemented in different languages and in each
  language with different implementations
 We’re using AXIS2
 But parsing XML messages and send XML messages is not enough
 Someone needs to handle the HTTP requests and responses (just like
  any web server)
 And for that we’re going to use Tomcat
TOMCAT
 Tomcat is a JEE web server
 It can run web sites
 But it can also runs Java code
 Just link ANY other web server it handles the protocol of HTTP
  requests and HTTP responses
 The Java code that runs on a JEE server is call a Servlet
 If we want to run web services we need a Servlet that runs it
 And that is AXIS2
AXIS2
 AXIS2 is a code that knows how to handle Web Services requests and
  responses
 It’s basically an XML parsing engine
 It handles web requests that the Tomcat server send to it
 It extracts the XML message from the HTTP request
 Send it to any logic we deploy in it
 And then do the opposite with the response
 Basically, is a Java code that runs Java code (that going to be YOUR
  code!)
THE PROCESS
 You write your server code (with business logic)
 You package it (what !?) into an AXIS web container
 (Packaging means taking all the compiled classes, resource and some
  XML files and placing them in a zip file – but with a different extenstion
  like JAR, WAR, AAR)
 You deploy this it into AXIS2
 Either AXIS2 will refresh automatically or you’ll need to refresh it
  manually
 That’s it! (for the server part)
CLIENT/SERVER PARADIGM
 What does it mean to write client/server code ?
 It means that most of the business logic is written in the server side
 The server and the client have a shared context – meaning, the server
  knows how to dispatch different results for the same methods for
  different clients
 A Session is the term for the lifespan of a client with a server
 A session is alive only as long as the client is alive
 The clients are “simple” and just show the server data (in their
  context)
CLIENT/SERVER PARADIGM
 So when converting an application to run in a client/server mode,
  you’re actually writing two programs
 The client side should:
    Have a communication layer with the server
    Convert the server data to its own internal model
 The server side should:
    Know how to handle multiple clients
    Save a context for each client session

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:7/3/2013
language:Unknown
pages:12