Api Led Connectivity

Mule 4 Indepth Api led connectivity and RAML Design
15 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$69.99
List Price:  $99.99
You save:  $30
€67.35
List Price:  €96.21
You save:  €28.86
£55.83
List Price:  £79.77
You save:  £23.93
CA$100.76
List Price:  CA$143.95
You save:  CA$43.19
A$112.23
List Price:  A$160.33
You save:  A$48.10
S$95.14
List Price:  S$135.93
You save:  S$40.78
HK$543.62
List Price:  HK$776.63
You save:  HK$233.01
CHF 63.04
List Price:  CHF 90.06
You save:  CHF 27.02
NOK kr797.48
List Price:  NOK kr1,139.30
You save:  NOK kr341.82
DKK kr502.49
List Price:  DKK kr717.87
You save:  DKK kr215.38
NZ$124.10
List Price:  NZ$177.29
You save:  NZ$53.19
د.إ257.07
List Price:  د.إ367.26
You save:  د.إ110.18
৳8,361.55
List Price:  ৳11,945.58
You save:  ৳3,584.03
₹5,962.79
List Price:  ₹8,518.63
You save:  ₹2,555.84
RM314.04
List Price:  RM448.65
You save:  RM134.61
₦108,335.42
List Price:  ₦154,771.52
You save:  ₦46,436.10
₨19,495.71
List Price:  ₨27,852.21
You save:  ₨8,356.49
฿2,390.81
List Price:  ฿3,415.60
You save:  ฿1,024.78
₺2,467.44
List Price:  ₺3,525.07
You save:  ₺1,057.62
B$434.14
List Price:  B$620.23
You save:  B$186.09
R1,296.68
List Price:  R1,852.48
You save:  R555.80
Лв131.68
List Price:  Лв188.12
You save:  Лв56.44
₩102,198.93
List Price:  ₩146,004.73
You save:  ₩43,805.79
₪256.56
List Price:  ₪366.53
You save:  ₪109.97
₱4,090.81
List Price:  ₱5,844.26
You save:  ₱1,753.45
¥10,994.99
List Price:  ¥15,707.80
You save:  ¥4,712.81
MX$1,408.98
List Price:  MX$2,012.91
You save:  MX$603.93
QR255.09
List Price:  QR364.43
You save:  QR109.34
P967.82
List Price:  P1,382.66
You save:  P414.84
KSh9,046.20
List Price:  KSh12,923.70
You save:  KSh3,877.50
E£3,562.49
List Price:  E£5,089.49
You save:  E£1,527
ብር8,907.19
List Price:  ብር12,725.10
You save:  ብር3,817.91
Kz63,830.88
List Price:  Kz91,190.88
You save:  Kz27,360
CLP$69,323.69
List Price:  CLP$99,038.09
You save:  CLP$29,714.40
CN¥510.80
List Price:  CN¥729.75
You save:  CN¥218.94
RD$4,245.36
List Price:  RD$6,065.06
You save:  RD$1,819.70
DA9,465.07
List Price:  DA13,522.10
You save:  DA4,057.03
FJ$162.39
List Price:  FJ$232
You save:  FJ$69.60
Q539.11
List Price:  Q770.19
You save:  Q231.08
GY$14,638.77
List Price:  GY$20,913.42
You save:  GY$6,274.65
ISK kr9,772.70
List Price:  ISK kr13,961.60
You save:  ISK kr4,188.90
DH703.98
List Price:  DH1,005.73
You save:  DH301.75
L1,291.33
List Price:  L1,844.84
You save:  L553.50
ден4,143.97
List Price:  ден5,920.21
You save:  ден1,776.24
MOP$559.97
List Price:  MOP$800
You save:  MOP$240.02
N$1,289.45
List Price:  N$1,842.15
You save:  N$552.70
C$2,574.80
List Price:  C$3,678.44
You save:  C$1,103.64
रु9,534.71
List Price:  रु13,621.60
You save:  रु4,086.89
S/260.99
List Price:  S/372.86
You save:  S/111.86
K283.85
List Price:  K405.52
You save:  K121.66
SAR262.91
List Price:  SAR375.60
You save:  SAR112.69
ZK1,936.45
List Price:  ZK2,766.47
You save:  ZK830.02
L335.12
List Price:  L478.77
You save:  L143.64
Kč1,694.03
List Price:  Kč2,420.15
You save:  Kč726.12
Ft27,771.44
List Price:  Ft39,675.18
You save:  Ft11,903.74
SEK kr774.38
List Price:  SEK kr1,106.30
You save:  SEK kr331.92
ARS$71,792.58
List Price:  ARS$102,565.23
You save:  ARS$30,772.64
Bs484.55
List Price:  Bs692.24
You save:  Bs207.69
COP$307,165.41
List Price:  COP$438,826.54
You save:  COP$131,661.12
₡35,530.54
List Price:  ₡50,760.09
You save:  ₡15,229.55
L1,777.33
List Price:  L2,539.15
You save:  L761.82
₲546,250
List Price:  ₲780,390.60
You save:  ₲234,140.59
$U3,115.91
List Price:  $U4,451.49
You save:  $U1,335.58
zł287.82
List Price:  zł411.19
You save:  zł123.37
Already have an account? Log In

Transcript

In this video, we are going to understand about what is this API led connectivity. Till now, what we have done is we understood how to create new applications which contains flows and flows contain orchestration logic to orchestrate with multiple services. So, is mule a perfect product for deploying web applications? No right. Basically it mule application we create flows which contain only orchestration logic, but then without a UI, how is this orchestrator flows useful? Right.

So, basically once we create an application which contains all my orchestrated flows and these flows are not for verification What we need to do is we need to expose our application as an API, maybe as a REST API or a soap API. Let's talk about rest API's. Suppose if you are new application is exposing an API. Now a web application can consume your application as an API, get the data from your mule application. And can it can display the UI. Basically, every mule application whatever we write, we have to expose it as an API so that it can be consumed by some other application.

Now, let us focus on what is this API led connectivity? Let me talk about what is this API connectivity with a practical scenario an example. Let's assume that you're developing an application for an e commerce based application company like Amazon and assume that your company is having all the inventory related data in sa p system inventory management is done through an SA p system and let's assume that you are using Salesforce for customer management and all of your order related details let's assume that you're having them in an e commerce app or e commerce based service right. And assume that some of the customer related details are also present in SAP. So customer related details are present in SAP as well as Salesforce, suppose now this is your back end asset, your organization can I say that this SAP says froze and ecommerce based system which is storing moderated data as an asset to your organization.

Yes, let's assume that your organization has these underlying assets. And one of your business unit came up with a business requirement Hey, we want a web application for seeing the order status in order history okay. So, once there is a requirement from your business, then what a team can be formed, which can develop a web application for this. So, traditionally, if you are if you are not following API led connectivity, you end up doing like this. You develop develop a web application where in this application you may write one service to aggregate customer related data. Aggregate customer related data from two systems one from SAP and from Salesforce because they're having Customer related data in both the systems SAP and Salesforce, then your e commerce system is having order related data, then what you might do is you might end up writing one service, let's say order status service which one which needs the data from the e commerce system.

And also when it is showing order status, it might need some customer related data. So your order status service may fetch the customer related data from this aggregated service. And you might end up writing one more service let's say it is order history. Service it can do is clear for us and this also needs to fetch the order related data is from the e commerce system. And of course it needs to get the customer letter data from the service whatever you have written so Your Business business team came up with such a requirement for a web application, which can show our status and our history. And your team has developed such a web application.

That's fine. You might have delivered this project on time and within your budget. But there are there is no reusability in this. What do I mean by reusability. But a second example, maybe down the line, after six months, the business team has come up with one more requirement, hey, we want this order status and order history to be viewed on a mobile app as well. Right.

But now, in this six months, some of the developers who have developed this web application might have left the organization or maybe that busy with some other work. Now what we ended up is again, developing a separate Rate application with similar kind of services, which is captured only for the mobile apps. Right. So basically, there is no reusability is it? I was not able to reuse these aggregations Service, Auto status service order history service, we end up developing a separate new application. Right, this is one thing.

And one more thing here, your services, which are writing in the web application, need to have the credentials of your organizational assets hard coded in their applications, which is not good. Why should we hard code the credentials of our assets? We don't want to do the credentials of our organizational assets to each and every application or the API. So that is one problem. So what is the solution for this That is nothing but API led connectivity. Let me explain you in detail.

Okay, let's assume that this is my SAP system which is having inventory related data as well as customer related data. And this is my Salesforce system which is airing my customer related data and this is your ecommerce application services, ecommerce asset, which has all related data. Now, the best approach is what if the core IT teams in your organization who is not belonging to any of the business units, when I say core IT team, they are not belonging to any of the business unit and they are responsible for managing the organizational aspects. So, if your core IT team can develop one new application Which interacts with SAP system and expose an API. And again, another mule application, which integrates with Salesforce and expose an API, another application which interacts with e commerce system and expose an API. These API's are talking to your underlying systems right?

We can call these API's as system API's which will talk to the underlying systems. Now, these system API's are developed by the core IT team of your organization who are not belonging to any of the business unit. Right. So somebody who is writing these API's, maybe will be hard coding the credentials to talk to these back end systems, only in these API's. Once the system API's have been developed, let's assume that a business team wants to actually develop a web application for the same use case, what are we discussed? Now the business team, what they can do is they can develop an another API, let's say, aggregate customer related data API, aggregate customers by talking to these two system API's.

One is a sap API and Salesforce API. And it exposes customer related data as an another API. Now, the product and the business team can develop one more API, which can actually consume this aggregate customer API and also the order related API from e commerce system. Let's say this is order History API. This exposes an API. And one more API, let's say order status API, which can integrate internally with this ecommerce with API, and it can get the customer to filter data from the aggregated API.

Now, again, each of this is having some business process orchestration, which contain business logic on how to expose order history, order status, and aggregate customers. This contains business process. So we call these API's as process API's. Now, once these API's are developed, let's assume that your business unit, again, is developing a web application. What this web UI can do, it can consume this process API's, they call it a status and order history and can develop them One UI on top of this process API's. So now, tomorrow if there's a requirement for mobile application, a mobile UI, basically.

So what and the team can develop a mobile UI, just by consuming or reusing these API's. So if you're following this API based approach, both mobile app and web app, both are able to reuse the existing API. So, the development effort can be less. So business logic is used in the process. Yes. And also the process API's need not know how to interact with your system with your ecommerce system or sa p systems.

They always whenever they want to get the data from the organizational assets. They this system API's are reused. Is it And let me enhance Actually, let's assume that this process APS are exposed to multiple customers right. So, what you can do is you can expose this process APS to customer one customer to customer three. So customer to customer three customer one all can actually consume these API's and they can build their own applications. But assume that there is a customer new customer for who actually want to consume the same API, but maybe he wants some additional features or maybe additional properties.

So that means customer four wants a different kind of an experience for the same API's. So in such cases, what we do is a best idea. don't expose the process API's to the end customers develop one more layer called as Experience API. And what you do is you write one more API on top of these API's. And you can export this one Experience API to customer one, customer two, customer three, and mean for another customer customer for since he's having a different experience in since the customer for one summer features, along with the existing features. Maybe we can create one more Experience API, which is actually consuming the process API's and maybe some other process API.

And you can give a different experience to customer for. So basically, even in this case, also we are reusing the process API's. So if you are developing your application using this kind of an approach This is called as API led connectivity. So what you do is for each and every requirement, you develop one API, which is nothing but we can call it as a micro service. So you can have multiple micro services in your system. And your application is connecting these API's and forming an application network.

So in this way, we can create multiple application networks using these API's. So this is called as API led connectivity. And this is encouraged by mule soft and assume that if you are deploying each API on cloud up each API based on the requirement, we can scale it individually at scale horizontally or vertically. So if particular API is getting more hits, we can of course scale only that particular API on cloud, right? So it may API led connectivity has a lot of edge. Advantages basically the usability, scalability individually, etc.

So, we will often criticize this API led connectivity. Now you understood what is API led connectivity. In the next video, we are going to design our API's using the design center will understand more about rambles, how to design your API's and later we'll see how to manage your API's. See you in next video.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.