web services Recently Published Documents
- Latest Documents
- Most Cited Documents
- Contributed Authors
- Related Sources
- Related Keywords
An effective method for clustering-based web service recommendation
Normally web services are classified by the quality of services; however, the term quality is not absolute and defined relatively. The quality of web services is measured or derived using various parameters like reliability, scalability, flexibility, and availability. The limitation of the methods employing these parameters is that sometimes they are producing similar web services in recommendation lists. To address this research problem, the novel improved clustering-based web service recommendation method is proposed in this paper. This approach is mainly dealing with producing diversity in the results of web service recommendations. In this method, functional interest, quality of service (QoS) preference, and diversity features are combined to produce a unique recommendation list of web services to end-users. To produce the unique recommendation results, we propose a varied web service classification order that is clustering-based on web services’ functional relevance such as non-useful pertinence, recorded client intrigue importance, and potential client intrigue significance. Additionally, to further improve the performance of this approach, we designed web service graph construction, an algorithm of various widths clustering. This approach serves to enhance the exceptional quality, that is, the accuracy of web service recommendation outcomes. The performance of this method was implemented and evaluated against existing systems for precision, and f-score performance metrics, using the research datasets.
An extensive Review of Web-Based Multi Granularity Service Composition
The paper reviews the efforts to compose SOAP, non-SOAP and non-web services. Traditionally efforts were made for composite SOAP services, however, these efforts did not include the RESTful and non-web services. A SOAP service uses structured exchange methodology for dealing with web services while a non-SOAP follows different approach. The research paper reviews the invoking and composing a combination of SOAP, non-SOAP, and non-web services into a composite process to execute complex tasks on various devices. It also shows the systematic integration of the SOAP, non-SOAP and non-web services describing the composition of heterogeneous services than the ones conventionally used from the perspective of resource consumption. The paper further compares and reviews different layout model for the discovery of services, selection of services and composition of services in Cloud computing. Recent research trends in service composition are identified and then research about microservices are evaluated and shown in the form of table and graphs.
Towards a based-Agents and Web Services Framework for Managing Algerian E-Government Applications
Multi-criteria web services selection: balancing the quality of design and quality of service.
Web service composition allows developers to create applications via reusing available services that are interoperable to each other. The process of selecting relevant Web services for a composite service satisfying the developer requirements is commonly acknowledged to be hard and challenging, especially with the exponentially increasing number of available Web services on the Internet. The majority of existing approaches on Web Services Selection are merely based on the Quality of Service (QoS) as a basic criterion to guide the selection process. However, existing approaches tend to ignore the service design quality, which plays a crucial role in discovering, understanding, and reusing service functionalities. Indeed, poorly designed Web service interfaces result in service anti-patterns, which are symptoms of bad design and implementation practices. The existence of anti-pattern instances in Web service interfaces typically complicates their reuse in real-world service-based systems and may lead to several maintenance and evolution problems. To address this issue, we introduce a new approach based on the Multi-Objective and Optimization on the basis of Ratio Analysis method (MOORA) as a multi-criteria decision making (MCDM) method to select Web services based on a combination of their (1) QoS attributes and (2) QoS design. The proposed approach aims to help developers to maintain the soundness and quality of their service composite development processes. We conduct a quantitative and qualitative empirical study to evaluate our approach on a Quality of Web Service dataset. We compare our MOORA-based approach against four commonly used MCDM methods as well as a recent state-of-the-art Web service selection approach. The obtained results show that our approach outperforms state-of-the-art approaches by significantly improving the service selection quality of top- k selected services while providing the best trade-off between both service design quality and desired QoS values. Furthermore, we conducted a qualitative evaluation with developers. The obtained results provide evidence that our approach generates a good trade-off for what developers need regarding both QoS and quality of design. Our selection approach was evaluated as “relevant” from developers point of view, in improving the service selection task with an average score of 3.93, compared to an average of 2.62 for the traditional QoS-based approach.
Enhancing Search-based Testing with Testability Transformations for Existing APIs
Search-based software testing (SBST) has been shown to be an effective technique to generate test cases automatically. Its effectiveness strongly depends on the guidance of the fitness function. Unfortunately, a common issue in SBST is the so-called flag problem , where the fitness landscape presents a plateau that provides no guidance to the search. In this article, we provide a series of novel testability transformations aimed at providing guidance in the context of commonly used API calls (e.g., strings that need to be converted into valid date/time objects). We also provide specific transformations aimed at helping the testing of REST Web Services. We implemented our novel techniques as an extension to EvoMaster , an SBST tool that generates system-level test cases. Experiments on nine open-source REST web services, as well as an industrial web service, show that our novel techniques improve performance significantly.
A Review on AWS - Cloud Computing Technology
Abstract: Cloud computing is something simple we can define as maintaining data centers and data servers and also u can access technology services by computing power, storage, and database using cloud computing technology AWS(Amazon Web Services). It is an emerged model which is already popular among almost all enterprises. It provides us the concept of ondemand services where we are using and scaling cloud resources on demand and as per demand respectively. AWS Cloud computing is a cost-effective model. The major concern in this model is Security and Storage in the cloud. This is one of the major reasons many enterprises of choosing AWS cloud computing. This paper provides a review of security research in the field of cloud security and storage services of the AWS cloud platform. After security and storage, we have presented the working of AWS (Amazon Web Service) cloud computing. AWS is the most trusted provider of cloud computing which not only provides excellent cloud security but also provides excellent cloud storage services. The main aim of this paper is to make cloud computing storage and security a core operation and not an add-on operation. As per the increase in the Service provider and related companies, this AWS Cloud Platform plays a vital role in service industries by giving its best web services, so, therefore, choosing the cloud service providers wisely is the basic need of the industry. Therefore we are going to see how AWS fulfills all these specific needs. Keywords: Trusted Computing, AWS, Information-Centric Security, Cloud Storage, S3, EC2, Cloud Computing
Application of Amazon Web Services within teaching & learning at Coventry University Group
An intelligent cloud service composition optimization using spider monkey and multistage forward search algorithms.
Web service composition allows developers to create and deploy applications that take advantage of the capabilities of service-oriented computing. Such applications provide the developers with reusability opportunities as well as seamless access to a wide range of services that provide simple and complex tasks to meet the clients’ requests in accordance with the service-level agreement (SLA) requirements. Web service composition issues have been addressed as a significant area of research to select the right web services that provide the expected quality of service (QoS) and attain the clients’ SLA. The proposed model enhances the processes of web service selection and composition by minimizing the number of integrated Web Services, using the Multistage Forward Search (MSF). In addition, the proposed model uses the Spider Monkey Optimization (SMO) algorithm, which improves the services provided with regards to fundamentals of service composition methods symmetry and variations. It achieves that by minimizing the response time of the service compositions by employing the Load Balancer to distribute the workload. It finds the right balance between the Virtual Machines (VM) resources, processing capacity, and the services composition capabilities. Furthermore, it enhances the resource utilization of Web Services and optimizes the resources’ reusability effectively and efficiently. The experimental results will be compared with the composition results of the Smart Multistage Forward Search (SMFS) technique to prove the superiority, robustness, and effectiveness of the proposed model. The experimental results show that the proposed SMO model decreases the service composition construction time by 40.4%, compared to the composition time required by the SMFS technique. The experimental results also show that SMO increases the number of integrated ted web services in the service composition by 11.7%, in comparison with the results of the SMFS technique. In addition, the dynamic behavior of the SMO improves the proposed model’s throughput where the average number of the requests that the service compositions processed successfully increased by 1.25% compared to the throughput of the SMFS technique. Furthermore, the proposed model decreases the service compositions’ response time by 0.25 s, 0.69 s, and 5.35 s for the Excellent, Good, and Poor classes respectively compared to the results of the SMFS Service composition response times related to the same classes.
An agent and web services based e-government model validation
Ensemble learning models for classification and selection of web services: a review, export citation format, share document.
- Get IGI Global News
- Language: English
- All Products
- Book Chapters
- Journal Articles
- Video Lessons
- Teaching Cases
International Journal of Web Services Research (IJWSR)
The International Journal of Web Services Research (IJWSR) is the first refereed, international publication featuring the latest research findings and industry solutions involving all aspects of Web services technology. This journal covers advancements, standards, and practices of Web services, as well as identifies emerging research topics and defines the future of Web services on grid computing, multimedia, and communication. IJWSR provides an open, formal publication for high quality articles developed by theoreticians, educators, developers, researchers, and practitioners for those desiring to stay abreast of challenges in Web services technology.
- Business grid
- Business process integration and management using web services
- Case studies for web services
- Communication applications using web services
- Composite web service creation and enabling infrastructures
- Dynamic invocation mechanisms for web services
- E-commerce applications using web services
- Frameworks for building web service applications
- Grid-based web services applications (e.g. OGSA)
- Interactive TV applications using web services
- Mathematic foundations for service oriented computing
- Multimedia applications using web services
- Quality of service for web services
- Resource management for web services
- Semantic services computing
- SOAP enhancements
- Solution management for web services
- UDDI enhancements
- Web services architecture
- Web services discovery
- Web services modeling
- Web services performance
- Web services security
- Timely Publication: Quick Turnarounds & Prompt Peer Review (No Embargoes)
- Continuous Support: In-House, Personalized Service Throughout the Entire Process
- Cutting-Edge Technology: Proprietary Technologies & Integrations With Major Open Access Platforms
- Diverse Options: Individual APCs, Platinum Funding, Institutional Open Access Agreements, & More
- Research Advancement First: IGI Global Prioritizes Research Over Profit by Forfeiting Subscription Revenue
- Unmatched Transparency: Comprehensive Visibility in Processes, Licensing, & More
- Rapid Transformation: IGI Global is One of Few Publishers That Have Completed the Open Access Transition
- Independence and Integrity: IGI Global is Committed to Maintaining its Autonomy as an Independent Publisher
- Medium-Sized, Yet Powerful: IGI Global Offers Advantages of a Medium-Sized Publisher With the Reach of a Larger Publisher
Payment of the APC fee (directly to the publisher) by the author or a funding body is not required until AFTER the manuscript has gone through the full double-blind peer review process and the Editor(s)-in-Chief at his/her/their full discretion has/have decided to accept the manuscript based on the results of the double-blind peer review process.
In the traditional subscription-based model, the cost to the publisher to produce each article is covered by the revenue generated by journal subscriptions. Under OA, all the articles are published under a Creative Commons (CC BY) license; therefore, the authors or funding body will pay a one-time article processing charge (APC) to offset the costs of all of the activities associated with the publication of the article manuscript, including:
- Digital tools used to support the manuscript management and review process
- Typesetting, formatting and layout
- Online hosting
- Submission of the journal's content to numerous abstracts, directories, and indexes
- Third-party software (e.g. plagiarism checks)
- Editorial support which includes manuscript tracking, communications, submission guideline checks, and communications with authors and reviewers
- All promotional support and activities which include metadata distribution, press releases, promotional communications, web content, ads, fliers, brochures, postcards, etc. for the journal and its published contents
- The fact that all published articles will be freely accessible and able to be posted and disseminated widely by the authors
- Professional line-by-line English language copy editing and proofreading*
*This service is only performed on article manuscripts with fully paid (not discounted or waived) APC fees.
To assist researchers in covering the costs of the APC in OA publishing, there are various sources of OA funding. Additionally, unlike many other publishers, IGI Global offers flexible subsidies, 100% Open Access APC funding, discounts, and more. Learn More
This journal will fill a very important gap by focusing on in-depth academic research in the important area of Web Services.
The Web-service technology provides a uniform infrastructure for Internet users and organizations to share heterogeneous information and software resources. IJWSR provides a medium for scholars and practitioners world-wide to publish their research and experimental results related to the technology and its applications.
Web Services offer today's best hope for managing application integration (especially those created by numerous vendors) in the Internet environment. JWSR recognizes this opportunity, and as such, is well positioned to be a critical resource to the computer science community. Given the talent and track record of the founding editors and the goals they set for the journal, I am confident that JWSR will succeed and be valuable for a long time.
Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser .
Enter the email address you signed up with and we'll email you a reset link.
- We're Hiring!
- Help Center
WEB APPLICATIONS AND WEB SERVICES: A COMPARATIVE STUDY
Software components that rely on the Internet in order to be accessed and used cover many aspects of our daily activities including email checking, weather checking, purchase ordering, and Facebook logging. Nowadays, these components are considered one of the most valuable and fundamental rights in human's life. However, accessing and using the functionality of such components are performed using two techniques: web applications or traditional web services. Determining which one of the techniques is better suited for delivering the functionality of an Internet-based software component is not an easy task to decide. Therefore, this paper aimed to make a comparative analysis and study of both techniques alongside many directions to help web developers make the right choice to deliver the functionality of Internet-based software components. This is achieved by providing them with a set of requirements that have been proposed by the authors. The proposed requirements clarify a number of misunderstandings and issues peculiar to both techniques. Furthermore, this paper has provided a comparative table of both techniques. To the best of our knowledge, so far there is no comprehensive comparative study has been conducted in this context which was the rationale for the authors to carry out this study.
The software engineering discipline is experiencing a quick consolidation in the applica- tions development activities and the use of technologies and methodologies of web-based programming. In the web services arena some oriented and based practices for the con- struction of large scale software applications (i.e., distributed information systems) are beginning to appear. The software development practices based on web services
Web services provide most recent style in mobile wireless world and proved as an innovative and most excellent continually growing technology for wireless applications in communication. In today's scenario the most vital need is to supply unremitting, constant, trivial web services to resource constrained tool in mobile world and they are used to generate necessities with the help of Web services, as well as to appraise obtainable technologies. This paper presents a comprehensive assessment of two distinct structures that are suitable for providing web services via SOAP and REST and shows the pros and cons in these frameworks. This evaluation helps us to get an insight of these two technologies which helps in evaluating which one is appropriate for wireless environment. In today scenario SOAP is being used in the enterprise applications, generally in the legacy code and now the world is moving fast towards the REST'ful Web Services.
Traditionally software is loaded onto, or downloaded to, a user’s PC where it is then executed. The ubiquitous Web, however, allows another choice, a Web front end for data collection residing on the user’s PC, a Web service which runs on a remote server, and Web delivery of service output back to the user’s PC. We are used to seeing this latter architecture used for information retrieval and simple ecommerce transactions, but the same architecture can also be used for more complicated services. We present two case studies where we developed complex Web-enabled services that are currently being used by clients over the public Internet. From a software-engineering standpoint, we explain the compelling reasons for developing these applications using this architecture and the advantages we experienced over traditional methods. We also highlight some of the trials of developing, testing, marketing, and maintaining such complex Webenabled services.
In recent times, Web services have gained an amazing fascinates in both distributors as well as scientists. Web services permit accessibility to data that has formerly been locked within corporate and business systems and easily accessible only by using custom-made software .Web solutions, predicated on pre-existing Internet protocols and open guidelines, may offer an adaptable solution to the dilemma of application incorporation. With the support concerning WSDL, SOAP, and UDDI, Web services are growing to be prominent in Web applications. However, the current Web services architectures are challenged with just a few stubborn difficulties, as an instance, security. In this paper, we shall give an overview of these hassles. We feel that fixing these issues will end up imperative to success of Web services. The rest of the paper gives information about the three main technologies applied in association with Web Services: SOAP,WSDL, and UDDI.
It is known that web services are versatile, meaning that they can be used in different styles and paradigms with intention to solve different problems. This paper focuses on performance and comparison between Remote Procedure Calls, Representational State Transfer and Service Oriented Architecture, by analyzing and comparing the performance of web services in a certain level by applying empirical methodology for comparison. Architectural principles and aspects will be the main standard for the comparison by including protocol layering, heterogeneity dealing, loose coupling and service identification. Furthermore, the phases of web service evolution are presented in this paper and the progress that is made till nowadays. The results from the performance and comparison will help software engineers decide which of the styles is more suitable to use web services for solving their problems.
Genoveva Vargas Solar , Marcia P Pessini , R. Motz , José-Luis Zechinelli-Martini
Service provided by one electronic device to the other electronic device or devices is generally called as a web service. It may be a block of code that can be remotely accessed and utilized. In the present IT industry web services are playing a vital role in application development by providing a facility of using the existing modules to make up an application without coding from the scratch. This improves the productivity and reduces the overall project development cost and time. This paper provides the basic information of the components that supports the usage of web service along with the web service architecture. The components that are required for the web service architecture such as SOAP: simple object access protocol: used for establishing connection between components, UDDI (Universal Description, Discovery, and Integration):a registry that stores all the web services and WSDL: web service description language.
Jesús Arias Fisteus
IEEE Intelligent Systems
Web Services, 2007. …
Modern Applied Science
Emerging Techniques and Technologies
Cornelia Boldyreff , Janet Lavery
Computing Research Repository
Festim Halili , Erenis Ramadani
4th Australasian Symposium on Grid Computing and e-Research (AusGrid 2006)
Proceedings of the 7th International Conference on Web Information Systems and Technologies
IJSRD - International Journal for Scientific Research and Development
Proceedings of the 1998 ACM symposium on Applied Computing - SAC '98
Mehdi Jazayeri , Markus Schranz
IEEE Expert / IEEE Intelligent Systems
Journal of Global Research in Computer Science
2012 IEEE 19th International Conference on Web Services
International Journal of Scientific Research in Computer Science and Engineering (IJSRCSE), ISSN: 2320-7639
Rational Software Corporation
- We're Hiring!
- Help Center
- Find new research papers in:
- Health Sciences
- Earth Sciences
- Cognitive Science
- Computer Science
- Academia ©2023
- Other Journals
In an era of computing dominated by the World Wide Web, technology referred to as Web services stands as a key one for allowing computers to communicate machine to machine, program to program. In the same way that the emergence of the Web transformed the way in which humans communicate with each other and gather information, users of Web services reap great benefits. For example, Web services make it easy to connect all types of computer applications to each other. As you will see throughout this report, Web services deliver a foundation of interoperability greatly needed in a world where computer services and digital information exist in many different forms and flavors.
If, in the future, libraries want to be isolated islands in the ocean of content and information, they can ignore Web services. But because much of what libraries do centers on providing information to library clientele and because information is increasingly more electronic–which causes libraries to overlap with many other organizations in the information sphere–it is necessary for libraries to cooperate and interact with a broad set of other organizations and their technical infrastructures. Web services provide mechanisms that allow libraries to expand their services in many important ways. For instance, they allow libraries to deliver services to patrons through nonlibrary interfaces; enable business-to-business transactions with library suppliers; and support behind-the-scenes search and retrieval in remote resources to enhance service. This report will provide many examples of current and potential capabilities made possible through Web services.
World Wide Web Consortium (W3C) www.w3.org OASIS www.oasis-open.org W3C's Definition of Web Services www.w3.org/TR/ws-arch
In this report, I'll explain why Web services are a set of strategic technologies that libraries need to follow closely and, as opportunities allow, consider adopting. On one level, Web services are a set of technical specifications. More importantly, however, they reflect the reality of a world more interconnected and interdependent than ever before. Organizationally and operationally, libraries increasingly engage in more partnerships, dynamic business relationships, and cooperative efforts, and thus Web services stand as the technology well suited to support organizations engaged in cooperative activities.
This report aims to provide information on Web services for a library audience. It will include both conceptual descriptions of the technology and provide some technical information on how Web services are implemented. As the author, I do not assume the reader has any advance technical knowledge and will attempt to explain all the technical terms, abbreviations, and acronyms.
Library administrators or others that need to make decisions regarding library-related technology systems or issues will gain a perspective on the importance of this technology as well as how the implementation of Web services may relate to other library trends and initiatives. Library technical staff will gain from both the conceptual descriptions and the implementation examples.
This report does not aim to serve as a programming guide for Web services; however, it should give library programmers a basic idea of the steps involved so they can develop utilities or applications that make use of a Web service or create a Web service. I hope that all readers will gain an appreciation of the importance of this technology, which stands to open up exciting opportunities for libraries.
Web services lie within the trend for organizations to follow what is referred to as a Service-Oriented Architecture , which is an organizing principle for an organization's technical infrastructure to support the needs of the organization's software users. Particularly in large organizations, SOA , as it is often called, has become the dominant approach for organizing information-technology (IT) infrastructure. In broad terms, SOA involves an orchestrated array of independent software components, each of which provides a well-defined, self-contained unit of functionality. SOA builds on long-standing trends toward distributed computing and delivers the building blocks of a modern framework suitable for a computing age dominated by the Web.
Web services provide the means for implementing this Service-Oriented Architecture. Although, theoretically, other technologies could be employed to construct SOA, Web services stand as the dominant approach and include a set of protocols and standards based on internationally established interoperable protocols, which provide a technology framework consistent with SOA.
Not all Web-service implementations rise to the level of SOA, however. Organizations with complex computing environments may develop strategies that organize their technical infrastructures into modules and components that communicate and operate through Web services. Given the fact that many organizations (with some more able to support Web services than others) work with a variety of software applications, SOA, more likely, is more of a goal than a finished product.
Web services can also be deployed to perform specific functions without necessarily requiring that the entire surrounding infrastructure be based on SOA. An individual set of Web services can be implemented as needed, and, over time, an organization's infrastructure may grow into a more full-fledged SOA.
This report will identify specific XML technologies that comprise Web services, but first, it's important to clarify some common misconceptions.
The expression Web services can lead to a bit of confusion, so let's consider a few concepts that might easily be mistaken for Web services, but, in fact, do not fall within the scope of Web services.
Web-based information resources are not necessarily Web services either. Just because content might be delivered through the Web does not make it a Web service. Information presented through a Web browser–whether through static Web pages or delivered dynamically from an underlying database or repository–does not constitute a Web service.
Increasingly, computer users receive professional services–such as online banking, travel reservations, map-and-travel-direction services, customer-support ser- vices, and online shopping, just to mention a few–through Web-based systems. These Web-based “services” are also not what I mean when I refer to Web services in this report.
Additionally, Web services should not be confused with “software as service” or “application service provider.” These increasingly popular models for software deployment involve hosting the application on a remote server and providing its users access via the Internet. One of the key advantages of this software model lies in the fact that customers do not have to install and maintain software on local servers or desktop systems. Still, though, software as a service is not the same as Web services.
Finally, many libraries employ a person in the position with the title Web Services Librarian . Typically, this position is responsible for the design and maintenance of the library's Web site, which includes the delivery of information resources and Web-based library services. In most cases, however, a Web Services Librarian likely will not be involved with Web-service technologies discussed in this report.
Each of the concepts mentioned previously deal with the front end of the Web, the Web that a user “sees,” such as a search-results Google page. Web services, rather, are a behind-the-scenes technology; they provide some of the plumbing needed to connect computer systems. These systems may often have a Web interface, but they don't necessarily have to have one. Web services operate on some of the same lower-level protocols, such as TCP/P and HTTP, associated with the Internet and the World Wide Web.
Not all computer-to-computer communications qualify as Web services either. Although they do have some flexibility, Web services follow a specific architectural framework and involve the use of a particular set of protocols and standards. EDI (electronic data interchange), for example, is a computer-to-computer interaction that follows protocols that are not considered Web services.
The framework of Web services provides some of the basic components for e-commerce. Commercial transactions often require the functionality to extract information from multiple sources, e.g., when a user enters into an e- commerce transaction through a particular organization's Web site. In the course of the transaction, the application on the original server may need to contact other applications, either within its infrastructure or from external sources. In order to complete its work, the application may need to find the other applications that hold the necessary information, send a request, and wait for and receive a response. Multiple request-response sequences may take place, and multiple providers may be involved. All these behind-the-scenes Web-service transactions happen unbeknownst to the user. One of the beauties of Web services lies in their ability to bring the resources of multiple computer systems together to perform complex tasks without the intervention of the user.
The W3C, the group responsible for the development of Web services, defines Web services as follows:
- A Web service is 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 [Web Services Description Language]). 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. ( www.w3.org/TR/ws-arch )
One of the key trends in technology involves distributed computing. Rather than create monolithic, self-contained applications, developers often prefer to create multiple smaller systems, each with a specialized function. Each component performs a specialized, well-defined task. It is often easier to develop a group of small, specialized components than a single, complex system. These small components can often be used in multiple applications, saving significant development resources in the long term. Additionally, these small, self-contained components can be considered Web services when they implement the workflows and standards associated with this environment.
Web services can also breathe new life into older software. Legacy systems, often built with tools and technologies now considered outdated, can be adopted to participate in a service-oriented environment.
The Web-services model is designed to be indifferent to how any given computing task is accomplished. A software application can be thought of as “wrapped” by a Web service; in other words, the Web-service layer is not affected by how a particular task is accomplished or what hardware or software does the work. The job of a Web service lies in transmitting a request for a particular task to be accomplished and then delivering back the results.
Although a new application will likely be specifically designed to operate as a Web service, legacy applications can be turned into Web services by simply creating the communications layers that enable the Web-service protocols. By developing Web-service gateways, organizations can help preserve investments that went into developing previous generations of software applications. The internal-database architecture and content and business logic of a legacy system can continue to operate as before, with the application's input and output transmitted through the Web-service layers.
Web services hide the underlying hardware and software from view, and the Web-services model facilitates interoperability, neutralizing differences in hardware platforms, operating systems, and development tools. Once these components are wrapped in the Web-service protocols, all software components appear the same to the users in the “outside world.” In addition, Web services can be implemented on all matter of hardware and software platforms–Linux, Unix, Mac, or Windows. Although it's possible to run Web services on desktop systems, most reside on server-class hardware and operating systems.
Web services can operate in a stateless mode, or they can be programmed to operate within specific, defined sessions. Many simple Web services work independently of any particular context or complex series of events. This type of Web service consists of a simple, discrete, request–response transaction. In some circumstances, however, it is important to maintain a session among the participants in an operation of Web services so that multiple Web-service requests, i.e., those connected in a complex transaction, can be orchestrated.
In a distributed computing environment, no single computer application is likely to be entirely independent. It's often necessary for one computer component to rely on others to obtain specific items of information or to perform calculations or conversions. When a software application needs information to perform its function, Web services provide a mechanism for requesting that information, a way to move that information, and how to structure that information for transit.
Web services provide a layer of communication technology that recognizes the interconnectedness of organizations and their related spheres of expertise, information, and services. It is a technology that allows organizations to better fulfill their roles as suppliers of services and provides opportunities to create value-added services based on enhancing services derived from others.
Web services can be considered a mature and well-established computing model. As a technology, Web services emerged in the late 1990s and have been gaining ground since that time. The standards involved are well defined and broadly adopted, and a plethora of tools exist for developing a Web service. This is not a wait-and-see technology; Web services are currently in the mainstream and can be considered a safe investment for libraries.
Although a number of technologies might be employed to implement a service-oriented architecture, the technology realm of Web services involves a particular set of standards and protocols. In this section, I'll delve into the acronym and abbreviation soup associated with Web services.
The basic concepts of Web services focus on the roles and actions that software components play in the overall process:
- A service provider is a software component that has some type of function or information resource that's offered for use by others. The service may involve performing a computational task or returning a piece of requested information from a database or repository.
- A service consumer is a software application that initiates a request for, and makes use of, a service provider.
- A service repository provides descriptions of the services available within a given domain. These repositories will be equipped with some mechanism for service providers to register services.
Operations or actions associated with the Web-services model include:
- Publish –Once a Web service has been developed, tested, and activated it is considered published . Part of publishing a Web service includes registration in the appropriate service repository.
- Find –In order to complete its work, an application acting as a service consumer will need to find the appropriate service provider using a service repository.
- Bind –Once the service has been identified, the service consumer will bind it, which involves locating its specific location on the network, contacting the service provider, and invoking its service.
- Service Request/Response –To invoke a Web service, the service consumer will issue a service request . Upon successful completion, the service provider will deliver a service response .
The Web-services model assumes a particular flow of communications among applications. Specific roles and actions apply. ( Figure 1 , below, illustrates the general flow.) Let's step through the process.
- Step 1 begins with a user making a request. For instance, say a user has accessed a Web page with a panel that displays the local weather. The server that hosts the Web page doesn't have this weather information stored locally; instead, in order to display it, it depends on an external published service. That Web server, which hosts the local Web page, in this context, becomes a service consumer .
- In step 2, this service consumer issues a service request . (This scenario assumes there's a computer out on the Web that hosts a database, or a service repository , of current weather conditions and predictions.)
- In step 3, the Web-service request is packaged as an XML document and delivered over the Internet using SOAP messaging via the HTTP transport protocol ( find ). The remote computer now takes on the role of the service provider .
- In step 4, this service provider accepts the user's Web-service request.
- In step 5, the service queries its database and packages it in XML ( bind ) as a service response .
- In step 6, the original application receives the response and presents its information to the user.
Keep in mind that all these steps happened almost instantly and unbeknownst to the person who invoked the information to be displayed on the Web page. The plumbing analogy is a good one to call upon in order to understand Web services; basically, Web services are just fancy plumbing for the Web.
Although Web services operate as a set of technical mechanisms, they represent agreements and contracts among individuals or organizations. Agreements must be determined in advance–regarding which Web services will be offered by a provider, who may consume the Web services, and at what cost they are offered. Some Web services may be free and publicly available to any requestor, but user authentication and security may need to be added to services that transmit restricted or sensitive content.
In a complex environment, it is often necessary to perform some routing of the message before it reaches the service provider that can fulfill the service request. The final service provider is, therefore, often called the endpoint .
W3C Architecture Domain/Web Services Activity www.w3.org/2002/ws
The index page for its Web-service activities is located at www.w3.org/2002/ws . This page links to resources, which describe each of the standards, protocols, and practices operating within the arena of Web services. This Web site provides comprehensive and definitive information regarding the architecture of Web services and the individual components that comprise them. In typical W3C style, the information is presented in a straightforward but terse manner. Those familiar with standards documents will find the content informative, though it makes for difficult reading for those not technically inclined.
Now that I've established a general picture of the workflow, I can move on to identifying the components involved.
XML (eXtensible Markup Language) is one of the most fundamental concepts among Web-based technologies. Almost all applications that deal with data today use some form of XML as the structure and syntax to format data. XML is especially useful when moving information from a software application to another; many applications use XML internally as well. XML provides the syntax for structuring data, and all XML implementations follow the same rules regarding basic syntax. Consistent rules apply to how tags surround data elements, how tags are nested, and how documents begin and end.
Although XML is designed to be processed by computers, it is readable by humans. In previous eras of computing, great efforts were made to store data in the most compact form possible, therefore, data and record formats were often expressed in binary representations that, although compact, could not be easily interpreted by humans. In the library arena, MARC serves as an example of this approach. The leader, tags, fixed fields, variable fields, and sub-field indicators structure bibliographic data in a way that conserves space but is difficult to read.
XML, by contrast, appears quite verbose. Instead of cryptic numerical tags, XML employs descriptive tag names. Today's low-cost digital storage and expanded bandwidth remove many of the previously existing motivations to compress data to formats that only computers can decipher.
Although XML offers great flexibility, it demands exact precision in the way that documents are constructed. Most applications that use XML data verify that the document follows the XML syntax rules. An XML document that passes these rules can be considered well-formed XML. Unlike in the realm of HTML, where forgiveness abounds, any error will cause an XML document to be rejected. Yet most Web browsers can perform operations in spite of errors; they are programmed to estimate the author's intentions and then continue to process the page. XML parsers, on the other hand, will reject a document if even a single error is present.
The tags available for use in any given XML document are defined according to the needs of the application, and through agreements, are established among communities of users. The members of an academic discipline, a business sector, or other groups of individuals or organizations that deal with similar types of information have a common interest in following the same XML conventions. These communities may develop their own DTDs (Document Type Definitions) or XML schemas that define XML tags, data types, vocabularies, and other rules to ensure compatibility of meaning.
In the Web-service arena, great attention must be paid to the namespaces and schema that apply to any given XML document. Because Web services involve exchanging data among diverse participants, it is essential to ensure that the data structures used are compatible.
The code in figure 2 (below) illustrates a very simple XML document. It does not follow any specific schema or DTD, but simply provides a citation using XML syntax. Notice that the document begins with a header that describes the version of XML it uses and the character set, or encoding , used for all data within the document. One of the trickiest aspects of XML involves making sure that all data adheres to the encoding rules established. Special characters and punctuation marks often need to be converted to an acceptable form, lest the XML document be invalid and be rejected by the parser.
In figure 2 , you can see a number of XML characteristics from this simple example. Each XML document must have a root element–a tag that marks the beginning and end, encompassing all the other tags. In this example, <citation> and </citation> serve as the document root. Figure 2 also illustrates the fundamental syntax rule that all tags have matching opening and closing elements. Any unclosed tags will cause the document to be rejected.
Those who plan to develop applications based on XML will need to become intimately familiar with all its nuances.
As has been explained, Web services involve sending a request from a service consumer to a service provider and receiving a response. SOAP functions as one of the main mechanisms for transmitting the messages–between the service consumer and the service provider–involved in a Web service.
SOAP is a technology developed under the oversight of the W3C; the documents that describe the current version of the protocol reside on the W3C Web site ( www.w3.org/TR/soap ).
Previously, the SOAP acronym stood for Simple Object Access Protocol . But because the protocol really isn't that simple, and it deals with data structures in many ways (as objects as well as many others), the purveyors of the latest version of the standard chose to simply refer to it as SOAP–it is no longer considered an acronym. In its usual terse language, the W3C specification introduces SOAP in this way: “SOAP Version 1.2 (SOAP) is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics.”
Fundamentally, SOAP is a protocol for transmitting messages, and of course, those messages will be formulated in XML. In practical terms, SOAP specifies how to construct the XML document that represents the message carrying the request and response. The current version, SOAP 1.2, relies extensively on XML schemas. The crucial role for SOAP lies in wrapping the requests and responses according to the specification. Figure 3 provides an example of a Web-service request created as a SOAP message.
The example illustrates the components that comprise a SOAP message. Because it is in XML, the document begins with the standard declaration and encoding statement (<?xml version=‘1.0’ encoding=‘UTF-8’?>). Next, you can see that the document's root element is the SOAP envelope (<SOAP-ENV:Envelope). The envelope provides the locations of the schemas that support this instance of SOAP. The SOAP body carries the methods and data that represent the request or response.
Once properly formed or formatted, SOAP messages then can be transported to the proper destination by the Web-service application. SOAP does not specify the method of transport, and although Web services tend to rely on HTTP to transport SOAP messages, other methods can also be used, including a TCP socket, a simple mail message, or a MIME attachment.
Web Services Description Language (WSDL) is used to describe a service. The WSDL consists of an XML document that can be used by a service consumer to automatically configure itself to invoke a Web service from a service provider. Many SOAP environments are able to automatically and dynamically configure themselves by simply parsing the WSDL document. WDSL can also serve as documentation to a programmer that wants to construct a static Web-service client.
Not all Web services have corresponding WSDL documents. It is possible to access a Web service based on advanced knowledge of how it works. If the same developer, for example, creates both the Web service and the client that accesses it, the formality of a WSDL may not be necessary.
For more complex environments that include many services, WSDL is more of a necessity. The WSDL will include seven sets of definitions:
- <type> Specifies the data structures and types involved in the service messages.
- <message> Definitions of all the messages involved. In most cases these messages include the service request and the service response.
- <portType> The definitions related to the interface for each of the messages defined.
- <operation> Describes the operations performed by the services in terms of the messages involved.
- <binding> Specifies the protocols that will be employed to transport the messages and the type of data encoding.
- <service> Provides the URL of the service on its host server.
Universal Description, Discovery, and Integration, referred to as the abbreviation UDDI , is a protocol that functions to find Web services within a domain. At heart of this process lies a UDDI registry–a repository of all the WSDL XML documents that describe each of the services in the domain. Within a domain serviced by UDDI, part of the process of publishing a service includes registering the WSDL to a UDDI registry.
The UDDI registry plays a role only in helping a service consumer locate a suitable service provider. Once a service consumer receives the location of the service, UDDI binds the service with the service provider directly.
Not all implementations of Web services will have a UDDI registry. In many cases the service consumer will learn about a service via other means. Most public developers of Web services (such as those that developed the popular Amazon Web Service) will discover the services available through documentation provided by the service provider.
Larger-scale implementations of Web services, with a complex matrix of service consumers and service providers, will rely on UDDI to enable applications to operate without human intervention. Domains that have a large number of Web services will find UDDI a useful tool, making the environment more manageable. When a developer makes a change to the service or adds a new service, registering the service in the UDDI will eliminate the need to make programming changes in Web-service clients.
SOAP: W3C's Current Protocol Information www.w3.org/TR/soap Organization for the Advancement of Structured Information Standards (OASIS) www.oasis-open.org
The latest version, UDDI v3.0, has recently been ratified as a standard of OASIS (Organization for the Advancement of Structured Information Standards). This version can be considered as completely interoperable among both private and public registries. The interoperability between public and private registries in this version of UDDI obviated the need to maintain the UDDI Business Registry.
UDDI is a technically complex specification. Although the concept of the registry is simple, the API (application programming interface) used to submit documents and make queries is one of the more challenging components to implement.
TCP/IP and HTTP play a supporting role in Web-service interactions. The messages involved in an operation of Web services rely on standard network protocols. Although it is theoretically possible to use other protocols, TCP/IP is ubiquitous and is used by almost all networks that employ Web services. And though TCP/IP might be a given, there are options for the specific method for which a Web service might be implemented. The most common approach involves transporting Web-service messages using HTTP, the same HyperText Transfer Protocol used by the Web. Web services that operate over HTTP can take advantage of the same Web-server software–usually Apache–that delivers standard Web pages. It is also possible to create Web services that operate over TCP sockets. Such a Web service would provide its own daemon (a program that runs unattended to perform continuous or system-wide functions) that monitors the network for incoming requests.
The model of delivering Web services through SOAP, WSDL, and UDDI can be a complex undertaking. This approach pays off in an environment with a full-fledged service-oriented architecture in place, which supports a complex set of business applications.
There is a simpler approach available, however–the Representational State Transfer, or REST. A Web service based on REST is often called a RESTful Web service.
A standard Web page responds with an HTML document; a RESTful Web service involves responses formatted in XML. REST must live within the constraints of the methods available in HTTP: GET, POST, PUT, and DELETE.
Basically, in the REST model, a service consumer sends its service request to a service provider as a URL; then the service response is returned as an XML data stream. It is up to the service consumer to parse the XML stream and make use of the results.
A Web service based on REST can still be described through a WSDL and can be registered with UDDI, though it doesn't have to be. The primary difference for REST involves the absence of the SOAP layer.
Although a RESTful service can often be tested by using a Web browser, in actual operation, the URL that invokes the service is sent by some other software application. Keep in mind that even RESTful Web services are behind-the-scenes operations, and in actual production, Web services based on REST are still computer-to-computer operations.
The advantages of REST include simplicity and speed. Implementing SOAP can be complex, and transferring messages through SOAP involves some overhead, which can reduce performance and response time. REST simply delivers a response as an XML stream, which can deliver information very quickly.
A prime example of a Web service in the REST style is Really Simple Syndication (RSS). Though RSS finds many uses, the primary appeal lies in its ability to disseminate newly created information–called a feed –data that tells interested readers new items have been posted on a blog, news service, or Web site. Many libraries use RSS to disseminate information about library events, new acquisitions, or to deliver search results.
A resource with an RSS feed will usually have an XML or RSS graphic (see figure 4 below). This graphic not only indicates the presence of an RSS feed, but links to the URL that generates the XML document that represents the feed.
RSS is activated through a URL that, when invoked, responds with an XML stream of the items to be distributed. Although it is possible to click the RSS URL and view the XML in a browser, the normal approach is for a RSS reader or aggregator to invoke the RSS link, accept the XML document, and then format and present the RSS entries for the viewer.
The Library Technology Guides Web site includes an RSS feed that you can view as an example of a RESTful Web service. The feed on this site can be invoked with the URL www.librarytechnology.org/rss/rss.pl .
When invoked, the Perl script produces an XML document (see appendix 1 ), which can be parsed and displayed by a RSS reader.
The Perl script that dynamically generates the XML document for the RSS feed is displayed in appendix 2 .
The realm of Web services has all the same security concerns as other networked systems. It is essential that a Web service provides information only to the intended recipients and that sensitive information is not exposed in such a way that it can be intercepted by an unauthorized third party. All of the authorization and authentication mechanisms available for general network and Web operations can be applied to Web services. It is common for Web services involving business transactions, which carry sensitive data (e.g., a credit card number), to be transmitted over HTTPS (secure HTTP) rather than be sent over a network as clear text.
Web Services Interoperability Organization www.ws-i.org OASIS WS-Security v.1.1 www.oasis-open.org/committees/wss BPEL4WS, v. 1.1 www-128.ibm.com/developerworks/library/specification/ws-bpel
These second-generation specifications are in an early phase of development and adoption and are not likely to be found in the current generation of library implementations of Web services. The realm of second-generation Web services is complex and prolific; multiple standards and industry bodies are involved, including the W3C, OASIS, and the Web Services Interoperability Organization ( www.ws-i.org ). Some of these later standards include:
- WS-Security provides an extension to SOAP, and it supplies increased security and stronger guarantees on the integrity and confidentiality of the messages involved in a Web service. The specification supplies a method for authenticating each message and is designed to be flexible enough to work with a variety of security models and encryption technologies. WS-Security v1.1 was approved as an OASIS standard in February 2006 and is documented on the Web ( www.oasis-open.org/committees/wss ).
- WS-AtomicTransaction/WS-BusinessActivity –There are multiple specifications that deal with the coordination of transactions. When multiple services comprise a single business-transaction process, it is essential that all complete successfully as a coordinated transaction. If any part of the process fails, each individual service must roll back its work to the original state. Initially, the WS-Transaction specification dealt with this layer; more recently, WS-AtomicTransaction and WS-BusinessActivity provide transaction coordination specifications for two different categories of business transactions, those of short or long duration, carried out as Web services.
- WS-Coordination describes another set of protocols related to the way that individual Web services work together to perform a complex task in a business application.
- WS-ReliableMessaging specifies a protocol that ensures that messages are delivered reliably between the components of a distributed application, even in the presence of some type of system failure (such as a network interruption).
- WS-Attachments describe how binary files can be attached to SOAP messages without causing problems with XML parsers.
- BPEL4WS , or Business Process Execution Language for Web Services, is a specification proposed by a consortium of vendors including IBM and Microsoft. According to IBM's Web site on the specification, “BPEL4WS provides a language for the formal specification of business processes and business-interaction protocols. By doing so, it extends the Web Services interaction model and enables it to support business transactions. BPEL4WS defines an interoperable integration model that should facilitate the expansion of automated process integration in both the intra-corporate and the business-to-business spaces.” ( www-128.ibm.com/developerworks/library/specification/ws-bpel )
As it has evolved, and continues to evolve, the realm of Web services–and the protocols, specifications, and standards I've highlighted thus far in this report are but just a few–has continued and will continue in its ability to accommodate complex business transactions. The nuances of functionality taking place in these specifications each represent important issues in transaction-oriented business and financial systems. Today, most library applications that involve Web services operate only with the core specifications of XML and WSDL, and they may or may not use SOAP. Very few library Web-service applications even make use of UDDI. But as library-automation systems evolve to use Web services in order to integrate with the financial systems of their parent institutions, they may well need to be more aware and knowledgeable of the specifications that relate to complex business transactions.
Flexibility abounds when it comes to the development of Web services. All of the major programming languages and development environments provide some method for creating Web services. The following is just a sample of some of the development tools and environments commonly used for building Web services.
Microsoft Corporation has embraced Web services as a key strategic technology, and it has been actively involved in the development of protocols, standards, and specifications related to Web services. The company calls its Web-service strategy .NET and appends this name to many of its products and technologies.
Microsoft Visual Studio .NET is an integrated development environment for the creation of software applications and has built-in support for Web services. There are versions of this environment for several different programming languages, including Visual Basic, Visual C++, Visual C#, and J# (an implementation of Java).
Microsoft is working toward the release of its next-generation development framework Indigo , which has been specifically designed for the creation of service-oriented business applications.
Java stands as one of the dominant development environments today. Created and supported by Sun, applications created with Java can operate on any computing platform that supports a “Java virtual machine,” which is available for virtually all operating systems. One of the major advantages of Java involves program portability; the same program operates on multiple platforms without the need to modify code or recompile.
Sun offers The Java Web Services Developer Pack as a free integrated toolkit for the development of XML and applications of Web services.
Most Web-based applications built with Java will operate in conjunction with a servlet container, such as Apache Tomcat.
Microsoft .NET www.microsoft.com/net/default.mspx Java.sun.com: The Source for Java Developers http://java.sun.com Apache Axis www.apache.org Active Perl Available from ActiveState www.activestate.com
Axis is an implementation of SOAP for Apache Web servers. With Axis in place, developing a Web service becomes an easier task because it takes care of the SOAP messaging layer. Axis operates with Web services programmed in Java. Apache Tomcat, a “servlet container” provides the application environment in which Java programs execute. In most cases, the combination of the Apache Web server, Apache Axis, and Tomcat will work together to provide an environment for SOAP-based Web services based on open-source software.
Apache Axis replaces the older implementation Apache SOAP . Axis has many more features, performs better, and fixes many problems that were present in Apache SOAP.
The SOAP∷Lite Perl module provides the ability to create Web services with the Perl programming language. Perl is available on almost all of the major computer platforms and is especially popular for writing Web-based applications. Perl is an open-source application and can be used without cost. Perl is widely used on Unix and Linux variations. In the Windows arena, the company ActiveState offers ActivePerl , which includes a binary distribution for Windows. Perl with SOAP∷Lite will be used for some of the examples in this report.
- There are currently no refbacks.