Http://my.oschina.net/jiver/blog/100909Web Service Concept
What is a Web service? On the surface, a Web service is an application that exposes an API that can be called through the web. That is, you can use programmatic methods to implement a feature application through a Web call. For example, the author creates a Web Service that is useful for querying basic information about an employee of a company. It takes the employee's number as the query string and returns the employee's specific information. You can enter an HTTP GET request directly in the address bar of the browser to invoke the ASP page that lists the employee's basic information, which can be counted as a Web service experience.
In depth, Web service is a new branch of Web applications that are self-contained, self-describing, modular applications that can be described, published, found, and invoked through the Web in a network (usually the web).
Web Service is a network-based, distributed, modular component that performs specific tasks and adheres to specific technical specifications that enable the Web service to interoperate with other compatible components. It can use standard Internet protocols, such as Hypertext Transfer Protocol HTTP and XML, to embody functionality on the Internet and intranet. The Web service platform is a set of standards that defines how applications can interoperate on the web. You can write Web Service on any platform you like, in any language you like (the author uses C #).
Technical support for WEB service
The Web service platform requires a set of protocols for the creation of distributed applications. Any platform has its own data representation method and type system. To achieve interoperability, the WEB service platform must provide a standard set of type systems for communicating different types of systems in different platforms, programming languages, and component models. Currently these agreements are:
1.XML and XSD
Extensible Markup Language XML? is the basic format for representing data in a Web service platform. In addition to being easy to establish and easy to analyze, the main advantage of XML is that it is platform-independent and vendor-independent. XML is created by the World Wide Web Association (SCHEMAXSD), which creates a set of standard data types, and gives a language to extend this set of data types.
The WEB service platform uses XSD as the data type system. When you construct a Web service in a language such as vb.net or C #, all data types that you use must be converted to the XSD type in order to conform to the Web service standard. If you want it to be passed between different organizations on different platforms and different software, you need to wrap it up with something. This kind of thing is a protocol, like SOAP.
2.SOAP
Soap is a Simple Object Access Protocol (PROTOCOL), which is a lightweight protocol for exchanging XML encoded information. It has three main aspects: Xml-envelope defines a framework for describing information content and how to handle content, encodes program objects as rules for XML objects, and executes remote procedure call (RPC) conventions. Soap can run on any other transport protocol. For example, you can use SMTP, the Internet e-mail protocol, to pass SOAP messages, which is tempting. The headers between the transport layers are different, but the XML payload remains the same.
Web Service wants to implement a "software-software dialogue" between different systems can be called each other, breaking the software application, Web site and various devices in the state of incompatibility between the realization of "web-based seamless integration" goal.
3.WSDL
Web Service Description Language WSDL is a formal description document provided in a machine-readable manner and XML-based language used to describe Web service and its functions, parameters, and return values. Because it is XML-based, WSDL is both machine-readable and human-readable.
4.UDDI
The purpose of UDDI is to establish standards for e-commerce; UDDI is a web-based, distributed, Web service-provided, information Registry Implementation Standard specification that also includes a set of Web service registrations that enable enterprises to provide themselves. To enable other enterprises to discover the implementation criteria for the Access Protocol.
5. Remote procedure call RPC with message delivery
The WEB service itself is actually implementing communication between applications. We now have two methods of application communication: RPC Remote Procedure call, and message delivery. When using RPC, the concept of a client is to invoke a remote procedure on the server, typically by instantiating a remote object and calling its methods and properties. The RPC system attempts to achieve a position of transparency: the server exposes the interface of the remote object, and the client is like the interface of these objects that are used locally, so that the underlying information is hidden, and the client does not need to know which machine the object is on.
Support for WEB service software
Operating system is inseparable from rich application software support. Similarly, Web service technology can only reflect its value through the application of a wide range of applications, the current approach is more popular to use. NET and Java two technologies, and the two implementations are interoperable; Today we can see the use of Microsoft, IBM, SUN, Web Service applications built by different vendors ' Web service building tools such as Borland.
Microsoft. NET
Microsoft's. NET technology should be regarded as the most popular web Service development technology nowadays. First, because its company in the previous corresponding products occupy a considerable market share, so that the new launch. NET to have a relatively stable user base, and secondly, more importantly. NET platform not only extends Microsoft's consistent programming style, but also adds a number of key technologies to support Web services. NET has achieved a very good combination in the simplicity of operation and the stability of execution.
Microsoft's Visual Studio.NET is a WEB-friendly development tool. Microsoft's goal is to put its new programming language?? C # as the preferred language for Web service. While C # looks like Java, there are some unique features that are not in Java. NET technology is the main tool for Web Service development is ASP. Technically, aspasp.net? Provides some advantages over previous versions of ASP (for example: separation of code and HTML, compared to scripting languages, support for "real" programming languages such as C #).
IBM's WebSphere
IBM is the first company in the industry to offer an e-commerce infrastructure that fully supports Web services. Through years of joint efforts with the world Wide Web Consortium, all IBM software, including DB2, Lotus, Tivoli, and WebSphere, has been implemented for soap, WSDL, UDDI, Linux, XML, Comprehensive support for open technology and standards such as Java EE. IBM's WebSphere is also a better infrastructure software development platform. WebSphere software platform and development tools include WebSphere Studio application Developer WSAD? Based on open standards such as Java EE, XML, and Web services, and with IBM's key advantages in reliability, scalability, and security. WebSphere is the core platform of IBM's Web services strategy, supporting all the open standards and technologies necessary to develop, publish, and deploy Web services applications, including UDDI,SOAP,J2EE,WSDL, and enhancements to XML technology integration, This makes it a lot of users around the world.
Borland's JBuilder
Borland company in JBuilder7, users can develop Web service and wireless applications more quickly with their Borland web Services Kit for Java and Borland JBuilder Mobileset 3. This will enable developers to easily create and integrate Web Service in the same development environment. This year's new JBuidler8 provides a convenient and efficient way to develop Web service.
In summary, both. NET and Java are good choices for Web service development, although both have some areas to be perfected, but for now, they are the best tools and techniques to develop. The specific choice of which development tools, but also the benevolent see of the problem. Fundamentally, these two methods are not the best of the question, but based on the user's mastery of the two methods and the degree of preference for specific language to decide.
Web Service Concepts