SAP Fiori & SMP
I was recently pointed to an old SCN post where a comparison was made between the SAP Mobile Platform (SMP) and SAP Fiori. The post didn’t make much sense to me as SMP is a platform for creating, deploying and managing mobile applications and SAP Fiori is a collection of web apps that work on mobile devices (as well as network connected desktop computers and laptops). Fiori applications are interesting in that they have a specific user experience, implemented using the SAP UI5 HTML5 framework (mailto:https://tools.hana.ondemand.com/%23sapui5), where SMP applications are unconstrained. If you are interested in learning more about the UX aspect of Fiori and doing it yourself, you can find more information at https://experience.sap.com/ and http://service.sap.com/rds-ui-sapui5.
Instead of talking about SMP vs. SAP Fiori, let’s talk about SMP & Fiori.
In it’s simplest form, SAP Fiori is a web application. Actually it’s a web application that runs multiple web applications. The SAP Fiori Launchpad is a framework that can run one Fiori app or a bunch of Fiori apps. The Fiori apps a user sees in the Launchpad will vary depending on the user and, what apps are assigned to that user or that user’s role.
Like I said earlier, SMP is a platform for creating and deploying mobile applications. There’s a server-based process that exposes a large set of very interesting and useful services for an enterprise and multiple ways a developer can create mobile applications that consume those services (and do a whole bunch of other stuff too). Those services can be administrative services, services that provide some sort of functionality to the application and a way of exposing data to mobile devices as well.
Using the platform, you can build native applications using the platform’s native SDK, Agentry Meta-Data Driven applications using the Agentry Editor and hybrid web applications using the Kapsel SDK and Apache Cordova. You essentially use whatever tools you want (except in the Agentry case) and the platform’s SDK to build the apps your enterprise needs. The platform takes care of the hard stuff developers have to do most importantly implementing the security glue that keeps everything safe and secure.
You may ask, “With SAP Fiori being a web application, does it need SMP?” No, it doesn’t. You can run Fiori on any compatible device and have access to the applications you need on most any device you want. However, is there value of running Fiori with SMP? Yes, absolutely. Let me count the ways…
Many customers have purchased SMP as a safe and secure way to expose internal systems to mobile devices. Any competitive business cares about security (or should anyway) and SMP is often selected to be the secure gateway between the inside and outside worlds. There are proxies and network edge devices that can provide some capabilities in this area, but with SMP, there’s secure data access, offline data access, administrative tools, tracing capabilities and much more provided by the platform. For these customers, the only way an internal application is exposed to mobile users is through SMP. So, even though Fiori will work in a browser connected directly to a Fiori Front-end server, many customers will require that it operates through SMP.
SAP Fiori is a web app, and it runs great in the browser. The desktop browser has some interesting capabilities: wired network connection, almost unlimited processing power, unrestricted storage physical keyboard/mouse and more. As I’ve written here previously, users running SAP Fiori in a mobile browser can experience performance issues – not because of SAP Fiori, but issues stemming from the limited processing, network and storage capabilities of a mobile device. These issues affect any sophisticated web application simply because of an impact the limited resources in a mobile device has on mobile applications like the browser.
SAP’s solution to these performance problems of mobile browsers is to support running Fiori within a native application container like the SAP Fiori Client. As described in other posts here, the SAP Fiori Client has specific capabilities that mitigate some of the limitations of the mobile browser. Once Fiori runs within a native application, there are additional capabilities that are then available to the application. The SAP Fiori Client works today against the Fiori Front-end server and/or SAP Gateway directly, but when you route Fiori application traffic (web asset and data requests) through the SMP server, additional capabilities quickly become available to the application:
Push notifications
Push capabilities are not available to the mobile browser. SAP Fiori could implement a mechanism that would allow it to ‘push’ content into the Launchpad for displaying on the different Fiori tiles, but it wouldn’t be true push. These notifications wouldn’t be there waiting for the user to notice them, instead they would appear after the app was opened, reducing the value of the notification. With SAP Fiori Client running through SMP, the application can register for push notifications and have them delivered like other native push notifications. Notifications would be accessible by the application user, even when the application isn’t running.
Access to Device features (Camera, GPS, etc…)
Being a web application, Fiori doesn’t have direct access to device-side capabilities such as the camera or the Contacts application. While modern browsers are adding support for all sorts of new APIs there are still some things that can only be done through a native application. While the initial version of the SAP Fiori Client didn’t have any device capabilities, future versions will add Cordova plugins that will provide Fiori applications with access to mobile-specific features like the camera, contacts, geolocation and more.
Improved performance through cache management and updates
The SAP Fiori Client has specific capabilities for detecting SAP Fiori updates and managing its cache accordingly. With SMP, the SAP Fiori Client can leverage the application lifecycle management capabilities of SMP to allow updates to the SAP Fiori Launchpad and applications to be pushed to the SAP Fiori Client application whenever the applications have been updated on the server. Instead of the local cache being purged and the entire SAP Fiori application assets downloaded into the client, the SAP Fiori Client can use the AppUpdate plugin and deliver only the changed assets to the application. This reduces the amount of data sent to the application and minimizes the interruption to the application user’s productivity.
http://scn.sap.com/community/mobile
http://scn.sap.com/community/developer-center/mobility-platform
For the record by the way, the OData capabilities I mentioned above are not available today, but it is something we have comitted to customers. Stay tuned on that one.
Hello John,
Thanks for valuable information, when can we expect Fiori with SMP 3.0 ?
Regards,
Varahalu Babu Jampana
How about now? The most recent versions of the SMP server and SDK support running Fiori on SMP. It's SMP SP03 plus a patch (I think it's PL02) and SMP SDK SP04 which should be available soon.
Fiori will start taking advantage of SMP features like the ones I listed in the article above in future releases (the Fiori team calls them waves).
Great news John Wargo,
Need to investigate. Where can I get the PL02 ? Is there any document on this??
it will be grateful if I get these plugins, anyways thanks for the information.
Regards,
Varahalu Babu Jampana
Hi John,
do you know if Fiori Apps can be accessed from the internet without having to use SMP?
If so, how?
Thanks in advance and regards,
Diego.
Yes, of course. You don't have to have SMP to access Fiori Apps.
Fiori is essentially a set of Web applications - you access them via a desktop or mobile browser just like you would any other internal web applications. No need for SMP in that scenario.
What I'm trying to outline here is what additional value SMP provides when running Fiori in the SAP Fiori Client or within a Kapsel application. Native mobile applications.
Hi John,
in my case the end-users will be outside the network where the server with the Fiori Apps is located. I have been told that for sure customers will need a 3rd party reverse-proxies similar to SMP if SAP does not provide this.
Thanks and regards,
Diego.
Diego, There are all sorts of ways to solve that particular problem. Many customers use SMP for all of their mobile access to internal applications. You will want to select the best option for your environment based on your specific needs, your company's specific security requirements and much more.
I think you're skirting around your real question. Are you talking about Fiori Client users or desktop/mobile browser users? If you're talking about browser users, SMP's really not designed to be a web proxy for web users. It can be used as such, but that's not what it's really for.
Hi John,
I am talking about end-users (e.g. students from a University) accesing Fiori Apps located on the University server from their iphones while they drink coffee at Starbuks or in their dorms or any where else.
Thanks and Regards,
Diego.
But you're still not answering my question. Browser users or Fiori Client (native application runtime for Fiori)? That's the distinction - not whether they're in a Starbucks and/or on an iPhone.
I would say both use cases will be valid; That will be a decision the customer (e.g. Universities) will need to make.
Regards,
Diego.
Hi Diego,
In case of Browser / SAP Fiori client, you can use SAP Web Dispatcher for reverse proxy.
In case of Kapsel applicaiton /Native mobile application,you can use SMP for reverse proxy .
@ John Wargo: please correct me, if I am wrong?
Regards,
Lakshman Balanagu.
With SMP SP03 PL02 SMP can act as a proxy for Fiori requests.
Hello John,
You mention under the section Access to Device features(Camera, GPS, etc....) that
While the initial version of the SAP Fiori Client didn't have any device capabilities, future versions will add Cordova plugins that will provide Fiori applications with access to mobile-specific features like the camera, contacts, geolocation and more.
Does the currently available version of the SAP Fiori Client include the Cordova Plugins to get access to device specific features like camera, contacts etc. ?
Regards,
Saurabh
Not yet. Read this: http://scn.sap.com/community/mobile/blog/2014/10/13/update-on-fiori-mobile. Those capabilities are coming, starting with the next release of the Fiori Client.
Hello John,
In this blog you have mentioned that sap fiori client takes care of offline functionality. Does this mean the web application we have can be run using fiori client on mobile & the calls to smp server is enough and we don't have to create native application for offline functionality?
Thanks,
Rashmi
we are planning to implement offline capabilities to already existing UI5 web application. My doubt is do we need to use Kapsel plugins for that or sap fiori client is enough?
its offline application. we have launch pad with 2 applications in it.
Hi John,
I have a question regarding the standard fiori apps (471 at the moment). If you start using SMP together with those standard apps, will they automatically support offline capabilities? Or do you need enhance all standard apps in order to activate offline capabilities
Thanks in advance and regards,
Astrid
No, any existing app will require some small changes to initialize offline and decide when to update. I expect Fiori apps to start taking advantage of this where appropriate.
Hi John ,
And in the end if i say keeping all the above points in prospective that SAP UI5 /Fiori seems to be far better investment of time and money , then would i be wrong in some way 😳 ?
-Kind Regards
Ajay Nayak
Hello John,
Our customer have SMP, so now they have implemented SAP Fiori Leave Request & Approval which they would like to link through SMP in order to get advantages regarding the offline capabilities, security...
Is it possible to have this now.
Thanks in advance.
Regards,
Slavisa
Not yet. SAP plans to enable cerain Fiori apps for offline, but nothing is available yet.
Hello John,
Thanks for quick reply. Any information when this will be possible?
Thanks and regards,
Slavisa
I am not part of the Fiori team, so I can't speak to Fiori product plans other than what I said about OData Offline being something that the Fiori team is interested in implementing for certain applications.
It's 'possible' now with SMP, but would currently require modifications to the Fiori app (to create the local store, define what is offline and to decide when to post updates to the back-end).
Thanks John..
Hi John,
How would we be able to make the fiori client use offline odata available? I guess we need to add the plugin and alter the standard apps. But how:
If we create a copy of a standard fiori app (and create an index.html file) and package it we have errors because the sap-ui-core.js of the smp logon plugin doesn't contain sap.ca.scfld for example.
Any advice about this?
Thanks!
Robin
There are ways to detect whether an app is running in a Cordova container. Look for a specific object for example. The Fiori Client loads the Device plugin by default, so you could check for the availability of the device object for example.
A long time ago we also added a custom User Agent string to the Fiori Client, so the back-end can tell whether the requestor is a browser or the SAP Fiori Client.
Hi john,
Is the offline odata plugin added to the fiori client? I have a requirement where i need to implement offline functionality in apps deployed in fiori launchpad. I installed fiori client and i am able to access the FLP. How do i implement offline feature now. please kindly help.
Regards
Indrajith
Hi John,
We have an application deployed and exposed in our Gateway Launchpad. It's a Fiori web application.
Now we want to:
1. Add a push notification to the application.
2. Leave the application access in the Gateway Launchpad.
3. Create a Fiori client for our mobile devices
4. Put SMP in the middle (between mobile dispositives and Gateway) for the mobile access.
Then we will have browser access (without notifications) and mobile access (with notifications).
Is this possible? How can we access to the Gateway-Launchpad through the SMP?
Thanks in advance,
Jose
Hi Jose,
Have you seen this documentation?
Integration of SAP Mobile Platform into SAP Fiori Landscape - SAP Library
Getting Started with Kapsel - Part 14 -- SAP Fiori Client (New in SP04)
Hope this helps.
Elisabeth
Hello Elisabeth,
I have still doubts but I think I should try:
Getting Started with Kapsel - Part 14 -- SAP Fiori Client (New in SP04)
Thanks,
Jose