A Web Service is defined by the World Wide Web consortium 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" [1]. Web Services are the connection technologies that enable applications to communicate with other applications over a network by using a set of standardized protocols.
Services are what being connected together using Web Services. A service may provides content or computing process that other services can use. Routine processes such as Online Payment can be handled by a shared service instead of rewriting the same program from scratch for every new purchase order application, therefore greatly reduce time and effort.
Services-Oriented Architecture is the combination of an organization's internal and external services, and allowing these services to communicate with each other. This communication is possible because services are wrapped around with standard protocols and interfaces, therefore a service can be invoked at runtime without knowledge of its database structure and specific programming language.
How services communicate
Different services provide different content, therefore a service cannot simply make a request without a basic knowledge of what operations are available from the service provider. This can be overcome with Web Services Description Language (WSDL) - an XML based language which a service provider can use to describe its service.
Descriptions in a WSDL normally describe information such as: how to reach the service, what are the available operations, what attributes are needed to make a request, and what formats are expected from the service response.
The WSDL document is published in a directory so that other developers can find them and use them for navigation. The directory could be a Universal Description, Discovery, and Integration (UDDI) registry. It is written in a format that is searchable, thereby enabling business to discover available services and publish their own service listings.
After a service consumer issues queries to the directory and successfully acquires the WSDL of a service provider from the directory, the service consumer makes XML service request based on the WSDL. The service provider receives and understand such request, perform the requested service (eg. obtaining content from its databases), and response to the consumer with the content formatted as described in the WSDL.
All the messages as described are sent using Simple Object Access Protocol (SOAP). This XML based protocol consists of three parts: an envelope, which defines what is in the message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing procedure calls and responses. [2]
Popular services providers
[List of current popular services providers and briefly describe their services, which can leads to the next topic]
Current uses of Web Services in social media
Introduction to Social Media Monitoring & Real Time Research
A recent trend in market research is real-time research which leverages the vast amount of content / opinion that is generated by social media users and other Internet sources such as blogs, forums and news sites.
Organizations have recently realized that there is a wealth of useful information and insights to be gained from conversations taking place over social media channels such as FaceBook and Twitter. Due to the sheer amount of data being exchanged over these channels, the challenge for organizations is to be able to filter out the information that is relevant to them and digest the information in a way that is useful to them.
There has been a recent spate of a variety of social media monitoring platforms that aim to allow organizations to sift through various social media sources and gain valuable insights from their customers.
Case Study: Real time Social Media monitoring
O2 has recently launched a social media monitoring platform as a supplement to their Customer Relationship Management function where they intercept messages from Facebook, twitter, forums, blogs and news sites and analyze them. This allows them to monitor customer sentiment around certain marketing campaigns, services & product and identify trends. This allows the organization to gain a deeper understanding of what their customers are thinking and doing on a large scale.
See the diagrams below for an overview of how a typical social media monitoring platform works and, in particular the SOA diagram shows their dependence on third party web services and how these services work together.
Basic real-time research content process
Web Services used in Real-time research and Social Media monitoring
1. API's to social media services such as Facebook and Twitter are used to collect content .
2. Web Crawlers such as Boardreader and Spinn3r are used to gather content from other sources such as forums, blogs and news sites.
3. Automated sentiment processing services such as OpenAmplify are then used to attribute meaning to the content that has been collected. For example if a new mobile phone is launched, the service would be able to mark content from all collected services as positive, negative or neutral, which could then be used to gain an overall picture of public opinion.
4. Semantic topic extraction services such as Sysomos are used to identify patterns within text content which can help to identify trends about specific topics.
5. Crowd sourcing web services such as crowd flower or Mechanical Turk are used to make the process of human checking the automated sentiment and semantic topic extraction more practical. The aim is to improve the accuracy of sentiment attribution.
Further Social Media Monitoring Examples
Social media monitoring is now becoming adopted by more and more organizations and there are many platforms which utilize web services available. Three of the best know and widely used platforms are Sysomos (http://www.sysomos.com/), Radian 6 ( http://www.radian6.com/ ) and Alterian (http://socialmedia.alterian.com/?gclid=CK6f4aHeiaUCFVD-2Aod7lWbMw).
Interestingly, Sysomos provide an off-the-shelf tool which uses their proprietary algorithms to analyze text and they also offer their analysis services as web services that can then be hooked into 3rd party applications.
Radian 6 is based on the web services provided by back-type ( http://www.backtype.com/ ) who in turn rely on services direct from Facebook and Twitter and other sources. This is another example of the inter-dependency of web applications and web services with social media monitoring and real time analysis.
Social Media Clients & Aggregators:
Another interesting use of web services within the social media space are social media aggregators that take in data from many social media platforms such as Facebook, Twitter, Google Buzz and aggregate them together into a single application.
Examples of such applications are TweetDeck, FriendFeed and on mobile HTC Friend Stream.
The aim of such applications is to make it easy for people to access all of their social media updates from one place rather than having to go out to each individual platform and retrieve them.
These applications would not be possible without the provision of open web services.
Web 3.0
Semantic Web
data is controlled by applications, and each application keeps it to itself.
The Semantic Web is about two things. It is about common formats for integration and combination of data drawn from diverse sources, where on the original Web mainly concentrated on the interchange of documents. It is also about language for recording how the data relates to real world objects. That allows a person, or a machine, to start off in one database, and then move through an unending set of databases which are connected not by wires but by being about the same thing
Today's Web was designed primarily for human interpretation. Unfortunately, machines cannot still accomplish complex tasks automatically without human direction simply because computers cannot understand the content of Web documents. Furthermore, in the recent decade the amount of information and services on the Web has grown exponentially. Carrying out a task such as planning a trip on the web users still need to spend a lot of time in searching information and requesting services from different web sites manually. Moreover, the diversity of computing environments and communication protocols makes computers difficult to cooperate with one another.
It becomes necessary to format our current data in a relational way that machines can index, sort, and filter. In 2001 director of the World Wide Web Consortium (W3C) Tim Berners-Lee [g1] introduced a new vision of what could be the next generation of Web architecture called Semantic Web. The objective of the Semantic Web is to provide a knowledge representation of linked data in order to allow machine to find, combine and act upon information on the Web. Tim Berners-Lee [g2] describes the semantic web as a component of Web 3.0: "People keep asking what Web 3.0 is. I think maybe when you've got an overlay of scalable vector graphics - everything rippling and folding and looking misty - on Web 2.0 and access to a semantic Web integrated across a huge space of data, you'll have access to an unbelievable data resource...".
Resource Description Framework
In order to add such semantic to the Web the content should provide machine-readable metadata (data about data) to enable automated agents and other software to access the Web more intelligently, performing tasks automatically and locating related information on behalf of the user.
According to the Resource Description Framework (RDF) these metadata are assigned on a relational basis through a concept called triples, which models the information into subject/predicate/object classifications. The conceptual models and the ontologies are expressed trough specific languages: RDF Schema (RDFS) and the Ontology Web Language (OWL) which allow to define a vocabulary for the RDF.
By itself, RDF would be fairly useless unless there is also a way to retrieve that information. There are several Semantic Web search engines appearing across the web including: Hakia, Swoogle, ZoomInfo, and Swotti. If and when RDF becomes commonly used, search engines will face several obstacles that are similar to many of the problems they face today. For example, search engines will need to provide comparison checks to ensure that RDF data matches the actual page content.
Semantic Web Services
We are still far from the Web 3.0 transformation but meanwhile we are assisting to an evolution of Web into a web of services. We are fast approaching a web where data, people, and services from any site can be embedded, transferred, or utilized by any other site. Nonetheless there's still not a recognized standard to associate a semantic content to web services.
Many automated Web-based services already exist without semantics, but other programs such as agents have no way to locate one that will perform a specific function. This process, called service discovery, can happen only when there is a common language to describe a service in a way that lets other agents "understand" both the function offered and how to take advantage of it. Services and agents can advertise their function by, for example, depositing such descriptions in directories analogous to the Yellow Pages.
Ideando un futuro in rete con Web Services, quindi pensando anche ai motori di ricerca, aperti al pubblico il problema, per quanto riguarda le architetture SOA (Service Oriented Architecture), è che la spiegazione di un servizio di chi lo elargisce solitamente non coincide perfettamente con quella del soggetto che lo cerca: quindi è un problema di semantiche. <br>
Attualmente soltanto chi ha sviluppato un Web Service è al corrente con esattezza delle sue caratteristiche e conosce cosa spiega e cosa omette una sua descrizione in WSDL (Web Services Description Language ); d'altra parte solo un individuo che esamina un registro UDDI, (Universal Discovery Description Integration), sa andare "oltre" la descrizione convenzionale per capire se un Web Service fa qualcosa di simile a quello che sta cercando. Di conseguenza non si può sempre lasciare a un processore la ricerca di Web Services in ambiti troppo compositi: rintraccerebbe quelli che appagano in maniera totale certi criteri di identità, in altre parole la classica parola chiave, e si lascerebbero sfuggire quelli che implementano servizi simili o addirittura più ampi, ma differenti. Tutto ciò è un limite pesante per chi pensa di vedere, al più presto, tradotto in realtà un ecosistema B2B globale in cui le aziende prestano i loro servizi e si "rintracciano", grazie a dei motori di ricerca aperti al pubblico, in rete in base all' esigenza del momento.<br>
Per ovviare a questo problema si dovrebbe formalizzare le ontologie, in altre parole relazioni fra simboli, in modo che anche un elaboratore le possa afferrare e utilizzare nelle sue attività di ricerca. <br>
<br>
<br>
Proporre tutte queste classificazioni ai più noti Web Services,vale a dire ai Motori di ricerca, è la direzione da seguire per giungere ai presunti servizi Web semantici. Sono attualmente in fase di sviluppo gli standard connessi a un linguaggio che rappresenti le ontologie e a uno che ammetta di descrivere, basandosi su queste, un Web Service in modo chiaro e comprensibile anche a un computer. Per ciò che concerne il primo caso sono in fase di sperimentazione: WSML (Web Service Modeling Language) e OWL (Ontology Web Language, l'evoluzione del DARPA Agent Markup Language o DAML); mentre per il secondo troviamo: WSMO (Web Service Modeling Ontology) e OWL-S.
Per automatizzare la scoperta e l'uso di servizi web è necessario aggiungere delle informazioni semantiche. Si stanno sviluppando ontologie che descivano le proprietà e le funzionalità dei servizi web. Ad esmpio uno dei linguaggi per rappresentare ontologie OWL (Ontology Web Language) proposto dal w3c ha una specializzazione chiamata OWLS dedicata alla descrizione dei servizi web.
[…]
Research Questions
What types of application will be possible with the advent of web 3.0 technology?
· With the increasing availability of computer in devices (Internet of things) and growing trend of information-providing services in border fields of area (e.g. Public services information) in the future, the Web will be connected together with the assist of Web Services technologies and smarter applications can be implemented with the rich resources of data.
· One type of application that is most beneficial from this trend could be context-aware applications. The overall concept of an context-aware application is to sense and react based on a user's context (Location, Identity, activity and time).
· Major social media channels such as Twitter and Facebook have recently brought in location-based user status update which captures user context accurately. Since we have seen how applications can use web services to collect content from social media, context-aware applications will become more reliable with sensing user's context.
· A research that has been done towards this topic: Using semantic web services for context-aware mobile applications
o This is a case study of a local context-aware environment prototype called myCampus, aimed to enchant campus life at Carnegie Mellon University by assisting users with computer-generated planning agents.
o An e-Wallet Manager obtains and stores knowledge about the user. It has knowledge of how to access additional information about the user by collecting data from variety of resources through Web Services. For example, to determine the location of the user, it is more reliable to obtain location information from the GPS installed in her car when she is driving than to discovering her location via her 3G-enable mobile device. And if all such networks failed, her calendar may have some information about her location.
o The e-Wallet also acts as Semantic Web Services to provide authorized agents to access certain information about the user. The knowledge is represented using OWL.
o A challenge of acquiring context attributes about the user and other users is that not every users use the same resource of service, and they may change over time for the same user. They have overcome this challenge by modeling sources of contextual information as Semantic Web Services that can be automatically discovered and accessed by agents.
o Now that the system has reliable source about the user's context, user-subscribed agents can composite such information with services together to perform complex tasks. In this case study, the myCampus environment enabled 23 local restaurant web services and public weather forecasting web service to demonstrate a scenario of how such application can simplify the process of ordering a pizza.
· [This research mainly focus on how they can use Web Services to accurately obtain a user's contextual information. We believe that a more intelligent personal assistant application will be possible in the future when an application compile contents from many different sources, and provide context-based planning.]
[1. What types of application will be possible with the advent of web 3.0 technology?
2. In what ways might web 3.0 technology improve the user experience of web service enabled applications?
+Summary of Researches that have been done towards this topic
Using semantic web services for context-aware mobile applications]