As you may already have heard, we have just launched SAP Mobile Platform 3.0 SP4. We are providing a series of blogs describing the latest features in this service pack. Gerhard Henig has already posted a high level overview here. You can also check out other blogs already published including SAP Mobile SDK SP05 and SAP Mobile Platform Server 3.0 SP4. Stay tuned to this channel for more details on the latest features in SMP 3.0 SP4.
In this blog, l (with help from Karl Stevens) will be going through the latest Agentry features released as part of the SAP Mobile Platform 3.0 SP4.
Multiple Agentry Applications per SMP Instance
We have enhanced Agentry with multi-application support. This new functionality will enable a user to deploy multiple Agentry applications to the SMP3 server starting from SMP3 SP04.
Using the Admin UI, our Agentry administrators will be able to:
- Deploy multiple Agentry applications to the SMP3 server
- View all applications including multiple Agentry applications.
- Create both Development and Production applications.
- Configure and change settings for each application without affecting any other application deployed to the server.
- View logs on an application basis
- User will be able to view logs from one application without problems from a second application.
- User will be able to easily determine which logs belong to which application.
Changes to the Admin UI
- Changes made to each Agentry application will be persisted to its own configuration files.
- Server settings are moved to the “Agentry Sever Settings” page
- This is independent of any Agentry application.
- No server-wide settings (e.g. settings that would come from data tables of the AgentryServer.ini) will appear in the applications settings page.
- Each Agentry application will have a separate space for its assets including configuration files, application
files, script files, etc.
- There will be a separate directory for each application in the Server configuration directory (Server\configuration), named as com.sap.mobile.platform.server.agentry.application.<appid>, where <appid> is the application ID as configured in the Admin UI.
- Each Agentry application will function independently. There will be unique URL to access every application loaded by Agentry Server, for instance:
- The server will load all deployed Agentry applications at startup.
From the client’s perspective, nothing will be changed. Your users will have the ability to connect and run any one of the applications loaded by an SMP3 server.
Your users will only need to use the application urlPath
- Configured in Application settings
- By default the urlPath will be equal to the application name.
Support for OData Back-end
We have heard a lot of requests to support an OData Back-end, so Agentry now supports accessing an OData back-end service for consuming data from SAP.
- Ability to setup and connect to multiple OData data sources via the Admin UI
- Full CRUD support
- Dynamic URL handling
- Filtering capabilities for fetches and read steps
- Key property for updates and deletes
- Support for all OData HTTP verbs
- GET, POST, PUT/MERGE and DELETE
- Ability for OData and HTTP back-ends to co-exist
- Connector Studio Object Wizard Integration
Support for CSI Authentication
We have also added support for CSI Authentication. The CSI tool enables users to debug authentication failures and validate your security configuration with applications outside of SAP.
With enhancements to Agentry, third parties can develop a custom module for retrieving credentials that will be provided to the SMP server from the Agentry client. The module will then provide the Agentry Client with the credentials in the form of an X509 client certificate, which will be returned in response to an X509/SSL client certificate challenge from the server. The use of X.509 certificates in combination with a password qualifies as 2-factor authentication, although 2FA can take many other forms (security tokens, biometrics, etc.).
Agentry E2E Tracing: Client Solution Design
With the addition of end-to-end tracing, our users can enable tracing from an Agentry client (iOS, Android, WPF)
- Transmits (including background transmits) will be traced and sent to Solution Manager via the SMP server in a business transaction xml string (BTX)
- An Admin will be able to use Solution Manager to analyze the BTX to determine where performance issues are occurring
The client UIs for Agentry have interfaces via the About dialog model controller that allow it to set log level and whether tracing should be active in the next connection. These will in turn communicate this information to the ClientAppManager, which will use the standard implementation to actually start and stop the traces.
- Each Trace corresponds 1:1 with a connection from the client to the server (will have a unique Context ID for all its passports in E2E parlance).
- Each Trace Request on the Trace corresponds 1:1 with a Transmit Message or Step on the client (will have a unique Transaction ID for its passport in E2E parlance).
Each SAP Passport (or just passport) is a piece of data encoded into a string that indicates that tracing is enabled and active, at which level is tracing being
done, the trace context id, the trace request transaction id, etc … Each passport is sent to the server inside its corresponding Agentry message. This data will later be used in Solution Manager to assemble the entire trace log.
The user will be able to change the enabled-ness of tracing and the trace level from the About dialog in the client. Both settings are selected from a single UI
interface that provides four states: off, low, medium, and high (the last three imply tracing is ON).
Changes to these settings will take effect whenever the connected status of the client changes. So:
- If user is disconnected/logged out from server: they can turn tracing on/off and change takes effect immediately.
- User turns tracing on: We start tracing next time we connect to the server. When connection ends, tracing is stopped, a BTX generated and
uploaded to the server.
- User turns tracing off: No-op.
- User is connected to server: they can turn tracing on/off and change level, but change won’t take effect until next connection.
- A message will be displayed indicating this situation.
With the latest version of Agentry, we have enhanced the UI capabilities to enable our application designers to have more control.
Slide out Menu
Application designers can now specify whether a client user sees a slide out menu or traditional tabs for navigation between screens in a screen set.
iPad Slide-out Menu
Tile Display Enhancements
Tile Display hyperlink
A client user clicks on a clearly identified part of the screen, a “tile”, to view more details related to the contents of the tile. This is useful to create dashboard pages that include tiles with live information.
Multi-screen Tile Display style enhancements
Styles can be defined for tiles separately from the overall application. This gives the designer even more control than in previous versions.
Support for Apple iOS 8
We have tested the current Agentry features and Agentry-based applications on iOS 8. The features are supported and should continue to work as expected.
Additional UI Enhancements
Even with the recent availability of iOS 8, I wanted to share some of the enhancements available for clients that will remain on iOS 7 for a bit longer. The Agentry Client iOS application has adopted some of the iOS 7 concepts and made many UI changes to align itself with the look and feel of the new OS. These changes are described below.
Agentry has included an option to draw controls edge-to-edge to match the iOS 7 look and feel or keep the iOS 6 built-in margins.
Application Tab Styles (The Bars)
One of the most noticeable changes introduced with iOS 7 is the change to the application’s Navigation Bar. This is the new default navigation bar for Agentry:
Application Button Style (The Tint Color)
We added support for the “Tint Color” concept using the Application Button Style. Here are some examples of the same Agentry Detail Screen using different tint coagentry_ios7lookandfeel1.pnglors compared to the iOS 6 look and feel where bar buttons were not customizable.
We have made the Screen Buttons customizable. Now, just by using PNG images, your application can have the look and feel of other iOS apps out of the box.
For more information on the latest features in Agentry and Agentry-based apps, check out the following sessions at d-code:
- Unlocking Mobile App Innovation with SAP Mobile Platform Open UI SDK
- Road Map Q&A: SAP Mobile Strategy and Platform
- Mobile Enterprise Overview
View the TechEd DCode mobile sessions overview blog for information on all DCode session relating to the SAP Mobile Platform.
Follow us in any of the social media channels
- twitter.com/SAPMobile#saptd #SAP #Mobile #SAPMobile
This blog references SAP‘s strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice