Two different Web IDEs on HANA Cloud Platform - sapui5

I was following the blog post SAP Web IDE - Enablement and noticed that I have been using a different Web IDE on HCP(HANA Cloud Platform). Can someone explain the two different Web IDEs.
One is accessed via tha HANA Instances page as seen below:
and as you can see this is an old version and looks significantly different:
and there is the other one (accessed via subscriptions menu) which is the up-to-date version and has many other capabilities:
So are these two IDEs different in terms of purpose?
As far as I understand, the second IDE(the new one) is used for local development and the application developed there can be deployed to HANA later on (the first one does not have any options related to deployment but it provides direct development on HANA) . Also there are other things that confuses me:
Can the second IDE connect to a HANA instance directly? We have xsjslib files that connects to the HANA DB and fetches data. ..or is the second editor is only for developing HTML5 applications without HANA connection?
Also in the this document it states that "If an HTML5 application requires connectivity to one or more back-end systems, destinations must be created or assigned". Can someone elaborate on this?
Thanks in advance.

I found the answer with a parallel post on SCN Network: http://scn.sap.com/message/16139215
The bottom line is that(quoting the answer from the link)
These are 2 different things, Web IDE and HANA Web Dev Workbench:
first is for SAPUI5/Fiori development/extension, second - HANA related
development.
So WebIDE is suitable for UI5 development meanwhile HANA Dev Workbench is for developing backend services.

Related

How to integrate SAPUI5 apps developed on ABAP repository in HANA Cloud Platform

The scenario is to use already developed SAPUI5 applications on ABAP Gateway as portal widgets in sites developed through SAP HANA Cloud Platform,portal service.
I know we can add the ABAP backend gateway services using HANA Cloud connector and destination in HCP cockpit.
How to do we deal with the SAPUI5 applications.
a) Do we need to export them from the ABAP repository and import them into HCP web ide?
b) Can we directly deploy the same application on HCP as well and access it on the site?
In above both cases, what about the service calls made from within the app? wouldn't the urls be changed once the app is moved/imported to HCP [assuming app only makes call to relative urls.]
Any information/Documentation on this would be really helpful.
to both a) and b) my answer is Yes. With some reservation for a) as actually I just don't know of another method to deploy existing SAPUI5 apps from backend to HCP.
In my case the scenario was the following:
First, we installed HCP connector, linked it to existing S-users, then I defined a destination in my HCP account. Be aware that you have to add some specific attributes to the destination to make it available in WebIDE.
My task was to extend some existing SAPUI5 applications, so I imported them into WebIDE and it appeared that they worked just fine when running via WebIDE without changing a single line of code or configuration. Apparently they can be deployed to HCP as a standalone apps or as a part of Fiori launchpad.

IBM Eclipse Tools for Bluemix

new to ibm bluemix. Steps to be followed to develop a application on eclipse and to depoy using IBM Eclipse Tools for Bluemix and cloud foundry as well.
You could find all information you may need for your question in the Bluemix Documentation
https://console.ng.bluemix.net/docs/
On the following URL you could find a "Step by step" guide using Bluemix tool:
https://console.ng.bluemix.net/docs/manageapps/eclipsetools/eclipsetools.html
Instead on the following URL you could find a "Step by step" guide using CF push for a Java app on liberty runtime: https://console.ng.bluemix.net/docs/starters/liberty/index.html#liberty
First of all you can follow the instructions here for installing the IBM Eclipse Tools for Bluemix https://marketplace.eclipse.org/content/ibm-eclipse-tools-bluemix
Secondly, you can follow this tutorial to know how to push an application to Bluemix using the tooling. https://www.ibm.com/developerworks/community/blogs/941f1004-4e3d-4a4b-87ed-30d8045fde4e/resource/IBM%20Bluemix%20Tutorial%20-%20Connecting%20Eclipse%20to%20Bluemix%20v2.0_files/IBMBluemixTutorial-ConnectingEclipsetoBluemixv2.0.pdf?lang=en
There might be some UI differences in the IBM Eclipse Tools for Bluemix tools that you will install from the first link vs what is shown in the second link. These differences are however just cosmetic (like using terms IBM bluemix vs Cloud foundry while defining a server). Overall the functionality remains the same.
Also apart from the use-case described in the tutorial (second link), you can also create new projects (web projects) in eclipse and push them to Bluemix.
In order to test your projects locally, you would need to install local WAS liberty profile (in case of JavaEE projects) or local node js (in case of nodejs apps). You can do all the testing locally on the local servers and once you're confident about your development, you can push the projects to Bluemix.
Thanks,
Gaurav
Though this is a very old thread but this will be helpful for future references. One can setup the Bluemix server in an IDE like eclipse by straight forward adding a new server and can push the application directly. However a more user friendly approach is to deploy it from cf commandline. You can deploy the application independently or even package it with the local server. You even have the options to provide inputs like hostname in the commandline. Please go through the Bluemix docs for detailed specifications.

Developing with Azure Mobile Services?

What is currently the "best" way to develop a back-end system in Azure Mobile Services?
Specifically, what tools are available? From what I've seen, most examples just go to the Management portal and manually add a few lines into the script window. This is worse than using just Notepad, and doesn't have any concept of version control...
Is there any way to make a project in VS 2012 that contains all the Node.js code that will run in the Azure Mobile service? Is there a way of fully running that code on a local development environment that mimics the Mobile Services?
I need to have server-side code with much more complexity than is shown in most of the Mobile Services samples or documentation that I've been able to find.
I have a web site, and a Win 8 Store App that need to authenticate against, and access relatively complex data structures from a back-end database. The solution being pushed right now all seem to include Mobile Services at the center of it, using simple REST against raw tables, but all the examples are too simple to be useful.
Can someone point me to a "real-life" sample of using Mobile Services, and a "mature" way of developing and testing such a system using the tools in Visual Studio?
Thanks.
Why you have no other option than the Management portal is really beyond me. It seems very awkward for a C#/.NET developer to go back to Notepad style programming with console.log() debugging.
What I would love to see is some Node.js entry points that you could connect to a regular C# assembly which could fulfill the request (as in ASP.NET MVC or Web API) having the full .NET Framework at your disposal.
What I could see as a possible architecture is to have:
ASP.NET MVC hosted on Azure
--- writes processed data with logic to --->
Azure SQL DB <--- reads from --- Azure Mobile Services ---- bridge to ---> Mobile devices
Or
Cloud Worker Role on Azure ---- crunching/processing ----> Azure SQL DB <---- reading/writing raw data ---- Azure Mobile Services ---- bridge to ---> Mobile devices
You can use the Mobile Services facility for mobile devices facilities, scheduling and push notifications with limited code and do most of the coding in a managed .NET environment.
The AMS (Azure Mobile Services) along with Azure has advanced dramatically since this post was written and the replied answers.
Some of this stuff still holds true. If you have a ton of node.js written not in the Azure cloud portal, you will want to copy and paste to the portal online, custom api calls section and even perhaps sql backend tables for CRUD operations.
The hope for C# developers is that it is NOW in preview mode in which YOU CAN skip node.js and build everything without node.js very shortly... Some bugs to work out, but in 6 months this will be fairly solid.
I had questions and issue and a guy named Carlos carlosfigueira was very helpful.
Azure Mobile Services - Getting more user information
Josh covers unit testing server-scripts here: http://www.thejoyofcode.com/Unit_testing_Mobile_Services_scripts_Day_7_.aspx
In this tutorial, he uses the Mocha testing framework for JS (id TDD mode) and walks through an example for testing an INSERT script that encrypts the value of a particular property (text) and a read script that decrypts it (value is encrypted at rest in SQL db).
You can also find aggregation of links and tutorials here.
I would suggest that you build this solution using Windows Azure Mobile solutions especially it supports the Node JS NPM right now, which means you can create the API you want on the Windows Azure using the Node JS NPM and can work with it using WAMS easily. have a look on the following link it will help you understand what I want to say more.
http://weblogs.asp.net/scottgu/archive/2013/06/14/windows-azure-major-updates-for-mobile-backend-development.aspx
For the Client I also suggest that you build it using SignalR which is designed for cases such yours where real time applications require a lot of transactions from the server side.
http://www.asp.net/signalr
you can also find more details about how you can integrate both of them in the following link: http://hhaggan.wordpress.com/2013/07/12/signalr-node-js/
I hope these help you, let me know if you need anything else.
For running locally, the mobile service has the same Kudu environment available in azure websites, so you can browse to https://your_service_name.scm.azure-mobile.net If you navigate to the Debug Console from the top nav, you can download everything running in the site/wwwroot folder.
You can run this nodejs project locally (On windows only if you require the SQL Server npm package). Your code is in App_Data/config/scripts. If you replace the downloaded content with your current local git working copy, you can develop and debug locally, and then push changes as usual.
Tools I use:
Eclipse with JS environment (or any nodejs IDE).
Git
Postman
Steps:
Enable source control to your azure mobile service.
Pull to your local and create a eclipse project with the source.
Make changes and push.
Test with POSTman
This procedure allows me to develop really fast and eclipse tell me the common JS errors. But it has obvious downside:
No debugging (I use console.log)
The project ended up with a lot of commits (its hard to use git for proper source control)
I just did a blog post on running Azure Mobile Services locally: http://www.mikelanzetta.com/2014/09/running-azure-mobile-services-locally/ - basically it interrogates the API and starts up express, and allows you to run mocha yourself locally. It's a bit cleaner than pulling down the full wwwroot from the scm link, and I found using my local runner as a git submodule made it easy to work with (and easy for me to use VSO for managing my tests).
Anyway, for actual development, I use the Git integration and WebStorm - it automatically figures out the tasks in my local Gruntfile and makes it easy to run and test. For once it's deployed, Postman is helpful.

Web framework with user-friendly desktop deployment?

I'm building a web app with Backbone.js (I'm not tied to Backbone yet though). I need a back-end framework only for persistence to a database via a RESTful API. However, I also need to able to deploy it as a 'desktop' app for off-line use, i.e. running a local server and launching a browser window, but I don't want users to have to start a server from the command line to run the application.
I can use SQLite as a database since it's only a single user application, it's just the framework that I'm stuck on. I have looked at the following:
Rails and Django: Default web servers are too flimsy, requires Ruby/Python and runs from the command line. I'm aware of the Bitnami stacks but at 99mb it's too big of a dependency and not exactly hidden from the user.
Sproutcore: Run from command line, also too bulky.
Pyjamas Desktop - Depends on MSHTML which I suspect limits my ability to use HTML5 features.
I'm leaning towards creating a Java app that starts a Scala/Lift server instance and opens a web browser, then sits in the system tray (kind of like WAMP). Is anyone familiar with a tool or framework built for user-friendly deployment as a standalone desktop app?
I do not know if PHP is an option for you? Then I would recommend phpdock.
web2py has a standalone deploy-to-desktop feature with no dependency on Python: http://web2py.com/books/default/chapter/29/14#How-to-distribute-your-applications-as-binaries
As Eydun said, phpdock is an option but it's commercially licensed .
I settled on using Java/Spring/H2/Hibernate/Jetty. I find that Jetty serves requests VERY quickly so the application looks real-time when launched in a browser. There is a tutorial on embedding the Jetty server here. I imagine it's quite trivial to build a GUI that launches the server and a browser.
Another Java option is to use the Play Framework, which may be more at home to those coming from a Django/Rails background. However, the documentation for "creating a standalone version of your application" for Play 2.0+ indicates that they have ditched using Java EE containers (Tomcat/Jetty) and WAR files in favor of running the JARs with the bundled copy of JBoss Netty, so it may take a bit of work to get it running the way you want it.
I would recommend the Play Framework approach if you're OK with using/learning Scala.

Heroku-like services for Scala?

I love Heroku but I would prefer to develop in Scala rather than Ruby on Rails.
Does anyone know of any services like Heroku that work with Scala?
UPDATE: Heroku now officially supports Scala - see answers below for links
As of October 3rd 2011, Heroku officially supports Scala, Akka and sbt.
http://blog.heroku.com/archives/2011/10/3/scala/
Update
Heroku has just announced support for Java.
Update 2
Heroku has just announced support for Scala
Also
Check out Amazon Elastic Beanstalk.
To deploy Java applications using
Elastic Beanstalk, you simply:
Create your application as you
normally would using any editor or IDE
(e.g. Eclipse).
Package your
deployable code into a standard Java
Web Application Archive (WAR file).
Upload your WAR file to Elastic
Beanstalk using the AWS Management
Console, the AWS Toolkit for Eclipse,
the web service APIs, or the Command
Line Tools.
Deploy your application.
Behind the scenes, Elastic Beanstalk
handles the provisioning of a load
balancer and the deployment of your
WAR file to one or more EC2 instances
running the Apache Tomcat application
server.
Within a few minutes you will
be able to access your application at
a customized URL (e.g.
http://myapp.elasticbeanstalk.com/).
Once an application is running,
Elastic Beanstalk provides several
management features such as:
Easily deploy new application versions
to running environments (or rollback
to a previous version).
Access
built-in CloudWatch monitoring metrics
such as average CPU utilization,
request count, and average latency.
Receive e-mail notifications through
Amazon Simple Notification Service
when application health changes or
application servers are added or
removed.
Access Tomcat server log
files without needing to login to the
application servers.
Quickly restart
the application servers on all EC2
instances with a single command.
Another strong contender is Cloud Foundry. One of the nice features of Cloud Foundry is the ability to have a local version of "the cloud" running on your laptop so you can deploy and test offline.
I started working on the exact same thing as what you said a few weeks ago. I use Lift, which is a great framework and has a lot of potential, on top of Linux chroot environment.
I'm done with a demo version, but Linux chroot is not that stable (nor secure), so I'm now switching to FreeBSD jail on Amazon EC2, and hopefully it'll be done soon.
http://lifthub.net/
There are also other Java hosting environment including VMForce mentioned above.
If you are looking for a custom setup which also has the ease of deployment that heroku offers: http://dotcloud.com. They are invite only right now but I was given access in under three days. I am working on a Lift/MongoDB project there and it works well.
Off the top of my head, only VMForce comes to mind, but its not available yet. This will be a Java-oriented service, so that probably means you'll have to spend a wee bit of time figuring out how to package the app.
For more discussion, there was a debate about this in 2008.
I'm not entirely sure if it's really suitable or not, but people have deployed Scala applications to Google App Engine, for example http://mawson.wordpress.com/2009/04/10/first-steps-with-scala-on-google-app-engine/
Actually you can run scala on heroku right now. You don't believe it?
https://github.com/lstoll/heroku-playframework-scala
I'm not sure the tricks lstoll has used are legit but using the
new cedar platform where you can run custom processes and some
ingenious Gemfile hacking he has managed to bootstrap the Java
play platform into a process. Seems to work as he has a live
site running a test page.
Stax cloud service offers preconfigured lift project skeleton. Also, there is a tutorial on how to deploy lift project to appengine.