SlideShare a Scribd company logo
Topic 4

  Java API for XML Web Services



Assoc.Prof. Dr. Thanachart Numnonda
       www.imcinstitute.com
            August 2010
Agenda
 Java APIs   for Web Services
 JAX-RPC

 JAX-WS




                                 2
Java APIs for Web Services




                             3
JWSDP
   Java Web Services Development Pack (JWSDP) is a free
    software development kit (SDK) for developing Web
    Services
   JWSDP has been replaced by GlassFish and WSIT and
    several components are in Java SE 6.
   JWSDP APIs
          Java API for XML Processing (JAXP), v 1.3
          Java Architecture for XML Binding (JAXB), v 1.0 and 2.0
          JAX-RPC v 1.1
          JAX-WS v 2.0
          SAAJ (SOAP with Attachments API for Java)
          Java API for XML Registries (JAXR)
                                                                     4
Java API for XML Processing (JAXP)
• JAXP enables applications to parse, validate and
  transform XML documents.
• Java developers can invoke
   • SAX parser
   • DOM parser
• The main JAXP APIs are defined in the
  javax.xml.parsers package
   • SAXParserFactory
   • DocumentBuilderFactory



                                                     5
Java API for XML Binding (JAXB)
• JAXB allows Java developers to access and process XML data
  without having to know XML or XML processing.
• JAXB is a Java technology that enables you to generate Java
  classes from XML schemas by means of a JAXB binding
  compiler.
• unmarshalling
   • XML instance documents into Java content trees
• marshalling
   • Java content trees back into XML instance documents.

                                                                6
SAAJ (SOAP with Attachments
         API for Java™)
• SAAJ provides a convenient API for constructing
and sending SOAP messages without having to
directly create the XML yourself.
• SAAJ was originally part of the Java API
for XML Messaging (JAXM) Separated out from
 JAXM 1.0 into JAXM 1.1 and SAAJ 1.1
 (SAAJ 1.3 (Java EE 5))
                                                    7
JAXR
• Standard Java API for performing registry operations
  over diverse set of registries
     Web service publication & discovery

• A unified information model for describing business
  registry content
• Provides multi-layered API abstractions
     Level 0: for UDDI
     Level 1: for ebXML registry/repository
                                                         8
JAX-RPC

• XML data types to/from Java types mapping
• SOAP Message Handler framework
• WSDL to/from Java mapping
• Servlet-based Web service endpoint model
• JAX-RPC Client Programming Models
• Extensible type mapping

                                              9
JAX-WS (JAX-RPC 2.0)
•   New handler framework
•   Metadata-based Web services
•   Operational style improvement
•   Asynchronous Web services
•   Support for non-HTTP transport
•   Interoperable attachments (as part of WS-I)
•   Secure Web services (as part of Security)


                                                  10
JAXM

• JAXM is not part of Java EE 5
• JAXM-based asynchronous messaging on Java EE 5
  is supported via
     Message-driven Bean (MDB) in EJB 3 can receive
    both JMS and JAXM message types
     Connector 1.5 allows pluggability of various types
    message providers (JAXM provider and JMS
    provider)

                                                          11
Java APIs for Web Services Protocols
   SOAP
       JAXM 1.0 (JSR 67), SAAJ
       JAX-RPC => JAX-WS 2.0 (JSR 224)
   WSDL
       JAX-RPC => JAX-WS 2.0 (JSR 224)
   UDDI
       JAXR 1.0 (JSR 93)




                                          12
Sun’s Web Services Stack




                           13
JAX-RPC




          14
Remote Procedure Call (RPC)
                             Request

                            Response
        Client System                          Server System

   RPC, COM, CORBA, RMI:
    
        Synchronous communication: calling process blocks until
        there is a response
    
        More tightly coupled (than non-RPC model): client must
        find recipients and know method and its arguments
    
        Non persistent
Remote Procedure Calls

Client       Interface                  Interface         Servant

               Stub                     Skeleton



             Run Time      Protocol     Run Time

         
           Common Interface between client and Server
         
           Stub for client, Skeleton/Tie for server
         
           On-the-wire protocol needs to be agreed upon
RPC Example – Java RMI
                     <<Interface>>
                     Java Remote
                       Interface


                     rmic compiler

  Client                               Remote Object
                                       Implementation



RMI Client                               RMI Server
  Stub                                    Skeleton

           Java Remote Method Protocol (JRMP) is
                   On-the-wire protocol
RPC Example - JAX-RPC
Common Interface
   Service is described in IDL (Interface Description
    Language)
      IDL ofCORBA service
      Java RMI interface in RMI (Language specific)
      WSDL for Web service

   Used by tools to statically or dynamically generate
    and/or configure interfaces, proxies, and ties in a
    network technology specific environment
What is JAX-RPC?
   Java™ API for XML-based RPC
       Web Services operations are performed by exchanging
        SOAP 1.1 messages
   Services are described using WSDL
    •   WSDL is the contract between service provider and
        client (only contract needed)
   Web service endpoints and clients use JAX-RPC
    programming model
   Key technology for Web Services in the J2EE 1.4
    platform
JAX-RPC Design Goals
   Easy to use programming model
    •   For both defining & using a service
   Hides all the plumbing
    •   You don't have to create SOAP messages yourself
   SOAP and WSDL-based interoperability
    •   Interoperate with any SOAP 1.1 compliant peers
   Extensibility and Modularity
    •   Support new versions of XML specification, i.e. SOAP 1.2
        and beyond
    •   Message handler architecture
JAX-RPC Architecture
    JAX-RPC                                             JAX-RPC
      Client                WSDL Document            Service Endpoint
 Generated        JavaWSDL             WSDLJava
   Code

Container                                                   Container


      Client-side JAX-RPC                   Server-side JAX-RPC
        Runtime System                        Runtime System


                                SOAP

                                HTTP
JAX-RPC Runtime System
   Core of a JAX-RPC implementation:
    • Library that provides runtime services
      for JAX-RPC mechanisms
    • Implements some of the JAX-RPC APIs
   Client side:
    • Can be implemented over J2SE™, J2EE™ or J2ME™
      platforms
   Server-side:
    • J2EE 1.3 or 1.4 Containers: EJB™ or Servlet
Developing a Web Service
       Interfaces (java.rmi.Remote type)
       Must follow JAX-RPC conventions


       Implementation classes
       Servlet-based endpoint model
       Optional handler and serializer classes

tool
               WSDL      Service contract

       Packaged application (war file)
JAX-RPC : Web Service Endpoint
                                  JAX-RPC
                               Service Endpoint
          WSDL<-->Java


  WSDL Document           Container


                         Server-Side
                          JAX-RPC
                           Runtime
                           System
             SOAP

             HTTP
JAX-WS




         26
Quick overview of JAX-WS
   Easy way to use Java API for XML Web Services
       Replace JAX-RPC
   Just add @annotation to POJO
       XML Descriptor free programming
 Layer architecture
 SOAP 1.2 (Document/Literal)
 Use JAXB for data binding
 Protocol and transport independence
 Part of Java SE6 and Java EE 5 Platform
                                                    27
JAX-WS Layered Architecture




                              28
What Does It Mean?
• Upper layer uses annotations extensively
     • Easy to use
     • Great toolability
     • Fewer generated classes
• Lower layer is more traditional
     • API-based
     • For advanced scenarios
• Most application will use the upper layer only
• Either way, portability is guaranteed

                                                   29
Two ways to create a Web Service
• Starting from a WSDL file
  > Generate classes using wsimport (=> xjc)
    > WS interface
    > WS implementation skeleton class
  > Implement WS interface
  > Build and deploy
• Starting from a Java class (POJO)
  > Annotate POJO
  > Build and deploy
    > WSDL file generated automatically

                                               30
Start with a Java Class




                          31
Server-Side Programming Model: POJO

1    Write a POJO implementing the service
2    Add @WebService annotation to it
3    Build and Deploy the application
    WSDL is automatically generated at runtime
1    Point your clients at the WSDL
    e.g. http://myserver/myapp/MyService?WSDL




                                                 32
Example 1: Servlet-Based Endpoint
@WebService
public class Calculator {
    public int add( int a, int b) {
        return a + b;
    }
}



• @WebService annotation
  • All public methods become web service operations
• WSDL/Schema generated automatically
  • Default values are used
                                                       33
Service Description Default Mapping
• Java mapping => WSDL




                                       34
Example 2: EJB-Based Endpoint
@WebService
@Stateless
public class Calculator {
    public int add( int a, int b) {
        return a + b;
    }
}



• It’s a regular EJB 3.0 component, so it can use any
  EJB features
   > Transactions, security, interceptors...

                                                        35
Customizing through Annotations
@WebService(name=”CreditRatingService”,
            targetNamespace=”http://example.org”)
public class CreditRating {

     @WebMethod(operationName=”getCreditScore”)
     public Score getCredit(
         @WebParam(name=”customer”)
         Customer c) {
         // ... implementation code ...
    }
}




                                                    36
Start with a WSDL file




                         37
Generating an interface from WSDL
• WSDL => Java generation




                                      38
Implementing a Web Service from
     a Generated Interface




                                  39
Server Side Web Service




                          40
JAX-WS uses JAXB for Data Binding




                                    41
add() Parameter : Example




                            42
JAXB XML Schema to Java Mapping




                                  43
Client Side Programming




                          44
Java SE Client Side Programming

•   Point a tool (NetBeans or wsimport) at the WSDL
    for the service
       wsimport http://example.org/Calculator.wsdl
•    Generate annotated classes and interfaces
•    Call new on the service class
•    Get a proxy using a get<ServiceName>Port method
•    Invoke any remote operations


                                                       45
Example : Java SE-Based Client

CalculatorService svc = new CalculatorService();
Calculator proxy = svc.getCalculatorPort();
int answer = proxy.add(35, 7);




• No need to use factories
• The code is fully portable
• XML is completely hidden from programmer



                                                   46
Java EE Client Side Programming

•   Point a tool (NetBeans or wsimport) at the WSDL
    for the service
    wsimport http://example.org/calculator.wsdl
•   Generate annotated classes and interfaces
•   Inject a @WebServiceReference of the
    appropriate type
•   No JNDI needed
•   Invoke any remote operations
                                                      47
Example : Java EE-Based Client

@Stateless
public class MyBean {
   // Resource injection
   @WebServiceRef(CalculatorService.class)
   Calculator proxy;

    public int mymethod() {
       return proxy.add(35, 7);
}




                                             48
Client Side




              49
Annotations Used in JAX-WS
• JSR 181: Web Services Metadata for the
  Java Platform
• JSR 222: Java Architecture for XML
  Binding (JAXB)
• JSR 224: Java API for XML Web Services
  (JAX-WS)
• JSR 250: Common Annotations for the
  Java Platform
@WebService
• Marks a Java class as implementing a
  Web Service, or a Java interface as
  defining a Web Service interface.
• Attributes
  > endpointInterface
  > name
  > portName
  > serviceName
  > targetNamespace
  > wsdlLocation
@WebMethod
• Customizes a method that is exposed as
  a Web Service operation
• The method is not required to throw
  java.rmi.RemoteException.
• Attributes
 > action
 > exclude
 > operationName
@WebParam
• Customizes the mapping of an individual
  parameter to a Web Service message
  part and XML element.
• Attributes
  > header
  > mode
  > name
  > partName
  > targetNamespace
@WebResult
• Customizes the mapping of the return
  value to a WSDL part and XML element.
• Attributes
 >   header
 >   name
 >   partName
 >   targetNamespace
JAX-WS - Provider
• Web Service endpoints may choose to work at
  the XML message level by implementing the
  Provider interface.
• The endpoint accesses the message or
  message payload using this low-level, generic
  API
• Implement one of the following
  > Provider<Source>
  > Provider<SOAPMessage>
  > Provider<DataSource>
JAX-WS - Provider
JAX-WS - Dispatch
• Web service client applications may choose to
  work at the XML message level by using the
  Dispatch<T> APIs.
• The javax.xml.ws.Dispatch<T> interface
  provides support for the dynamic invocation of
  service endpoint operations.
• Similar to Provider on server side
JAX-WS - Dispatch
Resources
 Some contents are borrowed from the presentation
  slides of Sang Shin, Java™ Technology Evangelist,
  Sun Microsystems, Inc.
 Web Services and Java, Elsa Estevez, Tomasz
  Janowski and Gabriel Oteniya, UNU-IIST, Macau




                                                      59
Thank you

   thananum@gmail.com
www.facebook.com/imcinstitute
   www.imcinstitute.com



                                60

More Related Content

What's hot (20)

Concept of SOA
Concept of SOAConcept of SOA
Concept of SOA
Sylvain Witmeyer
 
Distributed Caching in Kubernetes with Hazelcast
Distributed Caching in Kubernetes with HazelcastDistributed Caching in Kubernetes with Hazelcast
Distributed Caching in Kubernetes with Hazelcast
Mesut Celik
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Reactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project ReactorReactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project Reactor
Knoldus Inc.
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
GeoSolutions
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
HostedbyConfluent
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
gummadi1
 
IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateways - What's new in 2016 v7.5.2IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateway
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptx
Vignesh kumar
 
Rest web services
Rest web servicesRest web services
Rest web services
Paulo Gandra de Sousa
 
Building Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak CoreBuilding Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak Core
Andy Gross
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
Martin Toshev
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
Open Source Consulting
 
Tomcat
TomcatTomcat
Tomcat
Venkat Pinagadi
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overview
Chris Sparshott
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman Shareef
 
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Neeraj Kumar
 
Introduction to Microservices.pdf
Introduction to Microservices.pdfIntroduction to Microservices.pdf
Introduction to Microservices.pdf
ShehanNIlanka
 
Firebase
FirebaseFirebase
Firebase
Ranjith Alappadan
 
Distributed Caching in Kubernetes with Hazelcast
Distributed Caching in Kubernetes with HazelcastDistributed Caching in Kubernetes with Hazelcast
Distributed Caching in Kubernetes with Hazelcast
Mesut Celik
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
07.pallav
 
Reactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project ReactorReactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project Reactor
Knoldus Inc.
 
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
Mastering Security with GeoServer and GeoFence - FOSS4G EU 2017
GeoSolutions
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
HostedbyConfluent
 
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Microservices Platform with Spring Boot, Spring Cloud Config, Spring Cloud Ne...
Tin Linn Soe
 
Websphere interview Questions
Websphere interview QuestionsWebsphere interview Questions
Websphere interview Questions
gummadi1
 
IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateways - What's new in 2016 v7.5.2IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateways - What's new in 2016 v7.5.2
IBM DataPower Gateway
 
Exchange server.pptx
Exchange server.pptxExchange server.pptx
Exchange server.pptx
Vignesh kumar
 
Building Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak CoreBuilding Distributed Systems With Riak and Riak Core
Building Distributed Systems With Riak and Riak Core
Andy Gross
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
Martin Toshev
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
Open Source Consulting
 
WebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overviewWebSphere application server 8.5.5 - quick overview
WebSphere application server 8.5.5 - quick overview
Chris Sparshott
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Luqman Shareef
 
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Part 03: Azure Virtual Networks – Understanding and Creating Point-to-Site VP...
Neeraj Kumar
 
Introduction to Microservices.pdf
Introduction to Microservices.pdfIntroduction to Microservices.pdf
Introduction to Microservices.pdf
ShehanNIlanka
 

Viewers also liked (20)

Java Web Services
Java Web ServicesJava Web Services
Java Web Services
Jussi Pohjolainen
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
Pradeep Rapolu
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
Nicholas Zakas
 
Javascript Best Practices
Javascript Best PracticesJavascript Best Practices
Javascript Best Practices
Christian Heilmann
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
IMC Institute
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Shreeraj Shah
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
Restful Web Services
Restful Web ServicesRestful Web Services
Restful Web Services
Angelin R
 
Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
Lorna Mitchell
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
Peter R. Egli
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
guest0df6b0
 
Web Services PHP Tutorial
Web Services PHP TutorialWeb Services PHP Tutorial
Web Services PHP Tutorial
Lorna Mitchell
 
Testing web services
Testing web servicesTesting web services
Testing web services
Taras Lytvyn
 
Spring database - part2
Spring database -  part2Spring database -  part2
Spring database - part2
Santosh Kumar Kar
 
Springs
SpringsSprings
Springs
Santosh Kumar Kar
 
Java Web Service - Summer 2004
Java Web Service - Summer 2004Java Web Service - Summer 2004
Java Web Service - Summer 2004
Danny Teng
 
JAXP
JAXPJAXP
JAXP
Pon Akilan Senthilvel
 
Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108
nit Allahabad
 
Simple API for XML
Simple API for XMLSimple API for XML
Simple API for XML
guest2556de
 
Spring transaction part4
Spring transaction   part4Spring transaction   part4
Spring transaction part4
Santosh Kumar Kar
 
XML, DTD & XSD Overview
XML, DTD & XSD OverviewXML, DTD & XSD Overview
XML, DTD & XSD Overview
Pradeep Rapolu
 
Scalable JavaScript Application Architecture
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
Nicholas Zakas
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
IMC Institute
 
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Hacking Web 2.0 - Defending Ajax and Web Services [HITB 2007 Dubai]
Shreeraj Shah
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
Santosh Kumar Kar
 
Restful Web Services
Restful Web ServicesRestful Web Services
Restful Web Services
Angelin R
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
Peter R. Egli
 
Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
guest0df6b0
 
Web Services PHP Tutorial
Web Services PHP TutorialWeb Services PHP Tutorial
Web Services PHP Tutorial
Lorna Mitchell
 
Testing web services
Testing web servicesTesting web services
Testing web services
Taras Lytvyn
 
Java Web Service - Summer 2004
Java Web Service - Summer 2004Java Web Service - Summer 2004
Java Web Service - Summer 2004
Danny Teng
 
Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108Jaxp Xmltutorial 11 200108
Jaxp Xmltutorial 11 200108
nit Allahabad
 
Simple API for XML
Simple API for XMLSimple API for XML
Simple API for XML
guest2556de
 
Ad

Similar to Java Web Services [4/5]: Java API for XML Web Services (20)

Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
Vaibhav Khanna
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
Fahad Golra
 
Java Web services
Java Web servicesJava Web services
Java Web services
Sujit Kumar
 
Deawsj 7 ppt-2_a
Deawsj 7 ppt-2_aDeawsj 7 ppt-2_a
Deawsj 7 ppt-2_a
Niit Care
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
Return on Intelligence
 
Jax ws
Jax wsJax ws
Jax ws
F K
 
15376199.ppt
15376199.ppt15376199.ppt
15376199.ppt
abdulbasetalselwi
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
BIOVIA
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxf
Roger Xia
 
Ntg web services
Ntg   web servicesNtg   web services
Ntg web services
Farag Zakaria
 
Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)
Heartin Jacob
 
java-webservices introduction ppt for beginners
java-webservices introduction ppt for beginnersjava-webservices introduction ppt for beginners
java-webservices introduction ppt for beginners
VasantPrasad
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
Sunitha Satyadas
 
SCDJWS 5. JAX-WS
SCDJWS 5. JAX-WSSCDJWS 5. JAX-WS
SCDJWS 5. JAX-WS
Francesco Ierna
 
Web services soap rest training
Web services soap rest trainingWeb services soap rest training
Web services soap rest training
FuturePoint Technologies
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
Peter R. Egli
 
Java Web services
Java Web servicesJava Web services
Java Web services
vpulec
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Juarez Junior
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
Vaibhav Khanna
 
Lecture 7 Web Services JAX-WS & JAX-RS
Lecture 7   Web Services JAX-WS & JAX-RSLecture 7   Web Services JAX-WS & JAX-RS
Lecture 7 Web Services JAX-WS & JAX-RS
Fahad Golra
 
Java Web services
Java Web servicesJava Web services
Java Web services
Sujit Kumar
 
Deawsj 7 ppt-2_a
Deawsj 7 ppt-2_aDeawsj 7 ppt-2_a
Deawsj 7 ppt-2_a
Niit Care
 
Jax ws
Jax wsJax ws
Jax ws
F K
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
slire
 
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
(ATS4-DEV04) Protocols as RESTful Services and RESTful URL Routing
BIOVIA
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxf
Roger Xia
 
Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)Intro To Web and Web Services (REST Series 01)
Intro To Web and Web Services (REST Series 01)
Heartin Jacob
 
java-webservices introduction ppt for beginners
java-webservices introduction ppt for beginnersjava-webservices introduction ppt for beginners
java-webservices introduction ppt for beginners
VasantPrasad
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
Peter R. Egli
 
Java Web services
Java Web servicesJava Web services
Java Web services
vpulec
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Juarez Junior
 
What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3What's New and Noteworthy on Oracle CAF 12.1.3
What's New and Noteworthy on Oracle CAF 12.1.3
Bruno Borges
 
Ad

More from IMC Institute (20)

นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14
IMC Institute
 
Digital trends Vol 4 No. 13 Sep-Dec 2019
Digital trends Vol 4 No. 13  Sep-Dec 2019Digital trends Vol 4 No. 13  Sep-Dec 2019
Digital trends Vol 4 No. 13 Sep-Dec 2019
IMC Institute
 
บทความ The evolution of AI
บทความ The evolution of AIบทความ The evolution of AI
บทความ The evolution of AI
IMC Institute
 
IT Trends eMagazine Vol 4. No.12
IT Trends eMagazine  Vol 4. No.12IT Trends eMagazine  Vol 4. No.12
IT Trends eMagazine Vol 4. No.12
IMC Institute
 
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformationเพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
IMC Institute
 
IT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to WorkIT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to Work
IMC Institute
 
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรมมูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
IMC Institute
 
IT Trends eMagazine Vol 4. No.11
IT Trends eMagazine  Vol 4. No.11IT Trends eMagazine  Vol 4. No.11
IT Trends eMagazine Vol 4. No.11
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
บทความ The New Silicon Valley
บทความ The New Silicon Valleyบทความ The New Silicon Valley
บทความ The New Silicon Valley
IMC Institute
 
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)
IMC Institute
 
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
IMC Institute
 
IT Trends eMagazine Vol 3. No.9
IT Trends eMagazine  Vol 3. No.9 IT Trends eMagazine  Vol 3. No.9
IT Trends eMagazine Vol 3. No.9
IMC Institute
 
Thailand software & software market survey 2016
Thailand software & software market survey 2016Thailand software & software market survey 2016
Thailand software & software market survey 2016
IMC Institute
 
Developing Business Blockchain Applications on Hyperledger
Developing Business  Blockchain Applications on Hyperledger Developing Business  Blockchain Applications on Hyperledger
Developing Business Blockchain Applications on Hyperledger
IMC Institute
 
Digital transformation @thanachart.org
Digital transformation @thanachart.orgDigital transformation @thanachart.org
Digital transformation @thanachart.org
IMC Institute
 
บทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.orgบทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.org
IMC Institute
 
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformationกลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
IMC Institute
 
นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14นิตยสาร Digital Trends ฉบับที่ 14
นิตยสาร Digital Trends ฉบับที่ 14
IMC Institute
 
Digital trends Vol 4 No. 13 Sep-Dec 2019
Digital trends Vol 4 No. 13  Sep-Dec 2019Digital trends Vol 4 No. 13  Sep-Dec 2019
Digital trends Vol 4 No. 13 Sep-Dec 2019
IMC Institute
 
บทความ The evolution of AI
บทความ The evolution of AIบทความ The evolution of AI
บทความ The evolution of AI
IMC Institute
 
IT Trends eMagazine Vol 4. No.12
IT Trends eMagazine  Vol 4. No.12IT Trends eMagazine  Vol 4. No.12
IT Trends eMagazine Vol 4. No.12
IMC Institute
 
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformationเพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
เพราะเหตุใด Digitization ไม่ตอบโจทย์ Digital Transformation
IMC Institute
 
IT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to WorkIT Trends 2019: Putting Digital Transformation to Work
IT Trends 2019: Putting Digital Transformation to Work
IMC Institute
 
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรมมูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
มูลค่าตลาดดิจิทัลไทย 3 อุตสาหกรรม
IMC Institute
 
IT Trends eMagazine Vol 4. No.11
IT Trends eMagazine  Vol 4. No.11IT Trends eMagazine  Vol 4. No.11
IT Trends eMagazine Vol 4. No.11
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
บทความ The New Silicon Valley
บทความ The New Silicon Valleyบทความ The New Silicon Valley
บทความ The New Silicon Valley
IMC Institute
 
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10นิตยสาร IT Trends ของ  IMC Institute  ฉบับที่ 10
นิตยสาร IT Trends ของ IMC Institute ฉบับที่ 10
IMC Institute
 
แนวทางการทำ Digital transformation
แนวทางการทำ Digital transformationแนวทางการทำ Digital transformation
แนวทางการทำ Digital transformation
IMC Institute
 
The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)The Power of Big Data for a new economy (Sample)
The Power of Big Data for a new economy (Sample)
IMC Institute
 
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
บทความ Robotics แนวโน้มใหม่สู่บริการเฉพาะทาง
IMC Institute
 
IT Trends eMagazine Vol 3. No.9
IT Trends eMagazine  Vol 3. No.9 IT Trends eMagazine  Vol 3. No.9
IT Trends eMagazine Vol 3. No.9
IMC Institute
 
Thailand software & software market survey 2016
Thailand software & software market survey 2016Thailand software & software market survey 2016
Thailand software & software market survey 2016
IMC Institute
 
Developing Business Blockchain Applications on Hyperledger
Developing Business  Blockchain Applications on Hyperledger Developing Business  Blockchain Applications on Hyperledger
Developing Business Blockchain Applications on Hyperledger
IMC Institute
 
Digital transformation @thanachart.org
Digital transformation @thanachart.orgDigital transformation @thanachart.org
Digital transformation @thanachart.org
IMC Institute
 
บทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.orgบทความ Big Data จากบล็อก thanachart.org
บทความ Big Data จากบล็อก thanachart.org
IMC Institute
 
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformationกลยุทธ์ 5 ด้านกับการทำ Digital Transformation
กลยุทธ์ 5 ด้านกับการทำ Digital Transformation
IMC Institute
 

Recently uploaded (20)

Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdfENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Data Validation and System Interoperability
Data Validation and System InteroperabilityData Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free DownloadViral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Viral>Wondershare Filmora 14.5.18.12900 Crack Free Download
Puppy jhon
 
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
“Why It’s Critical to Have an Integrated Development Methodology for Edge AI,...
Edge AI and Vision Alliance
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptxFIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
 
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdfcnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
cnc-drilling-dowel-inserting-machine-drillteq-d-510-english.pdf
AmirStern2
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdfENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Data Validation and System Interoperability
Data Validation and System InteroperabilityData Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptxFIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 

Java Web Services [4/5]: Java API for XML Web Services

  • 1. Topic 4 Java API for XML Web Services Assoc.Prof. Dr. Thanachart Numnonda www.imcinstitute.com August 2010
  • 2. Agenda  Java APIs for Web Services  JAX-RPC  JAX-WS 2
  • 3. Java APIs for Web Services 3
  • 4. JWSDP  Java Web Services Development Pack (JWSDP) is a free software development kit (SDK) for developing Web Services  JWSDP has been replaced by GlassFish and WSIT and several components are in Java SE 6.  JWSDP APIs  Java API for XML Processing (JAXP), v 1.3  Java Architecture for XML Binding (JAXB), v 1.0 and 2.0  JAX-RPC v 1.1  JAX-WS v 2.0  SAAJ (SOAP with Attachments API for Java)  Java API for XML Registries (JAXR) 4
  • 5. Java API for XML Processing (JAXP) • JAXP enables applications to parse, validate and transform XML documents. • Java developers can invoke • SAX parser • DOM parser • The main JAXP APIs are defined in the javax.xml.parsers package • SAXParserFactory • DocumentBuilderFactory 5
  • 6. Java API for XML Binding (JAXB) • JAXB allows Java developers to access and process XML data without having to know XML or XML processing. • JAXB is a Java technology that enables you to generate Java classes from XML schemas by means of a JAXB binding compiler. • unmarshalling • XML instance documents into Java content trees • marshalling • Java content trees back into XML instance documents. 6
  • 7. SAAJ (SOAP with Attachments API for Java™) • SAAJ provides a convenient API for constructing and sending SOAP messages without having to directly create the XML yourself. • SAAJ was originally part of the Java API for XML Messaging (JAXM) Separated out from JAXM 1.0 into JAXM 1.1 and SAAJ 1.1 (SAAJ 1.3 (Java EE 5)) 7
  • 8. JAXR • Standard Java API for performing registry operations over diverse set of registries Web service publication & discovery • A unified information model for describing business registry content • Provides multi-layered API abstractions Level 0: for UDDI Level 1: for ebXML registry/repository 8
  • 9. JAX-RPC • XML data types to/from Java types mapping • SOAP Message Handler framework • WSDL to/from Java mapping • Servlet-based Web service endpoint model • JAX-RPC Client Programming Models • Extensible type mapping 9
  • 10. JAX-WS (JAX-RPC 2.0) • New handler framework • Metadata-based Web services • Operational style improvement • Asynchronous Web services • Support for non-HTTP transport • Interoperable attachments (as part of WS-I) • Secure Web services (as part of Security) 10
  • 11. JAXM • JAXM is not part of Java EE 5 • JAXM-based asynchronous messaging on Java EE 5 is supported via Message-driven Bean (MDB) in EJB 3 can receive both JMS and JAXM message types Connector 1.5 allows pluggability of various types message providers (JAXM provider and JMS provider) 11
  • 12. Java APIs for Web Services Protocols  SOAP  JAXM 1.0 (JSR 67), SAAJ  JAX-RPC => JAX-WS 2.0 (JSR 224)  WSDL  JAX-RPC => JAX-WS 2.0 (JSR 224)  UDDI  JAXR 1.0 (JSR 93) 12
  • 14. JAX-RPC 14
  • 15. Remote Procedure Call (RPC) Request Response Client System Server System  RPC, COM, CORBA, RMI:  Synchronous communication: calling process blocks until there is a response  More tightly coupled (than non-RPC model): client must find recipients and know method and its arguments  Non persistent
  • 16. Remote Procedure Calls Client Interface Interface Servant Stub Skeleton Run Time Protocol Run Time  Common Interface between client and Server  Stub for client, Skeleton/Tie for server  On-the-wire protocol needs to be agreed upon
  • 17. RPC Example – Java RMI <<Interface>> Java Remote Interface rmic compiler Client Remote Object Implementation RMI Client RMI Server Stub Skeleton Java Remote Method Protocol (JRMP) is On-the-wire protocol
  • 18. RPC Example - JAX-RPC
  • 19. Common Interface  Service is described in IDL (Interface Description Language)  IDL ofCORBA service  Java RMI interface in RMI (Language specific)  WSDL for Web service  Used by tools to statically or dynamically generate and/or configure interfaces, proxies, and ties in a network technology specific environment
  • 20. What is JAX-RPC?  Java™ API for XML-based RPC  Web Services operations are performed by exchanging SOAP 1.1 messages  Services are described using WSDL • WSDL is the contract between service provider and client (only contract needed)  Web service endpoints and clients use JAX-RPC programming model  Key technology for Web Services in the J2EE 1.4 platform
  • 21. JAX-RPC Design Goals  Easy to use programming model • For both defining & using a service  Hides all the plumbing • You don't have to create SOAP messages yourself  SOAP and WSDL-based interoperability • Interoperate with any SOAP 1.1 compliant peers  Extensibility and Modularity • Support new versions of XML specification, i.e. SOAP 1.2 and beyond • Message handler architecture
  • 22. JAX-RPC Architecture JAX-RPC JAX-RPC Client WSDL Document Service Endpoint Generated JavaWSDL WSDLJava Code Container Container Client-side JAX-RPC Server-side JAX-RPC Runtime System Runtime System SOAP HTTP
  • 23. JAX-RPC Runtime System  Core of a JAX-RPC implementation: • Library that provides runtime services for JAX-RPC mechanisms • Implements some of the JAX-RPC APIs  Client side: • Can be implemented over J2SE™, J2EE™ or J2ME™ platforms  Server-side: • J2EE 1.3 or 1.4 Containers: EJB™ or Servlet
  • 24. Developing a Web Service Interfaces (java.rmi.Remote type) Must follow JAX-RPC conventions Implementation classes Servlet-based endpoint model Optional handler and serializer classes tool WSDL Service contract Packaged application (war file)
  • 25. JAX-RPC : Web Service Endpoint JAX-RPC Service Endpoint WSDL<-->Java WSDL Document Container Server-Side JAX-RPC Runtime System SOAP HTTP
  • 26. JAX-WS 26
  • 27. Quick overview of JAX-WS  Easy way to use Java API for XML Web Services  Replace JAX-RPC  Just add @annotation to POJO  XML Descriptor free programming  Layer architecture  SOAP 1.2 (Document/Literal)  Use JAXB for data binding  Protocol and transport independence  Part of Java SE6 and Java EE 5 Platform 27
  • 29. What Does It Mean? • Upper layer uses annotations extensively • Easy to use • Great toolability • Fewer generated classes • Lower layer is more traditional • API-based • For advanced scenarios • Most application will use the upper layer only • Either way, portability is guaranteed 29
  • 30. Two ways to create a Web Service • Starting from a WSDL file > Generate classes using wsimport (=> xjc) > WS interface > WS implementation skeleton class > Implement WS interface > Build and deploy • Starting from a Java class (POJO) > Annotate POJO > Build and deploy > WSDL file generated automatically 30
  • 31. Start with a Java Class 31
  • 32. Server-Side Programming Model: POJO 1 Write a POJO implementing the service 2 Add @WebService annotation to it 3 Build and Deploy the application WSDL is automatically generated at runtime 1 Point your clients at the WSDL e.g. http://myserver/myapp/MyService?WSDL 32
  • 33. Example 1: Servlet-Based Endpoint @WebService public class Calculator { public int add( int a, int b) { return a + b; } } • @WebService annotation • All public methods become web service operations • WSDL/Schema generated automatically • Default values are used 33
  • 34. Service Description Default Mapping • Java mapping => WSDL 34
  • 35. Example 2: EJB-Based Endpoint @WebService @Stateless public class Calculator { public int add( int a, int b) { return a + b; } } • It’s a regular EJB 3.0 component, so it can use any EJB features > Transactions, security, interceptors... 35
  • 36. Customizing through Annotations @WebService(name=”CreditRatingService”, targetNamespace=”http://example.org”) public class CreditRating { @WebMethod(operationName=”getCreditScore”) public Score getCredit( @WebParam(name=”customer”) Customer c) { // ... implementation code ... } } 36
  • 37. Start with a WSDL file 37
  • 38. Generating an interface from WSDL • WSDL => Java generation 38
  • 39. Implementing a Web Service from a Generated Interface 39
  • 40. Server Side Web Service 40
  • 41. JAX-WS uses JAXB for Data Binding 41
  • 42. add() Parameter : Example 42
  • 43. JAXB XML Schema to Java Mapping 43
  • 45. Java SE Client Side Programming • Point a tool (NetBeans or wsimport) at the WSDL for the service wsimport http://example.org/Calculator.wsdl • Generate annotated classes and interfaces • Call new on the service class • Get a proxy using a get<ServiceName>Port method • Invoke any remote operations 45
  • 46. Example : Java SE-Based Client CalculatorService svc = new CalculatorService(); Calculator proxy = svc.getCalculatorPort(); int answer = proxy.add(35, 7); • No need to use factories • The code is fully portable • XML is completely hidden from programmer 46
  • 47. Java EE Client Side Programming • Point a tool (NetBeans or wsimport) at the WSDL for the service wsimport http://example.org/calculator.wsdl • Generate annotated classes and interfaces • Inject a @WebServiceReference of the appropriate type • No JNDI needed • Invoke any remote operations 47
  • 48. Example : Java EE-Based Client @Stateless public class MyBean { // Resource injection @WebServiceRef(CalculatorService.class) Calculator proxy; public int mymethod() { return proxy.add(35, 7); } 48
  • 50. Annotations Used in JAX-WS • JSR 181: Web Services Metadata for the Java Platform • JSR 222: Java Architecture for XML Binding (JAXB) • JSR 224: Java API for XML Web Services (JAX-WS) • JSR 250: Common Annotations for the Java Platform
  • 51. @WebService • Marks a Java class as implementing a Web Service, or a Java interface as defining a Web Service interface. • Attributes > endpointInterface > name > portName > serviceName > targetNamespace > wsdlLocation
  • 52. @WebMethod • Customizes a method that is exposed as a Web Service operation • The method is not required to throw java.rmi.RemoteException. • Attributes > action > exclude > operationName
  • 53. @WebParam • Customizes the mapping of an individual parameter to a Web Service message part and XML element. • Attributes > header > mode > name > partName > targetNamespace
  • 54. @WebResult • Customizes the mapping of the return value to a WSDL part and XML element. • Attributes > header > name > partName > targetNamespace
  • 55. JAX-WS - Provider • Web Service endpoints may choose to work at the XML message level by implementing the Provider interface. • The endpoint accesses the message or message payload using this low-level, generic API • Implement one of the following > Provider<Source> > Provider<SOAPMessage> > Provider<DataSource>
  • 57. JAX-WS - Dispatch • Web service client applications may choose to work at the XML message level by using the Dispatch<T> APIs. • The javax.xml.ws.Dispatch<T> interface provides support for the dynamic invocation of service endpoint operations. • Similar to Provider on server side
  • 59. Resources  Some contents are borrowed from the presentation slides of Sang Shin, Java™ Technology Evangelist, Sun Microsystems, Inc.  Web Services and Java, Elsa Estevez, Tomasz Janowski and Gabriel Oteniya, UNU-IIST, Macau 59
  • 60. Thank you [email protected] www.facebook.com/imcinstitute www.imcinstitute.com 60