How to use Design Studio Applications offline
Dear SAP community,
a lot of people demand an offline usage of SAP Design Studio, but you know that are just a few ways to simulate such behavior, like the record mode introduced in 1.5. Even this one won’t work if you are using SDK extensions, hence you are limited to show some screenshots of your applications if you want to have it really offline.
I also faced the requirement to make my applications working without internet connection, as our executives show them regularly to potential clients where mobile internet is hardly available and they are regularly refused to connect to the companies’ WLAN. These applications are based on Universe as data source and the solution provided works while executing on BI platform. I can not judge whether it works on Netweaver or HANA, but I assume it won’t work due to the higher requirements I expect for installation.
The great thing to know at the beginning is: It works. You can build an environment that enables you use a Design Studio Application via BI Platform without having any connection to the internet. The bad thing is, it is a bit complicated to rebuild and I faced a lack of speed and response time of the application in offline mode compared to the usual online mode.
What is required to make Design Studio offline? Well, basically you are configuring a laptop as a server that hosts all server and client applications and databases you need. Sounds simple, but when I started I was not sure if I could install:
- BI Platform Server
- BI Platform Client Tools (mainly IDT)
- Design Studio Server
- Design Studio Client
- MS SQL Database
on the same machine, a laptop with just 8GB RAM. The answer is yes – you can. You have to make sure that the operating system is a Server Operating System, in my case Windows Server 2008R2. Otherwise you are not allowed to install the BI Platform Server. Luckily it is no problem to install the client tools on a server operating system.
The rest is just repetition of what most of you have already done – install and configure your BI Platform, Server Extensions, Client Tools and Databases. All connections will have IPs like “localhost:8080/BOE/BI”, same thing for your databases. I used a small MS SQL Server 2008R2, as the application I wanted to have offline only uses about 10 tables.
Using Promotion Management in the CMC, I copied the universe, applications and supporting documents (like CSS-file and images) to a LCMbiar-file and imported it to the BI platform running on my server-like laptop.
In Information Design Tool I created a new relational ODBC connection to my local database and built a Data Foundation that contained all the required tables, then set the imported Universe to this new data foundation. The major thing is to make sure that all dimensions and measures you require are correctly set to the new data foundation and SQL statements are valid. Then publish the universe.
In Design Studio itself, you’ll have to install all SDK extensions you are using as well on client- and server-side. Then, open your application and test it. As I was using only some demo-data, I had to remove a few prompts from the datasources and had to rebuild the initial views. But the most important thing is that all metadata information stays the same. This means, any script you have created within your application will still work. For maintenance reasons this is crucial – otherwise you would have to rewrite every script that is using data from your data sources.
In a nutshell, all script functions like
DS_XYZ.getDataAsString(“_1ZyVYwYJEeanzqUk4xkQOw”, {
“_1ZyVYAYJEeanzqUk4xkQOw”:element.internalKey,
“_1ZokYAYJEeanzqUk4xkQOw”:“Example_1”});
Will retrieve the correct results and hence your copied application runs like its original version.
Last but not least you can use the link provided by “Send to mobile device (using QR code)” option to copy the URL of the application to your clipboard. Open up your favorite browser and add the link to your Favorites. Now you can access your application in your browser without any internet connection – everything is running locally on the laptop.
I have to admit, the performance is an issue – initial loading time is fine, but the response to onClick()-Scripts is a little annoying, as it takes 2-3 seconds for execution. I assume this is because of the BI platform that takes 4 – 6 GB RAM even in the smallest possible system setting. So my laptop faces 90%-95% of RAM usage just for all services that are running in the background…
As it is a server, it also takes about 20 minutes for all services to start after startup of your Operating System. That’s important to keep in mind when you want to present your applications; as long as the BI Platform is not running you won’t be able to use your Design Studio applications.
Keeping that disadvantages in mind, you can face the requirement of using Design Studio Applications offline in the best feasible way. We will use it as a workaround whenever a stable internet connection is doubtful.
Have fun!
[and make sure you have sufficient licenses to implement this solution]
Hi Daniel,
just a few comments:
normally what people refer to as a "offline" scenario is the ability to download / export (whatever you like to call it) the dashboard with a broader set of data so that the user can still navigate in the dashboard without having to logon / refresh the data from the data source.
similar to what Web Intelligence does with the offline client.
regards
Ingo Hilgefort, Visual BI
Hi Ingo,
You make some valid points. With regard to the second one about regular ETL jobs, I think the idea presented in this post is to simply load demo data into a local SQL database, probably from CSV files. Since this is for demo purposes only, I imagine new data sets would be manually loaded as and when required, rather than running regular ETL jobs per se.
The typical usage of the term "offline" is as you have described it, although in the context of this blog I think the intention was simply to convey the implementation of an "unconnected" scenario for demo purposes.
Regards,
Mustafa.
Hi Daniel,
Have you considered using virtualisation software such as VMware to setup your demo system on a laptop? That way you can use a regular laptop without the need for a server operating system on the laptop itself. So basically you could run a virtual network on your laptop. You might find it to be a little cleaner than installing directly on the laptop OS.
All that being said, it's probably advisable to use a laptop with 16GB of memory and a powerful CPU 🙂
Regards,
Mustafa.
For simple scenarios, Designer + CSV datasource should work, wouldn't it?
For more complicated data source interaction, wouldn't it be easier to use Designer + the local mode connecting to a local database?
The only thing remaining will be an ETL process to replicate the resultset from the corp. data mart (or maybe an csv export) to the local database.
Regards,
Shady
Shady,
Good point about the CSV datasource, especially considering that the soon to be released Design Studio Feature Pack is supposed to support cascading filters for CSV data sources.
To your second point about the local database, this is exactly the scenario Daniel is describing in this blog post. It is not possible to directly connect to a local database in Design Studio local mode. You still need a deployment platform, such as BIP as described in this blog, as a middle layer to connect to a relational database, even if it is a local database.
Regards,
Mustafa.