From a Business Analyst- Telescopic View to API
The development/technical folks tell you a few words all day and the words register, echo…
There is more than one way to deal with that
Ignore the echo and start using the words like a pro; beyond that word, you would not have any idea about it.
Explore the basics to get familiarised with the words and make yourself comfortable.
Third, deep dive into the world and become a techie!!
Do not like those words, it annoys you, it is time to change your role.. :-)
I belong to the second category. This blog is for the first /second set of people likes to get comfortable with the techie words.!
One of the highly used words in my previous organization and here, in my 2nd project is APIs/webservices.
My experience with Webserices/API:
Around 5+ yrs, with the team who developed Webservices/API. Now, I am on the other end. Pretty much I have the hands-on experience of both provider and consumer.. Hence, I can give you decent tips to make BA life easier.
Let's start…
Definition:
API: Application Programming Interface
My way of defining them:
Application: Any app ex. Google or an app that you installed in mobile, etc..
Programming: A trained person who writes instructions for a computer
Interface: Who has the information or where is the information?
An API is a set of programming codes. It enables data transmission between one software product and another. A software intermediary that allows two applications to talk to each other.
Why we use them: As in the tech world, the news ones are customized versions of existing ones. Hence it is important and becomes necessary to connect with one or other applications.
Dev World Definition:
Application Programming interfaces make programming easier by abstracting the underlying functionality and exposing only the objects or actions that the developer requires by doing a set of operations that enable programmes to interface with external software components, operating systems, and microservices
Having the entire junk of data that is not required is costly & not effective; The smarter way is to fetch information that is needed and leave the rest where it is. To do that, API helps in.
Example of an API:
When an application on your mobile phone is actioned, the API makes call to the server and requests data.
The server retrieves that data, processes it, performs the necessary actions and sends it to your phone.
The api interprets that data and presents the wanted information in a readable way. This is what an API is - all of this happens via API.
Software Development (A lean project??):
My way of looking into software development is to make life simpler. The problems, that we try to solve through software development are
complications
boring/monotonous
taking a million secs to do something.
Most of the time it is a lean project (eliminating waste/no.of manual steps) and ends up doing a green belt project.
Well, with that philosophy, Questions to be asked based on the team a BA belongs to:
API Provider
API Consumer
Common Questions:
Do we have a Data flow chart?
Data flow Chart: A data-flow diagram is a way of representing a flow of data through a process or a system
Specific Questions:
API Consumer:
Understand the usage of API in the chosen project i.e which applications are talking to each other.
What is API name?
How many APIs are involved?
What do we need from those APIs?
API filed names and the sample output
Mapping API with the functionality that needs to be
For example, the API may have a parameter as Date, but you need to understand what does the Date refers to, expiry date or manufacturing date
Example: In the hotel kitchen you may get a lot. A menu card is a simple guide to narrow down what you are looking for. Similarly, API helps to narrow down the information that is required.
API Developer:
This is still more interesting to work on..
Understand the API requirements with the client.
Decide the parameters that need to be part of API.
API Name: GetMenu():
LocationId:
LocationName:
APIs can be customized and there is no limitation on the no. of APIs that can be developed; it is all limited to the org. goal
API can be created “n” of reasons.. Like someone wants to see only the location name of the particular dish or someone wants to create the history of the menu..
The requirement is of user choice. Based on user requirements, create the parameters and decide the user input and output.
If someone wants the output xl or id or just name or code ..etc.. All can be done.
Example of API names based on the requirements.
The menu that are available in the kitchen
AllMenu():
Only Non_Veg Menu
NonvegMenu():
Only Veg menu
VegMenu():
Deserts
Desserts():
API's can be split at any level! An entire web page data can also be clubbed one API (depending on how huge the data required, it only gonna slow down the application). So, API's are usually split based on entities either feature wise, or a module wise.
Types of API:
Private APIs:
These API are designed for improving solutions and services within an organization.
In-House APIs come with lot of advantages; One being- full control to the API, security risk less.
Accessible only inside the organization. No sharing n caring.. :-)
In-house developers or contractors may use these APIs to integrate a company’s IT systems or applications, build new systems or customer-facing apps leveraging existing systems.
Example: Create an API that gives the list of employees with their details. Use this API across applications like Okta, Summit, Jigsaw, Leave Portal etc..
Public APIs:
External, these APIs are available for any third-party developers.
A public API program increases brand awareness and receives an additional income source when properly executed.
Example: Maps, any payment links etc..
Disadvantage: there might be security issues around these APIs.
Partner APIs:
It is like Pairing and creating APIs. Both owners have to access it.
The common use case for partner APIs is software integration between two parties.
At the same time, it can monitor how the exposed digital assets are used, ensure whether third-party solutions using their APIs provide a decent user experience, and maintain corporate identity in their apps.
Example: ebay APIs
Composite API:
Composite APIs generally combine two or more APIs to craft a sequence of related or interdependent operations.
Composite APIs can be beneficial to address complex or tightly-related API behaviors, and can sometimes improve speed and performance over individual APIs.
Comments
Post a Comment