SlideShare uma empresa Scribd logo
1 de 62
Baixar para ler offline
‫أكاديمية الحكومة اإللكترونية الفلسطينية‬
         The Palestinian eGovernment Academy
                       www.egovacademy.ps




                       Tutorial III:
Process Integration and Service Oriented Architectures


                   Session 8
                    WSDL

                      Prepared By

                 Mohammed Aldasht


                          PalGov © 2011                        1
About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the
Commission of the European Communities, grant agreement 511159-TEMPUS-1-
2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps
Project Consortium:
             Birzeit University, Palestine
                                                           University of Trento, Italy
             (Coordinator )


             Palestine Polytechnic University, Palestine   Vrije Universiteit Brussel, Belgium


             Palestine Technical University, Palestine
                                                           Université de Savoie, France

             Ministry of Telecom and IT, Palestine
                                                           University of Namur, Belgium
             Ministry of Interior, Palestine
                                                           TrueTrust, UK
             Ministry of Local Government, Palestine


Coordinator:
Dr. Mustafa Jarrar
Birzeit University, P.O.Box 14- Birzeit, Palestine
Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011
                                                                                                 2
© Copyright Notes
Everyone is encouraged to use this material, or part of it, but should properly
cite the project (logo and website), and the author of that part.


No part of this tutorial may be reproduced or modified in any form or by any
means, without prior written permission from the project, who have the full
copyrights on the material.




                   Attribution-NonCommercial-ShareAlike
                                CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-
commercially, as long as they credit you and license their new creations
under the identical terms.

                                    PalGov © 2011                                 3
Tutorial Map



           Intended Learning Objectives
A: Knowledge and Understanding
                                                                                    Title                    T    Name
 3a1: Demonstrate knowledge of the fundamentals of middleware.
 3a2: Describe the concept behind web service protocols.
                                                                     Session0: Syllabus and overview         0   Aldasht
 3a3: Explain the concept of service oriented architecture.          Sesson1: Introduction to SOA            2   Aldasht
 3a4: Explain the concept of enterprise service bus.                 Session2: XML namespaces & XML schema   2   Aldasht
 3a5: Understanding WSDL service interfaces in UDDI.                 Session 3: Xpath & Xquery               4   Romi
B: Intellectual Skills                                               Session4: REST web services             3   M. Melhem
 3b1: Design, develop, and deploy applications based on Service      Session5: Lab2: Practice on REST        3   M. Melhem
 Oriented Architecture (SOA).                                        Session 6: SOAP                         2   Aldasht
 3b2: use Business Process Execution Language (BPEL).                Session 7: WSDL                         3   Aldasht
 3b3: using WSDL to describe web services.
                                                                     Session8: Lab 3: WSDL practice          3   Aldasht
C: Professional and Practical Skills                                 Session9: ESB                           4   Aldasht
 3c1: setup, Invoke, and deploy web services using integrated
                                                                     Session10: Lab4: Practice on ESB        4   Aldasht
 development environment.
                                                                     Session11: integration patterns         4   M. Melhem
 3c2: construct and use REST and SOAP messages for web
 services communication.                                             Session12: Lab5: integration patterns   4   M. Melhem
D: General and Transferable Skills                                   Session13: BPEL                         3   Aldasht
 d1: Working with team.                                              Session14: Lab6: Practice on BPEL       3   Aldasht
 d2: Presenting and defending ideas.                                 Session15: UDDI                         2   Aldasht
 d3: Use of creativity and innovation in problem solving.
 d4: Develop communication skills and logical reasoning abilities.
Session 8: WSDL
                         Session ILOs
After completing this session students will be able to use
   WSDL to describe web services.
Session Outlines

    Introduction
    WSDL building blocks
    Structure of a WSDL document
    The SOAP binding
Overview


• A consumer first examines the WSDL description before
  requesting a service.

               Web Services Application Code

              WSDL API                 SOAP API

                WSDL                    SOAP

             XML / XML namespace / XML Schema

                         Source, [3]
Introduction I

• Web Services Description Language (WSDL): is an XML-
  based language that provides a model for describing Web
  services [2].
• WSDL is often used in combination with SOAP and an XML
  Schema to provide Web services over the Internet.
   – A client program connecting to a Web service can read the WSDL file
     to determine what operations are available on the server.
   – Any special datatypes used are embedded in the WSDL file in the form
     of XML Schema.
   – The client can then use SOAP to actually call one of the operations
     listed in the WSDL file using XML or HTTP.
Introduction II


• Web service refers to the piece of code implementing
  the XML interface to a resource
• This enables consumer with XML support to integrate
  with Web service applications
• XML Schema
   – Allows developers to describe the structure of XML
     messages
   – But, can't describe the additional details involved in
     communication with a Web service
Introduction III


• A message exchange is referred                  Messages
  to as an operation.
• Operations are what consumers
  care about most since they're
  the focal points of interaction.                  Service

• Consumers must be aware of
  the groupings of related
  operations into interfaces, since
                                                   Resource
  it impacts the way they write
  their code service [1]
                                      Communicating with a web service ,
                                               Source, [1]
Introduction IV


• Consumers must be aware of
                                                       Messages
  these groupings since it         Operation
  impacts the way they write
  their code.                                  Input              Output

• Consumers must also know
  what         communication                            Service
  protocol to use for sending
  messages to the service [1].
   – Also, specific mechanics                          Resource
     involved in using the given
     protocol such as the use of
                                      Operations (message exchange),
     commands, headers, and                     Source, [1]
     error codes
Introduction V


• A binding influences the way abstract messages are
  encoded on the wire by specifying the style of
  service.
   – Document vs. RPC
   – The encoding mechanism, literal vs. encoded.
• A service can support multiple bindings for a given
  interface.
• Each binding should be accessible at a unique address
  identified by a URI, also referred to as a Web service
  endpoint [1].
Introduction VI: Interfaces and Bindings




Interfaces and Bindings,
Source, [1]
Session Outlines

    Introduction
    WSDL building blocks
    Structure of a WSDL document
    The SOAP binding
WSDL building Blocks

• WSDL separates a service into two parts [3]:
   – Abstract interfaces: unfolds the operations supported by the
     web service, the operation parameters and abstract data
     types.
      • Independently from, any concrete network address, communication
        protocol or data structure.
   – Concrete implementation: binds the abstract interface
     description to a concrete network address, to a protocol and
     to a concrete data structure.
      • A web service consumer can bind to such an implementation and
        invoke a service.
WSDL building Blocks

• A WSDL document is an XML instance composed of
  elements.
• Elements are declared in a WSDL schema definition
  with target namespace:
  http://schemas.xmlsoap.org/wsdl/.
• See next slide for:
   – An initial WSDL interface description for the
     getPhoneNumber service, Source, [3].
getPhoneNumber service
<definitions name = “phoneNumberService”
  targetNamespace = “http://companyx.com/ns/phoneNumber/wsdl”
 xmlns:tns=“http://companyx.com/ns/phoneNumber/wsdl”
 xmlns:SOAP-EXT=“http://schemas.xmlsoap.org/wsdl/soap/”
 xmlns=“http://schemas.smlsoap.org/wsdl/”>                                       Abstract
   <types>                                                                       data type
       <schema                                                                  definitions
           targetNamespace=“http://companyx.com/ns/phoneNumber/wsdl”
            xmlns=“http://www.w3.org/2001/XMLSchema”>
               <complexType name=“NameInType”>
            <sequence>
                 <element name=“first-name” type=“xsd:string”/>
                 <element name=“last-name” type=“xsd:string”/>              Data that is
             </sequence>                                                      returned
                </complexType>
            </schema>
       </types>
        <message name=“GetPhoneNumberIn”>
                <part name=“name” type=“tns:NameInType”/>
         </message >                                                Port type containing
         <message name=“GetPhoneNumberOut”>                            one operation
              <part name=“return” type=“xsd:string”/>
        </message >
        <portType name=”PhoneNumberPortType”>                        An operation with
              <operation name=“getPhoneNumber”>                       input and output
                   <input message=“tns:GetPhoneNumberIn”/>
                   <output message=“tns:GetPhoneNumberOut”/>
                                                                           message
              </operation>
         </portType>
Summary of elements collectively describing a
        web service interface

• portType: a named collection of operations
• operation: abstractly describes a service call.
   – May contain input message, output message and optionally several
     fault message.
• message: an abstract description of the data that is sent.
   – Messages consist of logical units called parts.
Summary of elements collectively describing a
      web service interface


• part: is associated with a data type.
• type: provides a container for data type definitions.
   – WSDL 1.1 refer to XML schema data types, but doesn’t prohibit the
     use of other type systems.
• See next slide for:
   – A WSDL implementation description for the getPhoneNumber
     service, Source, [3].
<binding name=“PhoneNumberSoapBinding” type=“tns:PhoneNumberPortType”>
     <SOAP-EXT:binding style=“rpc”
                                                                            Use SOAP
       transport=“http://schemas.xmlsoap.org/soap/http”/>                   RPC style
     <operation name=“getPhoneNumber”>
       <SOAP-EXT:operation soapAction=“”/>
       <input>                                      Bind an abstract operation to this
                                                       concrete implementation …
         <SOAP-EXT:body use=“encoded”/>
       </input>
                                                                                     … and map
       <output>                                                                      the abstract
         <SOAP-EXT:body use=“encoded”/>                                                input and
       </output>                                                                         output
     </operation>                        Service name                                 messages
   </binding>                                                                           to these
                                                                                        concrete
   <service name=“PhoneNumberService”>
                                                                                      messages
     <port name=“PhoneNumberPort” binding=“tns:PhoneNumberSoapBinding”>
       <SOAP-EXT:address
        location=“http://www.companyx.com/servlet/rpcrouter”/>
    </port>
  </service>
</definitions>                              Network address of service
Summary of elements describing a web service
      implementation


• binding: provides concrete protocol and data format
  specifications for a particular port type.
• port: describes the network address of a service.
   – In combination with a binding it provides info about concrete service
     endpoint.
Summary of elements describing a web service
      implementation



• service: a collection of related ports.
   – May share the same port type, but employ different bindings or
     network addresses.
   – May be concrete service endpoint implementations of several port
     types.
WSDL service interface and service
    implementation description



               port                 binding

  service              binding                type   portType

               port                 binding
                                                        Associated with
Containment                                             Relationship
Relationship


                      Source, [3]
WSDL related name spaces

• Although the use of other type systems is not forbidden, WSDL
  uses XML schema definitions and XML schema instance
  attributes from representing abstract data types:
   – Namespace prefix xsd refers to URI
      http://www.w3.org/2001/XMLSchema.
   – Namespace prefix xsi refers to URI
     http://www.w3.org/2001/XMLSchema-
     instance
WSDL related name spaces, cont.

• Additional namespaces with WSDL 1.1 specification:
   – Namespace prefix wsdl refers to URI
     http://schemas.xmlsoap.org/wsdl
   – Namespace prefix SOAP-EXT refers to URI
     http://schemas.xmlsoap.org/wsdl/soap
Session Outlines

    Introduction
    WSDL building blocks
    Structure of a WSDL document
    The SOAP binding
WSDL document containment structure

• Three important containment structure elements: (see next slide)
   – definitions: a container for all WSDL elements.
   – portType.
   – binding: each binding related to a distinct port type maps a concrete
     protocol implementation to this port type.
WSDL document containment structure

• Message provides a data types container for operations via its
  ports.
• Individual data types may appear multiple times in several
  messages.
• A specific input message may be identical, and reusable for
  several applications.
• Bindings might be reusable, also.
WSDL document containment structure




             Source, [3]
Service interface-related elements of WSDL
        document


• definitions element: may have name, targetNamespace
  and xmlns.
• types element: a container for all data type definitions that
  belong to the messages.
• message element: represents operation parameters for one
  interaction between a client and a service. e.g:
   – Input parameters for a SOAP RPC are described as a message.
   – Another message presents the return and output parameters for this call.
• part element: contained in message element; may carry name
  attribute, element attribute and type attribute.
Definitions elements


• wsdl namespace prefix is defined by default.
• Identical      namespaces     assigned      to    the
  targetNamespace attribute and the tns
  namespace prefix.
• The target namespace of local WSDL definitions
  together with the tns namespace prefix helps a
  processor to locate these local definitions when they
  are referred to.
Definitions example

<definitions name=“phoneNumberService”
 targetNamespace=“http://companyx.com/ns/phoneNumber/wsdl”
 xmlns:tns=“http://companyx.com/ns/phoneNumber/wsdl”
 xmlns:SOAP-EXT=“http://schemas.xmlsoap.org/wsdl/soap/”
 xmlns:”http://schemas.smlsoap.org/wsdl”>
  <documentation>
    WSDL document describing a phone number service
  </documentation>
  <!–- The WSDL specification goes here. -->
  ...
</definitions>
Types element


• The types element is a container for all abstract data
  type definitions that belong to messages.
• Message parts link types to messages.
• WSDL prefers the use of XML schema for the type
  definitions
• In the following example all elements are based on
  the XML schema built-in string type.
Types Example

<types>
  <schema

  targetNamespace=“http://companyx.com/ns/phoneNu
  mber/wsdl”
   xmlns=“http://www.w3.org/2001/XMLSchema”>
     <element name=“FirstNameIN”
  type=“xsd:string”/>
     <element name=“LastNameIN”
  type=“xsd:string”/>
     <element name=“PhoneNumber”
  type=“xsd:string”/>
     <element name=“NoNameFound”
  type=“xsd:string”/>
  </schema>
</types>
Message and part elements


• As mentioned earlier, a message represents operation parameters
  for one interaction between a client and a service.
• See next slide for an example of three messages, each holding
  one part, respectively:
Message and part example

<message name=“GetPhoneNumberIn”>
  <part name=“name” element=“tns:NameIn”/>
</message>
<message name=“GetPhoneNumberOut”>
  <part name=“return” element=“tns:PhoneNumber”>
</message>
<message name=“NoNameFoundOut”>
  <part name=“failure” element=“tns:NoNameFound”/>
</message>
Message and part example, cont.

• The element attribute refers to the element declarations in the
  types container.
• Alternatively, we can have defined the data type of each part
  via the type attribute.

     <message name=“GetPhoneNumberIn”>
       <part name=“name” type=“tns:NameInType”/>
     </message>
     <message name=“GetPhoneNumberOut”>
       <part name=“return” type=“xsd:string”>
     </message>
     <message name=“NoNameFoundOut”>
       <part name=“failure” type=“xsd:string”/>
     </message>
Mapping of a WSDL part to a SOAP RPC
      style message

• See the message in the next slide.
• Dotted arrows illustrate how a part name of the WSDL
  document describing the phone number service is mapped to a
  procedure call parameter accessor in a SOAP RPC style
  message body to invoke this service.
WSDL part to a SOAP RPC style message

WSDL Document:

<message name=“GetPhoneNumberIn”>
  <part name=“name” type=“tns:NameIn”/>
</message>


SOAP Message Body (RPC Style):
<SOAP-ENV:Body>
  <getPhoneNumber ...>
    <name>
      <first-name xsi:type=“xsd:string”>Ahmad M.</first-name>
      <last-name xsi:type=“xsd:string”>Ahmad</last-name>
    </name>
   </getPhoneNumber>
</SOAP-ENV:Body>


                         Source, [3]
Mapping of a WSDL part to a SOAP
      document style message


• Here, parts point to the XML instance contained in the SOAP
  message body.
• No additional wrapper.
• The element representing the XML instance goes directly into
  the SOAP message body element.
• See next slide!
WSDL part to a SOAP document style message


WSDL Document:

<message name=“GetPhoneNumberIn”>
  <part name=“name” element=“tns:NameIn”/>
</message>

SOAP Message Body (Document Style):
<SOAP-ENV:Body>
  <NameIn>
      <first-name xsi:type=“xsd:string”>Ahmad M.</first-
name>
      <last-name xsi:type=“xsd:string”>Ahmad</last-name>
  </NameIn>
</SOAP-ENV:Body>

                        Source, [3]
The operation element

• 4 operation types:
   – One-way: has only an input element specifying the operation
     message.
   – Request-response: contains one input, one output and optionally,
     one or more fault elements.
   – Solicit-response: contains one input, one output and optionally, one
     or more fault elements.
   – Notification: contains only an output element specifying the operation
     message.
operation element




            Source, [3]
Mapping of a WSDL operation to a SOAP
       RPC style message


• An operation element may hold two attributes:
   – name: it is mandatory and specifies the operation name
   – parameterOrder: carries a space-separated list of message parts.
       • May be used for request-response and solicit-response operations with an
         RPC binding to save the function call signature.
WSDL operation to a SOAP RPC style message


WSDL Document:

<portType name=“PhoneNumberPortType”>
  <operation name=“getPhoneNumber”>
    <input message=“tns:GetPhoneNumberIn”/>
    <output message=“tns:PhoneNumberOut”/>
  </operation>
</portType>


SOAP Message Body (RPC Style):
<SOAP-ENV:Body>
  <getPhoneNumber ...>
     ...
   </getPhoneNumber>
</SOAP-ENV:Body>

                        Source, [3]
Binding-related elements of a WSDL
       document

• binding element almost matches the structure of portType
  element.
• binding must map the abstract portType description to a
  concrete implementation, carries two attributes:
   – name: is mandatory, and specifies the name of the binding
   – type: is mandatory, and refers to the port type that it binds.
binding example, Source, [3]


<binding name=“PhoneNumberSoapBinding”
         type=tns:PhoneNumberPortType”>
  <!–- SOAP binding extensibility element         -->
  <SOAP-EXT:binding style=“rpc”>
   transport=“http://schemas.xmlsoap.org.soap/http”/>
 <operation name=“getPhoneNumber”>
 <!–- SOAP operation extensibility element        -->
   <SOAP-EXT:operation soapAction=“”/>
   <input>
     <SOAP-EXT:body use=“encoded”/>
   </input>
   <output>
     <SOAP-EXT:body use=“encoded”/>
   </output>
 </operation>
</binding>
The binding element



• binding type attribute together with the name attribute
  uniquely identifies a binding.
• Since various bindings may refer to the same port type.
binding element details




             Source, [3]
Session Outlines

    Introduction
    WSDL building blocks
    Structure of a WSDL document
    The SOAP binding
The SOAP binding

• Binding to SOAP 1.1, means that we must fill these containers
  with SOAP 1.1 extensibility elements.
• Providing a distinct WSDL binding requires the definition of
  extensibility elements for the binding, the operation and
  the port elements.
• In our examples, the namespace prefix for SOAP binding is
  SOAP-EXT.
• The table contains WSDL-defined binding elements and
  contained SOAP extensibility element.
WSDL-defined binding elements and contained
SOAP extensibility element




               Source, [3]
SOAP extensibility elements

• SOAP binding extensibility element: has two attributes:
   – transport: indicates the transport protocol for the SOAP message.
   – style: can have value rpc or document.
• SOAP operation extensibility element: provides operation
  scope info, has two attributes:
   – style: may overwrite binding-wide sittings for individual operations.
   – soapAction: specifies the value of the soapAction HTTP header for
     the operation.
SOAP extensibility elements

• SOAP body extensibility element: defines the mapping of
  abstract message parts into the SOAP message body:
   –   parts: contains the set of abstract message parts in message body.
   –   use: can take value literal or encoded.
   –   encodingStyle: if encoded, this defined the encoding rules.
   –   namespace: holds the namespace of the operation name.
SOAP RPC style binding using Section 5 encoded
      message parts


• getPhoneNumber operation, or procedure call, is identified
  using namespace attribute.

<operation name=“getPhoneNumber”
  <SOAP-EXT:operation soapAction=“”/>
  <input>
    <SOAP-EXT:body use=“encoded”
     encodingStyle=“http://schemas.xmlsoap.org/soap/encoding”
     namespace=“http://companyx.com/ns/employees”/>
  </input>
  <output>
    <SOAP-EXT:body use=“encoded”
     encodingStyle=“http://schemas.xmlsoap.org/soap/encoding”
     namespace=“http://companyx.com/ns/employees”/>
  </output>
</operation>
SOAP address extensibility element for SOAP
       over HTTP, example

• This extensibility element specifies the network address of the
  SOAP-accessible service.
• It is a member of the WSDL port element.
• It contains one attribute:
   – location: defines the network address for the binding.




<service name=“PhoneNumberService”>
  <port name=“PhoneNumberPort” binding=“tns:PhoneNumberSoapBinding”>
    <SOAP-EXT:address
     location=“http://www.companyx.com/servlet/rpcrouter”/>
  </port>
</service>
Practices 1

• Create a web application to consume a web service called
  (GlobalWeather) available on the web:
  http://www.webservicex.net/globalweather.asmx
• Use the WSDL file of the web service available on:
  http://www.webservicex.net/globalweather.asmx
•   Create new ASP.Net web site
•   In the design add a button and a text box.
•   To the solution name add a web reference (Use the link of the WSDL file above)
•   Go to the design, double click on the button. Add: using (the referenced webservice name).
Button Click code:
protected void Button1_Click(object sender, EventArgs e)
     {
           GlobalWeather G = new GlobalWeather();
           string cities = G.GetCitiesByCountry(TxtCountry.Text.ToString());
           Response.Write(cities);
     }
Practice 2: Self Hosting Service

•   Create a service library (any service), name your solution (SelfHostingService)
•   Add a new console application project to the solution, (MyserviceHost)
     –   Here, add references, to your service library and to .Net System.ServiceModel
     –   Add inside the main class ,the following code:
         ServiceHost host = new ServiceHost(typeof(MyService));
         host.Open(); //read service configurations from .config file and build
              the runtime to support all endpoints defined in the configuration
         Console.WriteLine("MyService is up and running ...");
         Console.ReadLine();
         host.Close();
     –   Build your solution
     –   Add an item (application configuration file) for the project and edit it using WCF editor:
           •   Create new service (browse for your the service library), then next. Use http binding , next: use basic WS
               interoperability, nex: address: use relative address (e.g. name it basic) and finish.
           •   Create another service endpoint, the same, but use advanced WS interoperability, and use relative address (ws)
           •   Click Host in the configuration and create new base address (http://localhost:8080/MyService)
           •   Create another service endpoint, use tcp binding, use address (http://localhost:8080/MyService)
           •   Create another service endpoint, use Named pipes binding, use address (net.pipe://localhost/MyService)
           •   To enable metadata in your service; click advanced, then service behaviour, and new service behaviour, and add the
               service meta data element, then select the element from the tree and set httpGetEnabeled to true
           •   Click the service name in the top, and Apply the new behaviour to the behaviour configuration
           •   Save the configuration and exit.
Practice 2: Self Hosting Service

•   Right-click your host project and set as startup project.
•   Press Crtl+F5 to start.
•   Open internet explorer and in the address (localhost:8080/MyService)
Summary


During this session we have introduced the use of WSDL to
  describe web services; Thus, the following subjects have
  been described:
      1. WSDL building blocks
      2. Structure of a WSDL document
      3. The SOAP binding
In the next session we will cover the enterprise service bus
     “ESB”
References

1. Aaron Skonnard, Understanding WSDL, Microsoft Digital Network,
   “http://msdn.microsoft.com/en-us/library/ms995800.aspx”, March 2003
2. Extracted from: http://en.wikipedia.org/wiki/WSDL
3. Olaf Zimmermann, Mark Tomlinson, Stefan Peuser, “Perspectives on Web services-
   Applying SOAP, WSDL and UDDI to real-world projects, 2nd edition, Springer, 2005
Thanks
Mohammed Aldasht

Mais conteúdo relacionado

Mais procurados

Web Development using ASP.NET - Paul Villaruel
Web Development using ASP.NET - Paul VillaruelWeb Development using ASP.NET - Paul Villaruel
Web Development using ASP.NET - Paul Villaruelpaulvillaruel
 
Windows 8 programming with html and java script
Windows 8 programming with html and java scriptWindows 8 programming with html and java script
Windows 8 programming with html and java scriptRTigger
 
Nagarjuna Reddy_Java (1+ Experience)
Nagarjuna Reddy_Java (1+ Experience)Nagarjuna Reddy_Java (1+ Experience)
Nagarjuna Reddy_Java (1+ Experience)Nagarjun Reddy
 
File encryption decryption
File encryption decryptionFile encryption decryption
File encryption decryptionAmitSaha123
 
Server and Client side comparision
Server and Client side comparisionServer and Client side comparision
Server and Client side comparisionStew Duncan
 
Building Web Apps with Python Part 2 - Code Heroku
Building Web Apps with Python Part 2 - Code HerokuBuilding Web Apps with Python Part 2 - Code Heroku
Building Web Apps with Python Part 2 - Code Herokucodeheroku
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developementArchana Jha
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Shiju Varghese
 
Experience with mulesoft
Experience with mulesoftExperience with mulesoft
Experience with mulesoftManav Prasad
 
Mobile iOS Application Architectures
Mobile iOS Application ArchitecturesMobile iOS Application Architectures
Mobile iOS Application ArchitecturesArpit Kulsreshtha
 

Mais procurados (20)

Web Development using ASP.NET - Paul Villaruel
Web Development using ASP.NET - Paul VillaruelWeb Development using ASP.NET - Paul Villaruel
Web Development using ASP.NET - Paul Villaruel
 
Windows 8 programming with html and java script
Windows 8 programming with html and java scriptWindows 8 programming with html and java script
Windows 8 programming with html and java script
 
Multiplatform
MultiplatformMultiplatform
Multiplatform
 
Introduction To Symfony
Introduction To SymfonyIntroduction To Symfony
Introduction To Symfony
 
Nagarjuna Reddy_Java (1+ Experience)
Nagarjuna Reddy_Java (1+ Experience)Nagarjuna Reddy_Java (1+ Experience)
Nagarjuna Reddy_Java (1+ Experience)
 
Client Side scripting and server side scripting
Client Side scripting and server side scriptingClient Side scripting and server side scripting
Client Side scripting and server side scripting
 
Codeigniter framework
Codeigniter framework Codeigniter framework
Codeigniter framework
 
File encryption decryption
File encryption decryptionFile encryption decryption
File encryption decryption
 
IBM_WebSphere_12_23_16_PM
IBM_WebSphere_12_23_16_PMIBM_WebSphere_12_23_16_PM
IBM_WebSphere_12_23_16_PM
 
Server and Client side comparision
Server and Client side comparisionServer and Client side comparision
Server and Client side comparision
 
Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
Building Web Apps with Python Part 2 - Code Heroku
Building Web Apps with Python Part 2 - Code HerokuBuilding Web Apps with Python Part 2 - Code Heroku
Building Web Apps with Python Part 2 - Code Heroku
 
Enterprise application developement
Enterprise application developementEnterprise application developement
Enterprise application developement
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
 
Kathir_Resume
Kathir_ResumeKathir_Resume
Kathir_Resume
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
P H P Framework
P H P  FrameworkP H P  Framework
P H P Framework
 
Experience with mulesoft
Experience with mulesoftExperience with mulesoft
Experience with mulesoft
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Mobile iOS Application Architectures
Mobile iOS Application ArchitecturesMobile iOS Application Architectures
Mobile iOS Application Architectures
 

Destaque (7)

PEtALS ESB Architecture
PEtALS ESB ArchitecturePEtALS ESB Architecture
PEtALS ESB Architecture
 
OW2-PLAY @ ow2con 2012
OW2-PLAY @ ow2con 2012OW2-PLAY @ ow2con 2012
OW2-PLAY @ ow2con 2012
 
OW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the CloudOW2Con 2011 Petals BPM and the Cloud
OW2Con 2011 Petals BPM and the Cloud
 
What&rsquo;s new (and not) with Petals ESB?
What&rsquo;s new (and not) with Petals ESB?What&rsquo;s new (and not) with Petals ESB?
What&rsquo;s new (and not) with Petals ESB?
 
Petals DSB - Current Status
Petals DSB - Current StatusPetals DSB - Current Status
Petals DSB - Current Status
 
Thesis klausi
Thesis klausiThesis klausi
Thesis klausi
 
Client and server side scripting
Client and server side scriptingClient and server side scripting
Client and server side scripting
 

Semelhante a Pal gov.tutorial3.session7

Pal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaPal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaMustafa Jarrar
 
Pal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapPal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapMustafa Jarrar
 
Pal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelPal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelMustafa Jarrar
 
Pal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsPal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsMustafa Jarrar
 
Pal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbPal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbMustafa Jarrar
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiMustafa Jarrar
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Mustafa Jarrar
 
Pal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restPal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restMustafa Jarrar
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Mustafa Jarrar
 
Pal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlinePal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlineMustafa Jarrar
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Mustafa Jarrar
 
Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaMustafa Jarrar
 
Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Mustafa Jarrar
 
Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Mustafa Jarrar
 
Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Mustafa Jarrar
 
Web services Concepts
Web services ConceptsWeb services Concepts
Web services Conceptspasam suresh
 
Web programming
Web programmingWeb programming
Web programmingsowfi
 

Semelhante a Pal gov.tutorial3.session7 (20)

Pal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soaPal gov.tutorial3.session1.soa
Pal gov.tutorial3.session1.soa
 
Pal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soapPal gov.tutorial3.session6.soap
Pal gov.tutorial3.session6.soap
 
Pal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpelPal gov.tutorial3.session13.bpel
Pal gov.tutorial3.session13.bpel
 
Pal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patternsPal gov.tutorial3.session11.integration.patterns
Pal gov.tutorial3.session11.integration.patterns
 
Pal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esbPal gov.tutorial3.session9.esb
Pal gov.tutorial3.session9.esb
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddi
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6
 
Pal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.restPal gov.tutorial3.session4.rest
Pal gov.tutorial3.session4.rest
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2
 
Pal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlinePal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outline
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3
 
Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schema
 
Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5
 
Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)
 
Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4
 
Web services Concepts
Web services ConceptsWeb services Concepts
Web services Concepts
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
CS-802 Act-1.ppt
CS-802 Act-1.pptCS-802 Act-1.ppt
CS-802 Act-1.ppt
 
Web programming
Web programmingWeb programming
Web programming
 
Web services
Web servicesWeb services
Web services
 

Mais de Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisMustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal OntologyMustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course OutlineMustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process ImplementationMustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineeringMustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsMustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementMustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesMustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORMMustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineMustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesMustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalMustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsMustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsMustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Mustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 

Mais de Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 

Último

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 

Último (20)

[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 

Pal gov.tutorial3.session7

  • 1. ‫أكاديمية الحكومة اإللكترونية الفلسطينية‬ The Palestinian eGovernment Academy www.egovacademy.ps Tutorial III: Process Integration and Service Oriented Architectures Session 8 WSDL Prepared By Mohammed Aldasht PalGov © 2011 1
  • 2. About This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1- 2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps Project Consortium: Birzeit University, Palestine University of Trento, Italy (Coordinator ) Palestine Polytechnic University, Palestine Vrije Universiteit Brussel, Belgium Palestine Technical University, Palestine Université de Savoie, France Ministry of Telecom and IT, Palestine University of Namur, Belgium Ministry of Interior, Palestine TrueTrust, UK Ministry of Local Government, Palestine Coordinator: Dr. Mustafa Jarrar Birzeit University, P.O.Box 14- Birzeit, Palestine Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011 2
  • 3. © Copyright Notes Everyone is encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part. No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full copyrights on the material. Attribution-NonCommercial-ShareAlike CC-BY-NC-SA This license lets others remix, tweak, and build upon your work non- commercially, as long as they credit you and license their new creations under the identical terms. PalGov © 2011 3
  • 4. Tutorial Map Intended Learning Objectives A: Knowledge and Understanding Title T Name 3a1: Demonstrate knowledge of the fundamentals of middleware. 3a2: Describe the concept behind web service protocols. Session0: Syllabus and overview 0 Aldasht 3a3: Explain the concept of service oriented architecture. Sesson1: Introduction to SOA 2 Aldasht 3a4: Explain the concept of enterprise service bus. Session2: XML namespaces & XML schema 2 Aldasht 3a5: Understanding WSDL service interfaces in UDDI. Session 3: Xpath & Xquery 4 Romi B: Intellectual Skills Session4: REST web services 3 M. Melhem 3b1: Design, develop, and deploy applications based on Service Session5: Lab2: Practice on REST 3 M. Melhem Oriented Architecture (SOA). Session 6: SOAP 2 Aldasht 3b2: use Business Process Execution Language (BPEL). Session 7: WSDL 3 Aldasht 3b3: using WSDL to describe web services. Session8: Lab 3: WSDL practice 3 Aldasht C: Professional and Practical Skills Session9: ESB 4 Aldasht 3c1: setup, Invoke, and deploy web services using integrated Session10: Lab4: Practice on ESB 4 Aldasht development environment. Session11: integration patterns 4 M. Melhem 3c2: construct and use REST and SOAP messages for web services communication. Session12: Lab5: integration patterns 4 M. Melhem D: General and Transferable Skills Session13: BPEL 3 Aldasht d1: Working with team. Session14: Lab6: Practice on BPEL 3 Aldasht d2: Presenting and defending ideas. Session15: UDDI 2 Aldasht d3: Use of creativity and innovation in problem solving. d4: Develop communication skills and logical reasoning abilities.
  • 5. Session 8: WSDL Session ILOs After completing this session students will be able to use WSDL to describe web services.
  • 6. Session Outlines  Introduction  WSDL building blocks  Structure of a WSDL document  The SOAP binding
  • 7. Overview • A consumer first examines the WSDL description before requesting a service. Web Services Application Code WSDL API SOAP API WSDL SOAP XML / XML namespace / XML Schema Source, [3]
  • 8. Introduction I • Web Services Description Language (WSDL): is an XML- based language that provides a model for describing Web services [2]. • WSDL is often used in combination with SOAP and an XML Schema to provide Web services over the Internet. – A client program connecting to a Web service can read the WSDL file to determine what operations are available on the server. – Any special datatypes used are embedded in the WSDL file in the form of XML Schema. – The client can then use SOAP to actually call one of the operations listed in the WSDL file using XML or HTTP.
  • 9. Introduction II • Web service refers to the piece of code implementing the XML interface to a resource • This enables consumer with XML support to integrate with Web service applications • XML Schema – Allows developers to describe the structure of XML messages – But, can't describe the additional details involved in communication with a Web service
  • 10. Introduction III • A message exchange is referred Messages to as an operation. • Operations are what consumers care about most since they're the focal points of interaction. Service • Consumers must be aware of the groupings of related operations into interfaces, since Resource it impacts the way they write their code service [1] Communicating with a web service , Source, [1]
  • 11. Introduction IV • Consumers must be aware of Messages these groupings since it Operation impacts the way they write their code. Input Output • Consumers must also know what communication Service protocol to use for sending messages to the service [1]. – Also, specific mechanics Resource involved in using the given protocol such as the use of Operations (message exchange), commands, headers, and Source, [1] error codes
  • 12. Introduction V • A binding influences the way abstract messages are encoded on the wire by specifying the style of service. – Document vs. RPC – The encoding mechanism, literal vs. encoded. • A service can support multiple bindings for a given interface. • Each binding should be accessible at a unique address identified by a URI, also referred to as a Web service endpoint [1].
  • 13. Introduction VI: Interfaces and Bindings Interfaces and Bindings, Source, [1]
  • 14. Session Outlines  Introduction  WSDL building blocks  Structure of a WSDL document  The SOAP binding
  • 15. WSDL building Blocks • WSDL separates a service into two parts [3]: – Abstract interfaces: unfolds the operations supported by the web service, the operation parameters and abstract data types. • Independently from, any concrete network address, communication protocol or data structure. – Concrete implementation: binds the abstract interface description to a concrete network address, to a protocol and to a concrete data structure. • A web service consumer can bind to such an implementation and invoke a service.
  • 16. WSDL building Blocks • A WSDL document is an XML instance composed of elements. • Elements are declared in a WSDL schema definition with target namespace: http://schemas.xmlsoap.org/wsdl/. • See next slide for: – An initial WSDL interface description for the getPhoneNumber service, Source, [3].
  • 17. getPhoneNumber service <definitions name = “phoneNumberService” targetNamespace = “http://companyx.com/ns/phoneNumber/wsdl” xmlns:tns=“http://companyx.com/ns/phoneNumber/wsdl” xmlns:SOAP-EXT=“http://schemas.xmlsoap.org/wsdl/soap/” xmlns=“http://schemas.smlsoap.org/wsdl/”> Abstract <types> data type <schema definitions targetNamespace=“http://companyx.com/ns/phoneNumber/wsdl” xmlns=“http://www.w3.org/2001/XMLSchema”> <complexType name=“NameInType”> <sequence> <element name=“first-name” type=“xsd:string”/> <element name=“last-name” type=“xsd:string”/> Data that is </sequence> returned </complexType> </schema> </types> <message name=“GetPhoneNumberIn”> <part name=“name” type=“tns:NameInType”/> </message > Port type containing <message name=“GetPhoneNumberOut”> one operation <part name=“return” type=“xsd:string”/> </message > <portType name=”PhoneNumberPortType”> An operation with <operation name=“getPhoneNumber”> input and output <input message=“tns:GetPhoneNumberIn”/> <output message=“tns:GetPhoneNumberOut”/> message </operation> </portType>
  • 18. Summary of elements collectively describing a web service interface • portType: a named collection of operations • operation: abstractly describes a service call. – May contain input message, output message and optionally several fault message. • message: an abstract description of the data that is sent. – Messages consist of logical units called parts.
  • 19. Summary of elements collectively describing a web service interface • part: is associated with a data type. • type: provides a container for data type definitions. – WSDL 1.1 refer to XML schema data types, but doesn’t prohibit the use of other type systems. • See next slide for: – A WSDL implementation description for the getPhoneNumber service, Source, [3].
  • 20. <binding name=“PhoneNumberSoapBinding” type=“tns:PhoneNumberPortType”> <SOAP-EXT:binding style=“rpc” Use SOAP transport=“http://schemas.xmlsoap.org/soap/http”/> RPC style <operation name=“getPhoneNumber”> <SOAP-EXT:operation soapAction=“”/> <input> Bind an abstract operation to this concrete implementation … <SOAP-EXT:body use=“encoded”/> </input> … and map <output> the abstract <SOAP-EXT:body use=“encoded”/> input and </output> output </operation> Service name messages </binding> to these concrete <service name=“PhoneNumberService”> messages <port name=“PhoneNumberPort” binding=“tns:PhoneNumberSoapBinding”> <SOAP-EXT:address location=“http://www.companyx.com/servlet/rpcrouter”/> </port> </service> </definitions> Network address of service
  • 21. Summary of elements describing a web service implementation • binding: provides concrete protocol and data format specifications for a particular port type. • port: describes the network address of a service. – In combination with a binding it provides info about concrete service endpoint.
  • 22. Summary of elements describing a web service implementation • service: a collection of related ports. – May share the same port type, but employ different bindings or network addresses. – May be concrete service endpoint implementations of several port types.
  • 23. WSDL service interface and service implementation description port binding service binding type portType port binding Associated with Containment Relationship Relationship Source, [3]
  • 24. WSDL related name spaces • Although the use of other type systems is not forbidden, WSDL uses XML schema definitions and XML schema instance attributes from representing abstract data types: – Namespace prefix xsd refers to URI http://www.w3.org/2001/XMLSchema. – Namespace prefix xsi refers to URI http://www.w3.org/2001/XMLSchema- instance
  • 25. WSDL related name spaces, cont. • Additional namespaces with WSDL 1.1 specification: – Namespace prefix wsdl refers to URI http://schemas.xmlsoap.org/wsdl – Namespace prefix SOAP-EXT refers to URI http://schemas.xmlsoap.org/wsdl/soap
  • 26. Session Outlines  Introduction  WSDL building blocks  Structure of a WSDL document  The SOAP binding
  • 27. WSDL document containment structure • Three important containment structure elements: (see next slide) – definitions: a container for all WSDL elements. – portType. – binding: each binding related to a distinct port type maps a concrete protocol implementation to this port type.
  • 28. WSDL document containment structure • Message provides a data types container for operations via its ports. • Individual data types may appear multiple times in several messages. • A specific input message may be identical, and reusable for several applications. • Bindings might be reusable, also.
  • 29. WSDL document containment structure Source, [3]
  • 30. Service interface-related elements of WSDL document • definitions element: may have name, targetNamespace and xmlns. • types element: a container for all data type definitions that belong to the messages. • message element: represents operation parameters for one interaction between a client and a service. e.g: – Input parameters for a SOAP RPC are described as a message. – Another message presents the return and output parameters for this call. • part element: contained in message element; may carry name attribute, element attribute and type attribute.
  • 31. Definitions elements • wsdl namespace prefix is defined by default. • Identical namespaces assigned to the targetNamespace attribute and the tns namespace prefix. • The target namespace of local WSDL definitions together with the tns namespace prefix helps a processor to locate these local definitions when they are referred to.
  • 32. Definitions example <definitions name=“phoneNumberService” targetNamespace=“http://companyx.com/ns/phoneNumber/wsdl” xmlns:tns=“http://companyx.com/ns/phoneNumber/wsdl” xmlns:SOAP-EXT=“http://schemas.xmlsoap.org/wsdl/soap/” xmlns:”http://schemas.smlsoap.org/wsdl”> <documentation> WSDL document describing a phone number service </documentation> <!–- The WSDL specification goes here. --> ... </definitions>
  • 33. Types element • The types element is a container for all abstract data type definitions that belong to messages. • Message parts link types to messages. • WSDL prefers the use of XML schema for the type definitions • In the following example all elements are based on the XML schema built-in string type.
  • 34. Types Example <types> <schema targetNamespace=“http://companyx.com/ns/phoneNu mber/wsdl” xmlns=“http://www.w3.org/2001/XMLSchema”> <element name=“FirstNameIN” type=“xsd:string”/> <element name=“LastNameIN” type=“xsd:string”/> <element name=“PhoneNumber” type=“xsd:string”/> <element name=“NoNameFound” type=“xsd:string”/> </schema> </types>
  • 35. Message and part elements • As mentioned earlier, a message represents operation parameters for one interaction between a client and a service. • See next slide for an example of three messages, each holding one part, respectively:
  • 36. Message and part example <message name=“GetPhoneNumberIn”> <part name=“name” element=“tns:NameIn”/> </message> <message name=“GetPhoneNumberOut”> <part name=“return” element=“tns:PhoneNumber”> </message> <message name=“NoNameFoundOut”> <part name=“failure” element=“tns:NoNameFound”/> </message>
  • 37. Message and part example, cont. • The element attribute refers to the element declarations in the types container. • Alternatively, we can have defined the data type of each part via the type attribute. <message name=“GetPhoneNumberIn”> <part name=“name” type=“tns:NameInType”/> </message> <message name=“GetPhoneNumberOut”> <part name=“return” type=“xsd:string”> </message> <message name=“NoNameFoundOut”> <part name=“failure” type=“xsd:string”/> </message>
  • 38. Mapping of a WSDL part to a SOAP RPC style message • See the message in the next slide. • Dotted arrows illustrate how a part name of the WSDL document describing the phone number service is mapped to a procedure call parameter accessor in a SOAP RPC style message body to invoke this service.
  • 39. WSDL part to a SOAP RPC style message WSDL Document: <message name=“GetPhoneNumberIn”> <part name=“name” type=“tns:NameIn”/> </message> SOAP Message Body (RPC Style): <SOAP-ENV:Body> <getPhoneNumber ...> <name> <first-name xsi:type=“xsd:string”>Ahmad M.</first-name> <last-name xsi:type=“xsd:string”>Ahmad</last-name> </name> </getPhoneNumber> </SOAP-ENV:Body> Source, [3]
  • 40. Mapping of a WSDL part to a SOAP document style message • Here, parts point to the XML instance contained in the SOAP message body. • No additional wrapper. • The element representing the XML instance goes directly into the SOAP message body element. • See next slide!
  • 41. WSDL part to a SOAP document style message WSDL Document: <message name=“GetPhoneNumberIn”> <part name=“name” element=“tns:NameIn”/> </message> SOAP Message Body (Document Style): <SOAP-ENV:Body> <NameIn> <first-name xsi:type=“xsd:string”>Ahmad M.</first- name> <last-name xsi:type=“xsd:string”>Ahmad</last-name> </NameIn> </SOAP-ENV:Body> Source, [3]
  • 42. The operation element • 4 operation types: – One-way: has only an input element specifying the operation message. – Request-response: contains one input, one output and optionally, one or more fault elements. – Solicit-response: contains one input, one output and optionally, one or more fault elements. – Notification: contains only an output element specifying the operation message.
  • 43. operation element Source, [3]
  • 44. Mapping of a WSDL operation to a SOAP RPC style message • An operation element may hold two attributes: – name: it is mandatory and specifies the operation name – parameterOrder: carries a space-separated list of message parts. • May be used for request-response and solicit-response operations with an RPC binding to save the function call signature.
  • 45. WSDL operation to a SOAP RPC style message WSDL Document: <portType name=“PhoneNumberPortType”> <operation name=“getPhoneNumber”> <input message=“tns:GetPhoneNumberIn”/> <output message=“tns:PhoneNumberOut”/> </operation> </portType> SOAP Message Body (RPC Style): <SOAP-ENV:Body> <getPhoneNumber ...> ... </getPhoneNumber> </SOAP-ENV:Body> Source, [3]
  • 46. Binding-related elements of a WSDL document • binding element almost matches the structure of portType element. • binding must map the abstract portType description to a concrete implementation, carries two attributes: – name: is mandatory, and specifies the name of the binding – type: is mandatory, and refers to the port type that it binds.
  • 47. binding example, Source, [3] <binding name=“PhoneNumberSoapBinding” type=tns:PhoneNumberPortType”> <!–- SOAP binding extensibility element --> <SOAP-EXT:binding style=“rpc”> transport=“http://schemas.xmlsoap.org.soap/http”/> <operation name=“getPhoneNumber”> <!–- SOAP operation extensibility element --> <SOAP-EXT:operation soapAction=“”/> <input> <SOAP-EXT:body use=“encoded”/> </input> <output> <SOAP-EXT:body use=“encoded”/> </output> </operation> </binding>
  • 48. The binding element • binding type attribute together with the name attribute uniquely identifies a binding. • Since various bindings may refer to the same port type.
  • 49. binding element details Source, [3]
  • 50. Session Outlines  Introduction  WSDL building blocks  Structure of a WSDL document  The SOAP binding
  • 51. The SOAP binding • Binding to SOAP 1.1, means that we must fill these containers with SOAP 1.1 extensibility elements. • Providing a distinct WSDL binding requires the definition of extensibility elements for the binding, the operation and the port elements. • In our examples, the namespace prefix for SOAP binding is SOAP-EXT. • The table contains WSDL-defined binding elements and contained SOAP extensibility element.
  • 52. WSDL-defined binding elements and contained SOAP extensibility element Source, [3]
  • 53. SOAP extensibility elements • SOAP binding extensibility element: has two attributes: – transport: indicates the transport protocol for the SOAP message. – style: can have value rpc or document. • SOAP operation extensibility element: provides operation scope info, has two attributes: – style: may overwrite binding-wide sittings for individual operations. – soapAction: specifies the value of the soapAction HTTP header for the operation.
  • 54. SOAP extensibility elements • SOAP body extensibility element: defines the mapping of abstract message parts into the SOAP message body: – parts: contains the set of abstract message parts in message body. – use: can take value literal or encoded. – encodingStyle: if encoded, this defined the encoding rules. – namespace: holds the namespace of the operation name.
  • 55. SOAP RPC style binding using Section 5 encoded message parts • getPhoneNumber operation, or procedure call, is identified using namespace attribute. <operation name=“getPhoneNumber” <SOAP-EXT:operation soapAction=“”/> <input> <SOAP-EXT:body use=“encoded” encodingStyle=“http://schemas.xmlsoap.org/soap/encoding” namespace=“http://companyx.com/ns/employees”/> </input> <output> <SOAP-EXT:body use=“encoded” encodingStyle=“http://schemas.xmlsoap.org/soap/encoding” namespace=“http://companyx.com/ns/employees”/> </output> </operation>
  • 56. SOAP address extensibility element for SOAP over HTTP, example • This extensibility element specifies the network address of the SOAP-accessible service. • It is a member of the WSDL port element. • It contains one attribute: – location: defines the network address for the binding. <service name=“PhoneNumberService”> <port name=“PhoneNumberPort” binding=“tns:PhoneNumberSoapBinding”> <SOAP-EXT:address location=“http://www.companyx.com/servlet/rpcrouter”/> </port> </service>
  • 57. Practices 1 • Create a web application to consume a web service called (GlobalWeather) available on the web: http://www.webservicex.net/globalweather.asmx • Use the WSDL file of the web service available on: http://www.webservicex.net/globalweather.asmx • Create new ASP.Net web site • In the design add a button and a text box. • To the solution name add a web reference (Use the link of the WSDL file above) • Go to the design, double click on the button. Add: using (the referenced webservice name). Button Click code: protected void Button1_Click(object sender, EventArgs e) { GlobalWeather G = new GlobalWeather(); string cities = G.GetCitiesByCountry(TxtCountry.Text.ToString()); Response.Write(cities); }
  • 58. Practice 2: Self Hosting Service • Create a service library (any service), name your solution (SelfHostingService) • Add a new console application project to the solution, (MyserviceHost) – Here, add references, to your service library and to .Net System.ServiceModel – Add inside the main class ,the following code: ServiceHost host = new ServiceHost(typeof(MyService)); host.Open(); //read service configurations from .config file and build the runtime to support all endpoints defined in the configuration Console.WriteLine("MyService is up and running ..."); Console.ReadLine(); host.Close(); – Build your solution – Add an item (application configuration file) for the project and edit it using WCF editor: • Create new service (browse for your the service library), then next. Use http binding , next: use basic WS interoperability, nex: address: use relative address (e.g. name it basic) and finish. • Create another service endpoint, the same, but use advanced WS interoperability, and use relative address (ws) • Click Host in the configuration and create new base address (http://localhost:8080/MyService) • Create another service endpoint, use tcp binding, use address (http://localhost:8080/MyService) • Create another service endpoint, use Named pipes binding, use address (net.pipe://localhost/MyService) • To enable metadata in your service; click advanced, then service behaviour, and new service behaviour, and add the service meta data element, then select the element from the tree and set httpGetEnabeled to true • Click the service name in the top, and Apply the new behaviour to the behaviour configuration • Save the configuration and exit.
  • 59. Practice 2: Self Hosting Service • Right-click your host project and set as startup project. • Press Crtl+F5 to start. • Open internet explorer and in the address (localhost:8080/MyService)
  • 60. Summary During this session we have introduced the use of WSDL to describe web services; Thus, the following subjects have been described: 1. WSDL building blocks 2. Structure of a WSDL document 3. The SOAP binding In the next session we will cover the enterprise service bus “ESB”
  • 61. References 1. Aaron Skonnard, Understanding WSDL, Microsoft Digital Network, “http://msdn.microsoft.com/en-us/library/ms995800.aspx”, March 2003 2. Extracted from: http://en.wikipedia.org/wiki/WSDL 3. Olaf Zimmermann, Mark Tomlinson, Stefan Peuser, “Perspectives on Web services- Applying SOAP, WSDL and UDDI to real-world projects, 2nd edition, Springer, 2005