Ask Slashdot: Best API Management System?
An anonymous reader writes: I've landed a summer internship with a software firm that has a library of APIs available to current and potential customers. One of my team's tasks is to make recommendations on how to improve the developer portal, which not only provides a testing sandbox and documentation, but is also a source of sales leads for the company's business units. Mashery was the original choice for this task, but there are some limitations: some types of customers don't need to see all of the API in the library, and different business units have different goals for this developer platform when it comes to sales and marketing. What solutions work best to provide scaleable, customizable access?
and different business units have different goals for this developer platform when it comes to sales and marketing
When you let sales and marketing drive technical decisions, brace for failure.
Years ago I worked for mini-computer maker Data General (a.k.a "Data Who"). One of the things that took down that company was the the engineers, architects and designers built amazing technology that was far ahead of anyone else. Then marketing would come in and say "Fantastic! Great Job! Now we just need you to remove this feature and that feature, because. as it is. this machine out preforms that bigger, older, more expensive system that we are already selling." Look where that company is now.
I'm an American. I love this country and the freedoms that we used to have.
https://tyk.io/
-- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz
Was your job at Dice Holdings, Incorporated, Mr. "Anonymous" Reader?
I wouldn't be so sure of that. If they are as competent at blowjobs as they are at UI design, you'll probably end up with a chunk of your cock bitten off.
Well, obviously any API management system needs a "share" button at the bottom of each screen so you can share your favorite API methods with your friends on Twitter, Facebook and Google+.
The world's burning. Moped Jesus spotted on I50. Details at 11.
On the plus side, you will have a share link available so you can share pictures of your shortened penis with your friends on Facebook, Twitter and Google+
The world's burning. Moped Jesus spotted on I50. Details at 11.
But now I can more easily share links on social media! Just what not a single Slashdot reader was clamoring for all these years.
I've seen a few very good ways of doing this, but recently two products have grabbed my attention. Apigee.com used to have a amazing free service for exploring apis for various sites (like facebook and others that I've had to use). I can't seem to find a good link to it just now. However the product that I use at work for this is Postman (www.getpostman.com)
>> some types of customers don't need to see all of the API in the library
Don't try to go down that road. If you start hiding functions through obscurity, they will pop out anyway (through code samples, forums, reverse engineering, pentesting, etc.) and will only lead to bad things (developers pissed at you for "crappy, incomplete documentation," customers laughing at you for "trying to hide the best stuff," salespeople people yelling at you for not exposing something you've already written but they didn't know they needed until they walked out of a customer meeting, top executives yelling at everyone when a security researcher finds a big flaw in a rarely used function call that everyone forgot about).
Signed,
Dude With 15 Years Experience With Web APIs
(Who Has Had Much Of This Happen To Him Or His Company)
please do my job for me. Thank you.
Escher was the first MC and Giger invented the HR department.
There are a few services that can help you.
Check out APISpark (made by the Restlet team). It lets you publish and manage the API on the web, supports a lot of standards, and also has tools to actually help you create clients and server implementations.
Sounds like you are just looking for a good documentation tool, one that allows people to test the APIs live.
If that's what you want, then you should look at API Blueprint, RAML, and Swagger.
The Web is designed to not need APIs or dedicated documentation. You might have heard of REST - it's a set of constraints on network architecture designs, which are: client-server protocol, layered interface, caching, stateless connections, code-on-demand (e.g. Javascript), and a uniform interface (e.g. HTML). REST is defined by the principal author of HTTP, Roy T. Fielding.
Lots of people call themselves RESTful (Amazon, Twitter) but aren't even close. A RESTful service is pretty much just like a website: You enter at an entry point, then start following hyperlinks and filling out forms to manipulate the state of your client and the server (respectively).
If you have an existing plain-old-HTTP API, you might want to build a hypertext interface on top of it that users can browse and submit documents with. Use a hypermedia data format like JSON-LD, Hydra, or JSON Hyper-schema to expose machine-readable hypertext. HTML is perfectly fine too, and preferable if you want to navigate the API with a Web browser.
See:
http://martinfowler.com/articl...
https://web.archive.org/web/20...
http://www.amazon.com/RESTful-...
Wonder what the public key field is for?
Man pages worked nice to describe the POSIX API and all its extensions. Old fashioned, not sexy, but we target developers, right?
But I have hope it could be seen as bankable by management.
Back in the 80s I built a persistent OO systems with sophisticated ACL. We implemented it by finagling the message dispatch mechanism to make select methods on guarded classes error out instead of doing what they normally did. That was on Objective C so it was fairly easy to get to the dispatch table. Some equivalent of that plus a filter on what objects were returned pretty well did it.
At my old company, we rolled our own system using perl (or python or ruby or whatever you want) and Doxygen and autopod. This made a Javadoc-ish-looking website. Doxygen is pretty powerful in what is generated, based upon the source code decorators. So we nightly generated the HTML from our git and hg repos and threw that html docset into a templating system a web designer made for us. And we were able to make one doc set using only APIs that had certain keywords or @public=true in the comments, and then another website that revealed absolutely everything for the internal developers.
And to be honest it wasn't that hard. Maybe 2 days of scripting to get it done.
"You cannot find out which view is the right one by science in the ordinary sense." - C.S. Lewis on Intelligent Design
If your APIm service does not open APIs it will be very hard to build a developer portal that suit your needs. We work with IBM APIm, all developer portal functions are exposed via APIs and they ship an example in Drupal that you can shred apart and see all the APIs in action