Web services that use markup languages

{ Posted on 10:38 PM by sanju }
Automated tools can aid in the creation of a web service. For services using WSDL it is possible to either automatically generate WSDL for existing classes (a bottom-up strategy) or to generate a class skeleton given existing WSDL (a top-down strategy)


There are a number of web services that use markup languages:
  • JSON-RPC
  • JSON-WSP
  • Web template
  • Web Services Description Language (WSDL) from the W3C
  • XML Interface for Network Services (XINS) provides a POX-style Web service specification format
  • Web Services Conversation Language (WSCL)
  • Web Services Flow Language (WSFL) (superseded by BPEL)
  • WS-MetadataExchange
  • Representational state transfer (REST) versus remote procedure call (RPC)
  • XML-RPC - XML Remote Procedure Call

Web API

{ Posted on 10:35 PM by sanju }
A web API is a development in web services where emphasis has been moving to simpler representational state transfer (REST) based communications. RESTful APIs do not require XML-based web service protocols (SOAP and WSDL) to support their light-weight interfaces.

Web APIs allow the combination of multiple web resources into new applications known as mashups.

WSDL version 2.0 offers support for binding to all the HTTP request methods (beyond GET and POST as in version 1.1) allowing for a "RESTful web services" approach.

Web service

{ Posted on 10:33 PM by sanju }
A web service is a method of communication between two electronic devices over the World Wide Web. A web service is a software function provided at a network address over the web or the cloud, it is a service that is "always on" as in the concept of utility computing.

The W3C defines a "Web service" as:

 a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.

The W3C also states:

We can identify two major classes of Web services:

REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of "stateless" operations; and arbitrary Web services, in which the service may expose an arbitrary set of operations.

Web Services Description Language (WSDL)

{ Posted on 2:08 AM by sanju }
WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate, however, the only bindings described in this document describe how to use WSDL in conjunction with SOAP 1.1, HTTP GET/POST, and MIME.

A WSDL document defines services as collections of network endpoints, or ports. In WSDL, the abstract definition of endpoints and messages is separated from their concrete network deployment or data format bindings. This allows the reuse of abstract definitions: messages, which are abstract descriptions of the data being exchanged, and port types which are abstract collections of operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding. A port is defined by associating a network address with a reusable binding, and a collection of ports define a service. Hence, a WSDL document uses the following elements in the definition of network services:
  • Types– a container for data type definitions using some type system (such as XSD).
  • Message– an abstract, typed definition of the data being communicated.
  • Operation– an abstract description of an action supported by the service.
  • Port Type–an abstract set of operations supported by one or more endpoints.
  • Binding– a concrete protocol and data format specification for a particular port type.
  • Port– a single endpoint defined as a combination of a binding and a network address.
  • Service– a collection of related endpoints.
In addition, WSDL defines a common binding mechanism. This is used to attach a specific protocol or data format or structure to an abstract message, operation, or endpoint. It allows the reuse of abstract definitions.
In addition to the core service definition framework, this specification introduces specific binding extensions for the following protocols and message formats:
  • SOAP 1.1 
  • HTTP GET / POST  
  • MIME  
Although defined within this document, the above language extensions are layered on top of the core service definition framework. Nothing precludes the use of other binding extensions with WSDL.

Jquery for Mobile Applications

{ Posted on 1:45 AM by sanju }
In recent days I was searching a solution for our mobile application. Websites for mobile platforms are rendered in a minimal way in the mobile browsers. And nowadays android / ios mobiles supports html5 and such updated versions. So the developer should aware of suitable javascripts and styles to cope with the platform. jquerymobile.com/ gave me a solution to solve the issue. We can add customized jquery tools using jquerymobile.com. Please have a try on the same.

Data binding

{ Posted on 9:36 AM by saidwin }
Data binding is a DHTML feature that lets you easily bind individual elements in your document to data from another source, such as a database or comma-delimited text file. When the document is loaded, the data is automatically retrieved from the source and formatted and displayed within the element.

One practical way to use data binding is to automatically and dynamically generate tables in your document. You can do this by binding a table element to a data source. When the document is viewed, a new row is created in the table for each record retrieved from the source, and the cells of each row are filled with text and data from the fields of the record. Because this generation is dynamic, the user can view the page while new rows are created in the table. Additionally, once all the table data is present, you can manipulate (sort or filter) the data without requiring the server to send additional data. The table is regenerated, using the previously retrieved data to fill the new rows and cells of the table.

Another practical use of data binding is to bind one or more elements in the document to specific fields of a given record. When the page is viewed, the elements are filled with text and data from the fields in that record, sometimes called the "current" record. An example is a form letter in which the name, e-mail address, and other details about an individual are filled from a database. To adapt the letter for a given individual, you specify which record should be the current record. No other changes to the letter are needed.

Yet another practical use is to bind the fields in a form to fields in a record. Not only can the user view the content of the record, but the user can also change that content by changing the settings and values of the form. The user can then submit these changes so that the new data is uploaded to the source—for example, to the HTTP server or database.

To provide data binding in your documents, you must add a data source object (DSO) to your document. This invisible object is an ActiveX control or Java applet that knows how to communicate with the data source. The following example shows how easy it is to bind a table to a DSO. When viewed, this example displays the first three fields from all the comma-delimited records of the file "sampdata.csv" in a clear, easy-to-read table.

List of web service frameworks

{ Posted on 6:25 AM by saidwin }
A list of web service frameworks:

Name Platform Messaging Model (Destination) Specifications Protocols
ActionWebService Ruby (on Rails) Client/Server ? SOAP, XML-RPC, WSDL
AlchemySOAP C++ Client/Server WS-Addressing SOAP
Apache Axis Java/C++ Client/Server WS-ReliableMessaging, WS-Coordination, WS-Security, WS-AtomicTransaction, WS-Addressing SOAP, WSDL
Apache Axis2 Java/C Client/Server/ Asyn Support WS-ReliableMessaging, WS-Security, WS-AtomicTransaction, WS-Addressing ,MTOM ,WS-Policy, WS-MetadataExchange SOAP1.1, SOAP1.2, MTOM, WSDL 2.0, WSDL
Apache CXF Java Client/Server/ Asyn Support WS-ReliableMessaging, WS-Security, WS-Addressing, MTOM, WS-Policy, WS-SecureConversation, WS-SecurityPolicy, WS-Trust SOAP1.1, SOAP1.2, MTOM, WSDL 2.0, WSDL
Banshee Java Client ? SOAP1.1, SOAP1.2, MTOM, WSDL 2.0, WSDL
appRain PHP Client/Server/ PHP Reflection API. Auto Generate WSDL and Cache SOAP, WSDL
csoap C Client/Server ? SOAP
ColdBox Platform ColdFusion Client/Server Web development platform SOAP, REST, WSDL
FEAST Qt/C++ Client/Server WS-Addressing SOAP, WSDL
gSOAP C/C++ Client/Server WS-Addressing, WS-Discovery, WS-Enumeration, WS-Security SOAP, XML-RPC, WSDL
Halcyon Ruby Client/Server N/A JSON
HED Hosting Environment Daemon C++ with Python and Java bindings Client/Server Selected parts of WSRF, WS-Security, WS-Addressing, SAML SOAP
Hessian Java, Ruby, Python, Erlang, PHP, others Client/Server Hessian 1.0.1 Hessian
JSON-RPC-Java Java Server JSON-RPC
JSON-RPC-Lua Lua Server JSON-RPC
Java Web Services Development Pack / GlassFish Java Client/Server WS-Addressing, WS-Security, ??? SOAP, WSDL,
Jt Framework Java/C Client/Server/ Messaging WS-* SOAP, REST, any well-known protocol
.NET Framework C#, VB .NET Client/Server WS-Addressing, WS-Security, SOAP, WSDL,
NuSOAP PHP Client/Server Object Oriented, Creates Users Help document, ? SOAP1.1, WSDL
Rogue Wave Hydra Eclipse Based Development C++, Java Client/Server WS-Security, SCA, SDO, Transport/Protocol neutral (JMS/SOAP, raw socket/binary, etc.) SOAP, WSDL
ServiceStack REST and SOAP Web Services C# Client/Server WS-* SOAP, XML-RPC, WSDL, JSON-RPC, JSON, CSV, JSV
Simple Remoting Java / JavaScript Client/Server JSON/HTTP, HTTP GET/POST
SOAP Lite Perl Client/Server ??? SOAP, WSDL, ???
Staff C++, AJAX, J2ME Client/Server/Asyn support All of Apache Axis2/C SOAP, WSDL, REST
Turmeric Java Client/Server/Async/LocalBinding Turmeric is a comprehensive, policy-driven SOA platform that you can use to develop, deploy, secure, run and monitor SOA services and consumers SOAP, WSDL, REST, MTOM, JSON, XML, Supports 'RAW' mode also.
Web Services Interoperability Technology Java Client/Server WS-Addressing, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction, WS-Security, WS-Security Policy, WS-Trust, WS-SecureConversation, WS-Policy, WS-MetadataExchange SOAP, WSDL, MTOM, JSON, XML
Web Services Invocation Framework Java Client ??? SOAP, WSDL
Windows Communication Foundation .Net Client/Server/Asyn support WS-Addressing, WS-ReliableMessaging, WS-Security SOAP, WSDL, REST
WSO2 WSF/PHP PHP Client/Server SOAP MTOM, WS-Addressing, WS-Security, WS-SecurityPolicy, WS-Secure Conversation, WS-ReliableMessaging SOAP, WSDL
XFire became Apache CXF Java Client/Server WS-Addressing, WS-Security SOAP, WSDL
XML Interface for Network Services Java Server ? ?? SOAP, XML-RPC, WSDL, JSON-RPC, JSON
Zend Framework PHP Client/Server ? SOAP, JSON
Suds Python Client ? SOAP, WSDL
Zolera Python Client/Server ? SOAP, WSDL
Soaplib Python Server ? SOAP, WSDL