RESTful conversations are complex interactions between client(s) and server(s). Modelling them is important both for REST API designers and consumers. We believe that using efficient visualization tools to model the dynamics of a RESTful conversation and frequently used conversation patterns can improve teams’ productivity, promote reuse and leverage knowledge sharing. More details are available on the following link: http://design.inf.usi.ch/sites/default/files/biblio/2015_ECSA.pdf.
Please contribute to our research and take our survey:
http://restfulconversations.limequery.com/index.php/215135/lang-en
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Ontico
Доклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность.
Проектирование высокопроизводительных REST API.
- Кто должен участвовать в проектировании.
- Как узнать, что оптимизировать.
- Как измерять производительность REST API.
Паттерны и антипаттерны.
- Почему pagination - это плохо, и на что лучше заменить.
- Проблема N+1 и как с ней бороться.
- Бесполезные данные - как обнаружить и уничтожить.
- Как не ломать кэширование на клиенте.
- Эффективная работа с интерфейсами "мастер-детали".
Кэширование.
- Три слоя кэширования.
- Самый быстрый запрос - тот, которого не было. Как увеличить их количество.
- Экономия трафика.
- Исключение ненужных вычислений.
- Подходы к инвалидации кэша.
Приемы оптимизации работы с API на клиенте.
- Параллельные запросы.
- Эффективный разбор данных.
- In-memory DB на клиенте.
- Стратегии кэширования на клиенте.
This document summarizes a presentation on MongoDB basics, including:
1) Discussing schema design in MongoDB and how it differs from relational databases, with examples of embedding vs referencing data.
2) Describing the requirements and data model for a sample "myCMS" application with different article types, users, and interactions.
3) Showing how to model comments in different ways like embedding, referencing, or using a hybrid approach.
4) Demonstrating how to build a RESTful API and Python/Flask code to interact with MongoDB documents.
EMF-REST: Generation of RESTful APIs from ModelsHamza ED-DOUIBI
The document describes EMF-REST, a tool that generates RESTful APIs from Eclipse Modeling Framework (EMF) models. EMF-REST maps EMF models to REST architectural constraints like addressable resources, representation-oriented formats (JSON, XML), and a uniform interface. It generates a REST API that provides access to EMF data models and supports features like validation and security. The document outlines EMF-REST's approach, features, benefits, architecture, and generation process. It also provides an example of generating a REST API from an IFML model of a movie manager form.
Developing modular, polyglot applications with Spring (SpringOne India 2012)Chris Richardson
This document discusses developing modular, polyglot applications using Spring. It describes how to refactor a monolithic application into modular microservices along functional boundaries (Y-axis scaling). This improves scalability, enables independent development and deployment of each service, and allows adopting different technologies for each service. Spring is well-suited for building these types of applications since it supports a variety of languages and frameworks and its programming model aligns well with developing microservices.
The document appears to be a presentation discussing various topics related to business models and monetization strategies for APIs and other digital products and services. It includes photos from Flickr under Creative Commons licenses and covers driving traffic, accelerating development, gaining new users, supporting new devices, partnerships, free versus paid models, affiliates, and shared revenue models. Dates from 1991 to 2013 are mentioned in relation to important changes.
How our product, the HERE Places RESTful API, ripened over time and how our understanding of quality changed over time.
As every distinguished wine is the result of a long refining and ripening process, every software product is subject to a similar evolution, too. Of course along the journey of a product, the understanding of “Quality” is subject to major changes as well.
Lets join the 3-year journey of a software product through its various stages, from planning, seeding to its first wine tasting (that is, the beta offer), to selling the first bottles (that is, the service is used by other internal products), finally to its market readiness (that is, becoming a commercial B2B offer with SLAs).
The product under test is the Places RESTful API (places.demo.api.here.com), which delivers data for Places that are shown in various products, for instance for Nokia’s HERE.com maps.
We concentrate on three different aspects and how they change over time:
* the understanding of what quality means,
* the test strategy, and last but not least
* how to deal with the intrinsic complexity.
We are going to explore the post production deployment part of our process: How we ensure the high availability of this complex service, as well as which test techniques, feedback mechanisms and in particular which visualizations (monitoring 2.0) we leverage for this purpose.
Presented a the Agile Testing Days 2013.
This presentation describes the technological trends developed to help charities and fund raising organizations overcome the current challenges. The presentation also describes how LINKDev charity solution introduces a competitive advantage to charities by helping them stay current with technological advances
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Ontico
Доклад осветит вопросы устройства REST API для веб-приложений и мобильных клиентов, от которых требуется высокая производительность.
Проектирование высокопроизводительных REST API.
- Кто должен участвовать в проектировании.
- Как узнать, что оптимизировать.
- Как измерять производительность REST API.
Паттерны и антипаттерны.
- Почему pagination - это плохо, и на что лучше заменить.
- Проблема N+1 и как с ней бороться.
- Бесполезные данные - как обнаружить и уничтожить.
- Как не ломать кэширование на клиенте.
- Эффективная работа с интерфейсами "мастер-детали".
Кэширование.
- Три слоя кэширования.
- Самый быстрый запрос - тот, которого не было. Как увеличить их количество.
- Экономия трафика.
- Исключение ненужных вычислений.
- Подходы к инвалидации кэша.
Приемы оптимизации работы с API на клиенте.
- Параллельные запросы.
- Эффективный разбор данных.
- In-memory DB на клиенте.
- Стратегии кэширования на клиенте.
This document summarizes a presentation on MongoDB basics, including:
1) Discussing schema design in MongoDB and how it differs from relational databases, with examples of embedding vs referencing data.
2) Describing the requirements and data model for a sample "myCMS" application with different article types, users, and interactions.
3) Showing how to model comments in different ways like embedding, referencing, or using a hybrid approach.
4) Demonstrating how to build a RESTful API and Python/Flask code to interact with MongoDB documents.
EMF-REST: Generation of RESTful APIs from ModelsHamza ED-DOUIBI
The document describes EMF-REST, a tool that generates RESTful APIs from Eclipse Modeling Framework (EMF) models. EMF-REST maps EMF models to REST architectural constraints like addressable resources, representation-oriented formats (JSON, XML), and a uniform interface. It generates a REST API that provides access to EMF data models and supports features like validation and security. The document outlines EMF-REST's approach, features, benefits, architecture, and generation process. It also provides an example of generating a REST API from an IFML model of a movie manager form.
Developing modular, polyglot applications with Spring (SpringOne India 2012)Chris Richardson
This document discusses developing modular, polyglot applications using Spring. It describes how to refactor a monolithic application into modular microservices along functional boundaries (Y-axis scaling). This improves scalability, enables independent development and deployment of each service, and allows adopting different technologies for each service. Spring is well-suited for building these types of applications since it supports a variety of languages and frameworks and its programming model aligns well with developing microservices.
The document appears to be a presentation discussing various topics related to business models and monetization strategies for APIs and other digital products and services. It includes photos from Flickr under Creative Commons licenses and covers driving traffic, accelerating development, gaining new users, supporting new devices, partnerships, free versus paid models, affiliates, and shared revenue models. Dates from 1991 to 2013 are mentioned in relation to important changes.
How our product, the HERE Places RESTful API, ripened over time and how our understanding of quality changed over time.
As every distinguished wine is the result of a long refining and ripening process, every software product is subject to a similar evolution, too. Of course along the journey of a product, the understanding of “Quality” is subject to major changes as well.
Lets join the 3-year journey of a software product through its various stages, from planning, seeding to its first wine tasting (that is, the beta offer), to selling the first bottles (that is, the service is used by other internal products), finally to its market readiness (that is, becoming a commercial B2B offer with SLAs).
The product under test is the Places RESTful API (places.demo.api.here.com), which delivers data for Places that are shown in various products, for instance for Nokia’s HERE.com maps.
We concentrate on three different aspects and how they change over time:
* the understanding of what quality means,
* the test strategy, and last but not least
* how to deal with the intrinsic complexity.
We are going to explore the post production deployment part of our process: How we ensure the high availability of this complex service, as well as which test techniques, feedback mechanisms and in particular which visualizations (monitoring 2.0) we leverage for this purpose.
Presented a the Agile Testing Days 2013.
This presentation describes the technological trends developed to help charities and fund raising organizations overcome the current challenges. The presentation also describes how LINKDev charity solution introduces a competitive advantage to charities by helping them stay current with technological advances
The document discusses the value of a student agenda that focuses on marketing, networking, and education. The agenda promotes networking opportunities for students to build relationships with companies, visit different industries, and connect with people from other cultures. It also provides educational benefits like a global business perspective, an in-depth look at emerging economies, and connections between students and alumni that can lead to job opportunities.
Sales Hacker Conference San Francisco - Jason Lemkin - The 10 Key Revenue Mis...Sales Hacker
The 10 Key Revenue Mistakes I Made Getting to $100 Million Arr by Jason Lemkin
Sales Hacker Conference San Francisco - November 6, 2014
Visit SalesHacker.com for more sales hacks, tips, and tactics.
A RESTful API for Controlling Dynamic Streaming TopologiesMasiar Babazadeh
This document proposes a RESTful API for controlling dynamic streaming topologies. The API allows for discovering peers, creating and managing topologies of connected operators on those peers, and handling operators, workers, and bindings between operators. The API uses HTTP methods like GET, POST, PUT, PATCH and DELETE to retrieve and modify representations of topology resources and their components in JSON and XML formats. This supports tasks like load balancing, fault tolerance, and reconfiguring operators in response to peer overloading or failures.
APIs have become ubiquitous and they have profoundly changed the way we connect to the world. They have opened the doors to enterprise back-end infrastructure and made it possible for developers to build innovative mobile applications. But this IT revolution comes with its share of challenges. “If we build it they will come” is no longer an effective API launch strategy. AnyPresence and WIP Factory are joining forces to share valuable best practices on improving API adoption.
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?cyrilpicat
Session jouée au Salon Swiss IT Business le 22 avril 2015
Digitalisation, Big Data, data-driven company : trois buzz words omniprésents dans les stratégies informatiques aujourd'hui, et qui semblent intimement liés. Alors, qu'est qu'une "data driven company" ? Est-ce une entreprise poussant à l'extrême l'utilisation de Big Data afin de se digitaliser ?
Pas seulement... une "data driven company" est une entreprise qui cherche continuellement à améliorer l’ensemble des processus de l’entreprise par l’utilisation qualitative et quantitative de données, tout le temps, partout et sur tout.
Ce sujet nous touche dans notre quotidien, que ce soit au niveau technologique, des processus, de l'organisation, et surtout de la culture, et a des conséquences qui transforment tous les métiers.
Cette session reviendra sur les éléments structurants qui distinguent une data-driven company et détaillera en quoi cette culture peut être un accélérateur de votre stratégie de transformation digitale.
- Canadians spent less time on desktop internet and more on mobile platforms in 2013 compared to 2012. Engagement shifted from PC to mobile as half of internet users are now under 35.
- Smartphones reached 3 out of 4 mobile users in Canada, with ownership skewing younger and higher income. Android grew its share of the smartphone market while 4G connectivity increased dramatically.
- Canadians watched more online video across categories, spending more time and reaching more of the population than Americans. Mobile video, including live TV, increased significantly year-over-year.
Education and Training for The Future WorkforceWISE
Are graduates happy with their career options? What skill do they need to be better prepared for future jobs? Is the future of degrees only in the hand of universities?
The internet will not scale to support >7Bn people and >50Bn things on line, but Clouds and Networks Without Infrastructure will, and they are neither singular nor static. Clouds are entirely dynamic and multi-modal with; public, private, personal, open, closed, government and commercial clouds that are fixed, mobile, long and short lived, permanent and transitory. In addition the new degrees of freedom that Clouds afford makes them inherently more secure and resilient than any network medium we have created before. But, not all clouds are equal, and neither is all data!
The era of IT Departments providing centralised networking and security is drawing to a rapid close in the same way that sitting in front of a PC in an office all day is becoming unworkable. So, it is time to rethink what has to change in order to adapt to rapidly growing BYOD (Bring Your Own Device) and BMOB (Be My Own Boss) cultures. At the same time, ecological, social, commercial and technology demands are pushing toward more and smaller devices, the tagging and tracking of everything, whilst using less material and energy. This all demands more wireless and new modes of networking demanding more optical fibre especially in the last mile where Point to Point systems will replace the outmoded BPON and GPON technologies of the past. In this symmetric wide bandwidth future there is no place or part to plat by the old copper local loop technologies, and the mobile operators @ 3,4,5G will be further relegated to transporting < 1% of the total traffic of the future connected world. New species of WiFi and BlueTooth will emerge to dominate mobile connectivity and transport with the short range hops to a vastly increased number of fibre fed hot spots in room, on floor, in building, and on campus.
HCLT Whitepaper: Multi- Tenancy on Private CloudHCL Technologies
http://www.hcltech.com/engineering-rd-services/overview~ More on Engineering and R&D
Advances in cloud computing technology and changes in business models create major paradigm shifts in the way software applications are designed, built, and delivered to end users. The concept of multi-tenancy is one of the key and direct derivatives of cloud computing. Multi-tenancy is an architectural model that optimizes resource sharing. The applications will be deployed and delivered from a shared environment while providing sufficient levels of isolation to the tenants and Quality of Service (QoS) throughout the environment. Like any other paradigm shift, a cloud-based delivery (SaaS) model also comes with a new set of technical challenges.
This paper provides a technical overview on how to convert an application traditionally hosted on-premise to a multi-tenant environment and deliver through an SaaS model. This paper also covers the challenges and benefits of moving this to a cloud infrastructure.
Excerpts from the Paper
The advent of cloud computing boosted a new business model for delivering software, which is generally termed SaaS (Software as a Service). ISVs started realizing the necessity of transforming their traditional on-premise products to the new ―cloud business model. Multi-tenancy is the fundamental design approach that essentially improves the acceptability of SaaS applications. The idea of multi-tenancy, or many tenants sharing resources, is fundamental to cloud computing. Isolation and service assurance are the key elements to be addressed. Isolation ensures that the resources of existing tenants remain untouched, and the integrity of the applications, workloads, and data remain uncompromised when the service provider provisions new tenants. Each tenant may have access to different amounts of network, computing, and storage resources in the shared virtual environment. Tenants see only those resources allocated to them.
Structure 2014 - The future of cloud computing survey resultsGigaom
Presentation from Gigaom's Structure 2014 conference, June 21-22 in San Francisco
The future of cloud computing survey results
#gigaomlive
More at http://events.gigaom.com/structure-2014/
This report analyzes the air conditioner market in China, including the size of the market, major players, imports and exports, and regional hot spots. It finds that China's air conditioner market has grown significantly in recent years. The top 10 companies in the industry are profiled, with Midea Group and Gree Electric among the largest. Foreign enterprises have an increasing but still minority share of the market. Regional markets in eastern coastal areas have the highest concentration and production volumes.
Lavoro primo classificato al contest "Bassano nel Cuore".
Il presente progetto è frutto di un’ idea basata su uno dei posti più suggestivi e storici di Bassano del Grappa: Il ponte degli Alpini. Il Logotipo è ispirato quindi ad una visione prospettica del Ponte, il quale simbolizza e racchiude la storia, la cultura e l’arte di Bassano.
I quattro pilastri si prestano egregiamente al tipo di realizzazione grafica e sistema di segnaletica pensato in partenza e i quattro colori corporativi sono desunti da una elaborazione del giallo e del rosso ovvero i colori dello stemma di Bassano del Grappa. La decisione quindi di riflettere i luoghi e le attività nei quattro colori elaborati, utilizzando un sistema iconografico realizzato per identificare gli stessi.
Manthan Legal's Intelligence driven Contracts Lifecycle ManagementPiyush T
This document introduces iCLM (Intelligence driven Contracts Lifecycle Management) and its key components Entergence and Encobi. Entergence is a contract authoring software that leverages precedent intelligence to assist in drafting standard and negotiated contracts. It features tree-based drafting and wizard modules. Encobi is a contracts intelligence platform that provides a centralized contracts repository, single views of counterparties, automated alerts, a dynamic reporting engine, and collaboration tools. Together, Entergence and Encobi integrate intelligence across the entire contracts lifecycle from drafting to ongoing management.
Integrated Customer Service Maximization Experience Vision DemonstratorMicrosoft
This document describes an integrated customer experience scenario across multiple entities. It begins with a customer, Marissa, noticing an issue with her vehicle. Predictive analytics and her car's app notify her of the needed repair and schedule an appointment. At the dealership, technicians efficiently perform the repair using mobile tools. Marissa enjoys her loaner vehicle's tour feature. Follow-up marketing from the manufacturer increases her interest in upgrading.
The document outlines a process for developing a social media strategy including auditing current efforts, strategizing content, channels and metrics, creating and sharing content, measuring results, and repeating the cycle. The strategy recommends selecting target audiences, content types, channels and conversation structures and establishing metrics and an editorial calendar to guide social media efforts.
KaTe RESTful adapter for SAP Process Integration: IntroductionKate_RESTful
Introduction and sample walktrough of the KaTe RESTful adapter for SAP Process Integration
http://kate-group.de/sap-beratung-services-projektmanagment/sap-rest-adapter/
RFC 7540 was ratified over 2 years ago and, today, all major browsers, servers, and CDNs support the next generation of HTTP. Just over a year ago, at Velocity (https://www.slideshare.net/Fastly/http2-what-no-one-is-telling-you), we discussed the protocol, looked at some real world implications of its deployment and use, and what realistic expectations we should have from its use.
Now that adoption is ramped up and the protocol is being regularly used on the Internet, it's a good time to revisit the protocol and its deployment. Has it evolved? Have we learned anything? Are all the features providing the benefits we were expecting? What's next?
In this session, we'll review protocol basics and try to answer some of these questions based on real-world use of it. We'll dig into the core features like interaction with TCP, server push, priorities and dependencies, and HPACK. We'll look at these features through the lens of experience and see if good practice patterns have emerged. We'll also review available tools and discuss what protocol enhancements are in the near and not-so-near horizon.
Operational API design anti-patterns (Jason Harmon)Nordic APIs
This is a session given by Jason Harmon at Nordic APIs 2016 Platform Summit on October 26th, in Stockholm Sweden.
Description:
Normally, we find valuable data our clients need, and create APIs. We rationalize our domains into understandable resources, with clear boundaries of ownership (especially in microservice environments). However, if our design doesn’t include considerations for how clients will use the APIs, we can get into a lot of trouble when it goes live. We’ll look at some API design patterns that can cause operational headaches, and how to watch out for them. Furthermore, we’ll cover some tricks to get out of trouble if we already have it implemented.
The document discusses the value of a student agenda that focuses on marketing, networking, and education. The agenda promotes networking opportunities for students to build relationships with companies, visit different industries, and connect with people from other cultures. It also provides educational benefits like a global business perspective, an in-depth look at emerging economies, and connections between students and alumni that can lead to job opportunities.
Sales Hacker Conference San Francisco - Jason Lemkin - The 10 Key Revenue Mis...Sales Hacker
The 10 Key Revenue Mistakes I Made Getting to $100 Million Arr by Jason Lemkin
Sales Hacker Conference San Francisco - November 6, 2014
Visit SalesHacker.com for more sales hacks, tips, and tactics.
A RESTful API for Controlling Dynamic Streaming TopologiesMasiar Babazadeh
This document proposes a RESTful API for controlling dynamic streaming topologies. The API allows for discovering peers, creating and managing topologies of connected operators on those peers, and handling operators, workers, and bindings between operators. The API uses HTTP methods like GET, POST, PUT, PATCH and DELETE to retrieve and modify representations of topology resources and their components in JSON and XML formats. This supports tasks like load balancing, fault tolerance, and reconfiguring operators in response to peer overloading or failures.
APIs have become ubiquitous and they have profoundly changed the way we connect to the world. They have opened the doors to enterprise back-end infrastructure and made it possible for developers to build innovative mobile applications. But this IT revolution comes with its share of challenges. “If we build it they will come” is no longer an effective API launch strategy. AnyPresence and WIP Factory are joining forces to share valuable best practices on improving API adoption.
SITB15 - Qu'est qu'une Data Driven Company à l'heure de la digitalisation ?cyrilpicat
Session jouée au Salon Swiss IT Business le 22 avril 2015
Digitalisation, Big Data, data-driven company : trois buzz words omniprésents dans les stratégies informatiques aujourd'hui, et qui semblent intimement liés. Alors, qu'est qu'une "data driven company" ? Est-ce une entreprise poussant à l'extrême l'utilisation de Big Data afin de se digitaliser ?
Pas seulement... une "data driven company" est une entreprise qui cherche continuellement à améliorer l’ensemble des processus de l’entreprise par l’utilisation qualitative et quantitative de données, tout le temps, partout et sur tout.
Ce sujet nous touche dans notre quotidien, que ce soit au niveau technologique, des processus, de l'organisation, et surtout de la culture, et a des conséquences qui transforment tous les métiers.
Cette session reviendra sur les éléments structurants qui distinguent une data-driven company et détaillera en quoi cette culture peut être un accélérateur de votre stratégie de transformation digitale.
- Canadians spent less time on desktop internet and more on mobile platforms in 2013 compared to 2012. Engagement shifted from PC to mobile as half of internet users are now under 35.
- Smartphones reached 3 out of 4 mobile users in Canada, with ownership skewing younger and higher income. Android grew its share of the smartphone market while 4G connectivity increased dramatically.
- Canadians watched more online video across categories, spending more time and reaching more of the population than Americans. Mobile video, including live TV, increased significantly year-over-year.
Education and Training for The Future WorkforceWISE
Are graduates happy with their career options? What skill do they need to be better prepared for future jobs? Is the future of degrees only in the hand of universities?
The internet will not scale to support >7Bn people and >50Bn things on line, but Clouds and Networks Without Infrastructure will, and they are neither singular nor static. Clouds are entirely dynamic and multi-modal with; public, private, personal, open, closed, government and commercial clouds that are fixed, mobile, long and short lived, permanent and transitory. In addition the new degrees of freedom that Clouds afford makes them inherently more secure and resilient than any network medium we have created before. But, not all clouds are equal, and neither is all data!
The era of IT Departments providing centralised networking and security is drawing to a rapid close in the same way that sitting in front of a PC in an office all day is becoming unworkable. So, it is time to rethink what has to change in order to adapt to rapidly growing BYOD (Bring Your Own Device) and BMOB (Be My Own Boss) cultures. At the same time, ecological, social, commercial and technology demands are pushing toward more and smaller devices, the tagging and tracking of everything, whilst using less material and energy. This all demands more wireless and new modes of networking demanding more optical fibre especially in the last mile where Point to Point systems will replace the outmoded BPON and GPON technologies of the past. In this symmetric wide bandwidth future there is no place or part to plat by the old copper local loop technologies, and the mobile operators @ 3,4,5G will be further relegated to transporting < 1% of the total traffic of the future connected world. New species of WiFi and BlueTooth will emerge to dominate mobile connectivity and transport with the short range hops to a vastly increased number of fibre fed hot spots in room, on floor, in building, and on campus.
HCLT Whitepaper: Multi- Tenancy on Private CloudHCL Technologies
http://www.hcltech.com/engineering-rd-services/overview~ More on Engineering and R&D
Advances in cloud computing technology and changes in business models create major paradigm shifts in the way software applications are designed, built, and delivered to end users. The concept of multi-tenancy is one of the key and direct derivatives of cloud computing. Multi-tenancy is an architectural model that optimizes resource sharing. The applications will be deployed and delivered from a shared environment while providing sufficient levels of isolation to the tenants and Quality of Service (QoS) throughout the environment. Like any other paradigm shift, a cloud-based delivery (SaaS) model also comes with a new set of technical challenges.
This paper provides a technical overview on how to convert an application traditionally hosted on-premise to a multi-tenant environment and deliver through an SaaS model. This paper also covers the challenges and benefits of moving this to a cloud infrastructure.
Excerpts from the Paper
The advent of cloud computing boosted a new business model for delivering software, which is generally termed SaaS (Software as a Service). ISVs started realizing the necessity of transforming their traditional on-premise products to the new ―cloud business model. Multi-tenancy is the fundamental design approach that essentially improves the acceptability of SaaS applications. The idea of multi-tenancy, or many tenants sharing resources, is fundamental to cloud computing. Isolation and service assurance are the key elements to be addressed. Isolation ensures that the resources of existing tenants remain untouched, and the integrity of the applications, workloads, and data remain uncompromised when the service provider provisions new tenants. Each tenant may have access to different amounts of network, computing, and storage resources in the shared virtual environment. Tenants see only those resources allocated to them.
Structure 2014 - The future of cloud computing survey resultsGigaom
Presentation from Gigaom's Structure 2014 conference, June 21-22 in San Francisco
The future of cloud computing survey results
#gigaomlive
More at http://events.gigaom.com/structure-2014/
This report analyzes the air conditioner market in China, including the size of the market, major players, imports and exports, and regional hot spots. It finds that China's air conditioner market has grown significantly in recent years. The top 10 companies in the industry are profiled, with Midea Group and Gree Electric among the largest. Foreign enterprises have an increasing but still minority share of the market. Regional markets in eastern coastal areas have the highest concentration and production volumes.
Lavoro primo classificato al contest "Bassano nel Cuore".
Il presente progetto è frutto di un’ idea basata su uno dei posti più suggestivi e storici di Bassano del Grappa: Il ponte degli Alpini. Il Logotipo è ispirato quindi ad una visione prospettica del Ponte, il quale simbolizza e racchiude la storia, la cultura e l’arte di Bassano.
I quattro pilastri si prestano egregiamente al tipo di realizzazione grafica e sistema di segnaletica pensato in partenza e i quattro colori corporativi sono desunti da una elaborazione del giallo e del rosso ovvero i colori dello stemma di Bassano del Grappa. La decisione quindi di riflettere i luoghi e le attività nei quattro colori elaborati, utilizzando un sistema iconografico realizzato per identificare gli stessi.
Manthan Legal's Intelligence driven Contracts Lifecycle ManagementPiyush T
This document introduces iCLM (Intelligence driven Contracts Lifecycle Management) and its key components Entergence and Encobi. Entergence is a contract authoring software that leverages precedent intelligence to assist in drafting standard and negotiated contracts. It features tree-based drafting and wizard modules. Encobi is a contracts intelligence platform that provides a centralized contracts repository, single views of counterparties, automated alerts, a dynamic reporting engine, and collaboration tools. Together, Entergence and Encobi integrate intelligence across the entire contracts lifecycle from drafting to ongoing management.
Integrated Customer Service Maximization Experience Vision DemonstratorMicrosoft
This document describes an integrated customer experience scenario across multiple entities. It begins with a customer, Marissa, noticing an issue with her vehicle. Predictive analytics and her car's app notify her of the needed repair and schedule an appointment. At the dealership, technicians efficiently perform the repair using mobile tools. Marissa enjoys her loaner vehicle's tour feature. Follow-up marketing from the manufacturer increases her interest in upgrading.
The document outlines a process for developing a social media strategy including auditing current efforts, strategizing content, channels and metrics, creating and sharing content, measuring results, and repeating the cycle. The strategy recommends selecting target audiences, content types, channels and conversation structures and establishing metrics and an editorial calendar to guide social media efforts.
KaTe RESTful adapter for SAP Process Integration: IntroductionKate_RESTful
Introduction and sample walktrough of the KaTe RESTful adapter for SAP Process Integration
http://kate-group.de/sap-beratung-services-projektmanagment/sap-rest-adapter/
RFC 7540 was ratified over 2 years ago and, today, all major browsers, servers, and CDNs support the next generation of HTTP. Just over a year ago, at Velocity (https://www.slideshare.net/Fastly/http2-what-no-one-is-telling-you), we discussed the protocol, looked at some real world implications of its deployment and use, and what realistic expectations we should have from its use.
Now that adoption is ramped up and the protocol is being regularly used on the Internet, it's a good time to revisit the protocol and its deployment. Has it evolved? Have we learned anything? Are all the features providing the benefits we were expecting? What's next?
In this session, we'll review protocol basics and try to answer some of these questions based on real-world use of it. We'll dig into the core features like interaction with TCP, server push, priorities and dependencies, and HPACK. We'll look at these features through the lens of experience and see if good practice patterns have emerged. We'll also review available tools and discuss what protocol enhancements are in the near and not-so-near horizon.
Operational API design anti-patterns (Jason Harmon)Nordic APIs
This is a session given by Jason Harmon at Nordic APIs 2016 Platform Summit on October 26th, in Stockholm Sweden.
Description:
Normally, we find valuable data our clients need, and create APIs. We rationalize our domains into understandable resources, with clear boundaries of ownership (especially in microservice environments). However, if our design doesn’t include considerations for how clients will use the APIs, we can get into a lot of trouble when it goes live. We’ll look at some API design patterns that can cause operational headaches, and how to watch out for them. Furthermore, we’ll cover some tricks to get out of trouble if we already have it implemented.
The document discusses composing RESTful web services using business process modeling languages. It proposes extending BPEL to include RESTful primitives like GET, POST, PUT, DELETE to allow composing REST APIs. Another approach presented is to model workflows as resources that can be manipulated via REST. The document concludes that business process languages should support composing both RESTful and WS-* services to improve service-oriented architecture and workflow flexibility.
Presentation given at the International PHP conference in Mainz, October 2012, dealing with a bit of history about the HTTP protocol, SPDY and the future (HTTP/2.0).
The document is a presentation on designing RESTful Rails applications. It discusses what REST is, how to implement REST in Rails by taking advantage of the framework's routing and resource conventions. It provides examples of how to build RESTful controllers to perform CRUD operations and link between resources. The presentation aims to convince the audience of the benefits of REST and provide practical advice on its implementation in Rails applications.
GNU Parallel: Lab meeting—technical talkHoffman Lab
The document summarizes an upcoming lab meeting technical talk on GNU Parallel, a shell tool for executing jobs in parallel. The talk will cover why GNU Parallel is useful, basic examples and syntax from its tutorial, additional advanced syntax for various tasks, recently added features since 2020, and more examples from the tutorial and the speaker's own use of GNU Parallel.
WordPress REST API v2: Overview & ExploringNick Pelton
This document provides an overview of the WordPress REST API version 2, which introduces a RESTful JSON API for WordPress. It allows accessing and building WordPress sites and applications from anywhere by using WordPress only for content/data and building custom apps. Key features highlighted include performance improvements through standard HTTP loads, enabling client-side apps, and better migration options. Examples are provided of using REST verbs and resources, JSON structure, and making API calls from JavaScript using jQuery.
This presentation provides an introduction to RESTful service design patterns by starting at the HTTP basics, then looking at good designs and finally covering good and bad practices.
Similar to ECSA'15 - Modeling REST-ful conversations (10)
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
Transform Your Communication with Cloud-Based IVR SolutionsTheSMSPoint
Discover the power of Cloud-Based IVR Solutions to streamline communication processes. Embrace scalability and cost-efficiency while enhancing customer experiences with features like automated call routing and voice recognition. Accessible from anywhere, these solutions integrate seamlessly with existing systems, providing real-time analytics for continuous improvement. Revolutionize your communication strategy today with Cloud-Based IVR Solutions. Learn more at: https://thesmspoint.com/channel/cloud-telephony
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
1. Modeling RESTful Conversations
with Extended
BPMN Choreography Diagrams
Cesare Pautasso, Ana Ivanchikj
University of Lugano (USI)
Switzerland
Silvia Schreier
innoQ Deutschland GmbH
Germany
European Conference on Software Architecture
Cavtat, September 7-11
ECSA 2015
2. ana.ivanchikj@usi.ch
RESTful conversation
REST BPMN Choreography Extended BPMN Choreography Example Model Abstractions and Simplifications Future work
ana.ivanchikj@usi.ch
2
Resource
URI
Resource
URI
Resource
URI
PUTURI
reference create
Link Relationships (Hypermedia)
3. ana.ivanchikj@usi.ch
RESTful conversation
REST BPMN Choreography Extended BPMN Choreography Example Model Abstractions and Simplifications Future work
ana.ivanchikj@usi.ch
3
Resource
URI
Resource
URI
Resource
URI
PUTURI
reference create
Link Relationships (Hypermedia)
201Created
6. ana.ivanchikj@usi.ch
6
GET /resource 1 HTTP/1.1
HTTP/1.1 303 See Other
Location: /resource2
GET /resource2 HTTP/1.1
HTTP/1.1 200 OK
REST API dynamics
UML Sequence diagram BPMN Choreography diagram
REST BPMN Choreography Extended BPMN Choreography Example Model Abstractions and Simplifications Future work
- Redirect -
28. ana.ivanchikj@usi.ch
Abstraction – Server Error Response
28REST BPMN Choreography Extended BPMN Choreography Example Model Abstractions and Simplifications Future work
30. ana.ivanchikj@usi.ch
Simplification – End events
30REST BPMN Choreography Extended BPMN Choreography Example Model Abstractions and Simplifications Future work
Good afternoon everyone. I am Ana Ivanchikj and I am here to present the paper “Modeling RESTful Converseations with Extended BPMN Choreography Diagrams” written by Professor Cesare Pautasso and myself from the University of Lugano and in cooperation with Ms. Silvia Schreier from innoQ Germany.
Very often the services offered by REST APIs require multiple request-response cycles between the client and the server thus becoming a RESTful conversation. The general topic discussed are resources hosted by the server and identified with unique uniform resource identifiers, but than the client decides which methods to call on such resources and the server decides what response to provide depending on the state of the resource. So for example when a client is looking up a resource URI the server can provide a reference link to another resource thus redirecting the client request. When retrieving the representation of the related resource the client can get the necessary links with the relation to create a new resource and finally make a request to create such resource. Thus RESTful conversations are dynamically driven by hypermedia and can take different directions.
Very often the services offered by REST APIs require multiple request-response cycles between the client and the server thus becoming a RESTful conversation. The general topic discussed are resources hosted by the server and identified with unique uniform resource identifiers, but than the client decides which methods to call on such resources and the server decides what response to provide depending on the state of the resource. So for example when a client is looking up a resource URI the server can provide a reference link to another resource thus redirecting the client request. When retrieving the representation of the related resource the client can get the necessary links with the relation to create a new resource and finally make a request to create such resource. Thus RESTful conversations are dynamically driven by hypermedia and can take different directions.
Existing REST API documentation tools such as RAML or
Swagger refer to the static structure and expose low-level HTTP details which describe each available resource, the methods that can be called on the same, the representation format (such as JSON or XML) etc.
However a RESTful conversation is not static, thus these tools do not support hypermedia links nor a concise visual representation of the dynamics of a particular conversation, i.e., all the interactions necessary to reach client’s final goal, a sort of a map to help clients explore the REST API. In a simple sequential conversation such as a redirect the order of the interaction is evident even from a simple table. Or we can use a UML Sequence diagram to present the dynamics where the client requests the first resource, gets a link to another resource as a response and uses it to send the second request. However it becomes messy to include details about the request verbs, headers, status codes etc. in a sequence diagram. Especially in conversations which are much more complex than a redirect and include multiple loops or end events, such as when traversing a collection of resources or in a long-running request as we will see later on. So we had the idea of using a standard BPMN Choreography, since after all its purpose is defining the order in which the exchange of messages occurs between different participants in business processes. Who is familiar with BPMN Choreography diagrams?
It is a simple concept. The initiation of the conversation is marked with a start event. The main element is the BPMN activity comprised of an optional incoming/outgoing message with a text annotation to depict the message content and a three band choreography task containing the names of the conversation participants. Gateways are used to determine the path of the conversation, i.e., an exclusive gateway when the participants need to follow exactly one path, an inclusive gateway when the participants can choose to follow one or more paths, a parallel gateway when the participants need to follow all diverging paths. The end event is used to mark when the conversation is finished. However since the original domain of BPMN Choreography diagrams are business conversations between multiple business parties, the notation becomes cumbersome when describing RESTful conversations and the mandatory request -> response relationship is not that evident.
Thus we propose certain extensions to the standard BPMN choreography diagram to make it REST specific.
The main extension we propose is replacing the BPMN activity with a more compact two band request/response element with embedded message content. Since the participants in all RESTful interactions are always the client and the server we do not need to explicitly name them. This way the focus is on the content of the exchanged messages. We assume that there is always one client and one server in the conversation. Since in a RESTful interaction a request is always followed by a response, the request / response bends always go together,
except when there is a path divergence due to different possible responses from the server to a given client’s request. In this case the request response bends are separated by an exclusive gateway to show the alternative responses that can be sent by the server.
We propose changing the standard horizontal flow of the BPMN Choreography diagram with a vertical flow and adding a hyperlink flow element. This element indicates how URIs are discovered from hyperlinks embedded in the preceding response. The purpose is to clarify how clients discover and navigate among related resources.
We propose using the timer event to model situations where the server takes too long to respond and thus the client decides to resend the request.
In the next slides I will show a concrete example of a RESTful conversation regarding long-running requests modeled using the visual notation I have just presented. An example REST API using this conversation is Amazon Glacier’s API for long-term storage of infrequently used data. Retrieving such data can take between 3 and 5 hours.
To avoid having the client waiting and experiencing network timeouts separate resources can be created for the job and the job output. The ideal path in this RESTful conversation would be the following:
The conversation starts with a request which results with creating the job resource. Once the job has been created the client may poll the job resource to GET its current progress. If the job has not been completed yet, the client will get a 200 OK status and poll the status again later on. If the job has been completed the client gets redirected to another resource representing the output. Now that the client has the URI link to the job output it can request to read it.
So this is the happy path. However as it often happens in life, the actual path is rarely the ideal happy path. The actual conversation can be much more complex.
For instance the client might be impatient, and if the server does not reply soon enough it might resend the creation request until it gets the expected server response.
Or the client might decide to read the output multiple times.
Or to delete the output after reading it….
or even before reading it.
The conversation gets even longer if the client decides to do a clean up, i.e. delete the job resource as well. Or if we are dealing with a hesitant client
it might decide to delete the job resource even before the output resource is created. Maybe because the body of its POST request was wrong.
And this is as complicated as a long-running request can get. So as we can see with the proposed notation we can represent efficiently
a very short happy path with no loops where the client immediately gets the job output and reads it,
OR
a very long unhappy path with multiple loops for creating the job or polling for its output and than doing the clean up.
This shows the expressiveness of the proposed notation. It is enough to follow the arrows to discover all of the possible directions one conversation can take.
Here is the same RESTful conversation modeled using the standard BPMN Choreography diagram. As we can see it is much more verbose, less concise and it looses the focus on the message content which is extremely important in REST APIs. So this diagram
And this diagram actually model the same Long-running request conversation.
As in every high-level conceptual modeling activity, if we do not introduce some simplifications and abstractions to the real model we might end up not seeing the forest for the trees. An example of a generic, not simplified RESTful conversation model could look like this.
According to the HTTP protocol, it is always possible for an error to occur on the server, thus there is no need to show it explicitly.
The client may choose to resend a request at any time if the server takes too long to respond. However we propose only modeling situations where the client decides to resend a non-idempotent request, such as POST. In this case resending the request twice might result with creating two resources when the goal was creating just one. Thus it is import to model how such situations are dealt with in a given REST API. We abstract from modeling the resending of idempotent requests.
Due to the statelessness principle in REST, each client request is independent form the next request thus the client can decide at any time to stop sending requests. We propose simplifying the model by only modeling an end event after a response which completes in some way the initial goal of the client, and leaving out the other end events.
And the last simplification refers to the hyperlinks. A client can make a request using any hyperlink it has discovered in the past. However to avoid too many lines or inevitable line crossings in more complex examples we propose just modeling the hyperlink from the last response that had disclosed it.
After applying all of the proposed abstractions and simplifications regarding the server errors, resending of requests, unnecessary end events and hyperlinks, here is what the starting model would look like. As you can see it is much more concise and more readable, without loosing any important details.
As future work we plan to conduct a survey among both designers of RESTful APIs and developers of client applications consuming them, to validate the understandability and ease of use of the proposed notation.
We have also already started collecting and naming frequently used RESTful conversation patterns. We intend to explore how to compose together individual reusable patterns to simplify the modeling of larger conversations.
Please contribute to our research by filling in the survey on the provided link. Or contact us if you have any patterns you would like to share with us or for any questions or suggestions you might have.
To summarize, I have presented you our proposed notation for visual representation of the dynamics of a RESTful conversation, followed by a real world example of a model of the long-running request conversation and the simplifications used by the same.
Thank you for your attention. Questions?