Iterative Development with Swagger on the JDKSwagger API
Iterative Development with Swagger on the JDK allows for generating clients and servers from a single Swagger specification file. It supports generating code for many programming languages and frameworks. The Swagger-Inflector tool aims to improve this process by making the specification the single source of truth, and by automatically generating endpoint implementations and sample responses to reduce boilerplate code. It uses JAX-RS 2.0 and Jersey 2.6 and allows developers to focus on business logic rather than plumbing code. The project is currently in preview stage and aims to become a fully supported part of the Swagger tools.
Learn what is coming with the first major revision to the world’s most successful API framework. Tony Tam, the founder of Swagger, discusses the new workflows, tooling, and a more descriptive specification that Swagger 2.0 brings.
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.
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.
The document discusses Swagger, which is a specification and set of tools for describing and documenting REST APIs. It describes Swagger as both an API documentation framework and a specification that can help produce, consume, and visualize APIs. The document outlines different options for creating Swagger documentation, such as generating JSON from code annotations, manually writing JSON, or generating documentation at runtime from annotations. It also provides an overview of several Swagger tools and components and discusses when Swagger may or may not be suitable for a given situation.
Understanding how to use Swagger and its toolsSwagger API
Swagger is a toolset for designing, building, documenting, and using RESTful APIs. It includes tools like swagger-editor for designing APIs, swagger-ui for documenting and testing APIs, and swagger-codegen for building servers and clients from API definitions. The tools support the API lifecycle from design through documentation, testing, building, and operation. Integration workflows allow using multiple Swagger tools together such as designing an API with swagger-editor and generating servers and clients with swagger-codegen.
This document discusses consuming RESTful APIs using Swagger v2.0. It provides an overview of Swagger and how it can be used to automatically generate client code for APIs in multiple languages like Android and iOS. It also discusses some common issues with code generation and outlines Outware's approach to address these issues, including customizing the code generation, publishing clients as dependencies, and maintaining consistency across platforms.
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.
Iterative Development with Swagger on the JDKSwagger API
Iterative Development with Swagger on the JDK allows for generating clients and servers from a single Swagger specification file. It supports generating code for many programming languages and frameworks. The Swagger-Inflector tool aims to improve this process by making the specification the single source of truth, and by automatically generating endpoint implementations and sample responses to reduce boilerplate code. It uses JAX-RS 2.0 and Jersey 2.6 and allows developers to focus on business logic rather than plumbing code. The project is currently in preview stage and aims to become a fully supported part of the Swagger tools.
Learn what is coming with the first major revision to the world’s most successful API framework. Tony Tam, the founder of Swagger, discusses the new workflows, tooling, and a more descriptive specification that Swagger 2.0 brings.
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.
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.
The document discusses Swagger, which is a specification and set of tools for describing and documenting REST APIs. It describes Swagger as both an API documentation framework and a specification that can help produce, consume, and visualize APIs. The document outlines different options for creating Swagger documentation, such as generating JSON from code annotations, manually writing JSON, or generating documentation at runtime from annotations. It also provides an overview of several Swagger tools and components and discusses when Swagger may or may not be suitable for a given situation.
Understanding how to use Swagger and its toolsSwagger API
Swagger is a toolset for designing, building, documenting, and using RESTful APIs. It includes tools like swagger-editor for designing APIs, swagger-ui for documenting and testing APIs, and swagger-codegen for building servers and clients from API definitions. The tools support the API lifecycle from design through documentation, testing, building, and operation. Integration workflows allow using multiple Swagger tools together such as designing an API with swagger-editor and generating servers and clients with swagger-codegen.
This document discusses consuming RESTful APIs using Swagger v2.0. It provides an overview of Swagger and how it can be used to automatically generate client code for APIs in multiple languages like Android and iOS. It also discusses some common issues with code generation and outlines Outware's approach to address these issues, including customizing the code generation, publishing clients as dependencies, and maintaining consistency across platforms.
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.
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.
Crystal clear service interfaces w/ Swagger/OpenAPIScott Triglia
Learn how to better communicate between Python services. We'll use simple-to-follow examples and go from a service with undocumented endpoints to one which has full docs and validation on requests. Learn how to use Swagger tooling for python, including the bravado (client) and pyramid_swagger (server) libraries. In the end, you'll (hopefully!) find nirvana and make the machines do all the hard work for you.
Document your rest api using swagger - Devoxx 2015johannes_fiala
This session will show you how you can easily document your REST API's using Spring & Swagger.
It will show you how to use the Swagger-Spring integration in a Spring Boot application:
Setup a basic REST API using Spring-Boot together with Swagger-Springfox
Access and test the REST-API using the Swagger-UI client
Generate client code stubs for your language (e.g. Java, PHP, Python, ...) using Swagger-Codegen
Graphically display your REST-API using the Chrome plugin Swagger.ed
Devoxx Belgium Nov. 2015
Swagger is a simple yet powerful representation of your RESTful API. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability.
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.
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.
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 an open source software framework backed by
a large ecosystem of tools that helps developers
design, build, document and consume RESTful Web
services.
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 a description standard of REST API. I will show you features of Swagger UI, and how to make it out with grape and grape-swagger. At the end introduces PostgREST and emphasizes DRY principle.
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.
This talk started with a quick description of APIs and the importance of good documentation. We then introduced Swagger, talked about how/why it helps in solving this process. Finally, we talked about a number of Node.js tools we've built to help make API design, API development and better overall APIs using Node.js and Swagger.
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
API Developer Experience: Why it Matters, and How Documenting Your API with S...SmartBear
Whether you’re new to Swagger, or have already been using the framework for API design, there’s a good chance you still have questions about how to improve your API documentation. Creating API documentation your consumers will love can take some work, but the investment will have a significant payoff in the form of a great developer experience, easier implementation, and improved adoption of your API.
This presentation covers good developer experience in detail, focusing on why and how to provide an optimal experience for developers using your API. We will also cover how Swagger has changed the API design and documentation landscape, and finally show some good practices for API documentation using Swagger in SwaggerHub’s integrated API development platform.
Things to expect in this webinar:
What is Developer Experience (DX)?
What does it mean for an API to have good DX?
API documentation in the context of good DX?
An introduction to the Swagger framework
Designing APIs from a usability perspective using Swagger and SwaggerHub
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.
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.
The document discusses Swagger and Swagger PHP for documenting and testing APIs. It describes Swagger as a specification for describing APIs in a JSON format and includes Swagger UI for presenting APIs in a human-friendly format. Swagger PHP uses annotations to specify API models and methods and can generate Swagger JSON either statically or dynamically. Code examples are provided for generating Swagger documentation from PHP controllers using annotations and the Swagger PHP library.
This document introduces Swagger, an open-source framework for describing, producing, consuming, and visualizing RESTful APIs. It provides a specification for describing APIs in a machine-readable format. Swagger allows automatically generating documentation from code and enabling tooling around REST APIs. The document discusses Swagger specifications, how to list and view API details, integration with various programming languages and frameworks, development and deployment processes, and alternatives to Swagger.
- Just Eat is a leading digital marketplace for takeaway food delivery founded in 2001 operating in 13 markets globally. It has processed up to 2,500 orders per minute at peak times.
- Just Eat migrated to AWS 5 years ago and runs hundreds of EC2 instances at peak dinner times using scheduled scaling, CloudFormation, and other AWS services.
- AWS Lambda was introduced in 2014 and Just Eat started using it for micro tasks like resetting delivery times, publishing SNS messages, and provisioning instance access to reduce infrastructure costs and management compared to running EC2 fleets.
How to generate a rest application - DevFest Vienna 2016johannes_fiala
Demo of Swagger-Codegen CXF server stub generator including coverage of the Swagger-Toolchain (Swagger-UI/Swagger-Editor/Swagger2Markup) and demo of how to customize a language in Swagger-Codegen
@DevFest Vienna 2016
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.
Crystal clear service interfaces w/ Swagger/OpenAPIScott Triglia
Learn how to better communicate between Python services. We'll use simple-to-follow examples and go from a service with undocumented endpoints to one which has full docs and validation on requests. Learn how to use Swagger tooling for python, including the bravado (client) and pyramid_swagger (server) libraries. In the end, you'll (hopefully!) find nirvana and make the machines do all the hard work for you.
Document your rest api using swagger - Devoxx 2015johannes_fiala
This session will show you how you can easily document your REST API's using Spring & Swagger.
It will show you how to use the Swagger-Spring integration in a Spring Boot application:
Setup a basic REST API using Spring-Boot together with Swagger-Springfox
Access and test the REST-API using the Swagger-UI client
Generate client code stubs for your language (e.g. Java, PHP, Python, ...) using Swagger-Codegen
Graphically display your REST-API using the Chrome plugin Swagger.ed
Devoxx Belgium Nov. 2015
Swagger is a simple yet powerful representation of your RESTful API. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability.
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.
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.
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 an open source software framework backed by
a large ecosystem of tools that helps developers
design, build, document and consume RESTful Web
services.
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 a description standard of REST API. I will show you features of Swagger UI, and how to make it out with grape and grape-swagger. At the end introduces PostgREST and emphasizes DRY principle.
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.
This talk started with a quick description of APIs and the importance of good documentation. We then introduced Swagger, talked about how/why it helps in solving this process. Finally, we talked about a number of Node.js tools we've built to help make API design, API development and better overall APIs using Node.js and Swagger.
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
API Developer Experience: Why it Matters, and How Documenting Your API with S...SmartBear
Whether you’re new to Swagger, or have already been using the framework for API design, there’s a good chance you still have questions about how to improve your API documentation. Creating API documentation your consumers will love can take some work, but the investment will have a significant payoff in the form of a great developer experience, easier implementation, and improved adoption of your API.
This presentation covers good developer experience in detail, focusing on why and how to provide an optimal experience for developers using your API. We will also cover how Swagger has changed the API design and documentation landscape, and finally show some good practices for API documentation using Swagger in SwaggerHub’s integrated API development platform.
Things to expect in this webinar:
What is Developer Experience (DX)?
What does it mean for an API to have good DX?
API documentation in the context of good DX?
An introduction to the Swagger framework
Designing APIs from a usability perspective using Swagger and SwaggerHub
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.
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.
The document discusses Swagger and Swagger PHP for documenting and testing APIs. It describes Swagger as a specification for describing APIs in a JSON format and includes Swagger UI for presenting APIs in a human-friendly format. Swagger PHP uses annotations to specify API models and methods and can generate Swagger JSON either statically or dynamically. Code examples are provided for generating Swagger documentation from PHP controllers using annotations and the Swagger PHP library.
This document introduces Swagger, an open-source framework for describing, producing, consuming, and visualizing RESTful APIs. It provides a specification for describing APIs in a machine-readable format. Swagger allows automatically generating documentation from code and enabling tooling around REST APIs. The document discusses Swagger specifications, how to list and view API details, integration with various programming languages and frameworks, development and deployment processes, and alternatives to Swagger.
- Just Eat is a leading digital marketplace for takeaway food delivery founded in 2001 operating in 13 markets globally. It has processed up to 2,500 orders per minute at peak times.
- Just Eat migrated to AWS 5 years ago and runs hundreds of EC2 instances at peak dinner times using scheduled scaling, CloudFormation, and other AWS services.
- AWS Lambda was introduced in 2014 and Just Eat started using it for micro tasks like resetting delivery times, publishing SNS messages, and provisioning instance access to reduce infrastructure costs and management compared to running EC2 fleets.
How to generate a rest application - DevFest Vienna 2016johannes_fiala
Demo of Swagger-Codegen CXF server stub generator including coverage of the Swagger-Toolchain (Swagger-UI/Swagger-Editor/Swagger2Markup) and demo of how to customize a language in Swagger-Codegen
@DevFest Vienna 2016
The Java microservice lib. QBit is a reactive programming lib for building microservices - JSON, HTTP, WebSocket, and REST. QBit uses reactive programming to build elastic REST, and WebSockets based cloud friendly, web services. SOA evolved for mobile and cloud. QBit is a Java first programming model. It uses common Java idioms to do reactive programming.
It focuses on Java 8. It is one of the few of a crowded field of reactive programming libs/frameworks that focuses on Java 8. It is not a lib written in XYZ that has a few Java examples to mark a check off list. It is written in Java and focuses on Java reactive programming using active objects architecture which is a focus on OOP reactive programming with lambdas and is not a pure functional play. It is a Java 8 play on reactive programming.
Services can be stateful, which fits the micro service architecture well. Services will typically own or lease the data instead of using a cache.
CPU Sharded services, each service does a portion of the workload in its own thread to maximize core utilization.
The idea here is you have a large mass of data that you need to do calculations on. You can keep the data in memory (fault it in or just keep in the largest part of the histogram in memory not the long tail). You shard on an argument to the service methods. (This was how I wrote some personalization engine in the recent past).
Worker Pool service, these are for IO where you have to talk to an IO service that is not async (database usually or legacy integration) or even if you just have to do a lot of IO. These services are semi-stateless. They may manage conversational state of many requests but it is transient.
ServiceQueue wraps a Java object and forces methods calls, responses and events to go through high-speed, batching queues.
ServiceBundle uses a collection of ServiceQueues.
ServiceServer uses a ServiceBundle and exposes it to REST/JSON and WebSocket/JSON.
Events are integrated into the system. You can register for an event using an annotation @EventChannel, or you can implement the event channel interface. Event Bus can be replicated. Event busses can be clustered (optional library). There is not one event bus. You can create as many as you like. Currently the event bus works over WebSocket/JSON. You could receive events from non-Java applications.
Find out more at: https://github.com/advantageous/qbit
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUGMarcin Grzejszczak
This document discusses using Spring Cloud Contract to help define contracts between microservices. It notes that without contracts, tests between services can break when implementations change. The document demonstrates coding a sample app to check ages for alcohol purchases, then generating contract stubs using Spring Cloud Contract. It addresses questions like storing contracts in a shared repo, generating stubs without writing scripts using WireMock and RestDocs, and learning more about Spring Cloud Contract.
Spring Cloud Contract And Your Microservice ArchitectureMarcin Grzejszczak
Consumer driven contracts (CDC) are like TDD applied to the API. It’s especially important in the world of microservices. Since it’s driven by consumers, it’s much more user friendly. Of course microservices are really cool, but most people do not take into consideration plenty of potential obstacles that should be tackled. Then instead of frequent, fully automated deploys via a delivery pipeline, you might end up in an asylum due to frequent mental breakdowns caused by production disasters. We will write a system using the CDC approach together with Spring Boot, Spring Cloud Contract verifier. I'll show you how easy it is to write applications that have a consumer driven API and that will allow a developer to speed up the time of writing his better quality software.
Building REST APIs with Spring Boot and Spring CloudKenny Bastani
In this talk I will introduce you to Spring Cloud, a set of tools for building cloud-native JVM applications. We will take a look at some of the common patterns for microservice architectures and how to use Cloud Foundry to deploy multiple microservices to the cloud.
We will also dive into a microservices example project of a cloud-native application built using Spring Boot and Spring Cloud. Using this example project, I'll show you how to use Lattice to spin up a microservice cluster on AWS. We will then explore what a cloud-native application looks like when using self-describing REST APIs that link multiple microservices together.
Consumer Driven Contracts and Your Microservice ArchitectureMarcin Grzejszczak
TDD introduced many improvements into the development process, but in our opinion the biggest impact relates to code design. Looking at the code from the usage perspective (by first writing an acceptance test) allows us to focus on usability rather than concrete implementation. Unfortunately, we usually rest on our laurels not trying to uplift this practice to the architecture level.
This presentation will show you how you can use the Spring Cloud Contract Verifier functionality in order to have a fully automated solution to stub your HTTP / Messaging collaborators. Just by adding proper configuration, you'll surround the microservices you are testing with faked stubs that are tested against their producer, making much more realistic tests.
We will write a system using the CDC approach together with Spring Boot, Spring Cloud and Spring Cloud Contract Verifier. I'll show you how easy it is to write applications that have a consumer-driven API, allowing a developer to speed up the time for writing better quality software.
Microservices Tracing With Spring Cloud and Zipkin @Szczecin JUGMarcin Grzejszczak
The hype related to microservices continues. It’s already common knowledge that creating distributed systems is not easy. It’s high time to show how that complexity can be contained.
Service Discovery and Registry (Zookeeper / Consul / Eureka), easy request sending with client side load balancing (Feign + Ribbon), request proxying with Zuul. Everything is easy with Spring Cloud. Just add a dependency, a couple of lines of configuration and you’re ready to go.
That’s fixing difficulties related to writing code - what about solving the complexity of debugging distributed systems? Log correlation and visualizing latency of parts of the system? Spring Cloud Sleuth with Zipkin to the rescue!
The presentation will consist of some theory but there’ll also be live coding and demos.
This slide is the continuation of Slide One as it explains the concept of Swagger and how to implement Swagger for API Documentation of dotNet Core Web API's. This will also help you on creating understanding based on Swagger.
Jcon 2017 How to use Swagger to develop REST applicationsjohannes_fiala
Demo of the Swagger toolchain (Swagger Editor, Eclipse KaiZen Plugin, Swagger-Codegen server/client generator, Swagger2Markup) all with Apache CXF3 + Spring Boot integration
quantum_leap_angularjs_tools_redefining_development_in_2023.pptxsarah david
Creating dynamic and responsive web applications with AngularJS development. It features significant front-end capability and is supported by numerous AngularJS frameworks, allowing for faster development. Hire AngularJS developers who can deliver high-quality front-end solutions that improve user experiences and expand the functionality of your application.
Codit presents the slide deck of the presentation on Swagger, given by Massimo Crippa (Codit) on Integration Monday.
In this session, Massimo did go through the Swagger specification and some open source tools built on top of Swagger. This included Swagger editors and how they can be used to create our API stubs, the Swashbuckle tool to auto-generate swagger.json, to keep it in sync with the server code and to make it discoverable. Finally he demonstrated the Swagger integration in the API Management space (Azure API Management and Sentinet).
In this session, Massimo will go through the Swagger specification and some open source tools built on top of Swagger. This includes Swagger editors and how they can be used to create our API stubs,
the Swashbuckle tool to auto-generate swagger.json, to keep it in sync with the server code and to make it discoverable. Finally he will demonstrate the Swagger integration in the API Management space (Azure API Management and Sentinet).
The document discusses adding user management functionality to a Node.js application called QAVideos. It involves the following steps:
1. Creating the application using StrongLoop's Loopback framework.
2. Adding Angular support to handle data binding between the client and server.
3. Adding signup and login functionality including signup and success pages, a signup controller, and an authentication service to register new users.
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
The document discusses best practices for building application development release pipelines, including:
- Implementing continuous integration/continuous delivery (CI/CD) practices like committing code frequently and building on every commit.
- Deploying code to running environments for further testing before production.
- Storing all code, including applications, infrastructure, and documentation in code repositories.
- Starting with continuous delivery and gated deployments, then moving to continuous deployment with excellent testing.
- Conducting code reviews to ensure code quality and understandability.
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.
With third party clients connecting to your service you may find that the assumptions or opinions of a typical rails application are not robust enough. We'll run through some key considerations when building an API that will be consumed by a mobile app.
Bringing Server Add-ons to the Cloud and Back AgainAtlassian
Ever wanted to be a fly on the wall in someone else's retrospective? Now you can! Join Jon Mort and Adam Markham from Adaptavist as they walk us through recent lessons learned from their team. Hear how ScriptRunner, Adaptavist's popular Automation add-on moved into the cloud. Learn about the parts they loved as well as challenges and frustrations they faced. This honest and open talk will be easy for any add-on developer to relate to.
Jon Mort, Head of Engineering Research and Development, Adaptavist
Adam Markham, Software Developer, Adaptavist
Go swagger tutorial how to create golang api documentation using go swagger (1)Katy Slemon
1. The document discusses how to create API documentation for Golang APIs using Swagger. It provides step-by-step instructions for setting up a demo project and generating API documentation from code comments.
2. The tutorial demonstrates configuring basic Swagger settings, defining models, and adding Swagger comments to API routes. It also covers generating clients from the Swagger documentation.
3. Creating API documentation with Swagger simplifies the documentation process and allows automatically generating clients for other frameworks from a single source of documentation.
Django is a free and open-source Python web framework used to ease the process of developing web applications. It emphasizes reusability and pluggability of components for rapid development. Django projects include applications that satisfy the project's intentions. The framework uses the MVC architecture where models represent the data, views display the user interface, and controllers link models and views together. This document explained how to install Django, create a project and application, and tested the development server to display "It worked!"
Open API Specifications - formerly swaggerPradeep Kumar
OpenAPI Specifications provide a specification for machine-readable interface files for describing, producing, consuming, and visualizing RESTful Web services. The specification was originally developed by Smartbear and is now maintained by the Linux Foundation. Tools like Swagger Editor, Swagger Codegen, and Swagger UI support the specification by enabling the design, generation, and documentation of RESTful APIs defined by OpenAPI files.
Dev ops on aws deep dive on continuous delivery - TorontoAmazon Web Services
This document provides an overview of continuous delivery and the AWS developer tools that can be used to implement continuous delivery practices. It discusses how software delivery has changed and the need for tools to automate testing and deployment. It then describes AWS CodePipeline for modeling release processes, AWS CodeBuild for building code, AWS CodeDeploy for deploying applications, and how these services can be integrated. The document demonstrates how to build a continuous delivery pipeline using these tools and discusses best practices for testing and deploying applications.
Victor Augusteo gives a presentation on streamlining APIs with Swagger.io. He introduces Swagger and its components for code generation, UI documentation, and editing OpenAPI specification files. Swagger can standardize API development by generating server and client code from specifications. It provides a single source of truth and makes communication between frontend and backend engineers more effective. He demonstrates locally running Swagger Editor to create an API spec and generate a Ruby server stub and Swift client code.
JSNation.com - Azure Static Web Apps (SWA) with Azure DevOpsJuarez Junior
The document advertises a workshop on running static web apps on Azure using DevOps.js. It provides links to resources on how to deploy web assets to cloud storage, create and assign SSL certificates, establish a reverse proxy to call APIs, distribute apps globally, and set up continuous integration and delivery (CI/CD) processes. The document also lists prerequisites like Node.js, VS Code, and Azure extensions needed to complete the workshop.
A progressive web app (PWA) delivers an app-like experience through your mobile phone’s browser but has the same flexibility and gestures as a native application. Because they are powered by mobile browsers, they are not particular to any one device, meaning developers no longer need to write separate code for Android and Apple devices.
Create and Manage APIs with API Connect, Swagger and BluemixDev_Events
Presented by - Raghavan “Rags” Srinivas, Architect, IBM
Enabling other developers and organizations to use your APIs through their own applications and services provides a compelling system for innovation and monetization. The Swagger spec (v2.0), recently donated to the Open API Initiative (OAI), is part of an open source project for better creation and documentation of APIs. Companies are empowering developers via these initiatives to leverage the data and build apps around it. This hands-on session helps you get started with creating APIs for consumption by developers in a well-documented, secure, and easy-to-manage form.
Refining Your API Design - Architecture and Modeling Learning EventLaunchAny
APIs are a conversation that involves everyone, from developers to end-users and even machine-to-machine. Yet, we can miss the mark when designing an API that delivers on the desired outcomes of the end user. In this talk, James discusses the factors that ensure an API delivers value to the end user. He will explore some techniques on refining your API design before it goes live. He will also explore the challenges of microservices and why they may not be what you think they are. Along the way, we will discuss techniques that can accelerate the API design and delivery process.
Event-based APIs are becoming more popular, enabling developers to craft new integrations and solutions that go beyond the original design of an API. Yet, there remains a challenge: how can teams design thoughtful event-based APIs that are long-lasting, evolvable, and discoverable? This talk will dive into the design practices of event-based APIs, including tips for determining which protocol(s) you should select, design patterns we should apply, and anti-patterns should we avoid. We will also look at how AI and tools such as ChatGPT are starting to shape the next generation of APIs.
Delivered on May 10, 2023 for the EDA Summit
Event-based API Patterns and Practices - AsyncAPI Online ConferenceLaunchAny
This document discusses API design patterns for event-based APIs. It begins with an introduction to the author and overview of popular API styles. It then covers several options for asynchronous API design like webhooks, server-sent events, websockets, and streaming protocols. The remainder discusses specific patterns for event payload design including thin notifications, hypermedia links, schema evolution, and separating internal and external events. It emphasizes putting careful design into event formats as they form a contract like an API.
GlueCon 2019: Beyond REST - Moving to Event-Based APIs and StreamingLaunchAny
For more than a decade, web APIs have replaced the previous generation of web services. Throughout this period of growth, most APIs have been restricted to request-response over HTTP. We are now seeing a move back to eventing with the popularity of webhooks. Additionally, streaming is becoming another option for connecting services, apps, and devices. In this talk, we will look at the opportunities that event-based APIs and streaming offer and how our software architecture is evolving to handle these new styles of API interaction.
Austin API Summit 2019 - APIs, Microservices, and Serverless: The Shape of Th...LaunchAny
A look at the growth of APIs, the influence of microservices and serverless, and the new enterprise API platform stack including API profiles, multiple API styles, and data management
APIStrat Keynote: Lessons in Transforming the Enterprise to an API PlatformLaunchAny
This document outlines lessons from transforming an enterprise to an API platform. It discusses 5 key lessons: 1) developing an API strategy, 2) implementing federated API governance, 3) modernizing architecture and delivery, 4) increasing API adoption, and 5) defining platform processes. The goal is to offer a platform that supports internal developers, public app developers, customers, and third-party approved apps through APIs, streams, and events.
Austin API Summit 2018: Are REST APIs Still Relevant Today?LaunchAny
A look at common API styles available today, a look back at historical API styles, and guidance for selecting the right API styles for your organization. Deep-dive of HTTP, mentioned in the presentation, can be found at: http://bit.ly/power-http
GlueCon 2018: Are REST APIs Still Relevant Today?LaunchAny
A look at common API styles available today, a look back at historical API styles, and guidance for selecting the right API styles for your organization. Deep-dive of HTTP, mentioned in the presentation, can be found at: http://bit.ly/power-http
Lessons in Transforming the Enterprise to an API PlatformLaunchAny
A look at lessons from our recent consulting engagements on why and how enterprises are moving from an API program to an API platform as part of their digital transformation. Includes 5 common practices we see across successful enterprises as they move to an API platform. Recording: https://www.youtube.com/watch?v=Km-mCx0Zbgo&feature=youtu.be
APIStrat 2017: API Design in the Age of Bots, IoT, and VoiceLaunchAny
Our API design should be user-first: a reflection of the kinds of capabilities and outcomes our users expect. New devices and software interaction will change the way we design web APIs. Presented at APIStrat 2017
API:World 2016 - Applying Domain Driven Design to APIs and MicroservicesLaunchAny
Presentation from API:World 2016 that answers the following questions:
How are APIs and microservices related?
How do I figure out how to find the right size for my microservices?
And how do I get there if I have a monolithic architecture?
Moving Toward a Modular Enterprise - All About the API Conference 2016LaunchAny
A look at how APIs and microservices are driving the enterprise toward a more modular, connected approach to software development. Also outlines the key transformation steps used by CIOs and CTOs to address digital transformation and achieve a more modular enterprise.
Designing APIs and Microservices Using Domain-Driven DesignLaunchAny
Presented at GlueCon 2016. Applying good software engineering practices, system design, and domain-driven design for your public APIs and microservices
Applying Domain-Driven Design to APIs and Microservices - Austin API MeetupLaunchAny
This document discusses applying domain-driven design principles to API and microservices architecture. It recommends using an outside-in design approach where the data model is separate from the object model and resource model. Domain-driven design helps identify context boundaries, and microservices require renewed focus on system and API design. Modeling the domain entities, relations, states and events defines the resources exposed by each API. This modular design increases composability and the ability to replace services over time.
APIs Are Forever - How to Design Long-Lasting APIsLaunchAny
Teams often struggle with balancing the complexity of legacy applications, limited time, and limited resources when designing APIs. The result is often the release of less-than-ideal API design that meets the immediate needs of the client but misses opportunities for longer-term value. This talk explores systems design and domain-driven design (DDD) for API design thinking and how to apply this technique to your design process to create a clear, well-designed, long-lasting API. Presented at API Strategy and Practice 2015
API Thinking - How to Design APIs Through Systems DesignLaunchAny
A 5 min discussion about how to improve API design by focusing on domain modeling (to identify entities, relationships, transitions, and events) and systems design (to find the context boundaries for our APIs).
Zoom is a comprehensive platform designed to connect individuals and teams efficiently. With its user-friendly interface and powerful features, Zoom has become a go-to solution for virtual communication and collaboration. It offers a range of tools, including virtual meetings, team chat, VoIP phone systems, online whiteboards, and AI companions, to streamline workflows and enhance productivity.
Preparing Non - Technical Founders for Engaging a Tech AgencyISH Technologies
Preparing non-technical founders before engaging a tech agency is crucial for the success of their projects. It starts with clearly defining their vision and goals, conducting thorough market research, and gaining a basic understanding of relevant technologies. Setting realistic expectations and preparing a detailed project brief are essential steps. Founders should select a tech agency with a proven track record and establish clear communication channels. Additionally, addressing legal and contractual considerations and planning for post-launch support are vital to ensure a smooth and successful collaboration. This preparation empowers non-technical founders to effectively communicate their needs and work seamlessly with their chosen tech agency.Visit our site to get more details about this. Contact us today www.ishtechnologies.com.au
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
GraphSummit Paris - The art of the possible with Graph TechnologyNeo4j
Sudhir Hasbe, Chief Product Officer, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Artificia Intellicence and XPath Extension FunctionsOctavian Nadolu
The purpose of this presentation is to provide an overview of how you can use AI from XSLT, XQuery, Schematron, or XML Refactoring operations, the potential benefits of using AI, and some of the challenges we face.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Looking for a reliable mobile app development company in Noida? Look no further than Drona Infotech. We specialize in creating customized apps for your business needs.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Mobile app Development Services | Drona InfotechDrona Infotech
Drona Infotech is one of the Best Mobile App Development Company In Noida Maintenance and ongoing support. mobile app development Services can help you maintain and support your app after it has been launched. This includes fixing bugs, adding new features, and keeping your app up-to-date with the latest
Visit Us For :
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
20. New:
Community-‐Driven
Website
u New
website
underway
–
hMp://swagger.io
– Github
driven
– Pages
have
a
“View
Source
on
Github”
link
– For
the
community,
BY
the
community
– Feel
free
to
contribute
content
21. June
6
Release
u SmartBear
tools
now
have
2.0
support
throughout
u Swagger
JS/UI
– Now
upgrade
older
versions
of
Swagger
2.0
before
processing
– Major
rewrites
of
the
underlying
libraries
of
these
projects
u Core
and
Codegen
– Completely
rewriMen
in
Java
(used
to
be
Scala)
– BeMer
extension
mechanism
to
allow
for
core
customiza>ons
– Codegen
has
new
templates
(Swic,
Perl,
updated
JAX-‐RS)
u Governance
– Crea>ng
an
open
governance
model
for
the
spec
– Will
involve
other
companies
and
individuals
– S>ll
figuring
out
the
exact
model
(before
the
end
of
June)
24. Design
First
API
Lifecycle
u Design
the
API
contract
u Mock
the
API
for
valida>on/collabora>on
u Test
for
compliance/completeness
u Build
the
implementa>on
u Deploy
u Manage
Fast
feedback
loops,
collabora>ve
development
25. Swagger
Support
for
Design-‐First
u Swagger
always
top-‐down
capable
u However,
tooling
focused
on
boMom-‐up
u History
of
fragmented
tool
ecosystem
29. Swagger
Tools:
Documenta>on
Swagger
Editor:
Design
your
API
using
simple
YAML
format,
preview.
Requires
the
Node.js
app.
Swagger
UI:
Display
your
documenta>on
using
sta>c
HTML
and
client-‐side
Javascript.
No
Node.js
required.
33. Op>on
2:
Install
and
Customize
hMps://github.com/swagger-‐api/swagger-‐generator
hMps://github.com/swagger-‐api/swagger-‐editor
34. Editor
Extensions
Swagger
Editor
Callbacks:
Callbacks
for
integra>ng
with
design/deploy
workflows.
Swagger
Editor
Storage:
Backend
support
using
GET
and
PUT
for
retrieving
and
saving
YAML
defini>ons.
35. How
to
Get
Started
with
Swagger
u Use
the
Swagger
Editor
to
view
samples
u In
parallel,
read
the
Swagger
2.0
Spec
to
understand
samples
in-‐depth
u Reverse-‐engineer
exis>ng
API
or
third-‐party
API
into
Swagger
u Publish
using
Swagger-‐UI
u Try
one
of
the
client
code
generators
(some
beMer
than
others)
36. Thanks
Ya’ll
James
Higginbotham
james@launchany.com
hMp://launchany.com
@launchany