Posts tonen met het label PAAS4SAAS. Alle posts tonen
Posts tonen met het label PAAS4SAAS. Alle posts tonen

zaterdag 21 januari 2017

PAAS, the magic word

Since customization in Oracle Cloud applications is not possible (next to personalization of course) the new magic word I keep hearing is 'but you can use PAAS'. Sigh of relief right?
But what does this mean?

PAAS is a nice acronym for 'a machine' that is located 'somewhere' with 'some kind of tooling on it'.  In case of PAAS it's actually a machine in the cloud, handled by an external party (Oracle in this case).

So what is the idea behind 'we can create customizations using PAAS'? Actually what we are saying is that you need a machine to build your customizations and you can connect it to your SAAS application. You can fetch data from it using available web services or BI queries (also accessible as a web service) and you can write back data using web services. But only if the service is available! So if there is no service for it, you cannot automatically get data back into your SAAS application.



Now this machine where we build our customization on could be anywhere. It could be a local machine, you can rent it at a hosting company or rent is as a cloud service. Only in the latter case we actually speak of PAAS.

And if I have this PAAS environment, what do we still need to do?
You've got to have the tooling on it to build the customization! So let's assume we want to build some kind of fancy front-end, so we need ADF. We probably need a local database and we probably also need SOA Suite if we want to develop processes (although calling web services can be done in ADF as well of course).
So you always need a Database Cloud Service (DCS) and next to it you could use a JCS (Java Cloud Service) and install your own ADF/SOA Suite on it. Of course you would have to maintain the applications (keep them up to date with the versions you need, keep them running).
But you could also rent a SOA Cloud Service which would have the latest SOA version. This may be a good or a bad thing depending on what you want.
If the SOA Suite version changes, you may get into trouble with the services you've build to connect to SAAS of course, so you would have to keep track of each time it's changed underneath you.
Both methods have their advantages and drawbacks.

Of course to build the customizations you don't specifically need a PAAS environment, you could also use your own datacenter or hosted environment as you might do now. It depends on total cost of ownership eventually.

And WHAT can I build once I have my environment?
You can build custom screens containing custom logic, fetch data from your SAAS application, manipulate it and write back data. As said, writing back is a bit restricted, because a service MUST be available to be able to do that. Of course there are more and more services coming up, but we notice that a lot of the services still are missing certain elements (for example you can create a contract, but not risks and deliveries related to the contract).

So you can't actually change an existing form in SAAS, but you could copy it and rebuild it in your own application and skip the original form in the SAAS application. It's clear that would not be the reason why you bought the SAAS standard application in the first place ;-).
I would advice to restrict whatever you build next to SAAS is an addition, and not replacing functionality ..

Anyway .. as an application custom developer I see enough opportunity to be building customizations still for SAAS applications,  but I want to emphasize that PAAS is not the magic word that solves your problem. It's a fancy way of saying that you can build custom logic, forms, etc on an external environment (either in cloud PAAS or on premise/hosted environment).

:-)

zaterdag 9 april 2016

PAAS4SAAS - Display your custom application in SAAS - part 1: Setting up your integrated page in ERP Cloud



At Profource we have built a Banking Cloud PAAS solution, which we want to expose as an integrated page within ERP Cloud. The PAAS solution has been build using Simplified UI to offer a fully seamless integrated user experience.

In order to achieve this seamless integration, we also need a single sign-on principle as shown below. The user logs in into ERP Cloud and navigates to the integrated page exposed on his springboard. Behind the scenes the system calls the PAAS application using an URL containing a Jason Web Token (JWT), which is validated in the PAAS application and used to do SOAP calls back to the ERP cloud for obtaining data or performing any kind of processing.


But the first step is to define an integrated page that links to your application.

Setting up an integrated page

There are several ways to setup the integrated page, especially in Sales Cloud. In ERP Cloud however, we use the Page Integration Wizard rather than groovy script.
The first step is to register the third party application. 

R10 Setup
Navigate to Setup and Maintenance.












Now choose Manage Third Party Applications and enter your application with the full URL.












R11 Setup
Navigate to Setup and Maintenance > Manage Custom Setup Content (icon on the right) > Topology Definition (heading right) > Manage Third Party Applications (beneath list on the right).

Integrated Page Setup



Now navigate to the Tools, Page Integration Wizard and create a new page. If this is your first page you also need to define a category.




Instead of entering a webpage, choose the key and select your web application. Enter the start page you want to land on and add jwt as security token. 

In this example I'm exposing the sample for JWT Token validation as an integrated page. You can download that example from the link below

“Rich UI with Data Visualization Components and JWT UserToken validation extending Oracle Sales Cloud– 1.0.1”


If necessary you can also add parameters to your startpage simply by adding them using ?myParam=[myvalue]

Now you need to do one more thing and that’s expand the window, because on default it shows up only small. Choose Customize Workarea Pages and drag the page in the right corner to its correct size.

So now we are all set on the SAAS side. If we click the icon from the springboard it will open the URL and navigate to the page passing the JWT.

There is one other thing you need to do to make sure your ADF solution can run as an integrated page, since it’s contained in an iFrame. In JDeveloper 12.1.3 you need to set the FRAMEBUSTING in web.xml to never




However, this is not the most secure way. In JDeveloper 12.2 you can use a whitelist. For more information see
“Now you can specify a list of origins that are allowed to frame documents in your application. To do this, use the org.apache.myfaces.trinidad.security.FRAME_BUSTING context parameter set to whitelist and the oracle.adf.view.ALLOWED_ORIGINS context parameter. For more information, see Framebusting.”

 Ok that's all now! You can run your application as an integrated page in Fusion ERP. Your application can run on premise or be deployed on Java Cloud Service of course.