What Do You Use to Design and Manage APIs?
Swagger is the technical solution mentioned most frequently with most respondents designing, building, and managing their own APIs.
Join the DZone community and get the full member experience.Join For Free
To gather insights on the state of integration, API design, and API management, we spoke with 19 executives who are familiar with integration and APIs and asked them, "What are the technical solutions you use to design and manage APIs?"
Here's what they told us:
Built Your Own
- Well, first off, there’s the language we write in, Clojure! It lets us write concise, robust APIs and microservices in LISP, which run on (and can interoperate with) the JVM. Clojure is full of great ideas like immutability and code-as-data that inform a lot of our other architectural choices. We generally design APIs by declarative specification, as Clojure offers several excellent libraries to do this (e.g., Pedestal, Compojure). Whenever possible we like to make them self-documenting with Swagger, this really eases the process of outbound integration. Inside of our API boundaries we’re getting a lot of leverage out of persistent streams (e.g., Kafka and Amazon Kinesis), which allow us to perform real-time joins and persistent queries with ease.
- We use APIs to expose the tablets and fields in SAP without knowing SAP. We enable with connectivity and templates. We simplify for the citizen integrator. We look at the whole world as an API call out and connect and create to be consumed internally or externally. Creating APIs or microservices. Externally exposing to distributors, suppliers, or someone else who needs our data to run their business better. A secure gateway with integration.
- We strictly apply the REST principles in designing the API for all our products and services. JSON for data exchange format and OAUTH for authentication are standard across our APIs. We use POSTMAN to test our APIs, by acting both as a client and interceptor. We also use tools to automate the documentation for our APIs.
- Spark web-based UX filters and patterns.
- 1) B2B integration: Our cloud supports B2B integration natively. A broad range of MFT connectivity and canonical models, data formats and B2B exchange libraries are included. B2B data transformation libraries support a wide variety of protocols and industry-standard data formats. Protocols supported are AS2, AS3, ebMS 2.0 (ebXML Messaging Service), fasp™, FTP, FTPs, SSH FTP, HTTP, HTTPs, IBM® WebSphere® MQ, MLLP, OFTP, OFTP2, RNIF, SMTP, SMTPs and Web Services. Data formats supported are unstructured (Word, Excel, PPT, PDF, Star Office, AFP, PostScript, PCL, HTML), flat files (positional, nonpositional, variant files and undocumented binaries) and industry standard data formats including XML, EDIFACT, X12, HIPAA, HL7 v.2, HL7 v3, HIX, NCPDP, ACORD, ACORD XML, BAI, DTCC, IFX, FIX, FpML, NACHA, SEPA, SWIFT, ASN.1, Bloomberg, Thompson Reuters, MISMO, ISO 20022, RosettaNet, Tradeacoms, ODETTE, OAGI, OAGIS XML, TWIST, JSON. 2) Process integration: Cloud Real Time supports process integration and automation scenarios. The runtime supports WS-BPEL 2.0, WS-HumanTask 1.0 and BPEL4PEOPLE 1.0, Business Rules. Process Designer offers a simple and elegant way to support most service and process integration scenarios, including orchestration, long-living business processes, and human workflow. It includes full support for modeling, testing, and simulation. Informatica Cloud Real Time provides important process governance capabilities like support for continuous operation, configurable process persistence, registration, policy assertions, auditing, logging and exception management. 3) Composite applications: Screenflow technology is a tailored solution to extend an existing cloud application (i.e. SaaS), allowing composition of multiple services. Specifically, Screenflow targets use cases simplifying repeatable human-centric processes within SaaS solutions. For example, streamlining order process within Salesforce, taking a salesperson through guided steps and thus eliminating errors, improving productivity and delivering clean data. Screenflow also exposes the composed services/processes to mobile devices - tablets and smartphones. We also offer UI widgets and Wizards that can be embedded directly into a custom application or SaaS application. We do not expose its PaaS development capabilities to build full-fledged portals or composite apps from the ground up. 4) Integration of mobile apps: Mobile applications can be integrated with REST APIs that can be created, orchestrated and consumed with our Cloud Designer and executed in real time. Additionally, Cloud Screenflow technology can be leveraged to develop integration/orchestration widgets that can be embedded within the mobile application. The widgets’ stylesheets and other UI properties can be customized per user's requirements.
What other solutions have you observed being used for integration, API design, or API management?
Here’s who we talked to:
- Murali Palanisamy, E.V.P., Chief Product Officer, AppViewX
- Kevin Fealey, Director of Automation and Integration Services, Aspect Security
- Max Mancini, VP of Ecosystem, Atlassian
- Shawn Ryan, V.P. Product Marketing, Digital as a Service, Axway
- Parthiv Patel, Technical Marketing Manager, Built.io
- Chaitanya Gupta, CTO, Flock
- Anwesa Chatterjee, Director of Product Marketing, Informatica Cloud
- Simon Peel, CMO, Jitterbit
- Keoki Andrus, VP of Products and Steve Bunch, Product Manager APIs and Integrations, Jive
- Rajesh Ganesan, Director of Product Management, ManageEngine
- Brooks Crichlow, Vice President, Product Marketing, MongoDB
- Derek Smith, CEO, Naveego
- Guillaume Lo Re, Senior Software Engineer, Netvibes
- Vikas Anand, V.P. Product Management and Strategy – Integration, Oracle
- Keshav Vasudevan, Product Marketing Manager, SmartBear
- Kevin Bohan, Director of Product Marketing, TIBCO
- Pete Chestna, Director of Developer Engagement, Veracode
- Milt Reder, V.P. of Engineering, Yet Analytics
Opinions expressed by DZone contributors are their own.