The WS-* Web Services mean the software implementation of the WS-* specifications and are all based on a set of protocols and basic standards used to exchange data between applications in heterogeneous environments:
- SOAP (Simple Object Access Protocol) for exchanging messages;
- WSDL (Web Service Description Language) for describing: of web services, of their operations, the messages used, the types of data used, the protocols used and their location to the web direction (URI / URL);
- UDDI directories that can reference web services.
These Web Services WS-* are also defined by the type of SOA.
Software written in various programming languages and on various platforms can use WS-* Web Services for exchanging data over computer networks like the Internet. OASIS and the World Wide Web Consortium (W3C) are coordinating committees responsible for the architecture and standardization of Web services. To improve interoperability between Web service achievements, organization WS-I has developed a series of profiles to change the future standards involved.
Security and WSDL
Based on the HTTP protocol, Web services can work through many firewalls without requiring changes to the firewall rules.
This facility to implement WS web services have a drawback: it is more complex to implement safety rules specific to WS web services on a regular web server.
- Web services provide interoperability between various software applications running on different platforms.
- Web services use open standards and protocols.
- Protocols and data formats are in text format to the extent possible, thus facilitating the understanding of the overall functioning of trade.
- Development tools, based on these standards, allow the automatic creation of programs using existing web services.
- The Web services standards in some areas are new for the moment.
- Web services suffer from poor performance compared to other approaches to distributed computing, such as RMI, CORBA, or DCOM.
Web services implement business logic made consumable (a web service is consumed > use) through the use of standards (mostly TCP/IP, URI/URN/URL, MIME, HTTP/SMTP/…, SOAP, SSL/TLS … for transport and XML for content), which enables any technology using these standards to exploit it, facilitating the interoperability of applications.
Creating of Web services is justified by the service-oriented architecture, that is to say, the desire to make available a service that implements business logic hidden from users.
In the context of data exchange contracts in Business to Business (business <=> enterprise), as in Business to Consumer (business <=> client/user), another interest for which web services are used is that they are based on the HTTP protocol (which uses port 80 by default). To understand this, keep in mind that many companies are protected using firewalls that filter and block much Internet traffic for security reasons. In this environment, many (almost all) ports are closed to incoming and outgoing traffic and the administrators of these firewalls are not eager to open them. Port 80, however, is still open because it is used by the HTTP protocol used by Web browsers. With this advantage, web services represent a kind of tunneling.
Web services can be deployed using a software application server:
- JAX-WS 2.x which is the reference implementation of Java EE is open source and integrated into GlassFish and used in other environments. WSIT extension (also called “Project Tango”) provides an implementation of WS-ReliableMessaging, WS-SecureConversation, WS-Trust, …
- Axis and Jakarta Tomcat server (two projects open source of Apache Software Foundation)
- Codehaus XFire to offer a Java framework with a different approach to Axis
- CXF Fusion between XFire (Codehaus) and Celtix (ObjectWeb)
- ColdFusion MX Macromedia
- HTTP IIS Microsoft server (with NET framework)
- WebLogic Oracle Corporation
- IBM WebSphere Application Server (based on Apache server and the J2EE platform)
- Oracle Application Server of Oracle Corporation
- Novell ZenWorks
- NuSOAP: library for developers of Web services in PHP
- gSOAP: library for developers of Web services in C ++
- JBoss Application Server of JBoss society. Component of JEMS (JBoss Enterprise Middleware System) which also includes the relational persistence framework Hibernate.
- Compuware Uniface Implementing SOAP web services using Tomcat
- IBM Lotus Domino
- Nirva Application Platform of Nirva Systems that offers its fusion platform of a BSE and an application server handling different languages