Talk about service integration technologies in REST systems held at the "Web Intelligence 2013 - Le Web des Objets" Summer School on the 4th of September 2013 in Lyon, France. The slides give an overview of the Web of Things and current efforts to integrate services offered by Web-enabled devices.
Configuration of Smart Environments Made SimpleSimon Mayer
We present an approach that combines semantic metadata and reasoning with a visual modeling tool to enable the goal-driven configuration of smart environments for end users. In contrast to process-driven systems where service mashups are statically defined, this approach makes use of embedded semantic API descriptions to dynamically create mashups that fulfill the user's goal. The main advantage of the presented system is its high degree of flexibility, as service mashups can adapt to dynamic environments and are fault-tolerant with respect to individual services becoming unavailable. To support end users in expressing their goals, we integrated a visual programming tool with our system. This tool enables users to model the desired state of their smart environment graphically and thus hides the technicalities of the underlying semantics and the reasoning. Possible applications of the presented system include the configuration of smart homes to increase individual well-being, and reconfigurations of smart environments, for instance in the industrial automation or healthcare domains.
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSimon Mayer
Slides for a talk held at the Fourth International Workshop on the Web of Things (WoT 2013) on Sep 9th, 2013. For the full paper, see http://www.webofthings.org/wot/2013/program.php
Talk held at the IEEE GLOBECOM 2014 Industry Workshop on the Internet of Things and Services about how the Web of Things (WoT) and Semantic Technologies add interoperability to the Internet of Things (IoT)
IndianaJS - Building spatially aware web sites for the Web of ThingsTECO Research Group
While almost any device today may have a virtual representation, the web itself is not yet a very physical experience. Bringing proven spatial interaction and ubiquitous computing paradigms to life using current web technology, we designed IndianaJS, a JavaScript framework to add a physical browsing experience to any Web of Things content. The evaluation of the IoT-Radar, built on top of our library, shows that web-based hyper-reality can still achieve a unique user experience 15 years after the first implementations.
This presentation introduces the library, showcases our physical browser - the IoT Compass, and presents the results of our usability study. It was presented the Web of Things Workshop within the International Conference on the Internet of Things 2015 in Seoul, South Korea.
Web presence: https://indianajs.github.io
Visit our research in general on: http://www.teco.edu
From Load Forecasting to Demand Response - A Web of Things Use CaseTill Riedel
This paper provides a Web of Things use case from a personalized load forecasting service to a gamied demand response program. Combining real-world measuring applications with web-based applications opens new opportunities to the smart grid. For this purpose, we propose a Web of Things framework for a novel load forecasting process at the appliance level. Firstly, we illustrate the concept design of the Web of Things framework consisting of the sensing infrastructure,
the activity recognition and the load forecasting modules.
Secondly, we show how we guarantee the modularity and flexibility for implementing all the three modules in a web-
based manner. On top of our infrastructure, we propose an
extended Web of Things use case by integrating our load
forecasting approach into a demand response concept.
BRETT PARKER SAP - IOT AND COMPUTATION IN THE CLOUD
The Internet of things is a concept that refers to the digital interconnection of everyday objects with the Internet that facilitate the collection of data from portable medical devices, cars, appliances to home attendants But all the information that is collected has to be stored in somewhere, you know which one? We tell you all about IoT and the so-called cloud computing!
Configuration of Smart Environments Made SimpleSimon Mayer
We present an approach that combines semantic metadata and reasoning with a visual modeling tool to enable the goal-driven configuration of smart environments for end users. In contrast to process-driven systems where service mashups are statically defined, this approach makes use of embedded semantic API descriptions to dynamically create mashups that fulfill the user's goal. The main advantage of the presented system is its high degree of flexibility, as service mashups can adapt to dynamic environments and are fault-tolerant with respect to individual services becoming unavailable. To support end users in expressing their goals, we integrated a visual programming tool with our system. This tool enables users to model the desired state of their smart environment graphically and thus hides the technicalities of the underlying semantics and the reasoning. Possible applications of the presented system include the configuration of smart homes to increase individual well-being, and reconfigurations of smart environments, for instance in the industrial automation or healthcare domains.
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSimon Mayer
Slides for a talk held at the Fourth International Workshop on the Web of Things (WoT 2013) on Sep 9th, 2013. For the full paper, see http://www.webofthings.org/wot/2013/program.php
Talk held at the IEEE GLOBECOM 2014 Industry Workshop on the Internet of Things and Services about how the Web of Things (WoT) and Semantic Technologies add interoperability to the Internet of Things (IoT)
IndianaJS - Building spatially aware web sites for the Web of ThingsTECO Research Group
While almost any device today may have a virtual representation, the web itself is not yet a very physical experience. Bringing proven spatial interaction and ubiquitous computing paradigms to life using current web technology, we designed IndianaJS, a JavaScript framework to add a physical browsing experience to any Web of Things content. The evaluation of the IoT-Radar, built on top of our library, shows that web-based hyper-reality can still achieve a unique user experience 15 years after the first implementations.
This presentation introduces the library, showcases our physical browser - the IoT Compass, and presents the results of our usability study. It was presented the Web of Things Workshop within the International Conference on the Internet of Things 2015 in Seoul, South Korea.
Web presence: https://indianajs.github.io
Visit our research in general on: http://www.teco.edu
From Load Forecasting to Demand Response - A Web of Things Use CaseTill Riedel
This paper provides a Web of Things use case from a personalized load forecasting service to a gamied demand response program. Combining real-world measuring applications with web-based applications opens new opportunities to the smart grid. For this purpose, we propose a Web of Things framework for a novel load forecasting process at the appliance level. Firstly, we illustrate the concept design of the Web of Things framework consisting of the sensing infrastructure,
the activity recognition and the load forecasting modules.
Secondly, we show how we guarantee the modularity and flexibility for implementing all the three modules in a web-
based manner. On top of our infrastructure, we propose an
extended Web of Things use case by integrating our load
forecasting approach into a demand response concept.
BRETT PARKER SAP - IOT AND COMPUTATION IN THE CLOUD
The Internet of things is a concept that refers to the digital interconnection of everyday objects with the Internet that facilitate the collection of data from portable medical devices, cars, appliances to home attendants But all the information that is collected has to be stored in somewhere, you know which one? We tell you all about IoT and the so-called cloud computing!
Edge Computing is transforming the way data is being handled, processed, and delivered from millions of devices around the world.
“ A part of a distributed computing topology in which information processing is located close to the edge- where things and people produce or consume that information”
Cloud computing, edge computing, is a kind of conflict, a convergence of views. Take a look at the technology trends of edge computing, also Let's take a look at what it's like to look at cloud computing
Edge computing, trends and drivers to enable critical use cases for the digital economy. Types of edge and scale factors are mentioned in this article.
Pat Helland's "book review" of the Above the Clouds: a Berkeley View of Cloud Computing paper.
As Pat says "If you are interested in cloud computing, you want to understand these ideas"
State of the Internet Operating SystemTim O'Reilly
Slides from my keynote at PayPal Innovate 09 Conference. Focuses on the risks of increasing centralization of web data services, and the need for more federated services. Will the Internet Operating System be small pieces loosely joined, or will there be One Ring to Rule Them All? We choose.
"We’re no longer telling objects what to do and why – now, they sense, respond without our direction. Right now we are in the perfect storm for the Internet of Things with accessible robotics, affordable sensors, wireless communications, object tagging, and easy broadband access."
Autonomous Agents for Flexible Hypermedia Systems Simon Mayer
The Web of Things community used to be driven by the application of Web technologies to enable flexible mashups of smart devices on top of the Internet of Things, an objective that we consider accomplished (from a research standpoint) in many different domains ranging from smart homes and cars to dynamic factories in the Industrie 4.0 paradigm. One of the next big things for us – consequently, perhaps, from an AAMAS standpoint – is to increase the autonomy of our Web-enabled devices and their understanding of one another, for instance by outfitting them with semantic descriptions of their properties and functions and, sometimes, even bestowing agency upon them. In this talk, I discuss this convergence that will enrich real-world devices with AAMAS technologies, and open up real-world applications to the AAMAS community, while examining important properties of the Web architecture that support flexibly interacting autonomous things on the Web.
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Andrei Ciortea
To cope with dynamic environments, Internet of Things (IoT) applications are expected to autonomously discover and interact with services at runtime in pursuit of design or user-specified goals. On the one hand, various paradigms and technologies are available to program goal-driven autonomous software agents, and on the other hand hypermedia-driven environments are central to the development of robust machine-to-machine applications. However, existing approaches for the development of hypermedia-driven environments fall short of meeting the needs of autonomous agents: they either severely restrict the agents’ autonomy, or their topological structure is either fragmented or inefficient to navigate at scale. In this paper, we explore the use of socio-technical networks, that is networks of people and things interrelated in a meaningful manner via typed relations, as an overlay for enhancing hypermedia-driven interaction in IoT environments. We present a proof of concept and discuss several classes of applications in which this model could prove useful.
Edge Computing is transforming the way data is being handled, processed, and delivered from millions of devices around the world.
“ A part of a distributed computing topology in which information processing is located close to the edge- where things and people produce or consume that information”
Cloud computing, edge computing, is a kind of conflict, a convergence of views. Take a look at the technology trends of edge computing, also Let's take a look at what it's like to look at cloud computing
Edge computing, trends and drivers to enable critical use cases for the digital economy. Types of edge and scale factors are mentioned in this article.
Pat Helland's "book review" of the Above the Clouds: a Berkeley View of Cloud Computing paper.
As Pat says "If you are interested in cloud computing, you want to understand these ideas"
State of the Internet Operating SystemTim O'Reilly
Slides from my keynote at PayPal Innovate 09 Conference. Focuses on the risks of increasing centralization of web data services, and the need for more federated services. Will the Internet Operating System be small pieces loosely joined, or will there be One Ring to Rule Them All? We choose.
"We’re no longer telling objects what to do and why – now, they sense, respond without our direction. Right now we are in the perfect storm for the Internet of Things with accessible robotics, affordable sensors, wireless communications, object tagging, and easy broadband access."
Autonomous Agents for Flexible Hypermedia Systems Simon Mayer
The Web of Things community used to be driven by the application of Web technologies to enable flexible mashups of smart devices on top of the Internet of Things, an objective that we consider accomplished (from a research standpoint) in many different domains ranging from smart homes and cars to dynamic factories in the Industrie 4.0 paradigm. One of the next big things for us – consequently, perhaps, from an AAMAS standpoint – is to increase the autonomy of our Web-enabled devices and their understanding of one another, for instance by outfitting them with semantic descriptions of their properties and functions and, sometimes, even bestowing agency upon them. In this talk, I discuss this convergence that will enrich real-world devices with AAMAS technologies, and open up real-world applications to the AAMAS community, while examining important properties of the Web architecture that support flexibly interacting autonomous things on the Web.
Hypermedia-driven Socio-technical Networks for Goal-driven Discovery in the W...Andrei Ciortea
To cope with dynamic environments, Internet of Things (IoT) applications are expected to autonomously discover and interact with services at runtime in pursuit of design or user-specified goals. On the one hand, various paradigms and technologies are available to program goal-driven autonomous software agents, and on the other hand hypermedia-driven environments are central to the development of robust machine-to-machine applications. However, existing approaches for the development of hypermedia-driven environments fall short of meeting the needs of autonomous agents: they either severely restrict the agents’ autonomy, or their topological structure is either fragmented or inefficient to navigate at scale. In this paper, we explore the use of socio-technical networks, that is networks of people and things interrelated in a meaningful manner via typed relations, as an overlay for enhancing hypermedia-driven interaction in IoT environments. We present a proof of concept and discuss several classes of applications in which this model could prove useful.
WOTS2E: A Search Engine for a Semantic Web of ThingsAndreas Kamilaris
A Semantic Web of Things (SWoT) brings together the Semantic Web and the Web of Things (WoT), associating
semantically annotated information to web-enabled physical de-
vices, services and their data, towards seamless data integration and better understanding of real-world information. A missing element in order to realize SWoT is a standardized, scalable and flexible way to globally discover in (near) real time web-connected embedded devices, as well as their semantic data. To address this gap, we propose WOT Semantic Search Engine (WOTS2E), which is a search engine for the SWoT, based on web crawling, being able to discover Linked Data endpoints and, through them, WoT-enabled devices and their services. In this presentation, we describe the design, development and implementation of WOTS2E, as well as an evaluation procedure showing its operation and performance across the web.
Our presentation of the paper at the 7th international Workshop on the Web of Things http://webofthings.org/wp-content/uploads/2016/07/WoT_2016_Paper_6_ConstrainedSemanticWoT.pdf
Always-On Web of Things Infrastructure Dynamic Software UpdatingTECO Research Group
We report on our experiences with updating the moquette MQTT message broker[1,2] live/hot/at-runtime using our Dynamic Software Updating system Lusagent.
[1] https://github.com/teco-kit/moquette-lusagent
[2] https://github.com/teco-kit/moquette-lusagent-updatecode
In this keynote presentation, we look at what the notion of an industrial Web of Things could mean. Looking at the evolution of the Web in general, we argue that a key aspect is the application of proven development engineering methods. We look at the notions of continuous delivery, infrastructure as code and testing from a physical web point of view.
The Web of Things: Enabling the Physical World to the WebAndreas Kamilaris
A presentation about the practice of Web-enabling the physical world, by means of principles inspired from the Web of Things. This is an invited presentation of Prof. Andreas Pitsillides and Andreas Kamilaris at the University of Johannesburg, South Africa in April, 2012. In this presentation, the motivation, practice, historical background, exemplary applications, dangers and future challenges of the Web of Things are discussed.
WoTSF: A Framework for Searching in the Web of Things (WoT)Mina Younan
Paper Details
M. Younan, S. Khattab, and R. Bahgat, "WoTSF: A Framework for Searching in the Web of Things," in INFOS2016: The 10th International Conference on Informatics and Systems, ACM, Cairo, Egypt, May, 2016.
ABSTRACT - A key challenge in the emerging Web of Things (WoT) paradigm is how the human users and machines look for meaningful and readable information in huge and dynamic datasets in real-time, whereby the datasets are presented in different formats. This paper presents a technique to construct efficient, hierarchical web indices that are efficiently kept up-to-date. Also, a framework for searching in the WoT, namely WoTSF, is proposed and experimentally evaluated using a prototype. The proposed framework was shown to present a tradeoff between search speed and result accuracy as compared to the Dyser WoT search engine.
IoT and WoT (Internet of Things and Web of Things)Jonathan Jeon
Talk on 1st WebAppsCamp. It's a short review between IoT and WoT. In this slide, I'd like to talk about why we need to think about Web of Thing in IoT era.
Thesis defence of Dall'Olio Giovanni Marco. Applications of network theory to...Giovanni Marco Dall'Olio
This is the presentation of my PhD thesis defence. It describes two applications of network theory to improve the methods to understand genetic adaptation in the human genome.
Distributed Data Flow for the Web of Things: Distributed Node-REDMichael Blackstock
Presentation at the Web of Things Workshop at the Iot 2014 conference at MIT on our proposal to create a distributed data flow architecture where sub flows are distributed between servers, gateways and devices
The Cloud is a term with a long history in telephony, which has in the past decade, been adopted as a metaphor for internet based services, with a common depiction in network diagrams as a cloud outline.
Independent of the source of data, the integration of event streams into an Enterprise Architecture gets more and more important in the world of sensors, social media streams and Internet of Things. Events have to be accepted quickly and reliably, they have to be distributed and analysed, often with many consumers or systems interested in all or part of the events. Dependent on the size and quantity of such events, this can quickly be in the range of Big Data. How can we efficiently collect and transmit these events? How can we make sure that we can always report over historical events? How can these new events be integrated into traditional infrastructure and application landscape?
Starting with a product and technology neutral reference architecture, we will then present different solutions using Open Source frameworks and the Oracle Stack both for on premises as well as the cloud.
ABD322_Implementing a Flight Simulator Interface Using AI, Virtual Reality, a...Amazon Web Services
This workshop explores the technology options, architectures, and implementations associated with instrumenting AR, VR, and simulated worlds. Using flight simulation as the primary use case, you learn to consume, process, store, and analyze high velocity telemetry as well as exploring control plane implementations using AWS IoT, AWS Lambda, Amazon Kinesis, and Amazon SNS. This is a hands-on workshop and you need a laptop (tablets are not suitable). You should have a solid understanding of AWS products and Node.js.
A Full End-to-End Platform as a Service for SmartCity ApplicationsCharalampos Doukas
Presentation at the 10th IEEE International Conference on Wireless and Mobile Computing, Networking and Communications - WiMob2014, about using COMPOSE project components for building Smart City application
Introduction to Smart Manufacturing & Manufacturing as a Service presentation.
Three important concepts are presented: Cloud computing, internet of things and advanced data analytics.
Cloud-Con: Informatica Vibe and Cloud Integration for the Hybrid EnterpriseDarren Cunningham
The proliferation of SaaS applications in the enterprise requires new thinking about managing integration processes. Learn how to support Hybrid IT Architectures to seamlessly integrate on-premise, Cloud, SaaS, Mobile to support mission-critical apps with scalability, reliability and visibility
A little story of IT...or the other side of the mirror for decision-makers in digital transformation... with many approximations, especially dates (for a better understanding of people, non-technical) : )
In this presentation, Meena introduces SMAC and associated trends. Meena is interested in solving the problem of data security in IaaS or cloud platforms through user end encryption.
In the context of the 4.0 revolution, technology applications, especially cloud computing will have strong impacts on all areas, including accounting systems of enterprises. Cloud computing contributes to helping the enterprise accounting apparatus become compact, help automate the input process, improve the accuracy of the input data. Besides, the issur of accounting, reporting, risk control and information security also became better, contributing to improving the effectiveness of accounting. However, besides the positive impacts, businesses also face many difficulties in deploying and applying cloud computing. However, this application requirement will become an inevitable trend contributing to improving the operational efficiency of enterprises. To promote this process requires from the State as well as businesses themselves must have awareness and appropriate decisions. Breakthroughs in information technology have dramatically changed the accounting industry and the creation of financial statements. The Internet and the technologies that use the power of the Internet are playing an important role in the management and accounting activities of businesses - who always tend to be ready to receive and use public innovations technology in collecting, storing, processing and reporting information.
Similar to Service Integration in the Web of Things (20)
The Roman Empire A Historical Colossus.pdfkaushalkr1407
The Roman Empire, a vast and enduring power, stands as one of history's most remarkable civilizations, leaving an indelible imprint on the world. It emerged from the Roman Republic, transitioning into an imperial powerhouse under the leadership of Augustus Caesar in 27 BCE. This transformation marked the beginning of an era defined by unprecedented territorial expansion, architectural marvels, and profound cultural influence.
The empire's roots lie in the city of Rome, founded, according to legend, by Romulus in 753 BCE. Over centuries, Rome evolved from a small settlement to a formidable republic, characterized by a complex political system with elected officials and checks on power. However, internal strife, class conflicts, and military ambitions paved the way for the end of the Republic. Julius Caesar’s dictatorship and subsequent assassination in 44 BCE created a power vacuum, leading to a civil war. Octavian, later Augustus, emerged victorious, heralding the Roman Empire’s birth.
Under Augustus, the empire experienced the Pax Romana, a 200-year period of relative peace and stability. Augustus reformed the military, established efficient administrative systems, and initiated grand construction projects. The empire's borders expanded, encompassing territories from Britain to Egypt and from Spain to the Euphrates. Roman legions, renowned for their discipline and engineering prowess, secured and maintained these vast territories, building roads, fortifications, and cities that facilitated control and integration.
The Roman Empire’s society was hierarchical, with a rigid class system. At the top were the patricians, wealthy elites who held significant political power. Below them were the plebeians, free citizens with limited political influence, and the vast numbers of slaves who formed the backbone of the economy. The family unit was central, governed by the paterfamilias, the male head who held absolute authority.
Culturally, the Romans were eclectic, absorbing and adapting elements from the civilizations they encountered, particularly the Greeks. Roman art, literature, and philosophy reflected this synthesis, creating a rich cultural tapestry. Latin, the Roman language, became the lingua franca of the Western world, influencing numerous modern languages.
Roman architecture and engineering achievements were monumental. They perfected the arch, vault, and dome, constructing enduring structures like the Colosseum, Pantheon, and aqueducts. These engineering marvels not only showcased Roman ingenuity but also served practical purposes, from public entertainment to water supply.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
1. Service Integration in the Web of Things 1|
Simon Mayer
http://people.inf.ethz.ch/mayersi
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
Service Integration in the Web of Things
2. Service Integration in the Web of Things 2|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Myself
Simon Mayer, PhD Student at ETH Zurich, WoT since 2009
11. Service Integration in the Web of Things 11|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Services measure or actuate values in the real, physical
world. They are provided by smart things
Smart environments allow well-informed decisions
Umbrella lights up if the forecast shows rain
Smart environments can perform complex tasks
Example: Music stream that follows the user
Service Integration and the Web of Things
12. Service Integration in the Web of Things 12|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Things can already do powerful tasks by themselves…
Service Integration and the Web of Things
http://koubachi.ch
13. Open endpoints that are accessible by all authorized users
Modeling according to the REST principles
However, the full potential is realized by
integrating functionality across services
14. The “Social Web of Things” (Ericsson, 2010)
Note the explicit communication between David and his smart
home…
“Leaving work”, “Sophia comes”, “No dinner”, “Order the usual”
…and the hidden communication between smart things
Oven, carpet vacuuming, smart umbrella, HiFi downloading playlist
15. Our Menu for Today.
45min.30min.15min.
Introduction/Overview WS-* Web Services
REST Service Integration Features
Service Integration via Structured Metadata
(WoT in the Wild)Semantic Service Integration
vous êtes ici
16. Introductory Stroll
WS-* Forest
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
17. Introductory Stroll
WS-* Forest
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
18. Service Integration in the Web of Things 18|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service Integration in the Web of Things
Overview: WoT Concepts and Challenges
Saint Germain au Mont d’Or, France
saintgermainaumontdor.fr
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
19. Service Integration in the Web of Things 19|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Definitions of the following concepts in a Web of Things
context
Major challenges for service integration
Overview
Web of Things Concepts and Challenges
Smart Things
Services
Service
Integration
Service
Mashups
Arrive-and-
Operate
Mashup
Management
Automatic Service
Composition
20. Service Integration in the Web of Things 20|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Cyber-physical functionality
Sensing, Actuation (or both) of real, physical quantities
Structured according to the REST principles
Respect the HATEOAS property (application statelessness)
Interfaces are “open”, but secure
Fully described for people and machines
Interacting Smart Things: Smart Environments
Smart Things in the Web of Things (WoT)
21. Service Integration in the Web of Things 21|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Things in the Web of Things
Example: RESTful Sun SPOTs
http://vs3.inf.ethz.ch:8081/sunspots/Spot3
GET
<HTML>…
GET
{json}
22. Service Integration in the Web of Things 22|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Generally: Services are Sub-Resources of Smart Things
A Smart Thing itself (i.e., the top URL) can also be a service
Services in the Web of Things
M. Kovatsch, S. Mayer, and B. Ostermaier. Towards the Thin Server Architecture for the Internet of Things, 2012
23. Service Integration in the Web of Things 23|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Services in the Web of Things
Example: RESTful Sun SPOTs
Temperature Sensor:
http://vs3.inf.ethz.ch:8081/sunspots/Spot3/sensors/temperature
GET
28.5
24. Service Integration in the Web of Things 24|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Services in the Web of Things
Example: RESTful Sun SPOTs
PUT‘on’
OK
LED Switch: vs3.inf.ethz.ch:8081/sunspots/Spot3/actuators/leds/3/switch
25. Service Integration in the Web of Things 25|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Prevalent Types
Visual Data Rendering
Cartographic / Geographic
Data Converters, Aggregators (Feeds, News)
Examples: programmableweb.com/mashups
In the Web of Things, mashups also act on physical
quantities!
Service Mashups in the Web of Things
“A mashup (…) is a web application that
uses content from more than one source to
create a single new service.”
26. Service Integration in the Web of Things 26|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Mashups in the Web of Things
Example: Anti-Theft Mashup
Shop management system + RFID reader + Web Cam
All with Web servers on-board!
Goal: Take a picture if a theft is detected
= if an item is read by the RFID reader but not marked as “sold”
Send the picture to a mobile phone
D. Guinard, C. Floerkemeier, S. Sarma. Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment, 2011
27. Service Integration in the Web of Things 27|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Mashups in the Web of Things
Example: Room Configuration
28. Service Integration in the Web of Things 28|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Enabling people to talk to services
Enabling services to talk to each other and form mashups
Enabling people to talk to service mashups
Service Integration in the Web of Things
29. Introductory Stroll
WS-* Forest
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
30. Now, let’s talk about some
challenges in service
integration
Arrive-and-Operate: Service Discovery and Look-Up
Mashup Management: For Everyone
Automatic Service Composition
31. Now, let’s talk about some
challenges in service
integration
Arrive-and-Operate: Service Discovery and Look-Up
Mashup Management: For Everyone
Automatic Service Composition
32. Service Integration in the Web of Things 32|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Advertise services that are provided by devices within a
smart environment!
Arrive and Operate
Service Discovery
What’s the current
temperature?
I know that!
It’s 23°C
Thank you :-)
33. Service Integration in the Web of Things 33|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Arrive and Operate
Service Look-Up
It’s not static text documents anymore!
Possible to use Google for this?
Which attributes? Keywords, Device Type, Reviews,..
Search Engines for the WoT, e.g., Dyser, InfraWoT
B. Ostermaier, K. Römer, F. Mattern, M. Fahrmair, and W. Kellerer. A Real-Time Search Engine for the Web of Things, 2010
S. Mayer, D. Guinard, and V. Trifa. Searching in a Web-based Infrastructure for Smart Things, 2012
34. Service Integration in the Web of Things 34|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Search for smart things that exhibit a given state at the
time of the query
“Empty rooms that have a temperature of 23°C”
Querying for real-time states is expensive!
Dyser: Create statistical models for sensors. First query
sensors that likely satisfy the parameters
Arrive and Operate
Service Look-Up: Dyser
35. Service Integration in the Web of Things 35|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Now, let’s talk about some
challenges in service
integration
Arrive-and-Operate: Service Discovery
Mashup Management: For Everyone
Automatic Service Composition
36. Service Integration in the Web of Things 36|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Non-PhD-Nabaztag idea: Dom Guinard
Mashups for Everyone
I don’t have a PhD in computer
science...
Enable tech-savvy users to develop applications that
leverage functionality from sensors and actuators
[“programming the real world”]
37. Service Integration in the Web of Things 37|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Mashups for Everyone
Graphical Editors for Physical Mashups
Facilitate the composition of RESTful services
Clickscript (JavaScript-based visual programming language)
https://github.com/lnaef/ClickScript
Web of Things modules: Thermometer, fan, etc.
38. Service Integration in the Web of Things 38|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Mashups for Everyone
Graphical Editors for Physical Mashups
[Clickscript.ch]
D. Guinard, C. Floerkemeier, S. Sarma. Cloud Computing, REST and Mashups to Simplify RFID Application Development and Deployment, 2011
39.
40. Service Integration in the Web of Things 40|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Now, let’s talk about some
challenges in service
integration
Arrive-and-Operate: Service Discovery
Mashup Management: For Everyone
Automatic Service Composition
41. Service Integration in the Web of Things 41|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Automatic Service Composition
Embed information about what smart things can do!
Syntactic level: Data type, units of measurement, etc.
Semantic level: “What is the meaning of this data?”
Is automatic mashup creation even possible? We’ll see… :-D
...and tell others!
42. Service Integration in the Web of Things 42|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Service Composition
Possibilities
43. Service Integration in the Web of Things 43|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Service Composition
Possibilities
44. Service Integration in the Web of Things 44|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Service Composition
Possibilities
45. Service Integration in the Web of Things 45|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smart Service Composition
Possibilities
46. Service Integration in the Web of Things 46|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Web of Things Concepts
Smart Things and Smart Environments
Services
Service Integration
Service Mashups
Web of Things Challenges
Arrive and Operate: Service Discovery and Look-Up
Mashups: Enable tech-savvy users to program the real world
Service Composition: Fully automatic?
Summary
47. Introductory Stroll
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
WS-* Forest
48. Service Integration in the Web of Things 48|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service Integration in the Web of Things
A History Primer: WS-* Web Services
Sonoma County, USA
ahmadladhani.wordpress.com
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
49. Service Integration in the Web of Things 49|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service Integration in the Web of Things
A History Primer: WS-* Web Services
Bliss, Microsoft
ahmadladhani.files.wordpress.com
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
50. Introductory Stroll
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
WS-* Forest
51. Service Integration in the Web of Things 51|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Here, endpoints are service calls, not resources
Resource: www.myserver.org/thermometer/temperature
Service: www.myserver.org/getTemperature
Main Technologies:
Service Access SOAP
Service Description WSDL
Service Discovery UDDI
The Service-Oriented Architecture
52. Service Integration in the Web of Things 52|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Challenge (1995):
How to make heterogeneous services on the
Internet discoverable and usable for clients?
Internet too heterogeneous for a single RPC technology
Goal: Language-independent standards for Web Services
The Service-Oriented Architecture
Main Technologies
53. Service Integration in the Web of Things 53|
Simon Mayer
http://people.inf.ethz.ch/mayersi
SOAP: Service Access (1998)
“Simple Object Access Protocol”, today just “SOAP”
Dave Winder (also RSS!), together with MS engineers
Transport usually via HTTP, but also possible via, e.g., SMTP
The Service-Oriented Architecture
Main Technologies: SOAP
54. Service Integration in the Web of Things 54|
Simon Mayer
http://people.inf.ethz.ch/mayersi
WSDL: Service Description (2000)
Web Services Description Language
IBM, MS, Ariba
UDDI: Service Discovery (2000)
Universal Description Discovery and Integration (part of WS-I)
MS, IBM, Ariba
SOAP, WSDL, and UDDI are part of the WS-* stack
The Service-Oriented Architecture
Main Technologies: WSDL and UDDI
55. Service Integration in the Web of Things 55|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The Service-Oriented Architecture
Main Technologies
XML Documens
Client Server
Registry-Service
UDDI
WSDLWSDL
SOAP
register
look up
request / reply
Material adapted from: F. Mattern, Distributed Systems Lecture, ETH Zurich, 2012
56. Service Integration in the Web of Things 56|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The Service-Oriented Architecture
Main Technologies
Client Server
Lookup-Service
UDDI
WSDLWSDL
SOAP
register
look up
request / reply
SOAP envelope
Header (optional)
Body
WSDL description
types, messages
portType
binding
service
57. Service Integration in the Web of Things 57|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The Service-Oriented Architecture
Main Technologies: SOAP
SOAP envelope
Header (optional)
Body
Envelope
SOAP Definition and Encoding Style
Optional Header
Transaction Context: Authentication and Billing
Body
58. Service Integration in the Web of Things 58|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Types: What does the exchanged data look like?
WSDL description
types, messages
portType
binding
service
Messages: What are messages composed of?
PortType: What do the operations look like?
Binding: Which protocol to use?
Service: Structure/Bundling of operations
The Service-Oriented Architecture
Main Technologies: WSDL
59. Service Integration in the Web of Things 59|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Types: Define Serialization Objects
<xs:element name="myName" type="myObject"/>
<xs:complexType name="myObject">
<xs:sequence>
<xs:element name="i" type="xs:int"/>
<xs:element name="j" type="xs:float"/>
</xs:sequence>
</xs:complexType>
“complexType”: Composite Objects!
WSDL description
types, messages
portType
binding
service
The Service-Oriented Architecture
Main Technologies: WSDL
60. Service Integration in the Web of Things 60|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Messages
<message name="myRequest">
<part name="parameters"
element="tns:myName"/>
<part name="optionalParameters"
element="tns:myOpt"/>
</message>
<message name="myResponse">
<part name="result" element="tns:myRet"/>
</message>
WSDL description
types, messages
portType
binding
service
The Service-Oriented Architecture
Main Technologies: WSDL
“tns”: target namespace
myObject
61. Service Integration in the Web of Things 61|
Simon Mayer
http://people.inf.ethz.ch/mayersi
PortType: Define Operations
<portType name="groupOfServices">
<operation name="myService">
<input message="tns:myRequest"/>
<output message="tns:myResponse"/>
<fault message="tns:someFault"/>
</operation>
</portType>
WSDL description
types, messages
portType
binding
service
The Service-Oriented Architecture
Main Technologies: WSDL
There can also be multiple operations
62. Service Integration in the Web of Things 62|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Transport Binding
<binding name="myBinding“
type="tns:allMyServices">
<soap:binding
transport="http://schemas.xml-
soap.org/soap/http"
style="document"/>
</binding>
WSDL description
types, messages
portType
binding
service
The Service-Oriented Architecture
Main Technologies: WSDL
63. Service Integration in the Web of Things 63|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service: Packaging the Service
<service name="SimpleService">
<port binding="tns:myBinding">
<soap:address location=“
http://simpleService.org"/>
</port>
</service>
WSDL description
types, messages
portType
binding
service
The Service-Oriented Architecture
Main Technologies: WSDL
64. Service Integration in the Web of Things 64|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Stubs handle communication
issues such as message packing
and unpacking (“marshalling”)
Server stub is also responsible for
publishing the WSDL file
The Service-Oriented Architecture
WS-* in Practice
Application-Server
Server Logic
Server Stub
Client
Client Stub
Client Logic
65. Service Integration in the Web of Things 65|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The “server stub”
Handle SOAP marshalling
Publish WSDL
Two possibilities to create the server stub
1. Bottom-Up / Code-First: Stub from implementation
Example on next slide (JAX-WS)
2. Top-Down / Contract-First: Stub from Interface WSDL
The Service-Oriented Architecture
WS-* in Practice: WS-* Servers
Application-Server
Server Logic
Server Stub
66. Service Integration in the Web of Things 66|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The Service-Oriented Architecture
Java API for XML Web Services (JAX-WS)
Java Annotations to create Web
Services from simple Java code
67. Service Integration in the Web of Things 67|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Stubs handle communication issues
such as message packing and
unpacking (“marshalling”)
Server stub is also responsible for
publishing the WSDL file
The Service-Oriented Architecture
WS-* in Practice
Application-Server
Server Logic
Server Stub
Client
Client Stub
Client Logic
68. Service Integration in the Web of Things 68|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The “client stub” handles SOAP marshalling
Two options:
1. Bottom-Up / Code-First: Stub from implementation
2. Contract-First: Stubs from WSDL
Highly appealing for enterprises!
The Service-Oriented Architecture
WS-* in Practice: WS-* Clients
Client
Client Stub
Client Logic
69. Service Integration in the Web of Things 69|
Simon Mayer
http://people.inf.ethz.ch/mayersi
The Service-Oriented Architecture
Discussion of WS-*
Immensely powerful and lots of available tools!
Huge complexity - hard to learn
WSDL: Enormous documents for simple functionality!
SOAP: Only POST (for http-binding)
Therefore no http-based caching possible!
UDDI: No role-based access, no service life-cycle
management, limited look-up capabilities (IBM, 2007)
70. Service Integration in the Web of Things 70|
Simon Mayer
http://people.inf.ethz.ch/mayersi
It is that it has features that encourage the
compiling of clients against it, and that
such clients are not flexible enough to
adapt to changing interfaces
(creation of client stubs from WSDL)
One of the biggest problems of WSDL (and WADL, see later) isn’t technical…
72. Web-based Interaction with Smart Environments 72|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service Integration in the Web of Things
(Back) to the Future: REST
CERN, Switzerland/France
home.web.cern.ch
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
73. Web-based Interaction with Smart Environments 73|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
LHC
Image: Compact Muon Solenoid Experiment
[one of the main particle detectors at CERN]
75. Web-based Interaction with Smart Environments 75|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Introduction to REST by Michaël and Lionel (yesterday)
Comparison of REST and WS-*
Google Trends
Performance of REST vs. WS-*
Ease of use of REST and WS-*
A different approach to understanding REST
The main REST feature for service integration: HATEOAS
Overview: REST, WS-*, and HATEOAS
76. Web-based Interaction with Smart Environments 76|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
SOAP
Makes no sense to look this up… ;-)
77. Web-based Interaction with Smart Environments 77|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
“SOAP Java”
78. Web-based Interaction with Smart Environments 78|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
WSDL
79. Web-based Interaction with Smart Environments 79|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
UDDI
80. Web-based Interaction with Smart Environments 80|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
REST
Makes little sense to look this up either… ;-)
81. Web-based Interaction with Smart Environments 81|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
RESTful
82. Web-based Interaction with Smart Environments 82|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Google Trends, 2004-2013
UDDI
RESTful
“SOAP Java”
83. Web-based Interaction with Smart Environments 83|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST outperforms WS-*
Some data in a minute…
REST is a better fit to the “Do-It-Yourself” Web
Often frontend creation, i.e., quick data access
“Web Developers” vs. “Programmers”
WS-* suite is a complex standard, now
Makes it hard to use for novices
Some data in a minute…
REST and WS-*
The Downside of WS-* Web Services…
84. Web-based Interaction with Smart Environments 84|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and SOAP on devices with limited resources
REST and WS-*
Performance
Power Consumption [mW] Completion Time [s]
D. Yazar and A. Dunkels: Efficient Application Integration in IP-based Sensor Networks, 2009
85. Web-based Interaction with Smart Environments 85|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Better Fit for Do-It-Yourself Web
RESTful vs. “Big” Web Services
REST for tactical, ad hoc integration over the Web
(“Mashups”)
WS-* in professional enterprise application integration
scenarios with a longer lifespan and advanced QoS
requirements
Today, REST is being more and more adopted for this use case!
C. Pautasso, O. Zimmermann, and F. Leymann: RESTful Web Services vs. “Big” Web Services. Making the Right Architectural Decision, 2008
86. Web-based Interaction with Smart Environments 86|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Complexity & Approachability
Also consider the perceived ease of use as a key to the
adoption of an IT system
Increasing reliance on external developers to build
innovative services (App Store, Google Play, etc.)
F. D. Davis. Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology, 1989
D. Gefen and M. Keil. The Impact of Developer Responsiveness on Perceptions of Usefulness and Ease of Use, 1998
An easy to learn and easy to use API is key
to foster a broad community of developers!
87. Web-based Interaction with Smart Environments 87|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective
Study to evaluate the developers’ experience when
learning and implementing Web Service applications
Perceived advantages & disadvantages of REST and WS-*
Ease and speed of learning
Perceived suitability of REST and WS-* for different scenarios
Participants
Computer science students (n = 69)
Third or fourth year of Bachelor studies
D. Guinard, I. Ion, S. Mayer: REST or WS-*? A Developers’ Perspective, 2011
88. Web-based Interaction with Smart Environments 88|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Study Setup
Data Sources (quantitative and qualitative feedback)
1. Implementation Task Teams (n = 25)
2. Structured Questionnaire Individual (n = 69)
3. Feedback Form Anonymous (n = 37)
Implementation Task: Mobile Phone Applications (n = 25)
Access temperature measurements on wireless sensor nodes
a. RESTful API
b. WS-* (WSDL + SOAP) API
Standard libraries: Apache HTTPClient for REST, kSoap2 for WS-*
All course material is available online: tinyurl.com/vs-material
89. Web-based Interaction with Smart Environments 89|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Study Setup
90. Web-based Interaction with Smart Environments 90|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Study Setup
2. Structured Questionnaire (n = 69)
Advantages and disadvantages of REST and WS-*
Suitability of WS-* and REST in different domains
Completed after finishing implementation
3. Anonymous Feedback Form (n = 37)
WS-* / REST ease and speed of learning
Suitability of WS-* / REST in different domains
Completed after finishing implementation
91. Web-based Interaction with Smart Environments 91|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Results
Perceived advantages of each technology
Ease and speed of learning
Perceived suitability for use cases
Embedded devices
Mobile phone client applications
Business applications
92. Web-based Interaction with Smart Environments 92|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Perceived Advantages
REST
Very easy to understand, learn, and implement (36 participants)
More lightweight (27)
More scalable (21)
WS-*
WSDL enables service contracts (31)
Better security features (19)
Better level of abstraction (11)
Qualitative Results, n = 69
93. Web-based Interaction with Smart Environments 93|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Ease of Learning
“Easy” or “Very easy” to learn
REST: 70%
WS-*: 11%
REST M = 3.85, SD = 1.09
WS-* M = 2.50, SD = 1.10
REST significantly easier to learn (p < 0.001, Wilcoxon signed rank test)
Not easy at all Not easy Average Easy Very easy
0
2
4
6
8
10
12
14
16
18
REST
WS-*
5 point Likert scale [1 = Not easy at all, ..., 5 = Very easy], n = 37
94. Web-based Interaction with Smart Environments 94|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Speed of Learning
“Fast” or “Very fast” to learn
REST: 65%
WS-*: 0%
REST: M = 3.43, SD = 1.09
WS-*: M = 2.21, SD = 0.80
REST significantly faster to learn (p < 0.009, Wilcoxon signed rank test)
Not fast at all Not fast Average Fast Very fast
0
2
4
6
8
10
12
14
REST
WS-*
5 point Likert scale [1 = Not fast at all, ..., 5 = Very fast], n = 37
95. Web-based Interaction with Smart Environments 95|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST easier to learn because RESTful Web Services are based on
familiar technologies such as HTTP (9)
REST made it easier to understand what services the sensor nodes
offer (25). This is because of the HTML interface (8)
WSDL and SOAP are more complex to use (8)
Good that WSDL is “standard” (7)
REST and WS-*
Developers’ Perspective: Summary
“REST is easy and WS-* is
just a complicated mess.”
“Everybody who is using a browser
already knows a little about [REST]”
Qualitative Results, n = 69
97. Web-based Interaction with Smart Environments 97|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Use Cases
Would you use REST or WS-* for…
… Embedded Devices?
… Mobile Phone Clients?
… Business Applications?
98. Web-based Interaction with Smart Environments 98|
Simon Mayer
http://people.inf.ethz.ch/mayersi
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37
REST and WS-*
Developers’ Perspective: Use Cases
99. Web-based Interaction with Smart Environments 99|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Use Cases
Embedded Devices
REST (66%), WS-* (8%)
Reasons: REST better in heterogeneous environments, more
lightweight
Smart Home Sensor Network (students’ private homes)
REST (89%), WS-* (7%)
Reasons: Simplicity of deployment and use (24)
(avg. footprint 17.46 kB for REST, 83.27 kB for WS-* application)
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data
100. Web-based Interaction with Smart Environments 100|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Use Cases
Mobile Phones
REST (53%), WS-* (16%), 32% undecided
Reasons: REST causes less traffic (7)
Undecided reasons: Mobile phones getting very powerful
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data
101. Web-based Interaction with Smart Environments 101|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Use Cases
Business Applications
WS-* (52%), REST (24%)
WS-* Reasons: Security needs (21), better service contracts (18)
REST Reasons: Simplicity (10), Scalability (10)
5 point Likert scale [1 = WS-*, ..., 5 = REST], n = 37 + qualitative data
102. Web-based Interaction with Smart Environments 102|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
Developers’ Perspective: Summary
REST: Intuitive, flexible, lightweight
WS-*: Advanced security, standardization, contracts
Learning Ease and Speed: REST Preference (significant)
Embedded and Mobile Apps: REST Preference (significant)
Business Applications: WS-* Preference (not significant)
Study done among novice developers
103. Web-based Interaction with Smart Environments 103|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
REST Advantages: Summary
Great for open, interoperable APIs
Greatly facilitates creation of mashups
Web features for free
Bookmark your devices and their functionality
Caching for scalability, security mechanisms
People are used to exploring the Web using a browser
Seems to facilitate application development
104. Web-based Interaction with Smart Environments 104|
Simon Mayer
http://people.inf.ethz.ch/mayersi
REST and WS-*
REST Advantages: Summary
REST and SOAP on devices with limited resources
UDDI discontinued by IBM, Microsoft, SAP in 2006
Functionality removed from Windows Server in 2010
WS-* APIs discontinued by Google in 2011
Power Consumption [mW] Completion Time [s]
[derekskeba.com]
105. Try to avoid repeating the same mistakes for service
integration in the Web of Things
Do not create service descriptions
that encourage the compiling of
clients against them
107. Now for the cool stuff: HATEOAS
[or, Hypermedia as the Engine of Application State]
[or, the server guides clients using hyperlinks]
108. Did you ever experience that the “back”
button broke a hypermedia application?
e-banking, e-commerce, flights booking, etc.
Why is that?
109. “The Hypertext Transfer Protocol (HTTP)
is a networking protocol for distributed,
collaborative, hypermedia information
systems. HTTP is the foundation of data
communication for the World Wide Web.”
“Prominent members
include the Hypertext
Transfer Protocol.”
http://en.wikipedia.org/wiki/HTTP
http://en.wikipedia.org/wiki/Networking_protocol
http://en.wikipedia.org/wiki/WWW
http://en.wikipedia.org/wiki/URI
http://en.wikipedia.org/wiki/Hyperlink
HATEOAS: Simple Example
Known URL!
110. Clients that click “back” break the HATEOAS “contract”!
The server didn’t want a “back” button to be available in the application. Else,
there would be a hypermedia control to enable the “back”-action
111. Web-based Interaction with Smart Environments 111|
Simon Mayer
http://people.inf.ethz.ch/mayersi
All possible state transitions of an application are under
control of the server. To guide clients in applications, the
server provides hyperlinks that they may follow
Clients only follow provided hyperlinks! “follow your nose”
Take Care! What if a client wants to buy a book, but only
finds a link “Add to shopping cart”?
Representational State Transfer (REST)
HATEOAS [Hypermedia as the Engine of Application State]
No Problem!
What about
me??
112. Web-based Interaction with Smart Environments 112|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Client context,
e.g.: Do I like
chocolate?
Page contents,
e.g.: ”Zurich”
advertisement
Representational State Transfer (REST)
HATEOAS for Human Clients
113. Web-based Interaction with Smart Environments 113|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Important part of REST! Especially for service integration…
Representational State Transfer (REST)
HATEOAS: Google Trends (2004-2013)
HATEOAS
114. http://bookstore.org/books/book1
HATEOAS: Book Store Example
Known URL!
“Recommended Books: Book1
Books in your cart: None.
Checkout not possible (no books).”
“This is Book1. It’s great!
Add book to cart”
GET books/book1
119. Web-based Interaction with Smart Environments 119|
Simon Mayer
http://people.inf.ethz.ch/mayersi
HATEOAS is what adds flexibility to REST systems!
Links are discovered by clients at runtime
Clients will automatically adapt if links change!
This is why browsers are general-purpose tools and not
specialized applications
What if the book store API was described in WSDL?
Risk that clients are compiled from the WSDL
Not mandatory, but was common practice! Why?
WSDLs are more complex to parse and perceived as being static
Representational State Transfer (REST)
HATEOAS and Flexible Service Consumption
120. Web-based Interaction with Smart Environments 120|
Simon Mayer
http://people.inf.ethz.ch/mayersi
We assume that a machine client can follow its nose
Can they, really? What is required to “follow your nose”?
How to combine services from different providers?
They don’t know about each other!
They cannot include links to each other!
HATEOAS cannot accomplish such service integration
tasks alone!
Representational State Transfer (REST)
HATEOAS for Machine Clients: Challenges
122. This is where HATEOAS breaks down for machine clients!
Options?
Create a new type of WSDL, for RESTful Web Services
(top-down, standardization, look at WADL in the next slides)
Offer Web developers ways of annotating their resources
(basically the same thing, but taking into account the developers’ perspective / bottom-up)
123. Web-based Interaction with Smart Environments 123|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Web Application Description Language
Initial draft (2005) by Marc Hadley
Sun Microsystems (today: Oracle)
Some words about WADL
WADL
124. Web-based Interaction with Smart Environments 124|
Simon Mayer
http://people.inf.ethz.ch/mayersi
WADL: Repeating WS-* Mistakes?
WADL example to annotate a news search
Alternative Option: OpenSearch
WADL documents are verbose and
perceived as rather rigid
“the REST answer to WSDL”
Risk of compiling against WADL!
http://www.w3.org/Submission/wadl/
http://www.opensearch.org/Specifications/OpenSearch/1.1
125. Service Integration in the Web of Things 125|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Service Integration in the Web of Things
WoT Service Integration
Zurich, Switzerland
ethz.ch
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
126. Service Integration in the Web of Things 126|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Example Scenario
127. Service Integration in the Web of Things 127|
Simon Mayer
http://people.inf.ethz.ch/mayersi
User enters personal preferences into smartphone
(temperature, preferred song, etc.)
Smartphone negotiates with devices in the surroundings
to set these preferences
Constraints
Must be flexible: Should work in the user’s home, office, hotels, etc.
Interaction metadata must be discoverable on the fly!
Discourage compiling against service descriptions!
Example Scenario
128. Service Integration in the Web of Things 128|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Heterogeneous services from different providers should
be dynamically composable
Services don’t know anything about how to interact with
other services when they are created (i.e., no “standards”)
No HATEOAS: No hyperlinks between services!
Links are known only between “local” services where URLs have
been intentionally linked by the service provider
The big picture…
129. Service Integration in the Web of Things 129|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Make things smart enough to know what they can do…
First level: Syntax
“What type does a service’s output data have?”
REST offers a great mechanism to help with that: Content Negotiation
Second level: Semantics
“Does it make sense to link these two services?”
Service Integration: Self-aware Things!
...and tell others!
130. Service Integration in the Web of Things 130|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Make things smart enough to know what they can do…
First level: Syntax
“What type does a service’s output data have?”
REST offers a great mechanism to help with that: Content Negotiation
Second level: Semantics
“Does it make sense to link these two services?”
Service Integration: Self-aware Things!
...and tell others!
131. Service Integration in the Web of Things 131|
Simon Mayer
http://people.inf.ethz.ch/mayersi
A smart thermostat takes inputs as XML:
The client’s desired temperature is in a JSON document:
Service Integration: “Self-aware” Things?
A Glimpse at Syntactic Service Integration
{
commonName:”clientX”,
desiredSong:”Yellow Submarine”,
desiredTemperature:”20”
}
Method: PUT
Endpoint: myserver.org/things/thermostat
Content: (…)<value>23.3</value>(…)
132. Service Integration in the Web of Things 132|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Describe the service’s API in an Internet Media Type!
Make this information public!
Client can now create/render the input and use the service
This is part of REST self-describing messages!
Service Integration: “Self-aware” Things?
A Glimpse at Syntactic Service Integration
Method: PUT
Endpoint: myserver.org/things/thermostat
Content: (…)<value>23.3</value>(…)
Content-Type: application/xml+simon-thermostat
133. Service Integration in the Web of Things 133|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Make things smart enough to know what they can do…
First level: Syntax
“What type does a service’s output data have?”
REST offers a great mechanism to help with that: Content Negotiation
Second level: Semantics
“Does it make sense to link these two services?”
Service Integration: Self-aware Things!
...and tell others!
134. How to infer that it’s about temperatures
and not about a GPS longitude?
Not possible! They look the same!
Yes, but their semantics are different.
?
135. True, the messages aren’t self-descriptive with respect to
this: “value” could be anything
Method: PUT
Endpoint: myserver.org/things/thermostat
Content: (…)<value>23.3</value>(…)
But we can fix that, by adding semantic metadata!
Not possible! They look the same!
136. Alright… from the beginning :-)
We’ll see four service integration techniques, an
example for each, and discuss their suitability for
our considered applications
137. Service Integration in the Web of Things 137|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
morefunctionality……morecomplexity
139. Service Integration in the Web of Things 139|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My own current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
140. Service Integration in the Web of Things 140|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Crawling of hypermedia structures sometimes is already
sufficient as enabler for integration
Mainly relies on: GET Well-known, right?
HEAD Who knows this?
OPTIONS And this one?
Friends and Things: Sharing of physical and digital
artifacts via social networks
Techniques for Semantic Service Integration
Hypermedia Crawling
D. Guinard, M. Fischer, V. Trifa. Sharing Using Social Networks in a Composable Web of Things, 2010
141. Service Integration in the Web of Things 141|
Simon Mayer
http://people.inf.ethz.ch/mayersi
@home Sharing your energy consumption
Encouraging energy savings…
@work Laboratory automation
“You may monitor my mass spectrometer”
@business Sharing the trace of tagged products
RESTful EPCIS
Hypermedia Crawling
The Friends and Things Project
142. Service Integration in the Web of Things 142|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Hypermedia Crawling
The Friends and Things Project
143. Service Integration in the Web of Things 143|
Simon Mayer
http://people.inf.ethz.ch/mayersi
FaT must discover thing APIs to be shared first
Entirely done via hypermedia crawling, no semantics whatsoever
Then, things can be shared via the OpenSocial API
…and used by others
Hypermedia Crawling
The Friends and Things Project
144. Service Integration in the Web of Things 144|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Hypermedia Crawling
The Friends and Things Project
145. Service Integration in the Web of Things 145|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Only API discovery, nothing else!
No information about how APIs can be used: Only
specialized applications can use them
For crawling to work, links must already exist!
(the “local” hyperlinks problem, again…)
Techniques for Semantic Service Integration
Hypermedia Crawling: Limitations
146. Service Integration in the Web of Things 146|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Hypermedia Crawling
Discussion
Rating Comments
Interface
Discovery
Partial Requires APIs to be connected via hyperlinks
Automatic
Service Usage
No
Can be used to discover APIs that are then used
by tailored applications (like Friends and Things
does!)
Level of
Semantic
Integration
None No semantic integration whatsoever
Simplicity Very Easy No specific annotations required
147. Service Integration in the Web of Things 147|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My own current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
148. Service Integration in the Web of Things 148|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Easy: Find a common way of embedding “useful” metadata
Standardized “structured Data” can be successful… ;-)
vCard supporters:
Android, Symbian, Apple Mac OS X, combit Relationship Manager, Egroupware, Kontact,
Lotus Notes, Lotus Organizer, Gmail, Microsoft Outlook, Mozilla Thunderbird, Novell
Evolution, Novell GroupWise, Roundcube, SOGo, Palm Desktop, The Bat, Trillian, Turba,
WebWeaver Suite, etc.
Techniques for Semantic Service Integration
Metadata Embedding
Anybody know the vCard format?
149. Service Integration in the Web of Things 149|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Easy: Find a common way of embedding “useful” metadata
Standardized “structured Data” can be successful… ;-)
Wikipedia “Infoboxes”
Wikidata
Techniques for Semantic Service Integration
Metadata Embedding
http://fr.wikipedia.org/wiki/Lyon
http://www.wikidata.org/wiki/Q456
150. Service Integration in the Web of Things 150|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
Specifically hRESTS for service integration
Standardized formats for describing contact info, products, etc.
Example application: Service lookup infrastructure
Microdata
Driven by the “big players”, often linked to ontologies
Example application: UI descriptions
Techniques for Semantic Service Integration
Metadata Embedding
both: HTML!
151. Service Integration in the Web of Things 151|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
Specifically hRESTS for service integration
Standardized formats for describing contact info, products, etc.
Example application: Service lookup infrastructure
Microdata
Driven by the “big players”, often linked to ontologies
Example application: UI descriptions
Techniques for Semantic Service Integration
Metadata Embedding
152. Service Integration in the Web of Things 152|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Standardized HTML-embeddable structured data profiles
Metadata Embedding
Microformats
<div class="vcard">
<a class="url fn" href="http://tantek.com/">Tantek Çelik</a>
</div>
hCard format
For API descriptions! Next slide!
hRESTS format
153. Service Integration in the Web of Things 153|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Does this really help machine clients?
Microformats
The hRESTS Format for API Descriptions
<div class="service">
This <span class="label">thermostat</span> enables users to
<div class="operation”>
<span class="label">configure the current temperature</span>
. It is invoked using a
<span class="method">PUT</span>
request at
<span class="address">http://myserver.org/thermostat?t={temp}</span>
with
<span class="input">the desired temperature</span>
replacing the
<code>temp</code>
parameter.
</div>
</div>
Demonstration!
154. Service Integration in the Web of Things 154|
Simon Mayer
http://people.inf.ethz.ch/mayersi
A management infrastructure for smart things
Enables searching for devices in smart environments
Parameters:
UUID, Name, Keywords
Type/Category of device
Location
Reviews
Type of REST API
Microformats
Embedded Microformats Example: InfraWoT
S. Mayer, D. Guinard, and V. Trifa. Searching in a Web-based Infrastructure for Smart Things, 2012
Find a Thermostat at the
location Living Room that
takes a temperature as input
155. Service Integration in the Web of Things 155|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Hierarchies of management nodes, nodes only aware of
direct neighbors
highly scalable! (tested with 100k devices…)
Microformats
The InfraWoT Project
156. Service Integration in the Web of Things 156|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Management infrastructure for smart things
Service Discovery and Look-up
Microformats
The InfraWoT Project
Trifa, V., Guinard, D., Mayer, S. Leveraging the Web for a Distributed Location-aware Infrastructure for the Real World, 2010
Things register
first…
157. Service Integration in the Web of Things 157|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Management infrastructure for smart things
Service Discovery and Look-up
Microformats
The InfraWoT Project
…and can be
found by clients!
Things register
first… Find a Thermostat at the
location Living Room that
takes a temperature as input
158. Service Integration in the Web of Things 158|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
The InfraWoT Project: Registration
159. Service Integration in the Web of Things 159|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
The InfraWoT Project: Metadata
Parameters Microformat
Identification Name, UUID
None. Information
derived from URL
Product Info Device Type, Brand, Price, etc. hProduct
User Reviews Ratings, Description hReview
Context Location (GPS + Indoor Location)
GEO for GPS, proprietary
format for indoor
API Description
Label, URL Template, Input,
Output
hRESTS
160. Service Integration in the Web of Things 160|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
The InfraWoT Project: Service Look-Up
Find a Thermostat at the location
Living Room that takes a
temperature as input
www.myserver.org/things/thermostat
Method: HTTP PUT
Rating: 4.3 (0..5)
hProduct Category
GEO
hRESTS Input
161. Service Integration in the Web of Things 161|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Information is not machine-interpretable
hRESTS service label can only be “understood” by humans!
Only allows to annotate text/html representations
Clumsy embedding via HTML overloading of “class”
Declining interest…
Microformats
Discussion
Microformats
162. Service Integration in the Web of Things 162|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
Discussion
Rating Comments
Interface
Discovery
None Requires to fall back on crawling or indexing
Automatic
Service Usage
Partial
hRESTS allows definition of API, but no format to
describe it for machine clients
Level of
Semantic
Integration
Partial
Microformats define the semantics of objects, but
are only partially linked to ontologies
Simplicity Medium
Cumbersome annotation of HTML
representations required
163. Service Integration in the Web of Things 163|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microformats
Specifically hRESTS for service integration
Standardized formats for describing contact info, products, etc.
Example application: Service lookup infrastructure
Microdata
Driven by the “big players”, often linked to ontologies
Example application: UI descriptions
Techniques for Semantic Service Integration
Metadata Embedding
164. Service Integration in the Web of Things 164|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Also based on structured data and HTML embedding
New attributes instead of overloading
Part of HTML5
“More semantics”: Linking to ontologies possible via fixed
vocabularies like www.schema.org or data-vocabulary.org
Maintainers: Google, MS, etc.
schema.org
Metadata Embedding
Microdata
165. Service Integration in the Web of Things 165|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Smarter embedding via special HTML attributes
<… itemprop=“propertyName”> to annotate specific items
<… itemscope itemprop=“scopeName”> for scoping
Usually added to <span> or <div> tags
Demonstration (navigate to colored LED)
Metadata Embedding
Microdata
<html>…<span itemscope itemprop=“vCard”>This page is
about <span itemprop=“firstName”>Maximilian</span>
<span itemprop=“lastName”>Muster</span> who lives in
<span itemprop=“locality”>Zurich</span></span>…</html>
166. Service Integration in the Web of Things 166|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Goal: Automatic UI generation for smart things
Intuitive interfaces for multiple modalities (GUI, speech, haptics, etc.)
Metadata should be easy to embed for developers
UI Information embedded as Microdata
Microdata
Embedded Microdata Example: InterWoTions
167. Service Integration in the Web of Things 167|
Simon Mayer
http://people.inf.ethz.ch/mayersi
InterWoTions
Human- and machine-readable volume controller interaction markup.
Microdata
The InterWoTions Project
168. GUI / Touch Screen
Haptic / Gyro
Example: Interaction with a Web-enabled LED
171. GUI / Gyroscope
Composite UI
set intensity,
switch, get data,
goto, move
Example: Interaction with iTunes
Faster than the iPhone-App!
172. Service Integration in the Web of Things 172|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Yields useful interfaces
Covers lots of use cases: Home automation, A/V, lecture
controls, car controls, etc.
Markup is easily producible for tech-savvy users
Microdata
Embedded Interaction Information: InterWoTions
173. Service Integration in the Web of Things 173|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microdata
Discussion
Rating Comments
Interface
Discovery
None Requires to fall back on crawling or indexing
Automatic
Service Usage
No No standard format to annotate Web APIs
Level of
Semantic
Integration
Partial
Allows to define an object’s class/type, if
ontologies like schema.org are used
Simplicity Easy
Annotation of HTML representations required.
Better usability than Microformats
174. Service Integration in the Web of Things 174|
Simon Mayer
http://people.inf.ethz.ch/mayersi
We never actually tried that! Rather, we moved on to explore “full”,
functional semantic integration…
Works only for HTML representations (like Microformats)
W3C working on Microdata-RDF Transformation
Microdata
Discussion
Allows to define an object’s class/type, if
ontologies like schema.org are used
176. Goal: Extract interesting information about a device
regardless of the annotation format
Approach: Discovery based on a runtime-dynamic set of
strategies (Microformats-Strategy, Microdata-Strategy, proprietary
strategies, etc.)
Brief Outtake!
How to merge different embedded
Metadata Descriptions
S. Mayer, D. Guinard. An Extensible Discovery Service for Smart Things, 2011
177. Forecast: Rain
Temperature: 24˚C Please configure
forecast data source
Your fridge currently
consumes 45W
I’m located in Zurich!
Human-readable and understandable
Lots of smart things…
180. Does every smart device have to be
capable of parsing every single
format...?
181. Service Integration in the Web of Things 181|
Simon Mayer
http://people.inf.ethz.ch/mayersi
And it gets worse...
{“data”:[{“weather-forecast”:”Rain”}],
“name”:”MyNabaztag”}
Imagine we agreed on everybody using application/json...
Content type:
application/json
{“data”:{“weather-forecast”:”Rain”},
“name”:”MyNabaztag”}
{“data-item”:[{“weather-forecast”:”Rain”}],
“name”:”MyNabaztag”}
182. Service Integration in the Web of Things 182|
Simon Mayer
http://people.inf.ethz.ch/mayersi
A single, agreed upon,
standard format
Options for annotating smart things
Or multiple (but few!) formats
Syntax problem remains
Probably not feasible...
183. Service Integration in the Web of Things 183|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Different Syntax: OK!
A method to understand
multiple different formats
Options for annotating smart things
Future formats?
184. Service Integration in the Web of Things 184|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Different Syntax: OK!
An extensible method to
understand multiple
different formats
Options for annotating smart things
Future formats: OK!
185. Service Integration in the Web of Things 185|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Uses multiple strategies to extract metadata
More strategies can be loaded at runtime
Can handle protected resources and resources behind firewalls
Great help for decoupling service providers and consumers
The DiscoWoT Project
GET /analyze?http://thing.org
Information about thing.org
S. Mayer, D. Guinard. An Extensible Discovery Service for Smart Things, 2011
186. Computer vision techniques + Embedded UI Information
=
Intuitive Interfaces!
Outtake! Embedded Metadata to Interact
with Smart Things!
S. Mayer, M. Schalch, M. George, G. Sörös: Device Recognition for Intuitive Interaction with the Web of Things, 2013
187. Service Integration in the Web of Things 187|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Object
Categorization
Object
Tracking Rendered UI
(InterWoTions)
188. Service Integration in the Web of Things 188|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Example: Web-enabled Toy Robot
GUI / Gyroscope
189. Service Integration in the Web of Things 189|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Example: Volume Controller
GUI / Gyroscope
190. Service Integration in the Web of Things 190|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Soon for cars?
191. Service Integration in the Web of Things 191|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Soon for cars?
192. Service Integration in the Web of Things 192|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Object Recognition + Embedded UI Metadata
Current status…
193. Service Integration in the Web of Things 193|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Microdata-based metadata is absolutely suitable for this!
Lots of potential, if data access is ensured!
Embedded UI information + Object Recognition
Conclusion
S. Mayer, C. Beckel, B. Scheidegger, C. Barthels, G. Sörös: Uncovering Device Whispers in Smart Homes, 2012
S. Mayer, M. Schalch, M. George, G. Sörös: Device Recognition for Intuitive Interaction with the Web of Things, 2013
194. Service Integration in the Web of Things 194|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple crawling for interface discovery
Requires hyperlinks to be present!
Application: Access right management
Structured Data (Microformats and Microdata) for simple embedding of
metadata in resources
Application: Web of Things search engine
Application: Embedding of interaction information
Take-home Points
196. Service Integration in the Web of Things 196|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My own current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
197. However…
These are constrained to
operating within hypermedia
applications!
They require HATEOAS-style hypermedia controls to be already present!
[example coming right up…]
198. All possible state transitions of an application are under
control of the server. To guide clients in applications, the
server provides hyperlinks that they may follow
Clients only follow provided hyperlinks! “follow your nose”
Take Care! What if a client wants to buy a book, but
only finds a link “Add to shopping cart”?
Representational State Transfer (REST)
HATEOAS [Hypermedia as the Engine of Application State]
I can do
that! What about
me??
Still remember this?
201. What about multiple stores?
Not possible! No Link!
/book/cart
/checkout
/book/cart
/checkout
Store A
Store BI found this great book at store
A. It also exists in store B.
I’d like to buy it there!
I can
do that!
…
202. Simon’s Office
- Contains 2 services
More seriously: Think about a smart environment…
I have a song title,
“Yellow Submarine”.
I’d like to play that song.
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Plays song
Not possible! No Link!
I can do
that, too! Will you stop
now !
203. It’s the “follow your nose”-Problem again!
What if a client wants to “buy” a book, but only finds a link “Add to shopping cart”?
Hm, you
know. I can…
YES! I got it.
Our goal is to enable it for this guy!
204. Service Integration in the Web of Things 204|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Special-purpose link lists that can be queried by users
Various implementations: Web Linking metadata
Link repositories
Multiple ways of constructing these
Crowd-sourced Linkbases
Semantics-based Linkbases
Globalization of HATEOAS: Linkbases
vs.
205. Service Integration in the Web of Things 205|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
206. Service Integration in the Web of Things 206|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Rely on developers or users to publish links
Globalization of HATEOAS
Crowd-sourced Linkbases
Simon’s Office
- Contains 2 services
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
I know that you can
connect these services!
Let me show you!
207. Service Integration in the Web of Things 207|
Simon Mayer
http://people.inf.ethz.ch/mayersi
S. Mayer, D. Karam. A Computational Marketplace for the Web of Things, 2012
Mashup developers find links manually, but publish their
mashups in a “WoT Marketplace”
Clients can ask the marketplace for linking information
These links make sense, because they are used in a mashup!
Clients only need to choose which link to follow
Yay! That sounds like we can use HATEOAS again!
Globalization of HATEOAS
Crowd-sourced Linkbases
208. Service Integration in the Web of Things 208|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases
Marketplace
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
209. Service Integration in the Web of Things 209|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases
Marketplace
Node A
Node B
Node C
Node D
Node F
Marketplace exposes linking metadata about nodes!
Node X: www.wot_marketplace.org/nodes/X
211. Service Integration in the Web of Things 211|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases
Marketplace
Node A
Node B
Node C
Node D
Node F
I know that you can
connect the services at
A and F!
216. Service Integration in the Web of Things 216|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Clients need to be able to find services on the
marketplace and select appropriate services to achieve
their goal
The marketplace should provide meta-information about
services and thus help to optimize traversal
Mechanisms are required for security and billing
Globalization of HATEOAS
Crowd-sourced Linkbases
217. Service Integration in the Web of Things 217|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Clients need to be able to find services on the
marketplace and select appropriate services to achieve
their goal
The marketplace should provide meta-information about
services and thus help to optimize traversal
Mechanisms are required for security and billing
Globalization of HATEOAS
Crowd-sourced Linkbases
218. Service Integration in the Web of Things 218|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Marketplace API exposes paths
“Graph Crawler” keeps all paths up-to-date
Basically an ordinary search machine…
Globalization of HATEOAS
Crowd-sourced Linkbases: Interface Discovery
GET wot_marketplace.org/nodes/A
{
“service” : “www.songsearch.org”
“forward_paths” : {
“play_song” : “nodes/F”
}
}
219. Service Integration in the Web of Things 219|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Clients need to be able to find services on the
marketplace and select appropriate services to achieve
their goal
The marketplace should provide meta-information about
services and thus help to optimize traversal
Mechanisms are required for security and billing
Globalization of HATEOAS
Crowd-sourced Linkbases
220. Service Integration in the Web of Things 220|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases: Service Traversal
The following use case is about
arrhythmia detection
We have a heartbeat feed and an
arrhythmia detector.
We want to decide whether to follow the
“ambulance” link
221. Service Integration in the Web of Things 221|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases: Service Traversal
222. Service Integration in the Web of Things 222|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases: Service Traversal
Yes, this is hard!
But at least we have links again and can “outsource” the logic to
the client…
Here, clients are not “compiled” against the links anymore,
but against the link names!
This is a bit less bad…
223. Task: Implement a client such that it follows
the emergency link when the probability for
arrhythmia is higher than 50%
224. Service Integration in the Web of Things 224|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases: Service Traversal
225. Service Integration in the Web of Things 225|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Clients need to be able to find services on the
marketplace and select appropriate services to achieve
their goal
The marketplace should provide meta-information about
services and thus help to optimize traversal
Mechanisms are required for security and billing
Globalization of HATEOAS
Crowd-sourced Linkbases
226. Service Integration in the Web of Things 226|
Simon Mayer
http://people.inf.ethz.ch/mayersi
GET wot_marketplace.org/nodes/A
{
“service” : “www.arrhythmia_detect.net”
“forward_paths” : {
“play_song” : {
“node” : “nodes/F”,
“cost”:”0.02$”,
“delay”:”1sec”
}
}
}
227. Service Integration in the Web of Things 227|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Optimize traversal according to application needs
Multi-dimensional cost metrics: time, money, quality,...
Marketplace offers this information, but does not decide
on routes → Generic path deciders
Globalization of HATEOAS
Crowd-sourced Linkbases: Path Optimization
228. Service Integration in the Web of Things 228|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Marketplace
Globalization of HATEOAS
Crowd-sourced Linkbases
Node A
Node D
Node B
Node C Node E
This is for arrhythmia
detection, again!
Node A: Heartbeat feed
Nodes B, C, D: Arrhythmia Detectors. The marketplace provides delay metadata
Node E: Emergency-Link, “Call Ambulance” Service
229. This is the actual thing! (we use gephi.org/ to create these)
S. Mayer, D. Karam. A Computational Marketplace for the Web of Things, 2012
230. Task: Implement a client that
always uses the arrhythmia
detector with the lowest delay
231. Service Integration in the Web of Things 231|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Generic service traversal (lowest time cost path)
Globalization of HATEOAS
Crowd-sourced Linkbases: Path Optimization
233. Service Integration in the Web of Things 233|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Clients need to be able to find services on the
marketplace and select appropriate services to achieve
their goal
The marketplace should provide meta-information about
services and thus help to optimize traversal
Mechanisms are required for security and billing
Globalization of HATEOAS
Crowd-sourced Linkbases
234. Service Integration in the Web of Things 234|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Authentication, authorization, and billing schemes to
restrict access to computational resources
Don’t create a centralized repository for login data
Trust problems, security problems, scaling problems...
Instead use third-party schemes (like OAuth 2.0) and
inline this functionality as a linked computational node!
Globalization of HATEOAS
Crowd-sourced Linkbases: Security and Billing
235. Service Integration in the Web of Things 235|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Crowd-sourced Linkbases
Marketplace
Node A
Node B
Node C
Node D
Node F
The OAuth node controls
access to the media player!
236. Service Integration in the Web of Things 236|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Crowd-sourced Linkbases
Discussion
Rating Comments
Interface
Discovery
Yes Requires developers or users to publish links
Automatic
Service Usage
Partial Only on syntactic level (data types and formats)
Level of
Semantic
Integration
None No annotations
Simplicity Tricky
Relies on enough participants! And on them
being reliable enough!
239. Service Integration in the Web of Things 239|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Can we automate the publishing of links?
Globalization of HATEOAS
Crowd-sourced Linkbases
Simon’s Office
- Contains 2 services
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
240. Service Integration in the Web of Things 240|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Simple Hypermedia Crawling
Metadata: Microformats and Microdata
Crowd-sourced Service Integration
Web Linking: “Globalized” HATEOAS?
Semantics-based Service Integration
Web Linking + Metadata Embedding
My current research…
Service Integration: “Self-aware” Things?
Techniques for Semantic Service Integration
241. Service Integration in the Web of Things 241|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Use semantic metadata to find potential links!
Globalization of HATEOAS
Semantics-based Linkbases
Simon’s Office
- Contains 2 services
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
R.Verborgh et al. RESTdesc - A Functionality-Centered Approach to Semantic Service Description and Composition, 2012
S. Mayer and G. Basler. Embedded Semantic Metadata to Support Device Interaction in Smart Environments, 2013
242. Service Integration in the Web of Things 242|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases
Simon’s Office
- Contains 2 services
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
Based on what I know
about these services, there
could be a link here!
243. Service Integration in the Web of Things 243|
Simon Mayer
http://people.inf.ethz.ch/mayersi
We’ve already seen limited metadata embedding…
This time, we mean it!
Functional semantic service descriptions
Semantic reasoner to process these descriptions
Globalization of HATEOAS
Semantics-based Linkbases
How?
Connect that information to its API
What?
Describe what a service does
244. Service Integration in the Web of Things 244|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Usability as one major constraint
It should not be too hard to create service descriptions
It should be easy to create user goals
Pragmatism as another
Make use of previous research in semantic technologies
Use existing ontologies. Avoid creating new ones!
Format: Notation3 (user-friendly RDF with inference rules)
Globalization of HATEOAS
Semantics-based Linkbases
245. The title of the resource people.org/person1/, is “Person 1”, and it knows
another resource, people.org/person2/
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc=http://purl.org/dc/elements/1.1/ xmlns:foaf="http://xmlns.com/foaf/0.1/">
<rdf:Description rdf:about=“people.org/person1/">
<dc:title>Person 1</dc:title>
<foaf:knows>people.org/person2/</foaf:knows>
</rdf:Description>
</rdf:RDF>
StandardRDF/XML
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
<people.org/person1>
dc:title "Person 1";
foaf:knows "people.org/person2/".
Notation3
Brief N3 Primer: Statements
Remember Catherine’s talk?
Turtle Syntax
246. Brief N3 Primer: Rules
𝑹𝒖𝒍𝒆: 𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛
“people.org/person1/ knows people.org/person2/ ”
implies
“people.org/person2/ knows people.org/person1/ ”
If one person knows another person, this second person also knows the first.
(“foaf:knows is symmetric”)
247. Notation3
Brief N3 Primer: Rules
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
{
Precondition.
}
=>
{
Postcondition.
}
is shorthand for=> log:implies
If one person knows another person, this second person also knows the first.
(“foaf:knows is symmetric”)
248. Notation3
Brief N3 Primer: Rules
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
{
?x a foaf:Person;
foaf:knows ?y.
}
=>
{
?y foaf:knows ?x.
}
If one person knows another person, this second person also knows the first.
(“foaf:knows is symmetric”)
is shorthand for=> log:implies
Superb tutorial at n3.restdesc.org (by Ruben Verborgh)
249. Service Integration in the Web of Things 249|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Now: Semantic metadata for the Songs Search Machine
Simon’s Office
- Contains 2 services
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
Globalization of HATEOAS
Semantics-based Linkbases: Metadata
250. Service Integration in the Web of Things 250|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases: Metadata
Precondition: Facts that are required for a meaningful execution of the service
-> Knowledge of a Song Title
Postcondition: Additional facts that hold after an execution of the service?”
-> Knowledge of a URL of a song with that title
Songs Search
Machine
Method: GET
Input: Song Title
Output: MP3 URL
251. Notation3
The Songs Search Machine
@prefix dc: <http://purl.org/dc/elements/1.1/>.
{
Precondition.
}
=>
{
Postcondition.
}
If we know a song title, we also know the URL of a song with that title.
252. If we know a song title, we also know the URL of a song with that title.
Notation3
The Songs Search Machine
@prefix dc: <http://purl.org/dc/elements/1.1/>.
{
?songTitle a dc:title.
}
=>
{
?songURL a dc:Song;
myOnt:hasTitle ?songTitle.
}
Store this as ssm_rule.n3
253. Service Integration in the Web of Things 253|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Now, we only need to link that to the service!
Multiple ways to do that…
We use HTTP OPTIONS for that
“This method allows the client to determine the options and/or requirements
associated with a resource, or the capabilities of a server, without implying a
resource action or initiating a resource retrieval.” (RFC 2616)
OPTIONS www.ssm.org
Link: <ssm_rule.n3>; rel=“describedBy“
We use the Link Header (RFC 5988) to return the description
Demonstration!
Songs Search
Machine
ssm_rule.n3
255. Why is that?
After reading ssm_rule.n3, I know
that I can get a song URL.
But I don’t know how!
256. How to include the request? Basically two options…
𝑹𝒖𝒍𝒆: 𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 ∧ 𝑅𝑒𝑞𝑢𝑒𝑠𝑡 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛
𝑹𝒖𝒍𝒆: 𝑃𝑟𝑒𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 → 𝑃𝑜𝑠𝑡𝑐𝑜𝑛𝑑𝑖𝑡𝑖𝑜𝑛 ∧ 𝑅𝑒𝑞𝑢𝑒𝑠𝑡
This works, but is impractical (knowledge about all requests required from the start…)
It also messes up the quantification!
“Given the Preconditions, all GET requests give the Postcondition”
This works too, and it is sound!
“Given the Preconditions, there exists a GET request that gives the Postcondition”
R.Verborgh et al. RESTdesc - A Functionality-Centered Approach to Semantic Service Description and Composition, 2012
The second option
sounds better to me!
257. Notation3
The Songs Search Machine
@prefix dc: <http://purl.org/dc/elements/1.1/>.
{
?songTitle a dc:title.
}
=>
{
?songURL a dc:Song;
myOnt:hasTitle ?songTitle.
Request.
}
If we know a song title, we also know the URL of a song with that title. Plus, we
know about an HTTP request.
258. Notation3
The Songs Search Machine
@prefix dc: <http://purl.org/dc/elements/1.1/>.
@prefix http: <http://www.w3.org/2011/http#>.
{
?songTitle a dc:title.
}
=>
{
?songURL a dc:Song;
myOnt:hasTitle ?songTitle.
_:request http:methodName “GET”;
http:requestURI (<www.ssm.org?title=>?songTitle);
http:resp [ http:body ?songURL ].
}
Store this as ssm_rule.n3
We’ll refer to it as a “RESTdesc” description
If we know a song title, we also know the URL of a song with that title. Plus, we
know about an HTTP request.
259. “Yellow Submarine” a dc:title.
“Yellow Submarine” a dc:Title.
?songURL a dc:Song;
myOnt:hasTitle “Yellow Submarine”.
_:request http:methodName “GET”;
http:requestURI (<www.ssm.org?title=>?songTitle);
http:resp [ http:body ?songURL ].
[+ proof]
ssm_rule.n3
261. “Yellow Submarine” a dc:title.
Goal: ?song a dc:Song; hasTitle “Yellow Submarine”.
A proof that is parsed to an internal HTTP request description format
Send a GET request to www.ssm.org?title={songTitle} and substitute “songTitle” with
“Yellow Submarine”. Then, unpack the response. Its body contains the song.
GET ?title=YellowSubmarine
www.songs.org/yellowsub.mp3
ssm_rule.n3
Songs Search
Machine
ssm_rule.n3
263. Service Integration in the Web of Things 263|
Simon Mayer
http://people.inf.ethz.ch/mayersi
First: Add semantic metadata to the Media Player!
Globalization of HATEOAS
Semantics-based Linkbases: Metadata
Simon’s Office
- Contains 2 services
Songs Search
Machine
ssm_rule.n3
Media Player
Method: PUT
Input: MP3 URL
Output: Will play music
264. Service Integration in the Web of Things 264|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Parfait!
Globalization of HATEOAS
Semantics-based Linkbases: Metadata
Simon’s Office
- Contains 2 services
Songs Search
Machine
ssm_rule.n3
Media Player
mp_rule.n3
265. I want to play “Yellow
Submarine” now!!
Then formulate your goal.
But be precise!
?state a st:State;
log:includes {
:SimonsOffice musicPlaying [ myOnt:hasTitle “Yellow Submarine” ]
}
I want Simon’s office to be in a state
where “Yellow Submarine” is playing.
266. “Yellow Submarine” a dc:title.
Client Goal
A proof that can be parsed to an internal HTTP request description format
Send a GET request to www.ssm.org?title={songTitle} and substitute “songTitle”
with “Yellow Submarine”. Then, unpack the response. Its body contains the
songURL. Take this variable and send a PUT to www.mp.org?song={songURL}
Execute the requests to play the song!
ssm_rule.n3
mp_rule.n3
267. Send a GET request to www.ssm.org?title={songTitle} and substitute “songTitle” with
“Yellow Submarine”. Then, unpack the response. Its body contains the songURL. Take this
variable and send a PUT to www.mp.org?song={songURL}
Media Player
mp_rule.n3
GET ?title=YellowSubmarine
www.songs.org/yellowsub.mp3
Songs Search
Machine
ssm_rule.n3
PUT ?song=www.songs.org/yellowsub.mp3
www.songs.org/yellowsub.mp3
Now, yellowsub.mp3 is playing in Simon’s office!
268. Sounds complicated. Could you
summarize what I have to do?
1. Formulate your goal
2. Search for a reasoner (e.g., using InfraWoT)
3. Ask the reasoner how to reach the goal
4. Parse the proof to extract the requests
5. Execute the requests
272. Isn’t it too hard to create the
goal, for a client like me?
That’s tricky. But we’re working on it!
One idea is to integrate the goal creation with Clickscript.
And you know how to use that, right?
273. Service Integration in the Web of Things 273|
Simon Mayer
http://people.inf.ethz.ch/mayersi
A standard semantic reasoner
Lots of research done into this, optimized
Can handle lots of inference rules, will not be the
bottleneck, at least for home automation scenarios
Infer what a smart environment can do for us!
And how to trigger that functionality!
Globalization of HATEOAS
Semantics-based Linkbases: Discussion
274. Service Integration in the Web of Things 274|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Set favorite song on your mobile
phone to create a music stream
that follows you!
Indoor localization service
Stream server/transmitter
Stream players/receivers in all
rooms
Globalization of HATEOAS
Semantics-based Linkbases: Prototype
S. Mayer and G. Basler. Semantic Metadata to Support Device Interaction in Smart Environments, 2013
275. Service Integration in the Web of Things 275|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases: Prototype
A music stream that “follows” the user
276. Service Integration in the Web of Things 276|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Implementation (version 1)
Passive reasoner: Only active when queried by the client
Implementation (version 2)
Reasoner actively searching for services using the InfraWoT
discovery infrastructure
Globalization of HATEOAS
Semantics-based Linkbases: Prototype
277. Service Integration in the Web of Things 277|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Too many requests! 10s to change the song!
Globalization of HATEOAS
Semantics-based Linkbases: Prototype v1
278. Service Integration in the Web of Things 278|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Working on this… stay tuned!
Scalability testing looks good
InfraWoT strategy: Growing scopes
Globalization of HATEOAS
Semantics-based Linkbases: Prototype v2
279. Hm. So I should
just state my goals.
And I can find and
use services, too!
280. Crowd-sourced Linkbases
Discussion
Rating Comments
Interface
Discovery
Yes Only requires service entry endpoints
Automatic
Service Usage
Yes Contains API annotations for automatic usage
Level of
Semantic
Integration
Partial
Uses reasoner to deduce paths for reaching the
user’s goal. Does not make use of big ontologies
(but could/should…)
Simplicity ?
Requires annotation of devices and definition of
goals. Good progress, but not out of the
woods yet
281. Service Integration in the Web of Things 281|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases: Possibilities
282. Service Integration in the Web of Things 282|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases: Possibilities
283. Service Integration in the Web of Things 283|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Globalization of HATEOAS
Semantics-based Linkbases: Possibilities
284. Semantic Service Integration Technologies: Overview
Crawling Microformats Microdata Crowd
Linkbases
Semantic
Linkbases
Interface
Discovery
Partial None None Yes Yes
Automatic
Service Usage
No Partial No Partial Yes
Level of
Semantic
Integration
None Partial Partial None Partial
Simplicity Very Easy Medium Easy Tricky ?
285. Introductory Stroll
WS-* Forest
REST Beacon of Hope
HATEOAS Cliffs
Structured
Data Lake
Crowded Village
Semantic Mountains
Unexplored State of Usability
286. Service Integration in the Web of Things 286|
Simon Mayer
http://people.inf.ethz.ch/mayersi
École d’Été Web Intelligence 2013 - Web des Objets
September 4th 2013, St. Germain au Mont d’Or
Simon Mayer, ETH Zurich
Service Integration in the Web of Things
Conclusion
Carinthia, Austria
presse.kaernten.at
287. Study techniques and technologies that
enable machines to discover smart
devices, to select appropriate services,
and to use them automatically!
Goal
288. Expose services as REST resources. Make
them discoverable via repositories or search
machines. Annotate them to expose their APIs
and make them automatically usable!
Approach
289. However, REST by itself is not enough for
automatic service usage
REST offers very interesting features for smart
environments and allows to embed API
descriptions and other metadata
290. We’ve seen multiple approaches to
facilitate the creation of mashups, and the
usage by machine clients
Embedding functional semantic service
descriptions could be a viable alternative to
“top-down” standardization
291. Service Integration in the Web of Things 291|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Beginnings in Europe, now intercontinental!
Web of Things Workshop Series: webofthings.org/wot
WoT 2010 @ PerCom, Mannheim
WoT 2011 @ Pervasive, San Francisco
WoT 2012 @ Pervasive, Newcastle
WoT 2013 @ UbiComp, Zurich
Community blog: webofthings.org
The Web of Things Community
292. Service Integration in the Web of Things 292|
Simon Mayer
http://people.inf.ethz.ch/mayersi
Ruben Verborgh, David Karam
Nadine Inhelder, Gianin Basler
Markus Schalch, Andreas Tschofen
Dominique Guinard, Vlad Trifa
Matthias Kovatsch, Leyna Sadamori, Gábor Sörös
Erik Wilhelm, Josh Siegel, Sanjay Sarma
Special Thanks to Ruben, Nadine, and David for your input on these slides!
Credits
293. THANK YOU for this invitation !
Jean-Paul Jamont
Cécile Favre
Lionel Médini
Michaël Mrissa
Tous les participants de l’école d’été Web Intelligence 2013!