Your SlideShare is downloading. ×
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
4/21/10 Page 1
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

4/21/10 Page 1


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. SOA Development and Deployment B. Ramamurthy
  • 2. Topics
    • We looked at a design of a basic SOA.
      • We essentially designed the layers: enterprise, process, intermediary, basic layers.
      • We also discovered the services in these layers.
    • In this lecture we will look at:
      • Components of a web services software
      • Framework needed to develop, deploy and consume web services
  • 3. Develop and deploy SOA
    • Language and a platform (Java on Windows, Java on Linux, or Java on Solaris)
    • IDE for development (Netbeans, Eclipse, BEA Weblogic, IBM’s Websphere, Oracle JDevloper)
    • Application Server/Container for deployment (Apache’s Tomcat, IBM’s Axis, Sun’s JWS, Sun’s Glassfish, Oracle’s IAS)
    • Build tools (Apache Ant, Unix Make utility) and project management tools (Apache Maven)
    • Web server for web clients (Microsoft’s IIS, Netscape, Mozilla Firefox)
    • Testing tools such as JUnit or NUnit testers that are usually packaged with an IDE
    • And then there are standards WC3’s, WS-I, WS-*
  • 4. Your Choice
    • {Linux, Java 5 EE, Glassfish, Ant, Maven, command line}
    • {Linux, Java 5 EE, Glassfish, Ant, Eclipse}
    • {Windows, Java 5 EE, Java Web Server (JWS), Ant, Netbeans}
    • {Windows, .NET C#, Visual Studio .NET, its build tools}
    • {Open source stack: Linux, Apache, MySQL, PHP: LAMP; no particular IDE}
  • 5. Application Architecture SOAP over HTTP Client Stub WS Runtime (APIs) Transport WSDL/ Endpoint impl Proxy WS Runtime (APIs) Transport
  • 6. Develop/Deploy (DD) Cycle (server side)
    • Devlop/deploy cycle uses wscompile and wsdeploy tools to create “artifacts”
    • Wscompile is invoked on a service endpoint interface or WSDL to generate artifacts specified by Java-WS specs and a model file.
    • A model is a Java-WS representation of a web service generated by wscompile, usually in .xml.gz file.
    • Artifacts generated by wscompile are bundled together to form a war file along with a deployment descriptor (raw WAR file). Raw WAR file contains portable artifacts.
    • wsdeploy tool takes this raw WAR file as an input, processes it and generates a WAR file (cooked WAR file) which can be deployed in a servlet container, exposing web service and associated WS to a client. Cooked WAR file contains implementation-specific artifacts.
  • 7. Develop/ Deploy Cycle Service Endpoint Interface WSDL wscompile Portable artifacts Model wsdeploy Deployment Descriptors Cooked WAR Deployed in a container
  • 8. Invocation Model (client side) or Invoke Cycle WSDL wscompile Portable artifacts Implementation -specific artifacts Client Invoke web service Client code
  • 9. wscompile
    • Tool to generate client-side and server-side artifacts (support files) required by Java-WS.
    • It can run from the shell using
    • wscompile [options] config_file
    • Ex:
    • wscompile –gen –classpath lib/foo.jar;/bar.jar – generated config.xml
    • Ant task for wscompile is somewhat like this:
    • <wscompile
    • gen = true
    • base = “${build}”
    • classpath = “xyz.jar”
    • config = “config.xml’>
  • 10. cinfig.xml
    • Configuration file is the primary source of information for wscompile tool.
    • The xml file has elements for service, wsdl, modelfile etc.
    • End point definitions for server and port number are also specified.
  • 11. wsdeploy tool
    • wsdeploy tool is used to generate a WAR file that can be deployed in a container such as Tomcat, J2EE Glasfish, JBoss.
    • It takes a raw WAR file that contains a service endpoint interface, a service endpoint implementation, any value types, any service-specific exceptions, a model file, a deployment descriptor and generates an implementation-specific cooked WAR file.
    • This generates serializers, ties, runtime descriptors, other files needed for runtime deployment.
    • You will use an ant task to generate the war.
  • 12. Apache Ant Tool
    • Ant tool is an XML based build tool.
    • Ant requires its config files to be specified in XML format.
    • Config file build.xml has general commands for ant tool.
    • Ant tool is used for build, deploy, and run java applications.
    • See these tutorial for more information on ant:
    • Ant Book Chapter:
  • 13. Lets Review Basics with Netbeans
    • Java class
    • Java Application
    • Develop and execute Java program with Netbeans IDE
    • Simple WS and WS client
    • Lets study the client semantics
    • Lets understand ports, end points and WSDL
  • 14. Netbeans documents
    • Also look at the help available within the IDE.
  • 15. Summary
    • We learned how to create a simple web service, develop and deploy it and consume it in different types of clients.
    • This exercise forms the basis for the composite SOA application you will be building for this course.