2015/08/17
17 Aug, 2015

[Article] Application Life-Cycle Management with WSO2 App Manager

  • Susankha Nirmala
  • Software Engineer - WSO2

Applies To

WSO2 App Manager Version 1.0.0
Java 1.7.0

Table of contents

  1. Introduction to WSO2 App Manager
  2. Introduction to app lifecycle management
  3. Conclusion

Introduction to WSO2 App Manager

WSO2 App Manager is a solution that provides app governance in an organization. Organizations that need to provide centralized access to multiple Web and mobile applications can use WSO2 App Manager to manage user access for all your day-to-day Web and mobile apps in one spot. Developers and publishers can publish the non-secured apps in WSO2 App Manager and the app manager will take care of the security, throttling, stats, etc. The end user can see the published apps in the centralized store and subscribe to them. Businesses can leverage its single-sign-on (SSO) functionality, which can reduce help desk and administrative costs with no long lists of passwords to memorize. WSO2 APP Manager comprises the following key components:

App Publisher - enables the end-user to easily publish their apps, share documentation, and gather feedback on the quality and usage of apps. App Publisher is powered by Jaggery, WSO2 Governance Registry, and WSO2 Identity Server.

App Store - enables the end-user to easily access web applications to self-register, discover apps, subscribe to apps, and evaluate them. The App Store is powered by Jaggery, WSO2 Governance Registry and WSO2 Identity Server.

Web App Gateway - The Web App Gateway is responsible for securing, protecting, managing, and scaling app calls. The App Gateway is a simple app proxy that intercepts app requests and applies policies, such as throttling and security checks. It is also instrumental in gathering app usage statistics. A set of handlers are used for security validation and throttling purposes in the App Gateway. Upon validation, it passes web service calls to the actual back-end. In the App publishing process, you can see following roles and permissions assigned to them.

App Developer - the person who create the app and understands the technical aspects of the app.

App Publisher - the person who manage a set of apps and controls the app lifecycle.

App User - the person who uses the app store and subscribes to the apps and uses it.

Administrator (this is only when workflow is enabled; otherwise a publisher can do this).

Introduction to App Lifecycle Management

During the application approval process, you can change the application state from one to another state according to the action taken. You can take the following actions in the application approval process.

Action Definition Resultant State
Submit Creator submits newly created apps to be reviewed In-Review
Approve The reviewer approves apps that pass the review process Approved
Reject The reviewer rejects apps that fail the review process Rejected
Publish The publisher publishes approved apps. All published apps are visible in the App Store Published
Unpublish The publisher un-publishes apps if required. Unpublished apps are temporarily removed from the App Store Unpublished
Depreciate The publisher deprecates apps. All deprecated apps are automatically removed from the Store Deprecated
Retire The publisher retires apps. Retired apps are not supported by App Manager in the future. In such instances, all retired apps are automatically removed from the Store, to stop all new installations Retired

According to the actions mentioned it the above table, the app lifecycle may change as illustrated in Figure 1.

Figure 1

The actions are those of users, depending on the permissions assigned to the specific user.
The Administrator is the person who can review the apps and approve or reject them.

Now let’s look at each of the app lifecycle states and see how these change to another state.

  • First, download WSO2 App Manager here.
  • Start the app manager by following the steps listed here.
  • Login to the server using the following URL and provide a username/password.

    https://localhost:9763/publisher

Figure 2

Create an app and submit to review
Create a new app like the one shown in the screenshot below.

Figure 3

After creating the app, it will be in the CREATED state; then Click on the “Submit for Review” action.

Figure 4

Thereafter, you will see the app in the IN-REVIEW state.

Figure 5

Then Admin can login to the server and can approve or reject the app.

Figure 6

If Admin rejects the app due to some issues, the state of the app will change to REJECTED.

Figure 7

Then the user can edit the app and click on the “submit for review” and then the state of the app will change to IN-REVIEW state.

Figure 8

Then Admin will approve the app and the state of app will change to APPROVED.

Figure 9

Then Publisher will publish the app and that state of the app will change to PUBLISHED

Figure 10

Publisher can unpublish too and the state of the app will change to UNPUBLISHED.

Figure 11

Publisher can also deprecate the app and then the app state will change to DEPRECATED.

Figure 12

Publisher also can retire the app and then the app state will change to RETIRED.

Figure 13

That’s how the different stages of the app will change according to the action taken by the developer/user/publisher/admin.

Conclusions

As explained above, WSO2 App Manager can be leveraged by organizations that need to provide centralized access to multiple Web and mobile applications; this will provide enterprises with a one-stop solution to manage user access for all its day-to-day Web and mobile apps. Here we explained the lifecycle stages, the users who have permission to take certain actions according to what has been assigned to them, and how the state of the app will change based on the action taken. WSO2 App Manager’s lifecycle management enables enterprises to govern the quality of apps, maintain a draft version until the app is ready to be reviewed, avoid accidental editing of apps, and to efficiently retire apps that are not required.

References

https://docs.wso2.com/display/APPM100/WSO2+App+Manager+Documentation

 

About Author

  • Susankha Nirmala
  • Software Engineer
  • Wso2