Skip to Content
Author's profile photo Siva Satya Prasad Yerra

Designing a Basic Mobile Scenario

In this post, let us look at how to design a mobile application from a sample specification. Along the way, we’ll also discover some key capabilities that a good mobility platform should have to satisfy our simple scenario.

Mobile Application Title: Team Lookup

Functional Requirements:

  1. All employees should be able to view their own basic information (first name, last name, designation, contact details, team name, etc).
  2. All employees should be able to view peers’ basic information.
  3. Managers should be able to view the basic information about their subordinates as well.
  4. Managers (and only managers) should also be able to view their subordinates’ additional information such as leave requests and compensation information.
  5. Managers should be able to approve / reject leave requests from subordinates.
  6. Since our managers are travelling all the time, this application should work reliably even when there is no network coverage.
  7. All transactions done on the mobile device should automatically reflect on the backend systems.
  8. All mobile transactions should be appropriately authenticated and authorized. 

Now, to achieve the above functionality, the first step is to determine the different ‘data entities’ that will be the lifeline of our mobile application. With some thought, we can arrive at the following entities:

  • Employee Basic Information
  • Employee Leave Requests
  • Employee Compensation

The next step is to determine the relationship between these entities. The below figure represents the relationships:

Entities + Cardinality

The number next to the lines indicate the cardinality of the relationship. Each employee can have one piece of compensation information, but multiple leave requests. Multiple employees can be related to multiple other employees (peers / subordinates).

Now, assuming that appropriate BAPIs have been written in the backend system to fetch these details, it would be great if that is all the code that we have to write. But let’s get there a little later. The immediate thing to do now is to determine the logic (rules?) based on which the ‘appropriate’ data should be sent to the appropriate device. How we achieve the implementation of this complex logic is another thing. For now, the business rules are:

  1. Employee’s own Basic Information should be sent to his/her device (own data).
  2. All employee’s Basic Information should be sent to Users whose “Employee ID” is same as the employee’s “Manager ID” (subordinates’ data).
  3. Basic Information should also be sent to all users whose “Manager ID” are the same (peers’ data).
  4. The employee’s Leave Requests and Compensation Information should also be sent whenever an Employee’s Basic Information is sent to a device. However, the following condition applies:
    1. Only when the Basic Information is being sent to the device because of Logic 1 or 2 above.

Trying to implement such business logic by writing hand-written code has the following problems: high implementation cost, high cost of enhancements / maintenance, error prone. Add to this, the effort to test, track and troubleshoot the scenario. Clearly, it is best if a mobile platform can handle all these in a smart and efficient manner. And that is exactly what NetWeaver Mobile can do. It is possible to build all the above functionalities without writing any code whatsoever! In NetWeaver Mobile’s model-based development paradigm, the above business scenario can simply be modeled as depicted below:

Distribution Logic

Once this is done and the model is activated, you can directly create logical receivers and test the complete scenario, end-to-end, in a matter of minutes. 

Also, as mentioned in our scenario, since the managers work outside of office most of the time, it is important that the platform supports offline usage, automatically handles the conflicts arising due to changes to shared data, maintains the changes in the enterprise backend and has in-built mechanisms to authorize and authenticate users from a mobile device. Apparently, all these are supported by the NetWeaver Mobile platform (DOE). Maybe, they are candidates for another blog post.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      Hi Siva,
               Thanks for your blog. really you have done good job
      Author's profile photo Former Member
      Former Member
      i've a similar requirement for changing the sybase mobile sales. Basically what the user can only see the Business Partner(ie, customer) that is belonged
      to the same sales area.
      Can you give a bit more details how to create the dependency rules to achieve it?