xml soap services web et java me n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
XML, SOAP, Services Web et JAVA Me PowerPoint Presentation
Download Presentation
XML, SOAP, Services Web et JAVA Me

Loading in 2 Seconds...

play fullscreen
1 / 21

XML, SOAP, Services Web et JAVA Me - PowerPoint PPT Presentation


  • 161 Views
  • Uploaded on

XML, SOAP, Services Web et JAVA Me. Understanding the Web Services Subset API for Java ME. Plan. Services Web XML over http SOAP - RPC. Services Web. Un service web Un composant logiciel qui a été publié sur le World Wide Web

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

XML, SOAP, Services Web et JAVA Me


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
xml soap services web et java me

XML, SOAP, Services Web et JAVA Me

Understanding the Web Services Subset API for Java ME

slide2
Plan
  • Services Web
    • XML over http
    • SOAP - RPC
services web
Services Web
  • Un service web
    • Un composant logiciel qui a été publié sur le World Wide Web
  • Par le biais de descripteurs de service et d’interfaces bien définies,
    • obtenir l’indépendance par rapport au
      • langage de programmation
      • système d’exploitation
      • matériel
    • Couplage lâche entre les fournisseurs de su service et ses utilisateurs
    • Séparation propre entre les interfaces exposées et leur implémentation
services web et java me
Services Web et Java ME
  • Web Services APIs for Java ME
    • JSR 172,
    • packages optionnels
      • Le package pour le traitement XML repose sur
        • Java API for XMP Processing (JAXP) 1.1, JSR 63,
        • la version 2 de Simple API for XML (SAX2).
      • APIs pour l’invocation à distance de services web
        • JAX-RPC : APIs pour les services web sur Java ME
          • Un sous-ensemble de la version 1.1 de l’API Java pour la spécification XML pour RPC (JAX-RPC) 1.1.
diff rences entre jax rpc 1 1 et son sous ensemble java me
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Le profil de base WS-I
    • clarifications et recommendations pour aider à garantir l’interopérabilité entre les différentes implémentation de services web
    • AX-RPC for Java ME se conforme à ces clarifications et recommendations, redéfinissant JAX-RPC 1.1 lorsque c’est nécessaire
  • SOAP 1.1
  • Protocole d’encodage SOAP
    • Les implémentaitons de JAX-RPC for Java ME
      • libres d’utiliser de l’encodage binaire pendant les échanges de messages
      • car XML est trop verbeux
diff rences entre jax rpc 1 1 et son sous ensemble java me1
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • génération et invocation de Stub
    • JAX-RPC 1.1
      • static stub,
      • dynamic proxy,
      • dynamic Invocation Interface (DII) (sans stub).
    • Sous-ensemble Java ME
      • Seulement static
      • Génération des stubs avec un utilitaire de type WSDL-to-Java
        • Exemple: wscompile:
      • Le développeur doit générer lui-même a priori les stubs du services avec lequel il veut interagir
la commande wscompile
La commande wscompile
  • Using the Stub Generator
    • http://java.sun.com/products/sjwtoolkit/wtk2.5.2/docs/UserGuide-html/commandline.html#50626620_pgfId-37687
diff rences entre jax rpc 1 1 et son sous ensemble java me2
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Mode d’interactions au niveau de l’application
    • JAX-RPC 1.1 specifie 3 modèles d’interactions Synchronous request-response two-way RPC
      • Asynchronous (non-blocking) request-response two-way RPC
      • One-way RPC
  • The Java ME JAX-RPC
    • seulement le mode RPC synchrone bi-directionnel
diff rences entre jax rpc 1 1 et son sous ensemble java me3
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Enregistrement et découverte de services
    • Hors de la portée de JAX-RPC 1.1.
      • Universal Description Discovery and Integration (UDDI),
        • le standard de facot.
        • UDDI.org.
  • Pas de capacités standard pour enregistrement et découverte de services ou d’APIs UDDI en Java dans Java ME as yet.
    • Java ME: la décoouverte de services doit être faite manuellement a priori
    • De toute façons, il faudra générer les stubs manuellement
      • La découverte de services perd donc tout son sens
diff rences entre jax rpc 1 1 et son sous ensemble java me4
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Mapping of data types: basic, array, complex, and other
    • J2ME moins de types disponibles
  • Extensible type mapping
    • Pas dans JAX-RPC for Java ME
  • WSDL-to-Java mapping
    • dans JAX-RPC for Java ME : pas d’overloading + ordre des parties défini l’ordre des paramètres
  • Message handlers
    • Pas dans JAX-RPC for Java ME
  • SOAP messages with attachments
    • Pas dans JAX-RPC for Java ME
  • SOAP faults
    • JAX-RPC for Java ME ne supporte pas SOAPFaultException
diff rences entre jax rpc 1 1 et son sous ensemble java me5
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Mapping of data types: basic, array, complex, and other
r f rences
Références
  • Understanding the Web Services Subset API for Java ME
    • http://developers.sun.com/mobility/midp/articles/webservices/
  • J2ME Web Services APIs (WSA), JSR 172
    • http://java.sun.com/products/wsa/
diff rences entre jax rpc 1 1 et son sous ensemble java me6
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Service endpoint model
    • JAX-RPC 1.1
      • Supporte un modèle client pour le consommateur
      • Supporte un point de livraison de service pour le fournisseur
    • The JAX-RPC for Java ME subset doesn't support the service endpoint model, only the client service consumer model.
      • Because the current version of JAX-RPC for Java ME doesn't support exposing web services, only consuming them, you can't use the subset to create a service endpoint.
diff rences entre jax rpc 1 1 et son sous ensemble java me7
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Mapping of data types: basic, array, complex, and other
    • You'll need to work around the lack of support for some commonly used data types, including dateTime, date, and time.
    • You may need to create special versions of WSDL files for Java ME clients.
    • Remember to specify CLDC 1.1 when you're building for that configuration, as it supports floating-point numeric types.
    • If you try to create a static stub from a WSDL description that specifies unsupported types, stub generation or compilation will fail.
  • Arrays
    • JAX-RPC 1.1 specifies support for arrays derived from soapenc:Array by restriction, and the wsdl:arrayType attribute.
    • JAX-RPC for Java ME doesn't support soapenc:Array or wsdl:arrayType. Instead, it derives arrays from any element whose maxOccurs attribute is greater than 1 or unbounded, as the WS-I Profile recommends. In addition, the JAX-RPC subset doesn't support simple types derived by restriction.
  • Complex Types
    • JAX-RPC 1.1 specifies support for XML struts or complex types derived from:
    • The xsd:complexType that contains a sequence (xsd:sequence) of elements of either simple or complex types
    • The xsd:complexType with xsd:all based on an unordered grouping of elements of either simple or complex type
    • The xsd:complexType with xsd:simpleContent used to declare a complex type by extension of an existing simple type
    • In all the above cases, xsd:attribute and xsd:attributeGroup are supported.
    • JAX-RPC for Java ME supports only one method of determining complex types:
    • xsd:complexType with a sequence (xsd:sequence) of elements of either simple or complex type. The JAX-RPC for Java ME subset doesn't support xsd:attribute, xsd:attributeGroup, or xsd:any.
  • Enumerations and Simple Derived Types
    • JAX-RPC 1.1 specifies support for enumerations, and for simple types derived by restriction or by using xsd:list. Deriving by restriction makes it possible to derive a simple type from an existing pre-defined simple type, referred to as a base type. Deriving by using xsd:list enables you to define arrays.
    • JAX-RPC for Java ME doesn't support enumerations, or simple types derived by restriction or using xsd:list.
    • The effect on you: Your Java ME application won't be able to consume services that are described using the unsupported methods I just described. If you try to create a static stub from a WSDL description that specifies unsupported types, stub generation or compilation will fail.
diff rences entre jax rpc 1 1 et son sous ensemble java me8
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Extensible type mapping
    • JAX-RPC 1.1
      • specifies support for extensible type mapping and serialization between Java types and XML data types.
      • Pluggable serializers and deserializers provided by you or by a third party allow custom serialization and deserialization of Java-based objects to and from XML types, thus enabling developers to create their own extended types.
    • JAX-RPC for Java ME
      • doesn't support extensible type mapping.
      • The lack of support for extensible mapping means that you won't be able to define your own custom Java-to-XML serialization.
  • Because extensible type mapping is defined loosely, and its implementation is very much vendor-specific, you should stay away from it anyway. Most web services stick to basic types.
diff rences entre jax rpc 1 1 et son sous ensemble java me9
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • WSDL-to-Java mapping
    • WSDL-to-Java Mapping - Overloading Operation Names
      • JAX-RPC 1.1 specifies that a wsdl:operation defined in a wsdl:portType maps to a Java method on the mapped Java service endpoint interface. JAX-RPC 1.1 supports the overloading of operation names within wsdl:portType.
      • Following the WS-I Basic Profile, JAX-RPC for Java ME does not. Names of wsdl:operations within a wsdl:portType must be unique.
      • The effect on you: Your Java ME application won't be able to consume services that overload operation names within a wsdl:portType. If you try to create a static stub from a WSDL description that specifies unsupported types, stub generation or compilation will fail.
    • WSDL-to-Java Mapping - Parameter Order
      • JAX-RPC 1.1
        • specifies that the parameterOrder attribute must reflect the order of the parameters in the RPC method signature.
      • JAX-RPC for Java ME
        • follows the WS-I Basic Profile,
        • the order of the parts in a message, not the parameterOrder attribute, identifies the order of the parameters.
diff rences entre jax rpc 1 1 et son sous ensemble java me10
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • Message handlers
    • JAX-RPC 1.1
      • defines support for SOAP message handlers,
      • which you can use to implement additional SOAP message processing, such as encryption or caching.
    • JAX-RPC for Java ME doesn't support SOAP message handlers
  • SOAP messages with attachments
    • JAX-RPC 1.1
      • defines support for SOAP messages with attachments based on MIME multi-part message types.
      • to support MIME-encoded parameters or return values, such as images or XML documents.
    • JAX-RPC for Java ME doesn't support SOAP Messages With Attachments.
diff rences entre jax rpc 1 1 et son sous ensemble java me11
Différences entre JAX-RPC 1.1 et son sous-ensemble Java ME
  • SOAP operation mode
    • JAX-RPC 1.1
      • supports rpc- and document-oriented operation styles, and encoded and literal SOAP message encoding.
    • The Java ME subset
      • supports only the document/literal combination of operation style and encoding.
    • web services are moving away from these modes and towards document/literal.
  • SOAP faults
    • JAX-RPC 1.1,
      • a SOAP fault - a soap:fault element in the WSDL description - is mapped to javax.xml.rpc.soap.SOAPFaultException, to a service-specific exception class, or to RemoteException.
    • JAX-RPC for Java ME
      • doesn't support SOAPFaultException;
      • SOAP faults are mapped to a service-specific Java exception or RemoteException.
      • When invoking a web service, use RemoteExceptions in your catch blocks.