## 4.1.6.1.2.1  Technical Communication with Tightly Coupled Developments
When a business application and a service are developed for the same subaccount, the two developments are tightly coupled together. The service is designed to be used with this particular application.
## Context
In this example, the call between the application and the service uses technical communication instead of the current user. The figure that follows illustrates this scenario.
##  Note
With service, we do not mean a development that has been registered as a service with the Cloud Controller, but rather the role one application takes in relationship to another. Both developments can be applications, but one application takes on the role of a business application enabling business users to perform tasks. The other application plays the role of a service, enabling the development of the business application.
We also assume that both applications have their own application router. Having separate application routers means that the applications can define their own authorization models.
Two Developments Tightly Coupled Using Technical Communication
<!-- image -->
Like a trust arrangement, you must configure service B to grant the authority to business application A to use the $XSAPPNAME.Create scope. Likewise, you must configure business application A to accept such declarations of authority. This configuration is part of the xs-security.json of the UAA service instances of the two developments.
## Procedure
1. As the service developer, declare the grant of authority to business application A in the scopes section of the xs-security.json for service B.
```
 Sample Code { "xsappname"     : "servb", "tenant-mode"   : "shared", "scopes"        : [ { "name"                 : "$XSAPPNAME.Create", "description"          : "create", "grant-as-authority-to-apps" : ["$XSAPPNAME(application,appa)"] } ] }
```
Under scopes , the scope $XSAPPNAME.Create grants authority to business application A to create data. Here the granted app is business application A and has been given the authorization to create data. When you create the UAA service instance for business application A, the system creates an OAuth client for business application A to call over to service B. When you bind the service, you make business application A aware of the client. In the security descriptor for the UAA service instance of business application A, accept this grant.
<!-- image -->
2. Create the UAA service instance for service B.
For example:
cf create-service xsuaa application servb-uaa -c /servb/security/xssecurity.json
3. As the business application developer, accept the authority of other applications in the authorities section of the xs-security.json in business application A.
```
 Sample Code { "xsappname"     : "appa", "tenant-mode"   : "shared", "authorities":["$ACCEPT_GRANTED_AUTHORITIES"], }
```
In this example, business application A accepts all authorities granted by any other application. You can explicitly define which authorities you want business application to accept. For example:
"authorities":["$XSAPPNAME(application,servb).Create]" .
```
 Note For the sake of this example, we've removed any scopes and role templates for application A. Naturally, we recommend that you protect application A with appropriate scopes and deliver role templates.
```
4. Create the UAA service instance for business application A.
For example:
```
cf create-service xsuaa application appa-uaa -c /appa/security/xs-security.json
```
5. Deploy the developments.
6. As an adminístrator, create a role from the role templates for business application A and assign the role to a user.
In the example, we created here, there are no role template to create roles from.
For more information, see Administration: Managing Authentication and Authorization.
7. As an end user, access business application A.
When you access business application A, business application A accesses service B on your behalf. Because service B granted the "$XSAPPNAME.create scope to business application A, business application A is allowed to access the resource.