Your SlideShare is downloading. ×
0
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

177

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
177
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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:
    • http://www.oreilly.com/catalog/anttdg/chapter/ch01.pdf
  • 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
    • www.netbeans.org
    • http://www.netbeans.org/kb/55/quickstart-webapps.html
    • http://www.netbeans.org/kb/55/javase-intro.html
    • 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.

×