Content deleted Content added
No edit summary |
m Corrected a grammatical error and added a parenthetical definition of a tech acronym. |
||
(36 intermediate revisions by 28 users not shown) | |||
Line 1:
{{multiple issues|
{{technical|date=September 2014}}
| name = Apache WSIF▼
{{abbreviations|date=March 2012}}
| logo = ▼
{{no footnotes|date=November 2014}}
| screenshot = ▼
{{advert|date=December 2014}}
| caption = ▼
}}
| developer = [[Apache Software Foundation]] ▼
{{Infobox software
| latest_release_version = 2.0
| latest_release_date =
| operating_system
| genre = [[Web
| license = [[Apache License
| website = {{URL|http://ws.apache.org/wsif
}}
The '''Web Services Invocation Framework''' (WSIF) supports a simple
Using WSIF, WSDL can become the centerpiece of an integration framework for accessing software running on diverse platforms
In WSDL, a binding defines how to map between the abstract ''PortType'' and a real service format and protocol. For example, the SOAP binding defines the encoding style, the ''SOAPAction'' header, the namespace of the body (the targetURI), and so forth.▼
WSDL allows
WSIF provides an API to allow the same client code to access any available binding.
The WSIF uses ''providers'' to support these multiple WSDL bindings. A provider is a piece of code that supports a WSDL extension and allows invocation of the service through that particular implementation. WSIF providers use the J2SE JAR service provider specification, making them discoverable at [[Run time (program lifecycle phase)|runtime]].▼
▲Using WSIF, WSDL can become the centerpiece of an integration framework for accessing software running on diverse platforms and using widely varying protocols. The only precondition is that you need to describe your software using WSDL, and include in its description a binding that your client's WSIF framework has a provider for. WSIF defines and comes packaged with providers for local java, EJB, JMS, and JCA protocols. That means you can define an EJB or a JMS-accessible service directly as a WSDL binding and access it transparently using WSIF, using the same API you would for a SOAP service or even a local java class.
Clients can
▲== WSIF Structure ==
WSIF defines additional binding extensions so that [[Enterprise JavaBean]] (EJBs), local
▲In WSDL a binding defines how to map between the abstract PortType and a real service format and protocol. For example, the SOAP binding defines the encoding style, the SOAPAction header, the namespace of the body (the targetURI), and so forth.
== Description ==
▲WSDL allows there to be multiple implementations for a Web Service, and multiple Ports that share the same PortType. In other words, WSDL allows the same interface to have bindings to for example, SOAP and IIOP.
▲WSIF provides an API to allow the same client code to access any available binding. As the client code can then be written to the PortType it can be a deployment or configuration setting (or a code choice) which port and binding it uses.
▲WSIF uses 'providers' to support these multiple WSDL bindings. A provider is a piece of code that supports a WSDL extension and allows invocation of the service through that particular implementation. WSIF providers use the J2SE JAR service provider specification making them discoverable at runtime.
▲Clients can then utilize any new implementations and can delegate the choice of port to the infrastructure and runtime, which allows the implementation to be chosen on the basis of quality of service characteristics or business policy.
▲== WSDL bindings for EJBs, JMS, JCA... ==
▲WSIF defines additional binding extensions so that EJBs, local java classes, software accessible over message queues using the JMS API and software that can be invoked using the Java Connector architecture can also be described in WSDL. WSIF is packaged with providers that allow transparent invocation of such software given the corresponding WSDL description.
WSIF enables developers to interact with abstract representations of Web services through their WSDL descriptions instead of working directly with the Simple Object Access Protocol (SOAP) APIs, which is the usual programming model. With WSIF, developers can work with the same programming model regardless of how the Web service is implemented and accessed.
WSIF allows stubless or completely dynamic invocation of a Web service, based upon examination of the
WSIF
== Differences between WSIF and Axis ==
Line 57 ⟶ 53:
Axis is an implementation of SOAP. It includes on the server-side infrastructure for deploying web service implementations and then routing SOAP messages between clients and those implementations. It also implements the JAX-RPC specification for invoking SOAP services.
WSIF is similar to the client piece of Axis, in that it is used for invoking services. However, WSIF's API is WSDL-driven and protocol independent; it allows protocol-specific code ("providers") to be plugged in. For invoking SOAP services, WSIF is
== Differences between WSIF and JAX-RPC ==
JAX-RPC is an API for invoking XML-based RPC services
== See also ==
Line 67 ⟶ 63:
== External links ==
* [http://ws.apache.org/wsif/ Web Services Invocation Framework documentation]
* [http://publib.boulder.ibm.com/infocenter/ws51help/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/cwsf_wsdl.html WSIF and WSDL]
* [http://www.s-cube-network.eu/km/terms/s/service-binding Service Binding]
{{Apache Software Foundation}}
[[Category:Web service specifications]]
[[Category:Web services]]
|