Presentation by Tony Tam on using the Scalatra micro web framework with native support for Swagger. This gives the fastest possible server-to-mobile integration with Scala
Victor introduces Swagger, an open-source framework for describing, producing, consuming, and visualizing RESTful APIs. Swagger allows API developers to describe the structure of APIs, including operations and models, using JSON or YAML files. It also generates documentation from these files and allows for testing API operations in interactive documents.
Swagger APIs for Humans and Robots (Gluecon)Tony Tam
Presentation to Gluecon 2014 about Swagger for API development and adoption of services. Reverb also announced the Swagger 2.0 Working Group, with Apigee as a founding member
Rob Gruhl and Erik Erikson - What We Learned in 18 Serverless Months at Nords...ServerlessConf
This document summarizes Nordstrom's experience with serverless technologies over the past 18 months. Some key lessons learned include that serverless architectures can reduce the amount of code needed for features, require work to ensure high availability, and make tweaking performance easy and cost-effective. Challenges include shared computing limits, API Gateway restrictions, and difficulty debugging distributed applications. Nordstrom hopes to see improvements in transparency, deployment tools, security guidance, and documentation from serverless platform providers.
This document discusses how Swagger can be used to develop APIs faster. It describes what Swagger is, provides an example Swagger YAML file, and discusses how code can be generated from Swagger specifications. It also introduces Swagger Inflector, which uses the Swagger specification as the single source of truth to automatically route controllers, map models, and generate sample data when controllers are not implemented. The document encourages rethinking the DRY principle and maintaining the API specification as the central source.
Wordnik's architecture is built around a large English word graph database and uses microservices and ephemeral Amazon EC2 storage. Key aspects include:
1) The system is built as independent microservices that communicate via REST APIs documented using Swagger specifications.
2) Databases for each microservice are kept small by design to facilitate operations like backups, replication, and index rebuilding.
3) Services are deployed across multiple Availability Zones and regions on ephemeral Amazon EC2 storage for high availability despite individual host failures.
The document provides an overview of Swagger 2.0 and how it can be used to define REST APIs. Swagger allows both humans and computers to understand APIs without access to code or documentation. It includes a specification and tools like an editor, code generation, and UI. The document demonstrates defining a sample DEMO API in Swagger format and generating interactive documentation with Swagger UI. It also introduces PySwagger for testing APIs based on their Swagger definition.
Donald Ferguson - Old Programmers Can Learn New TricksServerlessConf
Presented at ServerlessConf NYC 2016.
This presentation will discuss the experiences of a skilled, enterprise, J2EE team moving to Amazon Web Services to build a new “serverless” solution. This will include motivation for choosing and experience using specific technology (Java, Lambda, S3, RDS, API Gateway, VPC, …) The talk will qualitatively explain the productivity improvement achieved by going “serverless” relative to a more traditional application server design. We will also identify the top three helpful technologies, the three biggest hurdles and our wish list for three new capabilities.
How to generate a REST CXF3 application from Swagger ApacheConEU 2016johannes_fiala
This presentation shows you how you can generate server stubs from a Swagger contract,
configure the jaxrs-cxf language to enable Spring-configuration, Spring-Boot integration + tests, automatic BeanValidation on the server side,
generate client code for java and javascript, use/integrate swagger-ui, use swagger2markup
use custom Swagger-Codegen templates + how you can create your own language implementation.
Swagger is an open source software framework backed by
a large ecosystem of tools that helps developers
design, build, document and consume RESTful Web
services.
The Open API Initiative thanks the API Tokyo Meetup for including them in discussions and is pleased with the positive response received from the API community. They encourage contributing to the OpenAPI Specification on GitHub and following them on social media, and enjoy hearing about projects using the OAS.
Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. The overarching goal of Swagger is to enable client and documentation systems to update at the same pace as the server. The documentation of methods, parameters, and models are tightly integrated into the server code, allowing APIs to always stay in sync. With Swagger, deploying managing, and using powerful APIs has never been easier.
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesomeMetosin Oy
- The document discusses using Prismatic Schema and Swagger to describe, validate, and document Clojure web APIs. It covers topics like Schema validation and coercion, Ring-Swagger, Compojure-API, and Fnhouse-Swagger integration.
- Ring-Swagger implements the Swagger specification for Ring and uses Schema for data models and coercion. Compojure-API is an extendable web API library that uses Schema and generates Swagger documentation. Fnhouse-Swagger provides Swagger support for the Fnhouse library.
- The document encourages adopting Schema and Swagger tools to build robust and well-documented Clojure web APIs in a consistent manner across different frameworks.
Swagger UI enables generating documentation for RESTful APIs that is updated as the server code changes. It works with Spring Boot by adding dependencies, a configuration file, and annotations. This exposes API endpoints in the browser for testing and provides descriptive documentation of each service's title, function, inputs, and outputs.
This document provides an overview of AWS (Amazon Web Services) for Java developers. It introduces the speaker and covers various AWS core services including S3, EC2, databases, Elastic Beanstalk, EC2 Container Service, tooling, billing, and monitoring. Serverless architectures using AWS Lambda are also discussed. The document concludes with demos of building serverless projects in Eclipse using AWS services like API Gateway and DynamoDB.
Azure Functions - the evolution of microservices platform or marketing gibber...Katherine Golovinova
ANTON BOYKO, Founder and main speaker of Ukrainian Microsoft Azure Community.
When many people hear the word microservices, they think of Kubernetes. And it’s hard to blame them: the utilization of Docker containerization together with Kubernetes orchestration really seems like a match made in heaven.
But, there is a new name in town: serverless (or FaaS). It seems it can offer you all the stuff that Kubernetes has and more. Native support for .NET, Java, Python, Node. Out-of-the-box binding for things like HTTP incoming requests (for Web API), incoming queue message (for processing async tasks), time-based trigger, etc. It also comes with micro billing (you pay only for execution time, not for idle time) and 0-to-infinite scalability. But is it all too good to be true? Aren't there any drawbacks? Is it all a huge marketing scheme to make us actually pay more? Let's find out.
This document provides an overview of building REST APIs for distributed systems. It discusses motivation for APIs and the importance of an API contract. The document then covers tools for defining the API contract like RAML and code generation. It presents microservices architecture and implementation options using Spring Boot, Spring Cloud, and Netflix OSS frameworks. The talk concludes with a demo of a microservices application deployed with Docker.
Skinny is a lightweight web framework for Scala that aims to provide a Rails-like development experience. It offers features like routing, CRUD templates, validation, ORM, database migrations, asset compilation, and mail sending. Some benefits highlighted include an easy setup process, statically typed but simple code, and suitability for replacing legacy systems. The framework is under active development with a 1.0 release planned for this week and continued work on future versions.
This document discusses design-driven API development using API description languages like Swagger and RAML. It recommends generating documentation and code from a single API schema to avoid inconsistencies. This approach allows server code and related resources like SDKs and tests to be generated from the schema rather than developed separately. The document provides an example using Swagger-Node, Swagger-JS, and React to build a Hacker News API with automatically generated server code and client.
Anton Boyko, "The evolution of microservices platform or marketing gibberish"Sigma Software
This document discusses Azure Functions and serverless computing. It provides an overview of serverless benefits like manage less, micro-pricing, and ease of scale. It also compares common serverless offerings from Microsoft Azure, AWS, and Google Cloud. The document demonstrates consumption scale, durable functions, and addressing issues like capacity planning, durability, and performance for serverless applications.
EXPERTALKS: Jul 2012 - Build using GradleEXPERTALKS
This document discusses the build tool Gradle. It notes that while Ant and Maven provide build functionality, they have limitations. Gradle addresses these by providing faster, more concise builds with a Groovy DSL. It is flexible, integrates with Ant, supports dependencies, and is programmable. The document provides examples of basic Gradle usage and recommends resources for learning more.
GraphQL is query language for APIs, but what are the advantages and how would one implement such in their microservices/APIs. In this session, I will go through the basics of GraphQL, different aspects of GraphQL and architecture of such APIs. There will be a demo/live-coding on, how 3 different ways we can implement GraphQL for a Springboot microservice/API. Lots of examples, live coding and helpful comparison on structure, usage and implementations of GraphQL in Springboot & Java world.
API Design in the Modern Era - Architecture Next 2020Eran Stiller
APIs are at the heart of the modern software development world. Whether we author a distributed system, a microservices-based application, or a simple client-server n-tier application - our system will most probably expose an API at its core. APIs are a means to expose the functionality of a particular component to its users. Unsurprisingly, many formats for APIs have existed over the years, with the industry setting around RESTful APIs as the de-facto standard, with gRPC growing in popularity.
Join me in this session, as I review today's most popular API formats and their relative strengths and weaknesses. From REST, through OpenAPI, via gRPC and to the rising star of AsyncAPI - we'll explain how these API formats work and the tools they employ and offer some guidance as towards when we should use each. At the end of this session, you'll have a good familiarity with these formats, and you'll be in a much better position to choose between them.
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...MarcelLanz
Serverless runtimes are often hidden in a cloud providers offering and exposed solely by their programming API and deployment procedures. In this talk, we’ll explore an open-source Serverless runtime built for the cloud and on-premises, running on the BEAM with a polyglot programming model to build general purpose applications.
Building general purpose applications using multiple languages and having a story how to handle state was our main motivation to explore the space of a Serverless runtime to be built. We think the BEAM, OTP and Elixir/Erlang are a perfect match to build on.
With this talk, we combine herein the world of the BEAM with cloud technology like a gRPC-based protocol, Kubernetes and a polyglot programming model with languages supported like Go, JavaScript, JVM-languages, Python and many more.
https://icfp21.sigplan.org/details/erlang-2021-papers/13/Lightning-Talk-eigr-io-A-Serverless-Runtime-on-the-BEAM
Gavin Hogan presented on using Grails, a rapid web application development framework built on Groovy and Spring. Some key points:
- Grails leverages Groovy and Spring to provide convention over configuration and generate Spring beans and wiring automatically.
- Object-relational mapping is handled through GORM, which is built on Hibernate. Dynamic finders and validation are also included.
- Views use Groovy Server Pages (GSP) which are similar to JSP. Taglibs allow reusable view components to be created.
- Plugins extend functionality and can package entire aspects like security. The plugin ecosystem contains solutions for many common needs.
Eduards Sizovs - Micro Service Architecture DevConFu
Eduards will talk about micro service architecture - approach to designing software when complex app is broken into tiny, cohesive services which are apps themselves. Anatomy of micro services will be covered with practical implementation advices in Java.
WordCamp IL 2016 - WordPress Scale on AWSBoaz Ziniman
One of the most popular CMS, WordPress, was not designed for the cloud era. Running a high demand and highly available WordPress in a cluster can be a complex task.
There are several solutions to this problem and this session will focus on one of them. Using several AWS services (EC2, RDS, S3, EFS, CloudFormation and others) and Zend Server, we will create a complex setup running in minutes and scale it up and down by demand.
Visual Studio Code is a lightweight but full-featured code editor. It supports many programming languages through language servers, including the Java Language Server. The document discusses VS Code's history and rise in popularity. It explains how language servers allow languages like Java to integrate with any code editor using the Language Server Protocol. The presentation demonstrates setting up a Java project in VS Code and interacting with the Java Language Server for features like auto-completion and goto definition. It also provides instructions for building a sample language server to understand how they work.
This document discusses scaling applications and services. It recommends taking a vertical approach by breaking monolithic applications into microservices that communicate through APIs. The Swagger framework is presented as a way to document and test APIs. Swagger can generate client libraries and helps services scale by enabling asynchronous communication through websockets. Taking this vertical, microservices approach with Swagger improves scalability by allowing dedicated teams to own individual services and improves performance through asynchronous communication protocols.
How to generate a REST CXF3 application from Swagger ApacheConEU 2016johannes_fiala
This presentation shows you how you can generate server stubs from a Swagger contract,
configure the jaxrs-cxf language to enable Spring-configuration, Spring-Boot integration + tests, automatic BeanValidation on the server side,
generate client code for java and javascript, use/integrate swagger-ui, use swagger2markup
use custom Swagger-Codegen templates + how you can create your own language implementation.
Swagger is an open source software framework backed by
a large ecosystem of tools that helps developers
design, build, document and consume RESTful Web
services.
The Open API Initiative thanks the API Tokyo Meetup for including them in discussions and is pleased with the positive response received from the API community. They encourage contributing to the OpenAPI Specification on GitHub and following them on social media, and enjoy hearing about projects using the OAS.
Swagger is a specification and complete framework implementation for describing, producing, consuming, and visualizing RESTful web services. The overarching goal of Swagger is to enable client and documentation systems to update at the same pace as the server. The documentation of methods, parameters, and models are tightly integrated into the server code, allowing APIs to always stay in sync. With Swagger, deploying managing, and using powerful APIs has never been easier.
Euroclojure2014: Schema & Swagger - making your Clojure web APIs more awesomeMetosin Oy
- The document discusses using Prismatic Schema and Swagger to describe, validate, and document Clojure web APIs. It covers topics like Schema validation and coercion, Ring-Swagger, Compojure-API, and Fnhouse-Swagger integration.
- Ring-Swagger implements the Swagger specification for Ring and uses Schema for data models and coercion. Compojure-API is an extendable web API library that uses Schema and generates Swagger documentation. Fnhouse-Swagger provides Swagger support for the Fnhouse library.
- The document encourages adopting Schema and Swagger tools to build robust and well-documented Clojure web APIs in a consistent manner across different frameworks.
Swagger UI enables generating documentation for RESTful APIs that is updated as the server code changes. It works with Spring Boot by adding dependencies, a configuration file, and annotations. This exposes API endpoints in the browser for testing and provides descriptive documentation of each service's title, function, inputs, and outputs.
This document provides an overview of AWS (Amazon Web Services) for Java developers. It introduces the speaker and covers various AWS core services including S3, EC2, databases, Elastic Beanstalk, EC2 Container Service, tooling, billing, and monitoring. Serverless architectures using AWS Lambda are also discussed. The document concludes with demos of building serverless projects in Eclipse using AWS services like API Gateway and DynamoDB.
Azure Functions - the evolution of microservices platform or marketing gibber...Katherine Golovinova
ANTON BOYKO, Founder and main speaker of Ukrainian Microsoft Azure Community.
When many people hear the word microservices, they think of Kubernetes. And it’s hard to blame them: the utilization of Docker containerization together with Kubernetes orchestration really seems like a match made in heaven.
But, there is a new name in town: serverless (or FaaS). It seems it can offer you all the stuff that Kubernetes has and more. Native support for .NET, Java, Python, Node. Out-of-the-box binding for things like HTTP incoming requests (for Web API), incoming queue message (for processing async tasks), time-based trigger, etc. It also comes with micro billing (you pay only for execution time, not for idle time) and 0-to-infinite scalability. But is it all too good to be true? Aren't there any drawbacks? Is it all a huge marketing scheme to make us actually pay more? Let's find out.
This document provides an overview of building REST APIs for distributed systems. It discusses motivation for APIs and the importance of an API contract. The document then covers tools for defining the API contract like RAML and code generation. It presents microservices architecture and implementation options using Spring Boot, Spring Cloud, and Netflix OSS frameworks. The talk concludes with a demo of a microservices application deployed with Docker.
Skinny is a lightweight web framework for Scala that aims to provide a Rails-like development experience. It offers features like routing, CRUD templates, validation, ORM, database migrations, asset compilation, and mail sending. Some benefits highlighted include an easy setup process, statically typed but simple code, and suitability for replacing legacy systems. The framework is under active development with a 1.0 release planned for this week and continued work on future versions.
This document discusses design-driven API development using API description languages like Swagger and RAML. It recommends generating documentation and code from a single API schema to avoid inconsistencies. This approach allows server code and related resources like SDKs and tests to be generated from the schema rather than developed separately. The document provides an example using Swagger-Node, Swagger-JS, and React to build a Hacker News API with automatically generated server code and client.
Anton Boyko, "The evolution of microservices platform or marketing gibberish"Sigma Software
This document discusses Azure Functions and serverless computing. It provides an overview of serverless benefits like manage less, micro-pricing, and ease of scale. It also compares common serverless offerings from Microsoft Azure, AWS, and Google Cloud. The document demonstrates consumption scale, durable functions, and addressing issues like capacity planning, durability, and performance for serverless applications.
EXPERTALKS: Jul 2012 - Build using GradleEXPERTALKS
This document discusses the build tool Gradle. It notes that while Ant and Maven provide build functionality, they have limitations. Gradle addresses these by providing faster, more concise builds with a Groovy DSL. It is flexible, integrates with Ant, supports dependencies, and is programmable. The document provides examples of basic Gradle usage and recommends resources for learning more.
GraphQL is query language for APIs, but what are the advantages and how would one implement such in their microservices/APIs. In this session, I will go through the basics of GraphQL, different aspects of GraphQL and architecture of such APIs. There will be a demo/live-coding on, how 3 different ways we can implement GraphQL for a Springboot microservice/API. Lots of examples, live coding and helpful comparison on structure, usage and implementations of GraphQL in Springboot & Java world.
API Design in the Modern Era - Architecture Next 2020Eran Stiller
APIs are at the heart of the modern software development world. Whether we author a distributed system, a microservices-based application, or a simple client-server n-tier application - our system will most probably expose an API at its core. APIs are a means to expose the functionality of a particular component to its users. Unsurprisingly, many formats for APIs have existed over the years, with the industry setting around RESTful APIs as the de-facto standard, with gRPC growing in popularity.
Join me in this session, as I review today's most popular API formats and their relative strengths and weaknesses. From REST, through OpenAPI, via gRPC and to the rising star of AsyncAPI - we'll explain how these API formats work and the tools they employ and offer some guidance as towards when we should use each. At the end of this session, you'll have a good familiarity with these formats, and you'll be in a much better position to choose between them.
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...MarcelLanz
Serverless runtimes are often hidden in a cloud providers offering and exposed solely by their programming API and deployment procedures. In this talk, we’ll explore an open-source Serverless runtime built for the cloud and on-premises, running on the BEAM with a polyglot programming model to build general purpose applications.
Building general purpose applications using multiple languages and having a story how to handle state was our main motivation to explore the space of a Serverless runtime to be built. We think the BEAM, OTP and Elixir/Erlang are a perfect match to build on.
With this talk, we combine herein the world of the BEAM with cloud technology like a gRPC-based protocol, Kubernetes and a polyglot programming model with languages supported like Go, JavaScript, JVM-languages, Python and many more.
https://icfp21.sigplan.org/details/erlang-2021-papers/13/Lightning-Talk-eigr-io-A-Serverless-Runtime-on-the-BEAM
Gavin Hogan presented on using Grails, a rapid web application development framework built on Groovy and Spring. Some key points:
- Grails leverages Groovy and Spring to provide convention over configuration and generate Spring beans and wiring automatically.
- Object-relational mapping is handled through GORM, which is built on Hibernate. Dynamic finders and validation are also included.
- Views use Groovy Server Pages (GSP) which are similar to JSP. Taglibs allow reusable view components to be created.
- Plugins extend functionality and can package entire aspects like security. The plugin ecosystem contains solutions for many common needs.
Eduards Sizovs - Micro Service Architecture DevConFu
Eduards will talk about micro service architecture - approach to designing software when complex app is broken into tiny, cohesive services which are apps themselves. Anatomy of micro services will be covered with practical implementation advices in Java.
WordCamp IL 2016 - WordPress Scale on AWSBoaz Ziniman
One of the most popular CMS, WordPress, was not designed for the cloud era. Running a high demand and highly available WordPress in a cluster can be a complex task.
There are several solutions to this problem and this session will focus on one of them. Using several AWS services (EC2, RDS, S3, EFS, CloudFormation and others) and Zend Server, we will create a complex setup running in minutes and scale it up and down by demand.
Visual Studio Code is a lightweight but full-featured code editor. It supports many programming languages through language servers, including the Java Language Server. The document discusses VS Code's history and rise in popularity. It explains how language servers allow languages like Java to integrate with any code editor using the Language Server Protocol. The presentation demonstrates setting up a Java project in VS Code and interacting with the Java Language Server for features like auto-completion and goto definition. It also provides instructions for building a sample language server to understand how they work.
This document discusses scaling applications and services. It recommends taking a vertical approach by breaking monolithic applications into microservices that communicate through APIs. The Swagger framework is presented as a way to document and test APIs. Swagger can generate client libraries and helps services scale by enabling asynchronous communication through websockets. Taking this vertical, microservices approach with Swagger improves scalability by allowing dedicated teams to own individual services and improves performance through asynchronous communication protocols.
This document discusses API description languages (APIs), comparing Swagger and RAML. It provides an overview of each specification and demonstrates how to define a sample wishlist API using Swagger via swagger-node-express and RAML. While both work well for RESTful APIs, RAML allows for more robust modeling and top-down design capabilities. The document considers issues like documentation approaches and generating documentation from code versus design.
Just a few years back, lack of a standard way to document, govern or describe a contract for the APIs acted as a deterrent to API adoption within the enterprise. WSDL 2.0 and WADL provided early support, but they couldn’t truly capture the essence of RESTful APIs. Recently we have seen the emergence of several description languages. New ways to describe and document APIs have emerged such as Swagger, RAML, API Blueprint and others, each taking a slightly different approach.
API Description Languages: Which Is The Right One For Me? ProgrammableWeb
The document discusses and compares different API description languages (APIs), including RAML and Swagger. It provides an overview of each tool's features and capabilities. The document also shares the author's experiences using RAML and Swagger to describe sample APIs. While both APIs are useful for documentation, the author found RAML better suited for designing APIs first before coding, while Swagger integrates more tightly with code.
The document discusses Swagger, an open source API documentation framework. It describes how Swagger is used to document REST APIs and provides an interactive UI. It then outlines how to add Swagger documentation to a Spring Boot project using Springfox, including adding dependencies, configuring Swagger, and annotating controllers. The document demonstrates how Swagger UI allows developers to easily view and test documented APIs in the browser.
Swagger: Restful documentation that won't put you to sleepTobias Coetzee
RESTful services are becoming more prevalent in the systems we build and interact with. One of the problems with RESTful services is documentation. The documentation is either non-existent, out-dated and useless or done in Word completed separate from the actual code. Keeping the documentation up to date is also boring.
Swagger.io gives you a way to overcome your RESTful service documentation problems by making your RESTful service’s documentation part of the code. Swagger.io gives you interactive documentation, i.e. no more boring Word documents, and the added bonuses of client SDK generation and discoverability.
Become an artisan web analytics practitioner by building your own analytics QA tool. For Adobe Analytics but you could do the same with Google Analytics, A/B testing, tag management, VOC tools and many other analytics tools
NullMQ aims to provide ZeroMQ semantics in the browser by using STOMP over WebSocket. STOMP is a simple, extensible protocol that can model virtual connections and transactions over a single WebSocket connection. NullMQ embraces the nature of the web by using existing transports and protocols rather than direct connections. This allows for near feature parity with ZeroMQ while addressing security and performance limitations of the browser environment.
APIs define contracts between a service and a client, and with the rise of representation languages like Swagger, Apiary, and RAML, these contracts can be consumed programmatically and adapted easily into our codebases. Other tools like JSON Schema also contribute to this idea of integration between service and client.
But what about our documentation? If API contracts can be assimilated into software, surely it can drive our documentation too? In this talk, I want to introduce some of the techniques I've used on past projects that allow exactly that. By using remote schemas to generate software, it also allows us to generate working documentation that is always relevant and never out of date. Apart from accuracy, we also get the added benefits of reduced development time, reduced effort, and reduced duplication. We can all of this by documenting once, and re-using across multiple projects!
This document discusses using Swagger to document REST APIs. It begins by providing an overview of Swagger and its capabilities. It then discusses OpenAPI as the de facto standard and how Swagger was donated to the OpenAPI Initiative. The document provides tips on getting started with Swagger and considerations for using JSON or YAML formats. It also discusses best practices like taking an "API-first" approach and examples of using Swagger in real projects. It covers potential issues like code generation and incorporating Swagger UI.
API Description Languages: Which is the Right One for Me?Akana
The document discusses and compares various API description languages (APIs DL) that can be used to describe RESTful APIs, including Swagger, RAML, API Blueprint, and others. It provides an overview of each API DL, how they are used, their capabilities, tooling support, and considerations for choosing one. It focuses specifically on experiences using Swagger, RAML, and API Blueprint to prototype and describe APIs. Overall, the document aims to help readers understand the different API DL options and determine which may be best for their needs and development approach.
API Description Languages: Which is the Right One for Me?Akana
SOA Software Director of API Strategy, Laura Heritage, discusses new ways to describe and document APIs have emerged such as Swagger, RAML, API Blueprint and others, each taking a slightly different approach. Please join us in this webinar to hear how these description languages differ and how to choose right one for your API.
The document discusses an API-first or description-driven approach to API development using the Swagger specification. It argues that the traditional approach of building an API and then documenting it is broken because it puts API consumers at a disadvantage. Instead, it advocates describing the API interface first using Swagger, which allows developers to model and iterate on the API without writing any code. This benefits both API developers and consumers.
Spark Job Server and Spark as a Query Engine (Spark Meetup 5/14)Evan Chan
This was a talk that Kelvin Chu and I just gave at the SF Bay Area Spark Meetup 5/14 at Palantir Technologies.
We discussed the Spark Job Server (http://github.com/ooyala/spark-jobserver), its history, example workflows, architecture, and exciting future plans to provide HA spark job contexts.
We also discussed the use case of the job server at Ooyala to facilitate fast query jobs using shared RDD and a shared job context, and how we integrate with Apache Cassandra.
APIs distribuidos con alta escalabilidadSoftware Guru
This document provides an overview of building REST APIs for distributed systems. It discusses motivation for APIs and the importance of an API contract. The document then covers tools for defining the API contract like RAML. It presents microservices architecture and implementation options like Spring Boot, Spring Cloud and Netflix OSS. The talk concludes with a demo of a microservices application deployed with Docker.
Taylor Jasko gave a presentation on building WordPress web applications (webapps) to provide faster site performance. Some key points included:
1) Webapps are like desktop applications that use the latest technologies and feel native on devices.
2) WordPress can be used to create webapps by leveraging plugins, templating, and custom fields.
3) Performance can be improved by rendering content dynamically with JSON/JavaScript instead of traditional HTML pages. This reduces page size and load times.
4) Caching and cache busting techniques like hashing can make the content nearly instantly for users while still allowing search engines to crawl pages.
Building Better Web Apps with Angular.js (SXSW 2014)kbekessy
A 2.5 hour workshop at SXSW 2014 to teach Angular.js. Code and examples from the workshop can be found here: http://bit.ly/angularsx
Why you should use Django in your next project.Eyad Toma
The document promotes using Django, an open-source web framework, for upcoming projects. It highlights that Django includes common components like object-relational mapping, user authentication and caching out of the box, but these features are optional and can be replaced. The document also notes that Django can be easily extended through thousands of third-party plug-ins and has a large global user base, including in the MENA region. In summary, it pitches Django as the best Python web framework that is fully-featured yet flexible.
A Tasty deep-dive into Open API Specification LinksTony Tam
From the March APICraft meetup in San Francisco, we dive into the details of one of the newest features of the Open API Specification (fka Swagger Specification) called links.
While not intended as a replacement for Hypermedia, the OAS 3.0 Links feature provides design-time designation for rich traversals between operations
Presented at JavaOne 2016.
Using Swagger has become the most popular way to describe REST APIs across the web, enabling people to more quickly understand and communicate with services, with developer-friendly documentation and rich, autogenerated client SDKs. As the API has moved more into being one of the most important aspects of a service, the Swagger definition has become increasingly more important and essential to the design phase. This presentation explains how the Swagger definition can be used to streamline the iteration process and enable client and server engineers to develop concurrently with complex APIs.
Writer APIs in Java faster with Swagger InflectorTony Tam
Swagger provides a clean contract for your REST API. Swagger Inflector is a project which uses Swagger as the language of the API, automatically wiring REST endpoints directly to controllers in the Jersey 2.x framework. By doing so, the specification and code are always up to date, removing potentially error-prone redundant code and bringing development on the JDK up to speed with typeless languages.
Love your API with Swagger (Gluecon lightning talk)Tony Tam
Love your API with Swagger
Developers want to understand and integrate with APIs but have different workflows than API creators. Swagger makes APIs understandable, testable, discoverable, and ready to integrate through a simple JSON description that can be built directly or via code/YAML/GUI. It allows developers to try out APIs and generate SDKs so they can use services as they want rather than writing the API creator's software. The Swagger community supports many frameworks and it is open source under the Apache 2 license.
The document introduces Swagger, an open source framework for describing and documenting RESTful APIs. Swagger allows APIs to be defined in a machine-readable JSON format and generates documentation, client libraries, and servers from these definitions. This standardized interface for APIs has benefits like enabling parallel development, removing logic from clients, and facilitating code generation for multiple platforms and languages.
- Data modeling for NoSQL databases is different than relational databases and requires designing the data model around access patterns rather than object structure. Key differences include not having joins so data needs to be duplicated and modeling the data in a way that works for querying, indexing, and retrieval speed.
- The data model should focus on making the most of features like atomic updates, inner indexes, and unique identifiers. It's also important to consider how data will be added, modified, and retrieved factoring in object complexity, marshalling/unmarshalling costs, and index maintenance.
- The _id field can be tailored to the access patterns, such as using dates for time-series data to keep recent
This document discusses various techniques for monitoring applications without interfering with core engineering work. It recommends using open source tools like the Wordnik profiler, Swagger, and MongoDB's oplog to provide business metrics monitoring and allow product teams to define their own metrics. The oplog can be used to access real-time data changes and power use cases like alerts, analytics, and pushing data to external systems without interrupting application code.
This document discusses various strategies for backing up MongoDB data to keep it safe. It recommends:
1. Using mongodump for simple backups that can restore quickly but may be inconsistent.
2. Setting up replication for high availability, but also using mongodump for backups and testing restore processes.
3. Taking snapshots of the data files for consistent backups, but this requires downtime and gaps can occur between snapshots.
4. Using the oplog for incremental, continuous backups to avoid gaps without downtime using tools like the Wordnik Admin Tools. Testing backups is strongly recommended.
A deck on the practical reasons why Wordnik moved to the Scala programming language. Also covered is the Swagger REST API framework which is available at http://swagger.wordnik.com
A presentation on the selection criteria, testing + evaluation and successful, zero-downtime migration to MongoDB. Additionally details on Wordnik's speed and stability are covered as well as how NoSQL technologies have changed the way Wordnik scales.
Managing a MongoDB deployment discusses operational best practices for MongoDB including redundancy with master-slave replication or replica sets, controlling blocking operations, handling eventual consistency, and scaling out deployments. It provides details on Wordnik's MongoDB architecture using Java application servers, REST APIs, master-slave replication across data centers, and tools they developed for backups, restores, and incremental replication. It emphasizes understanding your data and access patterns to choose the right operational solutions.
Migrating from MySQL to MongoDB at WordnikTony Tam
Wordnik migrated their live application from MySQL to MongoDB to address scaling issues. They moved over 5 billion documents totaling over 1.2 TB of data with zero downtime. The migration involved setting up MongoDB infrastructure, designing the data model and software to match their existing object model, migrating the data, and optimizing performance of the new system. They achieved insert rates of over 100,000 documents per second during the migration process and saw read speeds increase to 250,000 documents per second after completing the move to MongoDB.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
What is Model Context Protocol(MCP) - The new technology for communication bw...Vishnu Singh Chundawat
The MCP (Model Context Protocol) is a framework designed to manage context and interaction within complex systems. This SlideShare presentation will provide a detailed overview of the MCP Model, its applications, and how it plays a crucial role in improving communication and decision-making in distributed systems. We will explore the key concepts behind the protocol, including the importance of context, data management, and how this model enhances system adaptability and responsiveness. Ideal for software developers, system architects, and IT professionals, this presentation will offer valuable insights into how the MCP Model can streamline workflows, improve efficiency, and create more intuitive systems for a wide range of use cases.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
4. Swagger Philosophy!
• Communicating is too much work!
– Users don’t want to write YOUR SDK!
– If you’re good at Ruby, you suck at GO!
• Consumers need a contract!
– Service logic doesn’t belong in the SDK!
• Services are plumbing!
– We shouldn’t all be plumbers!
– Business logic is your business!
5. Swagger Philosophy!
• Solved by machine-readable, discoverable
API contract!
• Should speed up, not slow down
development process!
• External services/proxies not required!
6. What is Swagger?!
• An interface to your service!
– Described in JSON!
• It is a contract to your service!
• Enables “bigotry-free” restful design with
emphasis on getting things done!
– Many ways to delete a Pet!
7. How does it work?!
• Discoverable at runtime, not compile-time!
• It’s just JSON!
• No server integration required!
– You can describe an API that’s not even yours!
– Deploy anywhere! Put it on github!!
– Swagger is JUST a way to describe an API!
8. But Why?!
• Machine-readable contract!
– Description of *everything* the server
can do!
– Server-controlled documentation!
– Server/language/platform/deployment
agnostic!
• Documentation, code generation,
client generation!
– Like Headers for C, Interfaces for Java!
9. How do you add Swagger?!
• Static Files!
– Manually crafted JSON!
• Heuristics!
– Traffic inspection!
• Code inspection!
– Code comments, static annotations!
• Runtime generation!
It’s just JSON!!
10. Swagger + Scalatra!
• Scalatra is a Lightweight, High-
performance Micro web framework!
• Extremely clean DSL!
• First-class swagger support!
• http://www.scalatra.org!