OpenAPI es un estándar emergente para crear, administrar y consumir API REST. Conocido anteriormente como Swagger, en el último año ha sido adoptado por la Linux Foundation y obtuvo el apoyo de compañías como Google, Microsoft, IBM, Paypal, etc. para convertirse en un estándar de facto para las API.
En esta charla, contaremos con Pedro J. Molina (@pmolinam) como ponente, y veremos 3 casos de usos para aplicar OpenAPI para mejorar y acelerar nuestros desarrollos para crear APIs compatibles con OpenAPI:
- Legacy APIs,
- Contract first y,
- Server driven
Enforcing API Design Rules for High Quality Code GenerationTim Burks
[Co-presented with Mike Kistler, Architect for SDK Generation for the Watson Client Libraries]
The OpenAPI Specification is emerging as the leading standard for describing REST APIs. A key factor in the popularity of OpenAPI is the broad array of open source tools that it enables that create, manipulate, and publish documentation and code from OpenAPI descriptions. In this talk, we describe a configurable and extensible open source linter for OpenAPI that we are using to solve API code generation problems at IBM and Google. Our linter is based on Gnostic, an open source framework for working with API descriptions that was developed at Google and is available on GitHub.
OpenAPI itself is language-agnostic and is being used to generate code in a large set of popular programming languages. This generated code includes both server-side "stubs" and client libraries that are sometimes called software development kits (SDKs). IBM has begun to employ code generation for the Watson Developer Cloud SDKs and other companies are doing similar things, including Google, which generates client libraries from Google-specific API description formats. These teams have found that the quality of SDKs generated from API descriptions depends heavily on the quality of the descriptions. This goes far beyond mere syntactic compliance with a specification -- it involves proper API design, naming, and adherence to organization-wide design patterns. To address this, many companies have created API design guides. Some companies, such as Google and Microsoft, have published their API design guides externally, while others like IBM have kept theirs as internal documents. But to this point, verifying compliance with an API design guide has largely been a manual task. What is needed, we believe, is a configurable and extensible linter to check OpenAPI descriptions for conformance with rules derived from API design guides.
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsJorge Ferrer
Liferay is an open source platform started in 2000, long before the term “Web API” existed. One early characteristic of Liferay has been its great extensibility, which included providing a featureful HTTP API to access its functionalities since the very beginning. Initially this API used SOAP (as well as other less used protocols). Later a new “RESTful” option was added, leveraging HTTP+JSON and it became much more popular (even though it was at Level 0 in Richardson Maturity Model). However, both approaches lead users of the API to have a high coupling that makes the evolution of the APIs a challenging task. So we started wondering, isn’t there a better way to build APIs in 2017?
This session explains our search to find a better alternative and what we learned along the way.
It focuses on how we have adopted Hypermedia and Shared Vocabularies to create a new breed of APIs that we believe form the secret ingredients that solve the most important challenge we have in the API Economy: evolvability. We are now successfully applying this type of APIs in all of our products, on premise, cloud based, … even internal.
We have found that once you know how and build some common foundation, all the barriers to build evolvable APIs disappear. We learned from many others along the way and want to contribute back by sharing our experience.
OpenAPI es un estándar emergente para crear, administrar y consumir API REST. Conocido anteriormente como Swagger, en el último año ha sido adoptado por la Linux Foundation y obtuvo el apoyo de compañías como Google, Microsoft, IBM, Paypal, etc. para convertirse en un estándar de facto para las API.
En esta charla, contaremos con Pedro J. Molina (@pmolinam) como ponente, y veremos 3 casos de usos para aplicar OpenAPI para mejorar y acelerar nuestros desarrollos para crear APIs compatibles con OpenAPI:
- Legacy APIs,
- Contract first y,
- Server driven
Enforcing API Design Rules for High Quality Code GenerationTim Burks
[Co-presented with Mike Kistler, Architect for SDK Generation for the Watson Client Libraries]
The OpenAPI Specification is emerging as the leading standard for describing REST APIs. A key factor in the popularity of OpenAPI is the broad array of open source tools that it enables that create, manipulate, and publish documentation and code from OpenAPI descriptions. In this talk, we describe a configurable and extensible open source linter for OpenAPI that we are using to solve API code generation problems at IBM and Google. Our linter is based on Gnostic, an open source framework for working with API descriptions that was developed at Google and is available on GitHub.
OpenAPI itself is language-agnostic and is being used to generate code in a large set of popular programming languages. This generated code includes both server-side "stubs" and client libraries that are sometimes called software development kits (SDKs). IBM has begun to employ code generation for the Watson Developer Cloud SDKs and other companies are doing similar things, including Google, which generates client libraries from Google-specific API description formats. These teams have found that the quality of SDKs generated from API descriptions depends heavily on the quality of the descriptions. This goes far beyond mere syntactic compliance with a specification -- it involves proper API design, naming, and adherence to organization-wide design patterns. To address this, many companies have created API design guides. Some companies, such as Google and Microsoft, have published their API design guides externally, while others like IBM have kept theirs as internal documents. But to this point, verifying compliance with an API design guide has largely been a manual task. What is needed, we believe, is a configurable and extensible linter to check OpenAPI descriptions for conformance with rules derived from API design guides.
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsJorge Ferrer
Liferay is an open source platform started in 2000, long before the term “Web API” existed. One early characteristic of Liferay has been its great extensibility, which included providing a featureful HTTP API to access its functionalities since the very beginning. Initially this API used SOAP (as well as other less used protocols). Later a new “RESTful” option was added, leveraging HTTP+JSON and it became much more popular (even though it was at Level 0 in Richardson Maturity Model). However, both approaches lead users of the API to have a high coupling that makes the evolution of the APIs a challenging task. So we started wondering, isn’t there a better way to build APIs in 2017?
This session explains our search to find a better alternative and what we learned along the way.
It focuses on how we have adopted Hypermedia and Shared Vocabularies to create a new breed of APIs that we believe form the secret ingredients that solve the most important challenge we have in the API Economy: evolvability. We are now successfully applying this type of APIs in all of our products, on premise, cloud based, … even internal.
We have found that once you know how and build some common foundation, all the barriers to build evolvable APIs disappear. We learned from many others along the way and want to contribute back by sharing our experience.
Content Strategy and Developer Engagement for DevPortalsAxway
Slides from Write the Docs Ottawa Meet Up at Shopify HQ in Canada, June 24, 2019
We’ll walk through 5 scenarios and concrete ways of reaching a developer community for frictionless and increased engagement.
Insights demonstrate that more than 1.5 billion applications and recreations are downloaded each month. Think about this, each 100-200 individuals have an inclination and an application is right away worked for that. Presently it is reasonable why the requirement for Android application advancement is expanding so quickly Android training in Nagpur enables the understudies to learn Android programming and Android application improvement.
Android is a product stage created by Google they move in the direction of making applications which can be effectively got to on handsets or cell phones, cell phones additionally are enhancing their highlights step by step to stay aware of the applications being created. Android classes in Pune train their understudies how to make new applications utilizing Android and also creating Android as a programming.
APIsecure - April 6 & 7, 2022
APIsecure is the world’s first conference dedicated to API threat management; bringing together breakers, defenders, and solutions in API security.
Securing APIs with Open Standards
Tips for makingandbreaking APIs that scale from theSynack Red Team
Ryan Rutan, Sr. Director of Community at Synack Red Team
Vitthal Shinde, Security Engineer at FICO & Synack Red Team
Analyzing APIs Documentation and Codeto Detect Directive DefectsSebastiano Panichella
Application Programming Interface (API) documents represent one of the most important references for API users. However, it is frequently reported that the documentation is inconsistent with the source code and deviates from the API itself. Such inconsistencies in the documents inevitably confuse the API users hampering considerably their API comprehension and the quality of software built from such APIs. In this paper, we propose an automated approach to detect defects of API documents by leveraging techniques from program comprehension and natural language processing. Particularly, we focus on the directives of the API documents which are related to parameter constraints and exception throwing declarations. A first-order logic based constraint solver is employed to detect such defects based on the obtained analysis results. We evaluate our approach on parts of well documented JDK 1.8 APIs. Experiment results show that, out of around 2000 API usage constraints, our approach can detect 1146 defective document directives, with a precision rate of 83.1%, and a recall rate of 81.2%, which demonstrates its practical feasibility.
This half-day tutorial introduces Protocol Buffers, gRPC, and the open source tools that Google uses to publish and support some of the world's biggest APIs. We'll show how the Protocol Buffer language allows APIs to be described, reviewed, and implemented in a programming-language independent way, how gRPC enables high-performance streaming APIs, and how \ a few simple conventions can enable related tools to serve robust REST APIs and generate production-quality client libraries in seven popular programming languages. This is API publishing the Google way, but large teams aren't required. With shared open-source tooling, even the smallest developer can build scalable, usable APIs that delight.
https://apistrat18.sched.com/event/FTR3/usable-apis-at-scale-with-protocol-buffers-and-grpc-tim-burks-andrew-gunsch-google
apidays LIVE Paris 2021 - Getting started with Event-Driven APis by Hugo Guer...apidays
apidays LIVE Paris 2021 - APIs and the Future of Software
December 7, 8 & 9, 2021
Getting started with Event-Driven APis
Hugo Guerrero, APIs & Messaging Developer Advocate at Red Hat
Intesys has been using JHipster for more than two years as the core component of its API-First enterprise backend services. We will show you how to combine the benefits of the JHipster CRUD stack along with the OpenAPI-generated endpoints, seamlessy integrating JHipster with custom single page applications, mobile apps and legacy microservices. We will also share some best practices regarding the evolution of JHipster projects used in production, how to find the extension points and how to take advantage of modules and blueprints.
Speech by Enrico Costanti @JHipster Conf' 2019, Paris
apidays LIVE Australia 2021 - OpenAPI Generator - The Babel Fish of the API W...apidays
apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021
OpenAPI Generator - The Babel Fish of the API World
Cliffano Subagio, Principal Engineer at Shine Solutions
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...apidays
apidays LIVE London 2021 - Reaching Maximum Potential in Banking & Insurance with API Mindset
October 27 & 28, 2021
The future API stack : GraphQL, gRPC and API specifications
Getting started with Event-Driven APIs
Hugo Guerrero, APIs & Messaging Developer Advocate at Red Hat
DeepPavlov is an open-source framework for the development of production-ready chat-bots and complex conversational systems, as well as NLP and dialog systems research.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2015-embedded-vision-summit-opencv
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Gary Bradski, President and CEO of the OpenCV Foundation, presents the "OpenCV Open Source Computer Vision Library: Latest Developments" tutorial at the May 2015 Embedded Vision Summit.
OpenCV is an enormously popular open source computer vision library, with over 9 million downloads. Originally used mainly for research and prototyping, in recent years OpenCV has increasingly been used in deployed products on a wide range of platforms from cloud to mobile.
The latest version, OpenCV 3.0 is currently in beta, and is a major overhaul, bringing OpenCV up to modern C++ standards and incorporating expanded support for 3D vision. The new release also introduces a modular “contrib” facility that enables independently developed modules to be quickly integrated with OpenCV as needed, providing a flexible mechanism to allow developers to experiment with new techniques before they are officially integrated into the library.
In this talk, Gary Bradski, head of the OpenCV Foundation, provides an insider’s perspective on the new version of OpenCV and how developers can utilize it to maximum advantage for vision research, prototyping, and product development.
This talk, originally given at tcworld18, shows the importance of API Design and documentation for developer experience (DX), introduces OpenAPI and then explains how a spec-driven API lifecycle can help with DX, highlighting the role of technical writers.
AI and Software consultants: friends or foes?Jordi Cabot
How can AI help software consultants (and what you need to keep in mind if we are open to that, especially when it comes to issues like hallucination, code vulnerabilities or ethical risks).
Content Strategy and Developer Engagement for DevPortalsAxway
Slides from Write the Docs Ottawa Meet Up at Shopify HQ in Canada, June 24, 2019
We’ll walk through 5 scenarios and concrete ways of reaching a developer community for frictionless and increased engagement.
Insights demonstrate that more than 1.5 billion applications and recreations are downloaded each month. Think about this, each 100-200 individuals have an inclination and an application is right away worked for that. Presently it is reasonable why the requirement for Android application advancement is expanding so quickly Android training in Nagpur enables the understudies to learn Android programming and Android application improvement.
Android is a product stage created by Google they move in the direction of making applications which can be effectively got to on handsets or cell phones, cell phones additionally are enhancing their highlights step by step to stay aware of the applications being created. Android classes in Pune train their understudies how to make new applications utilizing Android and also creating Android as a programming.
APIsecure - April 6 & 7, 2022
APIsecure is the world’s first conference dedicated to API threat management; bringing together breakers, defenders, and solutions in API security.
Securing APIs with Open Standards
Tips for makingandbreaking APIs that scale from theSynack Red Team
Ryan Rutan, Sr. Director of Community at Synack Red Team
Vitthal Shinde, Security Engineer at FICO & Synack Red Team
Analyzing APIs Documentation and Codeto Detect Directive DefectsSebastiano Panichella
Application Programming Interface (API) documents represent one of the most important references for API users. However, it is frequently reported that the documentation is inconsistent with the source code and deviates from the API itself. Such inconsistencies in the documents inevitably confuse the API users hampering considerably their API comprehension and the quality of software built from such APIs. In this paper, we propose an automated approach to detect defects of API documents by leveraging techniques from program comprehension and natural language processing. Particularly, we focus on the directives of the API documents which are related to parameter constraints and exception throwing declarations. A first-order logic based constraint solver is employed to detect such defects based on the obtained analysis results. We evaluate our approach on parts of well documented JDK 1.8 APIs. Experiment results show that, out of around 2000 API usage constraints, our approach can detect 1146 defective document directives, with a precision rate of 83.1%, and a recall rate of 81.2%, which demonstrates its practical feasibility.
This half-day tutorial introduces Protocol Buffers, gRPC, and the open source tools that Google uses to publish and support some of the world's biggest APIs. We'll show how the Protocol Buffer language allows APIs to be described, reviewed, and implemented in a programming-language independent way, how gRPC enables high-performance streaming APIs, and how \ a few simple conventions can enable related tools to serve robust REST APIs and generate production-quality client libraries in seven popular programming languages. This is API publishing the Google way, but large teams aren't required. With shared open-source tooling, even the smallest developer can build scalable, usable APIs that delight.
https://apistrat18.sched.com/event/FTR3/usable-apis-at-scale-with-protocol-buffers-and-grpc-tim-burks-andrew-gunsch-google
apidays LIVE Paris 2021 - Getting started with Event-Driven APis by Hugo Guer...apidays
apidays LIVE Paris 2021 - APIs and the Future of Software
December 7, 8 & 9, 2021
Getting started with Event-Driven APis
Hugo Guerrero, APIs & Messaging Developer Advocate at Red Hat
Intesys has been using JHipster for more than two years as the core component of its API-First enterprise backend services. We will show you how to combine the benefits of the JHipster CRUD stack along with the OpenAPI-generated endpoints, seamlessy integrating JHipster with custom single page applications, mobile apps and legacy microservices. We will also share some best practices regarding the evolution of JHipster projects used in production, how to find the extension points and how to take advantage of modules and blueprints.
Speech by Enrico Costanti @JHipster Conf' 2019, Paris
apidays LIVE Australia 2021 - OpenAPI Generator - The Babel Fish of the API W...apidays
apidays LIVE Australia 2021 - Accelerating Digital
September 15 & 16, 2021
OpenAPI Generator - The Babel Fish of the API World
Cliffano Subagio, Principal Engineer at Shine Solutions
apidays LIVE London 2021 - Getting started with Event-Driven APIs by Hugo Gue...apidays
apidays LIVE London 2021 - Reaching Maximum Potential in Banking & Insurance with API Mindset
October 27 & 28, 2021
The future API stack : GraphQL, gRPC and API specifications
Getting started with Event-Driven APIs
Hugo Guerrero, APIs & Messaging Developer Advocate at Red Hat
DeepPavlov is an open-source framework for the development of production-ready chat-bots and complex conversational systems, as well as NLP and dialog systems research.
For the full video of this presentation, please visit:
http://www.embedded-vision.com/platinum-members/embedded-vision-alliance/embedded-vision-training/videos/pages/may-2015-embedded-vision-summit-opencv
For more information about embedded vision, please visit:
http://www.embedded-vision.com
Gary Bradski, President and CEO of the OpenCV Foundation, presents the "OpenCV Open Source Computer Vision Library: Latest Developments" tutorial at the May 2015 Embedded Vision Summit.
OpenCV is an enormously popular open source computer vision library, with over 9 million downloads. Originally used mainly for research and prototyping, in recent years OpenCV has increasingly been used in deployed products on a wide range of platforms from cloud to mobile.
The latest version, OpenCV 3.0 is currently in beta, and is a major overhaul, bringing OpenCV up to modern C++ standards and incorporating expanded support for 3D vision. The new release also introduces a modular “contrib” facility that enables independently developed modules to be quickly integrated with OpenCV as needed, providing a flexible mechanism to allow developers to experiment with new techniques before they are officially integrated into the library.
In this talk, Gary Bradski, head of the OpenCV Foundation, provides an insider’s perspective on the new version of OpenCV and how developers can utilize it to maximum advantage for vision research, prototyping, and product development.
This talk, originally given at tcworld18, shows the importance of API Design and documentation for developer experience (DX), introduces OpenAPI and then explains how a spec-driven API lifecycle can help with DX, highlighting the role of technical writers.
Similar to Model-driven Round-trip Engineering of REST APIs (20)
AI and Software consultants: friends or foes?Jordi Cabot
How can AI help software consultants (and what you need to keep in mind if we are open to that, especially when it comes to issues like hallucination, code vulnerabilities or ethical risks).
There is an increasing demand for embedding intelligence in software systems as part of its core set of features both in the front-end (e.g. conversational user interfaces) and back-end (e.g. prediction services). This combination is usually referred to as AI-enhanced software or, simply, smart software.
The development of smart software poses new engineering challenges, as now we need to deal with the engineering of the “traditional” components, the engineering of the “AI” ones but also of the interaction between both types that need to co-exist and collaborate.
In this talk we'll see how modeling can help tame the complexity of engineering smart software by enabling software engineers specify and generate smart software systems starting from higher-level and platform-independent modeling primitives.
But, unavoidably, these models will be more diverse and complex than our usual ones. Don't despair, we'll also see how some of these same AI techniques that are making our modeling life challenging can be turned into allies and be transformed into modeling assistants to tackle the engineering of smart software with a new breed of smart modeling tools.
Modeling should be an independent scientific disciplineJordi Cabot
Software modeling started as a paradigm to help developers build better software faster by enabling them to specify, reason and manipulate software systems at a higher-abstraction level while ignoring irrelevant low-level technical details. But this same principle manifests in any other domain that has to deal with complex systems, software-based or not. We argue that bringing to other engineering and scientific fields, our modeling expertise is a win–win opportunity where we can all learn from each other as we all model, but in complementary ways. Nevertheless, to fully unleash the benefits of this collaboration, we must go beyond individual efforts trying to adapt single techniques from one field to another. It requires a deeper reformulation of modeling as a whole. It is time for modeling to become an independent discipline where all fields of knowledge can contribute and benefit from.
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...Jordi Cabot
No hay suficientes programadores profesionales para todo el software que necesita nuestra sociedad. Aquí propongo una serie de soluciones alternativas.
All Researchers Should Become EntrepreneursJordi Cabot
We often complain about the challenges associated with a fruitful research-industry collaboration. Wwe propose that researchers become entrepreneurs and play both roles at the same time. This could be the quickest way to get real feedback on the quality and impact of our research
The Software Challenges of Building Smart Chatbots - ICSE'21Jordi Cabot
Chatbots are popular solutions assisting humans in multiple fields, such as customer support or e-learning. However, building such applications has become a complex task requiring a high-level of expertise in a variety of technical domains. Chatbots need to integrate (AI-based) NLU components, but also connect to internal/external services, deploy on various platforms, etc.
The briefing will first cover the current landscape of chatbot frameworks. Then, we’ll get our hands dirty and create a few bots of increasing difficulty playing with aspects like entity recognition, sentiment analysis, event processing, or testing. By the end of the session, attendees will have all the keys to understand the main steps and obstacles to building a good chatbot.
Future Trends on Software and Systems ModelingJordi Cabot
Modeling is more popular than ever, even if sometimes hidden behind other names (e.g. low-code). But of course, we can always do better.
In this talk, I'll describe the main technical/social challenges modeling is facing and the key trends that could solve them. We'll even throw some AI, Machine Learning and bots in the mix to show how modeling can be also useful there and even more, benefit from them, to move towards a smarter modeling future.
Ingeniería del Software dirigida por modelos -Versión para incrédulosJordi Cabot
Presentación en el 2do. Foro de Ingeniería de Software
Tendencias para automatizar el desarrollo de software. Hablando de modelado de software, generación de código,...
An LSTM-Based Neural Network Architecture for Model TransformationsJordi Cabot
We propose to take advantage of the advances in Artificial Intelligence and, in particular, Long Short-Term Memory Neural Networks (LSTM), to automatically infer model transformations from sets of input-output model pairs.
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
See how modeling can help the AI world (e.g. a model-driven approach to build chatbots) and how AI can create smarter modeling tools (e.g. using ML to learn transformations and code generation templates)
Temporal EMF: A temporal metamodeling platformJordi Cabot
Adding a temporal layer on top modeling tools. It includes a temporal profile for EMF, temporal queries with OCL and a NoSQL HBase backend for your models
UMLtoNoSQL : From UML domain models to NoSQL DatabasesJordi Cabot
Code-generators and low-code tools need to be able to target a combination of SQL and NoSQL databases as storage mechanisms for the apps they generate. Our UMLtoNoSQL solution enables this.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
7. 7 REST APIs
D e s c r ip t i o n f o r m a t s / p r o t o c o l s
OData
8. …consortium of forward-looking
industry experts who recognize
the immense value of
standardizing on how REST APIs
are described…
…is focused on creating,
evolving and promoting a vendor
neutral description format…
https://www.openapis.org
9. 9 OpenAPI
E x a m p l e http://petstore.swagger.io/v2/pet/123GET
"info": {
"description": "This is … ",
"version" : "1.0.0",
"title": “…",
"contact": {…},…
}
Metadata
{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "Swagger Petstore",
"license": {
"name": "MIT"
}
},
"host": "petstore.swagger.io",
"basePath": "/v1",
"schemes": [
"http"
],
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/pets": {
"get": {
"summary": "List all pets",
"operationId": "listPets",
"tags": [
"pets"
],
"parameters": [
{
"name": "limit",
"in": "query",
"description": "How many items to return at one
time (max 100)",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "An paged array of pets",
"headers": {
"x-next": {
"type": "string",
"description": "A link to the next page of
responses"
}
},
"schema": {
"$ref": "#/definitions/Pets"
}
},
"default": {
"description": "unexpected error",
"schema": {
"$ref": "#/definitions/Error"
}
}
}
},
OpenAPI definition
"paths":{
"/pet/{petId}":{
"get":{
"parameters":[
{ "name":"petId",
"in":"path",...
}
],
"responses":{
"200":...,
},...
},...
},
Operations
"definitions":{
"Pet":{
"type":"object",
"properties":{
"id":...,
"category":...,
"name":...,
...
} }
Schema
{
"id": 123,
"category": {
"id": 1,
"name": "dogs"
},
"name": "doggie",
"photoUrls": [
"http://example.com"
],
"tags": [
{
"id": 1,
"name": "black"
}
],
"status": "available"
}
10. 10 OpenAPI
A d v a n t a g e s
Generate code
Generate
documentation
Swagger UISwagger Codegen
Holistic view of
functionality
Automatization
12. 12 Problem statement
Composition
Awesome!….but
Many resources without APIs
Many APIs without OpenAPI
definitions
Testing REST APIs is hard
Limited support for generating
REST APIs
Limited composition approaches
NO
APIfication
Discovery
Testing
Generation
Composition
15. 15 Model-driven Engineering
M D E - b a s e d s o f t w a r e d e v e l o p m e n t p r o c e s s
Original model
… CODE
Software code1 refinementst n refinementth
Model-to-model
Transformation
Model-to-text
Transformation
CODE
CODE
22. 22 APIDiscoverer
M o t i v a t i o n
Machine-readable description
(barely) Human-readable
descriptions
23. 23 APIDiscoverer
A p p r o a c h
APIDiscoverer
Discovery &
Enrichment
Generation
OpenAPI
model
Example 1
call 1
response 1
Example
provision
Example 2
call 2
response 2
Example
provision
Example n
call n
response n
Example
provision
OpenAPI
definition
24. 24 APIDiscoverer
G e n e r a l v i e w o f t h e a p p r o a c h
OpenAPI
definition
Structural Discoverer
Behavioral Discoverer
OpenAPI metamodel
OpenAPI model
UML modelJSONDiscoverer UML2Schema
Conforms to
OpenAPI
generator
Example Provision Discovery Generator
API call
examples
{
"request": {
"method" : "POST" ,
"url" : "http://petstore... ",
"body" : { ... }
},
"response" : {
"status" : 200,
"body" : { ... }
}
}
{
"request": {
"method" : "GET" ,
"url" : "http://petstore... ",
"body" : { ... }
},
"response" : {
"status" : 200,
"body" : { ... }
}
}
{
"request": {
"method" : "GET" ,
"url" : "http://petstore... ",
"body" : { ... }
},
"response" : {
"status" : 200,
"body" : { ... }
}
}
25. 25 APIDiscoverer
D i s c o v e r y
OpenAPI
definition
Structural Discoverer
Behavioral Discoverer
OpenAPI metamodel
OpenAPI model
UML modelJSONDiscoverer UML2Schema
Conforms to
OpenAPI
generator
Example Provision Discovery Generator
API call
examples
26. 26 APIDiscoverer
D i s c o v e r y & E n r i c h m e n t
Behavioral Discoverer
Source Target
host
basepath
protocol
API
relativePath Path
httpMethod
request-body
response-body
Operation
Query
relative-Path
request-Body
Parameter
response-Code Response
request-body
response-body
Schema
http://petstore.swagger.io/v2/pet/123GET
{
"id": 123,
"category": {
"id": 1,
"name": "dogs"
},
"name": "doggie",
"photoUrls": [
"http://example.com"
],
"tags": [
{
"id": 1,
"name": "black"
}
],
"status": "available"
}
27. 27 APIDiscoverer
D i s c o v e r y & E n r i c h m e n t
Structural Discoverer
JSONDiscoverer
Behavioral Discoverer
Source Target
host
basepath
protocol
API
relativePath Path
httpMethod
request-body
response-body
Operation
Query
relative-Path
request-Body
Parameter
response-Code Response
request-body
response-body
Schema
{
"id": 123,
"category": {
"id": 1,
"name": "dogs"
},
"name": "doggie",
"photoUrls": [
"http://example.com"
],
"tags": [
{
"id": 1,
"name": "black"
}
],
"status": "available"
}
29. 29 APIDiscoverer
O p e n A P I g e n e r a t o r
OpenAPI
definition
Structural Discoverer
Behavioral Discoverer
OpenAPI metamodel
OpenAPI model
UML modelJSONDiscoverer UML2Schema
Conforms to
OpenAPI
generator
Example Provision APIDiscoverer Generator
API call
exxamples
{"swagger":"2.0",
"info":{ },
"host":"petstore.swagger.io","basePath":"/v2",
"tags":[ "pet" ],"Schemes":[ "http" ],
"paths":{
"/pet/{petId}":{
"get":{
"produces":["application/json"],
"parameters":[{"name":"petId","in":"path","type":"integer"}],
"responses":{
"200":{
"description":"OK",
"schema":{"$ref":"#/definitions/Pet"
}}}}
}},
"definitions":{
"Pet":{
"type":"object",
"properties":{
"id":{"type":"integer"},
"category":{"$ref":"#/definitions/Category"},
"name":{"type":"string"},
"photoUrls":{"type":"array","items":{"type":"string"}},
"tags":{"type":"array","items":{"$ref":"#/definitions/Tag"}},
"Status":{"type":"string"}},
}}}
31. 31
Discover other aspects: non-functional properties,
semantic definitions, security mechanisms
Discovery
extensions
Textual analysis of API documentation websites to
infer call examples
Generation of
call examples
Support OpenAPI 3OpenAPI 3
APIDiscoverer
F u t u r e w o r k
35. 35 APITester
M o t i v a t i o n
Leveraging OpenAPI for
testing
• High coverage level
• Parameter input generation
Limited coverage level
Limited parameter input
generation
36. 36 APITester
A p p r o a c h
OpenAPI
definition
OpenAPI metamodel
TestSuite metamodel
Testing
preparation
Model
Extraction
Model
trans.
Code
Gen.
CODE
CODE
Java
Junit
tests
37. 37 APITester
A p p r o a c h
OpenAPI
definition
OpenAPI metamodel
TestSuite metamodel
Testing
preparation
Model
Extraction
Model
trans.
Code
Gen.
CODE
CODE
Java
• Simple parameter (examples, default values, enums)
• Dummy parameter
• Complex parameter (response of an operation)
Inference rules
Junit
tests
39. 39 APITester
A p p r o a c h
OpenAPI
definition
OpenAPI metamodel
TestSuite metamodel
Testing
preparation
Model
Extraction
Model
trans.
Code
Gen.
CODE
CODE
Java
Junit
tests
41. 41 APITester
A p p r o a c h
OpenAPI
definition
OpenAPI metamodel
TestSuite metamodel
Testing
preparation
Model
Extraction
Model
trans.
Code
Gen.
CODE
CODE
Java
Junit
tests
42. 42 APITester
A p p r o a c h
GR 1. Nominal test case GR 2. Faulty test
case
43. 43 APITester
A p p r o a c h
GR 1. Nominal test
case
GR 2. Faulty test
case
44. 44 APITester
A p p r o a c h
OpenAPI
definition
OpenAPI metamodel
TestSuite metamodel
Model
Extraction
Model
Extraction
Model
trans.
Code
Gen.
CODE
CODE
Java
Junit
tests
46. 46
Increase coverage levels by improving our parameter
inference technique
Coverage
Support OpenAPI 3
Integration
testing
APITester
F u t u r e w o r k
50. 50 OData
OData is a standardized protocol for
creating and consuming data APIs
Resources are defined in
a data model
D a t a m o d e l
URIs to identify resources
and query data
Q u e r y
JSON and XML/Atom to
de/serialize data
S e r i a l i z a t i o n
OData
53. 53
Extend the matching strategy: Semantic, Non-functional
properties
Matching
strategy
Support data modification operations
Data
modification
Support other formats: GraphQL, OpenAPI 3Other formats
APIComposer
F u t u r e w o r k
54. 54 Side effects
O p e n A P It o U M L
Visualization of OpenAPI
definitions as UML
Class diagrams
Better visualization and
understanding of the data
model and operations of a REST
API.
Easier integration of REST APIs
in all kinds of model-based
processes.
58. 58 Publications
ICWE 2018
OData profile ICWE 2017
SAC 2016
ECFMA 2017
RCIS 2018
ESOCC 2018
EDOC 2018
International conferences
(full research papers)
4
International conferences
(short and demo papers)
3
National conferences 1
59. 59
A case study to validate the contributions of the thesis in
a single industrial scenario
All-in-One
Smart cities are a potential direction to apply to the
work presented in this thesis
Smart cities
Extend our work to support non-functional requirements
Non-functional
requirements
Extend our work to support GraphQLGraphQL
Future work