Web services and web pages
Web services are very different from Web pages that also provide access to applications across the Internet and across organizational boundaries. Web pages are targeted at human users, whereas Web services are developed for access by humans as well as automated applications. As terminology is often used very loosely, it is easy to confuse someone by describing a “service” as a Web service when it is in fact not. Consequently, it is useful to examine first the concept of software-as-a-service on which Web services technology builds and then compare Web services to Web server-based functionality.
Software as a Service
The concept of software-as-a-service is revolutionary and appeared first with the applications service provider software model. Application service providers (ASPs) are companies that package software and infrastructure elements together with business and professional services to create a complete solution that they present to the end customer as a service on a subscription basis. An ASP is a third-party (service organization) that deploys, hosts, and manages access to packaged applications at a centrally managed facility for multiple customers across a network, offering application availability and security.
Applications are delivered over networks on a subscription or rental basis, and end users access these applications remotely using Internet or leased lines. In essence, ASPs were a way for companies to outsource some or even all aspects of their IT needs.
Function of Application service providers
The basic idea behind an ASP is to “rent” applications to subscribers. The whole application
is developed in terms of the user interface, workflow, business, and data components that are all bound together to provide a working solution. An ASP hosts the entire application and the customer has little opportunity to customize it beyond setting up tables,or perhaps the final appearance of the user interface (such as adding company logos).
Access to the application for the customer is provided simply via browsing and manually initiated purchases and transactions occur by downloading reports. This activity can take place by means of a browser. This is not a very flexible solution, but offers considerable benefits in terms of deployment providing the customer is willing to accept it “as is”. By providing a centrally hosted Internet application, the ASP takes primary responsibility for managing the software application on its infrastructure, using the Internet as the conduit between each customer and the primary software application. What this means for an enterprise is that the ASP maintains the application, the associated infrastructure, and the customer’s data, and ensures that the systems and data are available whenever needed.
An alternative of this is where the ASP is providing a software module that is downloaded to the customer’s site on demand – this is for situations where the software does not work in a client/server fashion, or can be operated remotely via a browser. This softwaremodule might be deleted at the end of the session, or may remain on the customer’s machine until replaced by a new version, or the contract for using it expires. Although the ASP model introduced the concept of software-as-a-service first, it suffered from several inherent limitations such as the inability to develop highly interactive applications, inability to provide complete customizable applications, and inability to integrate applications. This resulted in monolithic architectures, highly fragile, customerspecific, non-reusable integration of applications based on tight coupling principles.
Today we are in the midst of another significant development in the evolution of softwareas-
a-service. The new architecture allows for loosely coupled asynchronous interactions on the basis of eXtensible Markup Language (XML) standards with the intention of making access to, and communications between, applications over the Internet easier.
The Web services paradigm allows the software-as-a-service concept to expand to include the delivery of complex business processes and transactions as a service. Perceiving the relative benefits of Web services technology, many ASPs are modifying their technical infrastructures and business models to be more akin to those of Web services providers. The use of Web services provides a more flexible solution for ASPs. The core of the application – the business and data components – remains on the ASP’s machines, but is now accessed programmatically via Web services interfaces. The customers can now build their own custom business processes and user interfaces.
When comparing Web services to Web-based applications we may distinguish four key differences
◆ Web services act as resources to other applications that can request and initiate those Web services, with or without human intervention. This means that Web services can call on other Web services to outsource parts of a complex transaction to those other Web services. This provides a high degree of flexibility and adaptability not available in today’s Web-based applications.
◆ Web services are modular, self-aware, and self-describing applications; a Web service knows what functions it can perform and what inputs it requires to produce its outputs, and can describe this to potential users and to other Web services. A Web service can also describe its non-functional properties: for instance, the cost of invoking the service, the geographical areas the Web service covers, security measures involved in using the Web service, performance characteristics, contact information, and more.
◆ Web services are more visible and manageable than Web-based applications; the state of a Web service can be monitored and managed at any time by using external application management and workflow systems. Despite the fact that a Web service may not run on an in-house (local) system or may be written in an unfamiliar programming language, it still can be used by local applications, which may detect its state (active or available) and manage the status of its outcome.
◆ Web services may be brokered or auctioned. If several Web services perform the same task, then several applications may place bids for the opportunity to use the requested service. A broker can base its choice on the attributes of the “competing” Web services (cost, speed, degree of security).
No comments:
Post a Comment