Understanding PeopleSoft Mobile Agent

This chapter discusses:

Click to jump to top of pageClick to jump to parent topicDisconnected Applications

PeopleSoft Mobile Agent extends the functionality of PeopleSoft Pure Internet Architecture to disconnected mobile devices, enabling users to work with PeopleSoft applications on laptop computers or personal digital assistants (PDAs) while they are disconnected from the internet or local network. PeopleSoft Mobile Agent uses standard internet tools and protocols—web browsers, HTTP, and XML—to access a mobile database containing application definitions and data. Changes that users make while disconnected are distributed across the network when they reconnect.

Disconnected applications enable users to use applications when and where required and to download refreshed data and upload new or updated data when connected. PeopleTools extends support for these disconnected applications with an internet architecture.

The PeopleSoft Mobile Agent extensions to PeopleTools add a disconnected mobile capability to the internet technology base in PeopleSoft Internet Architecture. They leverage the server-centric runtime architecture by integrating flexible data distribution and a high-performance data synchronization capability. This integration enables the same business objects to be used for connected and disconnected applications, providing common data edits and processing logic.

Click to jump to top of pageClick to jump to parent topicPeopleSoft Mobile Agent

This section discusses:

PeopleSoft Mobile Agent provides a mobile, device-resident runtime component for PeopleSoft applications. This small-footprint component supports metadata-driven applications that operate without requiring a live network connection.

The PeopleSoft approach of using metadata to define and drive application behavior is also used for disconnected applications. Distribution of application metadata that is applicable for the user and class of device is handled in the same way as application business data, using a common synchronization protocol and mechanism.

The device-resident PeopleSoft Mobile Agent runtime component supports a common user experience for interacting with business objects that originate from multiple PeopleSoft enterprise applications. All device-resident applications appear in a common menu.

Disconnected PeopleSoft applications are designed to:

Click to jump to top of pageClick to jump to parent topicMobile Page Processing

PeopleTools Mobile Agent generates the mobile page HTML used by the browser and accepts user input from the mobile pages. It dynamically generates the user interface based on application metadata and the current session state. Application configuration for business process-specific requirements is completed by tailoring metadata and synchronizing changed metadata to the device.

PeopleTools Mobile Agent works with a web browser to render the mobile application’s user interface for supported mobile device platforms. In this context, it acts like a lightweight, device-resident web server.

Click to jump to top of pageClick to jump to parent topicMobile Data Storage and Synchronization

PeopleSoft Mobile Agent manages data distribution, persistence, and synchronization. It communicates with the synchronization server through the synchronization gateway, using SyncAPI-formatted (XML) messages over HTTP.

Metadata Distribution

Mobile application metadata is distributed based on personalization and security permissions. Only the metadata for mobile pages that a user is authorized to use is downloaded to the device. Mobile Agent stores metadata in a database for later use. The metadata defines object structure and relationships with the mobile application user interface.

Business Data Distribution

Mobile Agent makes requests to the synchronization server for applicable business data to display on mobile pages. The synchronization server performs relevance filtering using rules that are contained in component interface definitions. It follows references to related objects and makes subsequent requests to the synchronization server to get copies of related objects. Application developers specify data distribution rules as required for the application. For example, in the customer relationship management (CRM) sales domain, an opportunity is related to a company, and a company can be related to many locations. A relevance rule identifying the proper opportunity objects for a user also produces the related company and site objects for those opportunities.

Object Persistence

Application data is stored on the mobile device. PeopleSoft Mobile Agent maintains a queue of new, deleted, and changed data to optimize performance of synchronization operations using a small, embedded database for physical storage of device-resident data.

Data Synchronization

Mobile Agent manages synchronization of data, as well. Synchronization types include:

A synchronization request starts the appropriate type of synchronization session. Synchronization sessions communicate using HTTPS and can accommodate wired or wireless network communications.

Click to jump to top of pageClick to jump to parent topicData Synchronization

This section discusses:

Click to jump to top of pageClick to jump to parent topicData Synchronization

Mobile users access synchronization options in the synchronization group within the applications menu. Users can post transactions to the server, initiate a two-way synchronization, request an application metadata update, view the results of the last synchronization session, or update data-distribution preferences by clicking the appropriate link from the menu. The browser displays progress and results as the synchronization session proceeds.

Data synchronization supports disconnected devices using internet-standard protocols. PeopleTools provides several important functions through its data synchronization mechanism.

Metadata Distribution

A data synchronization session distributes metadata for the appropriate mobile applications to a user device.

Business Data Distribution

Disconnected applications provide instant access to business information. For example, the value of a mobile sales force automation application is providing quick access to contact, company, opportunity, and product information. The challenge with data distribution is putting the correct subset of enterprise information on a mobile device. Too much information doesn’t fit on memory-constrained devices, and too little information results in lost productivity.

Business Data Synchronization

Disconnected applications support the creation and update of business information for people in the field.

Click to jump to top of pageClick to jump to parent topicSynchronization Servers

The synchronization server is a specialized application server that is optimized for concurrent, multi-user synchronization processing. It leverages metadata defining PeopleSoft component interfaces and extends them for use on mobile devices. It provides a device-independent synchronization mechanism using the SyncAPI protocol with the device-resident Mobile Object Manager. Multiple synchronization servers providing different object types can participate in fulfilling requests during a synchronization session. Synchronization requests and messages are routed to and from the appropriate synchronization server by the synchronization gateway.

Business Object Definition with Component Interfaces

Component interfaces define objects and their properties for replication. Any PeopleSoft component interface can be distributed as part of a mobile application by exposing it through a synchronizable component interface. A synchronizable component interface must expose an immutable synchronization ID with a version indicator property.

SyncAPI Synchronization Protocol

SyncAPI specifies the application-level protocol for data that is passed between the mobile device and the application server. It uses a set of verbs to specify actions and serialized object data on which to act. SyncAPI is modeled after two emerging internet standards: SyncML and the Simple Object Access Protocol.

Data Distribution and Filtering

A good mobile application makes relevant information available without distributing the entire enterprise database to a mobile device. The most efficient forms of data distribution communicate net changed objects only. In PeopleTools, definitions and rules for determining the data subset that is specific to the user and class of device (for example, laptop or PDA) are part of the component interface definition. During a synchronization session, data for a refreshed object is communicated to the device only if it has been updated since the last synchronization.

Click to jump to top of pageClick to jump to parent topicSynchronization Gateways

The web-server-based synchronization gateway provides an internet access point for synchronization requests. Data synchronization using internet communication provides more options and adds flexibility. Mobile device-to-synchronization gateway communication is handled with XML-formatted messages over HTTP. Secure Sockets Layer can be used to protect information with encryption as it passes over the internet. In addition, messages contain security credentials to authenticate requests from mobile users. The synchronization gateway provides a routing and forwarding function. Based on object type, it forwards synchronization requests to the appropriate application-server-based synchronization server.

See Also

Mobile Classes

SyncServer Class

Click to jump to top of pageClick to jump to parent topicMobile Application Definition and Configuration

This section discusses:

Click to jump to top of pageClick to jump to parent topicMobile Applications

Mobile applications are defined using PeopleSoft Application Designer. Disconnected applications leverage the base of metadata from their connected counterparts. Developers use Component Interface Designer and Mobile Page Designer to:

Changes to application metadata are distributed to mobile devices when an Update Applications type of synchronization is requested.

Click to jump to top of pageClick to jump to parent topicPeopleSoft Mobile Agent Development

To create mobile pages for display on a laptop or PDA:

  1. Create synchronizable component interfaces.

  2. Create mobile pages based on synchronizable component interfaces.

  3. Register and apply security to the mobile pages and underlying component interfaces.

  4. Test and verify the mobile pages.

See Also

Mobile Classes

Click to jump to top of pageClick to jump to parent topicComponent Interface Creation

A component interface is a PeopleTools definition created in PeopleSoft Application Designer that exposes a component for synchronous access from an external application. PeopleTools component interfaces support data distribution and synchronization. Use PeopleSoft Application Designer to define additional metadata for the component interface definition that is specific to disconnected applications, and to define synchronization-specific data requirements for synchronizable component interfaces.

Required Properties

Each record that is exposed on a synchronizable component interface requires an immutable identifier (synchronization ID) and version identifier (synchronization date and time stamp). An immutable synchronization ID is required for each object because changes to traditional key values might result in orphaned objects during synchronization. The version identifier is used for data validation and conflict detection.

Object Relationship Definition

Object relationships are specified in the form of component interface properties holding key values for a related object’s component interface. Explicit relationship definition supports the automatic distribution of related objects during synchronization.

Data Distribution Filters

Object instance filtering for a specific user and class of device is specified in the component interface OnSelect event. Developers specify the rules that are generally applicable for the type of object, considering the memory constraints of various devices. Developers complete the final configuration of data filtering rules during implementation.

Conflict Resolution Rules

The synchronization server supports both declarative and programmatic conflict resolution rules. Declarative rules are specified as part of the component interface definition and optional programmatic rules in PeopleCode. Declarative rules should be sufficient in most cases. Current declarative rules are server-resident object wins, device-resident object wins, or server and device object property merge. An example of conflict resolution that is implemented in PeopleCode is making a determination based on the updating user’s role or position in an organizational hierarchy.

See Also

Developing the Component Interface

Click to jump to top of pageClick to jump to parent topicMobile Page Creation

Developers define mobile application user interfaces using PeopleSoft Application Designer. Mobile application component interfaces and mobile pages are closely linked; all mobile pages are defined in terms of the component interface properties that they expose.

PeopleTools uses inheritance to simplify user-interface metadata for mobile device types. A set of default metadata values is specified that applies to all types of mobile devices. These defaults are inherited for device-type-specific metadata, unless they are overridden.

See Also

Understanding Mobile Pages and Classes