Skip to main content
Category

Blog

Photos from ASC 2019

By Blog, Events

ASC 2019 was a fantastic event! Thank you to everyone who came and participated. Great speakers, great interactions between sessions, and, wow, nice location! Vancouver is beautiful.

Here are some of the lasting images of the information-packed 3 days!

Enterprise Software Pioneer IFS Joins the OpenAPI Initiative

By Blog

OpenAPI Initiative is pleased to welcome IFS as a new OpenAPI member! IFS develops and delivers enterprise software for customers around the world who manufacture and distribute goods, build and maintain assets, and manage service-focused operations.  This includes service management, Enterprise Resource Planning (ERP), and Enterprise Asset Management (EAM). The company’s flagship product is IFS Applications which it develops, supplies, and implements both directly and through a global ecosystem of over 400 partners. Founded in 1983, IFS employs over 3,700 people supporting more than 10,000 customers around the world and has projected revenues to be over $700 million in 2019.

“IFS is pleased to join the OpenAPI Initiative. Supporting open source development and governance of the OpenAPI Spec, a vendor neutral description format, will benefit IFS customers by making it easier for them to integrate our software into their business and IT landscape, and enabling them to extend the solution on the ‘outside’ as an alternative to using more intrusive customizations,” said Dan Matthews, IFS Chief Technology Officer. “Come ask our development and support teams how working with the OpenAPI Specification can help your IFS implementation.”

IFS and OpenAPI

IFS supports the OpenAPI Spec (OAS) v3 and has been working with OAS and its predecessor the Swagger Spec for some time. IFS Applications is fully API enabled, with more than 10,000 native RESTFul OData APIs covering the full breadth of functionality. OpenAPI Specs are available for all APIs.

Connect with IFS

Learn more about how IFS enterprise software solutions can help your business today at ifs.com.

Follow IFS on Twitter: @ifs 

Visit the IFS Blog on technology, innovation and creativity: https://blog.ifs.com/

More OpenAPI Resources

ASC why!

By Blog

ASC why!

Do you know why you should come to the API Specifications Conference in Vancouver this October? It’s okay if you are not sure, just ASC!

Many of the challenges we face as developers are related to that interface between the API provider and the API consumer. Using some kind of contract has become the norm, but developing and managing those contracts presents its own unique set of problems and opportunities to explore.

ASC is dedicated to bringing the community together to present and discuss solutions focused on the entire lifecycle of the interface aspect of APIs. We chose the conference name explicitly to convey that this event is not focused exclusively on using OpenAPI descriptions.

The OpenAPI Initiative has never seen OpenAPI as a one-size-fits-all solution. That’s why ASC welcomes participation and content from the communities working on AsyncAPI, gRPC, GraphQL, OData, JSON Schema etc. as well as HTTP APIs. So if you want to learn the broad range of possible solutions, which might be the best fit for the problems your organization faces, just ASC!

Don’t take our word for it? Read about OpenAPI and ASC from thought leaders in the API ecosystem.

Kin Lane – http://apievangelist.com/2019/09/17/i-will-be-at-the-api-specifications-conference-in-vancouver-next-month/

Gareth Jones – https://dzone.com/articles/apis-and-breaking-change-how-implementing-apis-for

  • Kin Lane

To learn more, please see: https://events.linuxfoundation.org/events/asc-2019/

From Bitmovin: Our OpenAPI journey with Standardizing SDKs

By Blog

This blog post was originally written by Sebastian Burgstaller for the Bitmovin blog. Bitmovin is a member of the OpenAPI Initiative.


Don’t miss on out the most comprehensive API event of the year, ASC 2019, coming up Oct 15-17 in Vancouver, BC. Information and registration details here.


As with most technical products, documentation is a critical factor to customer success, that sentiment is made even more true for API driven products, but good documentation is only part of the story. Sure we provide a beautiful dashboard, where it is definitely possible to start an encoding, but we still find that the bulk of encodings processed in our system are started via API calls. Even then, the best API documentation will only get you so far – without an API SDK, you would need to implement all the calls yourself before you would be able to enjoy your first encoded content. That’s why the Bitmovin team always provides detailed documentation in several different programming languages for each API SDK, so any developer can jump-start their first encode in a matter of minutes.

It’s no trivial endeavor to keep documentation and SDKs in sync, especially when new features are added on a weekly basis. We needed a better way to connect the parts, and our search led us to the OpenAPI 3.0 specification. 

Long story short: over the course of the last year, we migrated our existing API Blueprint documentation to the OpenAPI format. This migration details more than 800 endpoints, so a considerable amount of work was necessary, but because of it we are not only able to provide stunning and detailed documentation, we can also generate our API SDKs, so they stay in sync with our full feature set.

Let’s jump into the details of our journey and showcase the other great things we accomplished along the way.

What is OpenAPI?

The OpenAPI specification, formerly known as Swagger specification, defines how to describe and document RESTful web services in a machine-readable way. For us, this is critical, as we want to provide beautiful and easily discoverable documentation to our customers. Over time different specification formats, like RAML or API Blueprint were invented, but the industry converged more and more toward OpenAPI. In 2015 the OpenAPI Initiative was created, which brought the efforts of various companies like Google, Microsoft, IBM and others under one umbrella. This sent a strong signal to the industry that this documentation format was on its way to becoming the de facto standard and could be used with a high degree of confidence. Since then a lot of great tooling has been contributed by different companies and by the community.

A technical background on OpenAPI

An OpenAPI document is either written in JSON or YAML syntax and is structured into the following blocks:

The most important blocks for us are components, which contain all of our models used in HTTP bodies of requests and/or responses, and paths, which contain the list of all endpoints and actions our API provides. A simple example of an OpenAPI document can be found here

So why migrate to OpenAPI?

Better documentation helps engineering teams scale easily and keep up with demanding projects. Here are some of the main reasons Bitmovin decided to migrate to OpenAPI: 

1. Simplified and searchable online documentation

With our new API definition, we were able to explore the documentation-oriented tooling of the OpenAPI ecosystem. This led us to the swagger-ui project which now serves as the basis for our online API reference. Now, our documentation not only lists each endpoint of our products, but it also describes them down to the last detail, including sample requests and sample responses.

We find that most technically minded individuals prefer to learn about new features through testing, that’s why we enable logged in users to send off requests directly from the endpoint documentation. To see how this works, just click on the “Try it out” button and fill in the request details – no need to enter your API key, we already have it configured for you. Don’t have a Bitmovin account? Register today for a free 30 day trial.

When creating documentation it is not only important to provide meaningful, complete and up-to-date information, it is important that all this can be easily discovered and accessed. That’s why we built a powerful full-text search functionality around our API documentation. For example, want to find which endpoints to use to create thumbnails for your encoding? Just search for “thumbnails” in the top search bar and all the resources are listed within the blink of an eye.

2. Multi-Language SDK Code generation

To make it as easy and fun as possible for our customers to work with our products, we are providing API SDKs in seven different languages: Java, JavaScript, Python, Go, PHP, Ruby and C#. Those SDKs are actively supported, but it was always a challenge for us to keep up with the speed of product development. Every new feature added means that it also had to be implemented in those SDK code bases. As this is a time consuming (and error-prone) process, we decided to explore the possibilities of SDK code generation.

The OpenAPI generator is an open source project written in Java that can generate API SDKs for a number of different languages. This is done via a combination of language specific code and a couple of Mustache templates. The generator code defines which keywords are reserved in a specific language or defines the casing of variables and methods. The templates are basically code snippets with placeholders which, combined together with our API definition, will form the API SDK code needed to communicate with the API.

We evaluated the existing generator and found it great for small to medium-sized APIs, but for our use case, it was ultimately too limiting. Let’s take a look at an example: to get the details for a specific AWS S3 input that was created in the API, this endpoint needs to be called:

GET https://api.bitmovin.com/v1/encoding/inputs/s3/{input_id}

After generating the Java SDK with the default generator we would be able to call this endpoint in the following way:

S3Input s3Input = client.getEncodingInputsS3ByInputId(inputId);

As you can see the method gets generated as part of a client object. In fact, this single client object will contain all of our API methods – our whole API surface

One key aspect of our philosophy is that our customers need to be able to configure every detail of their encoding jobs. This power and freedom we provide naturally leads to a larger API surface. Instead of having all these methods in one single API client object, we wanted our SDKs to be structured as similar to our API as possible. They should be easily explorable and make it clear to understand which endpoint would be called at any time:

S3Input s3Input = client.encoding.inputs.s3.get(inputId);

Because of this, we decided to write our own generator logic and templates on top of the generator project. Each slash (/) of the endpoints URL should also be a separator in our SDKs, which means that each resource’s methods are generated in their own small sub-API client object. This ensures that the users of our SDKs won’t get overwhelmed by the number of methods they need to choose from at any given time. It enables the exploratory approach of working with our API we aim for.

When we started out writing our own generator code and templates, we estimated that it would be a relatively trivial task – after all, we just wanted to restructure the code that was already being generated. However, it turned out that the current design of the generator was not encouraging extensions the way we planned them. We still managed to use the generator project as a basis and we were grateful to have it, but we had to invest much more time than expected. After all this work, we felt that a dynamically typed language like JavaScript might be a better fit for an API SDK generator, as it provides natural customization possibilities. Another point we might have underestimated was the effort needed to design the API SDKs as idiomatic as possible for their respective language. Using the SDKs should be fun and feel natural for our customers but at the same time the code needed to be future proof, encouraging additions without breaking changes.

3. Continuous Integration and delivery

Now that we were able to generate the API SDKs, the next step was to automate this process. We were now at a point where we could prototype new API endpoints in our documentation and have an auto-generated and tested SDK ready for use within minutes. During this process, the documentation gets also automatically sanity-checked and a slew of semantic validations is executed.

To be 100% sure that every SDK version is fully functional, we created a suite of dozens of stub HTTP calls that each SDK has to issue and validate in integration tests. If an SDK does not execute a request of the suite or fails to process a response correctly, we immediately stop the delivery process and alert our engineers of the problem. We use Wiremock as a mock server as it turned out to be the perfect tool to integrate into our automated build process. 

The Impact of Adopting OpenAPI for the Engineering Team 

At Bitmovin, the discussions about the design of new endpoints now focus on documentation or generated code. We can even write – not yet functional but compiling – example workflows that show how a new feature will be used in the context of other features. As soon as we are happy with the documentation, we can begin to implement the necessary changes in our backend services. Finally, we are dogfooding our generated SDK by writing end-to-end tests that start (a lot of) real encodings on a nightly basis. All these steps make sure that everything was implemented correctly in the backend services and matches what we defined in our API documentation, a safety we never had before with our old API documentation alone.

What’s Next for Bitmovin’s OpenAPI Journey

We already released 5 out of 7 planned API SDKs to the public. The first one (Java) is available as a stable release and won’t experience any breaking changes from now on. The other SDKs will follow in the near future and we are happy to take ideas and suggestions from you, so we can deliver the best SDKs possible. Every SDK will be released with a set of examples, so you can quickly see how the new SDK can be used.

We are really happy we switched to OpenAPI for our API documentation, as this will save us a lot of time in the future, which we can now invest in feature development. The benefits of guaranteed correct and super fast SDK updates, beautiful and searchable online documentation and rich tooling, and more that we haven’t tapped into yet, all add up to a huge improvement in quality for our customers and us. We are eager to see what we can do next with OpenAPI.

OpenAPI specific links:

SDK repositories:

Introducing ASC, the API Specifications Conference

By Blog

October 15-17th, 2019, Vancouver, Canada

Two years ago, the OpenAPI Initiative took over the reins of APIStrat, the API Strategy Conference that the 3Scale team ran the previous seven years. We hosted APIStrat in Portland in 2017 and Nashville the next year, and attendees of both events raved about what they learned, the conversations they had, and the connections they made in the delightfully friendly API community.

Over the years, APIStrat has delivered a huge amount of value to the API community. However, like all great APIs, conferences also need to evolve to ensure longevity. That’s why today we’re announcing ASC (the API Specifications Conference) — a new event that embodies our vision for that evolution.

There is a growing trend for technical conferences to focus more on specific technologies or techniques, giving conference attendees a wealth of content on their particular area of interest. In recent years, the focus of the API community has gravitated towards the tools and technologies defining, describing, and managing API boundaries. Many of the challenges we face are related to that interface between the API provider and the API consumer. Using some kind of contract has become the norm, but developing and managing those contracts presents its own unique set of problems and opportunities to explore.

ASC is dedicated to bringing the community together to present and discuss solutions focused on the entire lifecycle of the interface aspect of APIs. We chose the conference name explicitly to convey that this event is not focused exclusively on using OpenAPI descriptions.

The OpenAPI Initiative has never seen OpenAPI as a one-size-fits-all solution. That’s why ASC welcomes participation and content from the communities working on AsyncAPI, gRPC, GraphQL, OData, etc. as well as HTTP APIs. This event is designed to allow attendees to share and understand the options that are most suited to the applications they are trying to build.

Be sure to save the date for ASC’19, hosted by the OpenAPI Initiative from October 15-17 in Vancouver, Canada. We hope to see you there!

To be entered in a random drawing to receive a free registration to ASC, please provide us with your email address to keep you apprised of the latest information about the conference. You must complete the form by May 24. Drawing will be held on May 28.

Ably Realtime joins OpenAPI Initiative to share streaming data expertise

By Blog

Ably Realtime, the creators of the cloud-based real time streaming data platform, recently announced its membership of the OpenAPI Initiative (OAI). Ably’s membership in OIA will help users of Ably’s platform participate more easily in the real time data supply chain, while enabling the wider OAI community to benefit from Ably’s expertise and lessons learned from its broad customer base, which spans technology, logistics, sport and more.

Embracing the OpenAPI specification will enable Ably customers to define their data more quickly and make it easier to discover, thanks to the data definitions being machine-readable.

OAI principles augment Ably’s work in three main directions:

1) Simplifying real time data distribution

OpenAPI membership represents the latest step in Ably’s mission to simplify the distribution of streaming data by taking care of everything under the hood, including business-to-business exchange of data and “last mile” delivery to end consumers. This frees organisations to focus on sharing and monetizing their information.

Matthew O’Riordan, CEO at Ably, said: “Joining the OpenAPI Initiative sits perfectly with our ethos of using open protocols and standards. This will make it easier for our customers to define how people consume their data using well-understood specifications, which will ultimately make it more discoverable, usable and valuable to them.”

2) Benefiting the wider developer community

Four years (and 50,000 hours) in the making, Ably’s product was designed with developers in mind. According to Ably’s CEO:

“We want to help people liberate their data by tackling the common challenges they face when trying to distribute it. Our platform already looks after the infrastructure and protocol interoperability, so working with the OAI and incorporating these specifications into our services additionally takes care of the data definition and discovery.”

O’Riordan also revealed the broader significance of Ably’s OAI involvement:

“As our customers use the OpenAPI specifications to define their data, we’ll help them address any issues they encounter, and feed these learnings back into the specs, so the whole community benefits.

“Equally, our in-house team is excited about learning best practices from the OAI community, which we can, in turn, pass on to the community of developers who use Ably.”

Ole Lensmar, chairman of the OAI, added: “The OAI is super-excited to have Ably on board – real-time data delivery is key to providing competitive user experiences to end users and Ably’s recognized leadership and expertise in this area will be of great benefit to both the technical evolution of the OpenAPI Spec and the adoption of the spec for describing real-time APIs across all verticals.”

3) Promoting open innovation in the real time space

Ably’s membership of the OAI dovetails with the launch of the Ably Open Data Streaming Program (ODSP), and the Ably Hub, a central source for data streams. Under the ODSP, anyone producing streams of data can use the Ably Data Stream Exchange (DSX) platform to host and distribute it for free, provided they make it freely available for others to use. These open streams of data will be available via the newly launched Ably Hub, an app-store-like portal where developers can browse and subscribe to real time data feeds.

More information about the Open Data Streaming Program is available on the Ably website at https://go.ably.io/open-data-streaming-program.

To find out more about Ably Realtime, the Data Stream Exchange (DSX) and the Ably Hub, go to https://www.ably.io/dsx.

###

Ably Realtime is a cloud-based realtime data platform. This allows internet-enabled devices — like computers, phones, servers or Internet of Things sensors — to stream data to each other in milliseconds. Uniquely, Ably Realtime’s Data Stream Exchange (DSX) brings enterprise-scale realtime APIs for businesses that need to share data in real time, and for developers building realtime services. This is offered with unrivaled 100% service availability, message delivery guarantees and low latencies globally. Find out more at https://www.ably.io/dsx.

The OpenAPI Initiative’s Technical Steering Committee Releases OASv3.0.2

By Blog

The members of the OpenAPI Initiative Technical Steering Committee have announced the latest release of OpenAPI Specification 3.0.2. Note: This release is a patch release and none of these modifications change the behavior of the spec.

As a patch release, the latest changes were made to improve the specification in terms of readability and accuracy. Please read the release notes on on our GitHub repo here.

If you are interested in getting involved in the development of the spec, join us Thursday’s at 9a.m. Pacific for the public, open meetings of the Technical Steering Committee.

  • Added clarification to case sensitivity of keys in maps.
  • Reworked the Data Type table, removing the Common Name to reduce potential confusion.
  • Clarified the description of the Server Variable Object’s default field.
  • Fixed various examples.
  • Clarified operationId is case sensitive.
  • Clarified the default value of the Parameter Object’s deprecated field is false.
  • Added recommendation to not use the Parameter Object’s allowEmptyValue field as it will be removed in a future version.
  • Fixed the description of the Media Type Object’s schema field.
  • Clarified the description of the Responses Object’s response codes field description.
  • Clarified that the Schema Object’s additionalProperties field has a default value of true.
  • Fixed a small wording issue in the Discriminator Object description.
  • Fixed the Security Scheme Object description to include reference to the use of API Keys in cookies.
  • Fixed the description of the Security Requirement Object.

The Blue Button API Will Be At APIStrat In Nashville Next Week

By Announcement, Blog

APIs are pushing forward the conversation in almost every business sector today, but one of the more important areas we are seeing across the landscape is coming out of the federal government with the Blue Button API out of the Centers for Medicare and Medicaid Services (CMS). We’d like to invite you to Nashville next week to learn more about the API efforts coming out of CMS, and how they are making an impact on healthcare in this country with APIs.

We are please to have Mark Scrimshire (@ekivemark) of NewWave Telecoms and Technologies, who is the Blue Button Innovator and Developer Evangelist for the CMS program. The Centers for Medicare and Medicaid Services (CMS) Blue Button API enables Medicare beneficiaries to connect their Medicare claims data to the applications, services, and research programs they trust through a suite of services, enabling:

– a developer to register a beneficiary-facing application
– a beneficiary to grant an application access to four years of their Part A, B, and D claims data

Providing API access to a platform that has the potential to reach 44 million beneficiaries, or 15 percent of the U.S. population who are enrolled in the Medicare program. Representing a pretty significant shift in how we think about the delivery of healthcare in this country. One of the most significant aspects of the Blue Button API when it comes to the wider API conversation, is their adoption of the HL7 FHIR standard in conjunction with OAuth 2.0 to provide access to the platform, setting the stage for a conversation around arguably the most important API definition available across the API sector today.

Join us Tuesday, September 25, at 10:00 AM, for a keynote from Mark Scrimshire about the Blue Button API, sharing the story of some of the successes and challenges with standing up the API platform. Mr. Scrimshire is just one of the can’t miss talks going on in Nashville next week. There are still tickets left, so make sure you get yours today, and do not miss out on the API conversation that is going on at APIStrat this year.

The Top Reasons to Attend the API Conference of the Year

By Blog

The API Strategy & Practice Conference, known as APIStrat, is a conference focused on the API economy, and brings together experts, leaders, and members of the community to discuss what we each see on the ground every day. Happening September 24 – 26 in Nashville, Tennessee this is a conference you don’t want to miss.

We wanted to bring you the top reasons why we think you should attend the event. AND if you register today (September 14), you will save an addition $200 off of the conference. Don’t wait!

Here are the top reasons you’ll want to be at this event:

 

  1. New Trends and Innovation in the API Space and Beyond: Along with learning the latest trends in the API space, you will also hear from speakers providing an expanded perspective of the technology world we live in today, including keynotes Virginia Eubanks, Associate Professor of Political Science at the University at Albany, SUNY discussing Automating Inequality: How High-Tech Tools Profile, Police and Punish the Poor and Kate O’Neill, author of Pixels and Place and lead at KO Insights, discussing Tech Humanism: Integration, Automation, and the Future of the Human Experience.
  2. Learn about best practices in the API space: The conference will uncover best practices when it comes to APIs as products, API portals, API design, and API usability. A few keynotes and talks include transforming the enterprise to an API platform; microservicing like a unicorn with Envoy, Istio and Kubernetes; and Evolving API: designing while requirements are still in flux. Come to the event and take away ideas that you can use right away!
  3. Nashville, Tennessee: The music city of America has a lot of amazing things to do, see, and eat! There’s the classics like the Grand Ole Opry, Country Music Hall of Fame and The Station Inn for bluegrass music. Of course, there’s also plenty of fun walking tours if you are into food, drink, music, history and ghosts (every town has to have one)! Nashville is definitely a city on most folks bucket list, so get it checked off and attend an awesome conference too. And maybe you’ll even discover a rising star if you hit The Listening Room Cafe.
  4. Hands-on workshops: If you are the type of person who learns by doing, there are a lot of amazing hands-on workshops that you can join from practical SecDevOps for APIs to turning external services into internal APIs. Whether you are an experienced API practitioner or just getting started, there’s a workshop for you.
  5. Social Activities and Networking: One of the top choices to attend this event or any Linux Foundation event are the social activities that are provided to you, like our fun run (you can walk or jog too). Plus, this is a great place to network with your peers, many rate the hallway tracks at APIStrat as one of the top reasons to attend year after year.
  6. Diversity and Inclusion: We want to make sure everyone feels welcome and safe at our conferences. We offer special items like a quiet room if you need a physical space where conversation and interaction is not allowed, a nursing room and child care as well as special communication stickers, and other features to make this event as accessible as possible.
  7. OAS workshop: Among the awesome workshops that we have, we are also hosting a pair of unique OAS workshops. The beginner workshop is a hands-on introduction to the OpenAPI Specification 3.0. Directly following the intro session will be the OAS advanced users’ workshop and will conclude with what features are on the horizon. Attendees of these workshops will leave with a working knowledge of OASv3 which has become the defacto standard for describing APIs.

See the full lineup of speakers here and the register here.

Advanced OpenAPI Specification Technical Overview/Workshop at APIStrat 2018

By Blog

Please join us for an advanced hands-on workshop on OpenAPI 3.0. Be sure to bring your own laptop to participate. This will be an OpenAPI Specification Technical Overview/Workshop.

A hands-on training session with more advanced features and 3.0 specific features, suitable for developers who already know v2 and want to know what’s new in the current version. Ends with a preview of the future release.

You will learn about:

  1. Schema Objects
  2. External References
  3. Form Data
  4. Links and Callbacks
  5. Security Schemes
  6. XmlExample
Ron Ratovsky
Swagger Developer Evangelist, SmartBear
Ron is the technical liason for the OpenAPI Initiative's Technical Steering Committee
Ted Epstein
RepreZen CEO
Ted Epstein, CEO of RepreZen, has been helping organizations succeed with API strategy and architecture for over 10 years. Ted participates in the OpenAPI Technical Design Community as a governing board member, and leads the architecture of RAPID-ML, the first API description language to bring the power of Domain-Driven Design to REST APIs. Ted is co-organizer of the API-Craft NYC Meetup and speaks at conferences including QCon, EclipseCon, APIStrat, API-Craft, and Data Modeling Zone.
Emmanuel Paraskakis
Sr. Director of Product Management, Oracle API Platform
Emmanuel has been working on delivering APIs for customers for over a decade and is a passionate member of the API Community. The last three years he has been crafting API tooling as part of Apiary, recently acquired by Oracle. Currently, he is heading up Product Management for Oracle’s API Platform, a full lifecycle suite of products for API Providers and Consumers. He is also the organizer for the API Craft San Francisco Meetup Group with over 1,000 members.