Wednesday, March 1, 2017

Creating Storage Containers for Backups/Archive using Oracle Storage Service Console


In this blog shall discuss on the creation of Storage containers for backups using the Oracle Cloud Storage Service Console.Storage Containers are a mandatory prerequisite setup required for provisioning of Java Cloud Service, SOA Cloud Service and also any Database Cloud Service provisioned and planned to be used with Java Cloud Service and SOA Cloud Service should use a Backup.

For Creation of Storage Containers there are multiple ways of doing the same.

i) Oracle Storage Service Console
ii) GUI Based tool like Cloud Berry
iii) Command Line approach using REST API
iv) During provisioning of a Java Cloud Service, SOA Cloud Service etc you have an option to create a storage container check box which would create a storage container during instance provisioning.

In this blog we shall go through the Oracle Storage Service Console option of creating a Storage Container. Detailed steps of the same would be listed below.

1. First Login to your cloud Dashboard.
    URL for your Oracle Cloud Dashboard will be in the following format                                                    https://myservices.us.oraclecloud.com/mycloud/<IdentityDomain>/faces/dashboard.jspx

     Everyone using their specific Oracle Cloud instances would need to replace their specific    
     environment identity domain provided for their environments.

     Once logged into Oracle Cloud Dashboard it would look as below

   

2. Once in your Cloud Dashboard click on the Storage link as shown below
             

3. Once you have clicked on the Storage link it would take you to the Storage Cloud Service details page as shown below


4. Once in the Storage Cloud Service Details page click on the Open Service Console button once clicked you would be in the Storage Service console. Here we get to see all the available containers created and their current storage usage details. We can go ahead and delete storage containers which are not currently used and do not have any data. But it is not suggested to delete the existing storage containers as they might be related with existing Database or Java or SOA cloud Service and once a container is being linked with an existing service then you cannot delete the container.


5. Once in the Storage Cloud Service console click on Create Container button. It would take you to Storage Container window where you would need to provide the storage container name of your choice, Storage Class of the container whether the container is standard or archive and if you want encryption to be enabled then the same can be enabled.



6. Once you enter the container details, choosing the storage class of the container and click on Create the container will be created which could be used in provisioning of instances or any other storage requirements on the cloud.

Note: In all the screen shots would have masked the identity domain and user name details for confidentiality purpose, if you are doing this activity in Oracle cloud instances of self then would be able to notice the identity domain and other user name details.

Tuesday, February 28, 2017

SSH Keys Generation for Usage in Oracle PAAS Cloud Services Provisioning


In this blog post will be discussing on the SSH Keys generation for usage in Oracle PAAS cloud services provisioning. Typically you would require to generate a pair of public and private SSH Key pairs and provide the same as part of the PAAS Cloud provisioning. Detailed steps of generating the SSH Keys will be discussed below. There is another way of generating the SSH Keys through command line which would not be discussed here but the link for the same would be provided in the blog for folks who are interested to generate the SSH Key pairs using command line tool.To generate an SSH key pair manually we would be using the PUTTY Key Generator.Following are the steps detailing out how to generate the SSH Keys manually using PUTTY Key Generator.


1. Find puttygen.exe in the PuTTY folder on your computer, for example, C:\Program Files (x86)\PuTTY. Double-click puttygen.exe to open it.



 2. Accept the default key type, SSH-2 RSA. SSH-2 is the most recent version of the SSH protocol (and is incompatible with SSH-1). RSA and DSA are algorithms for computing digital signatures. Set the Number of bits in a generated key to 2048 bits, if it is not already set with that value.This sets the size of your key and thus the security level. A minimum of 2048 bits is recommended for SSH-2 RSA. Click Generate.

3. Move your mouse around the blank area to generate randomness to the key.

Note: the dotted red line in the image below is for illustration purposes only. It does not appear in the generator pane as you move the mouse.



4. The generated key appears under Public key for pasting into OpenSSH authorized_keys file.



5. The key comment is the name of the key that you will use to identify it. You can keep the generated key comment or create your own.If you want to password-protect your key, enter a Key passphrase and enter it again for Confirm passphrase. When you reload a saved private key, you will be asked for the passphrase, if one is set.While a passphrase is not required, you should specify one as a security measure to protect the private key from unauthorized use.There is no way to recover a passphrase if you forget it.




6.    Save the private key of the key pair. Depending how you work with the private key in the future, you      may need one saved in the PuTTY PPK format and one saved in OpenSSH format. 
   i)   To save the key in the PuTTY PPK format, click Save private key to save the private key of the key        pair.You can name it anything you want, although you may want to use the same name as you              used for the key comment. The private key is saved in PuTTY's Private Key (PPK) format, which is        a proprietary format that works only with the PuTTY toolset.
    



             You can use this key whenever you use Putty to perform SSH actions.

        ii)  To save the key in OpenSSH format, open the Conversions menu and select Export SSH                    key. This will be the same key as above, just saved in a different format.
        You can name it anything you want, but to keep track of your keys, you should give it the same               name as the key you saved in PPK format in the previous step. You can also use any extension            (or no extension), but better to use .ssh, to make it clear what format it is.

         


         
         You can use this key whenever you use OpenSSH to perform SSH actions using ssh utilities that            support OpenSSH, for example when using Linux in a command shell.

7.  
Now you need to create the public key to be paired with the private key(s) you just created.                    However, clicking the Save public key button will create a public key that won't work with Oracle          Cloud services in certain cases. So, there is no reason to save a public key using the Save public        key button. Instead we shall follow the process discussed in the next steps.In the PuTTY Key                Generator, select all of the characters under Public key for pasting into OpenSSH                              authorized_keys file.Make sure you select all the characters, not just the ones you can see in the        narrow window. If a scroll bar is next to the characters, you aren't seeing all the characters.
     Save the key as a text file, using the same root name as you used for the private key. Add                    .pub extension. You can give it any extension you want, but .pubis a useful convention to indicate          that this is a public key.








8.   After creating all the public, private and SSH keys you would end up with three key files as shown in       the below screen shot.

      
     




9. Write down the names of your public and private keys, and note where they are saved. You will need the public key when creating service instances on PAAS Cloud, for example, Oracle Java Cloud Service and Oracle Database Cloud - Database as a Service, Oracle SOA Cloud Service and Oracle Compute Cloud Service. You will need the private key when trying to access a service instance's virtual machine via SSH.


Reference: Oracle Blog

Friday, June 17, 2016

Oracle Integration Cloud Service Overview

Oracle Integration Cloud Service Overview

Following is a broad overview of my understanding after using Oracle Integration Cloud Service  (ICS).Basically will try giving the overview through a sort of questions and answers so that this will clear out the questions in a way i had prior to using Integration Cloud Service

1. What is Integration Cloud Service and how is it different from SOA/SOA CS?
     ICS is equivalent of Oracle Service Bus on Cloud with few functionalities added whereas  SOA/SOA CS is a full blown functionality of Service orchestration

2.  Can Integration Cloud Service run on premise?
     Yes.  
     Integration Cloud Service has two agents
     (i)   Connectivity agent manages connectivity of on premise applications to ICS on Cloud
     (ii)  Execution Agent which can be downloaded and configured on premise which is an ICS               instance on premise (few adapters are restricted with ICS on premise)

3.   What Integration Patterns are available in ICS? 

     ICS has four integration pattern
      (i)    Map my Data (Point to Point mapping between two service)
      (ii)       Orchestration (Condition based activity orchestrating different systems)
      (iii)     Basic Publish to ICS
      (iv)      Basic Subscribe to ICS

4.  How to use an ICS integration?
   ICS integration is a Web Service which can be called by any application with capability to call    web service (like JCS, Java Application, SOA etc.). ICS Integration can be scheduled to do an    activity at a specific point of time in case of File Transfer integrations.

5.When to go for ICS and when to go for SOA/SOACS ?
   If the existing application foot print is more on Cloud then ICS is best suited for integrations.
    SOA / SOACs is preferred in the following cases
     (i)    In case of pure one premise integration
     (ii)   If the integrations are too complex and would require Human interventions in the form             of approvals etc., event processing, Single Sign on support
     (iii)  If the amount of data transfer involved is large as ICS restriction of messages per                    connection is 100000/day.(Note that ICS connection will not reject a message after                  100000)
6. Security in ICS?
    ICS only point of communication to an on premise application is via a connectivity agent and     oracle messaging cloud service which is bundled in an ICS subscription. Also ICS is not             multitenant and every customers will have their dedicated instance.For Webservice                   Connections created in ICS Username and Password Token policy is currently used.

7. Any restrictions in ICS as such?
   As per the documentation message size should not exceed 512KB but the same has been            enhanced to 5MB. In case of File adapter, there is no such file size restriction unless there is a    transformation involved on the file.

8. Any additional tool support for ICS?
    Additional Support for ICS is available, tools like Jdeveloper12c  can be used to import the         ICS mappings and modify the same in the XSLT Map editors

9. Can Generic Integration and Mappings be provided for customers for reuse?
    Yes.ICS integrations can be done at a broad level with the mappings for two Cloud                   environments and put out on a cloud market place which customer can use for their                 implementations.These Integrations can be imported into an existing customer ICS instance.

    10. Can Multiple Integrations and Mappings be provided for customers for reuse?
         Multiple Integrations can be packaged into a single package and the same can be put up for       customers to use. Packages are packaged as .par file and integrations are packaged as .iar       file.These Integration packages can be imported into an existing customer ICS instance.

    11. How can systems be connected if there are no adapters available?
         Customers/Partners can build their own adapters using the SDK provided and also put it up       for usage in ICS via Cloud Marketplace

     Future enhancements if provided in ICS which could be really useful

      1.    Event Framework in Fusion HCM and ERP SAAS clouds for usage in ICS as available in Sales      Cloud SAAS
      2.    Identity Federation (Single Sign on) support if available then it would really a great addition      to existing username/password token policy for web services
      3.    Additional components/Adapters (for Workday and other systems etc.) could really help in        taking up ICS case further 

Saturday, September 12, 2015

ADF ListView Component

ADF ListView Component

ADF ListView component displays a List of Items based on rows of a collection model.If you are working in Jdeveloper11g(11.1.1.7) version then you would notice that when you try to drop in a collection onto a page then the same does not show List View component to select from.Same is available from the component palette for selection seems to be an issue with Jdeveloper.

Jdeveloper11g(11.1.1.7)
















Do not see an issue with Jdeveloper12c.

Jdeveloper12c












This component works pretty much like a Table component when it comes to the binding level.How to use this component in 11g as we need to drop this component from the component palette and then provide the property values manually.Easy way for the same is to first drop your collection as a table component (would prefer a read only table component) then drop in the list view component.Now add a list item component into the list view as shown below










Now copy the value available in Table component value property and provide the same into the list view components value property as below,also provide the selection listener value as similar to Table component value to the list view component.Also make the selection property for list view component as Single.















Similarly provide the binding values for the list item component as the value is available in the output text component under column of the table component value would be something like this - #{row.EmployeeId} i have copied it to the output text as #{item.EmployeeId} just to differentiate that this is a list items value the way it happens in 12c.












Now it show a warning in the output text component as the variable item is yet to be defined.Define the same at the listview level var property














Delete the table component which was used as basis for setting the properties of the list view component.After all the property are set list view item is now ready to use which will be rendered as below















Reference - https://www.youtube.com/watch?v=9aLLn_NIrZI

Tuesday, April 21, 2015

Exporting Data from ADF Table

Exporting Data from ADF Table


In this post we shall look at how to export data from an ADF table.To export data from an ADF table we shall use an export collection action listener from the operations component panel of ADF Faces.

General steps which i followed to export data from ADF Table declaratively.

  • Inside a Layout container had a panel collection component
  • Under this layout container have a panel collection component used
  • Inside the panel collection dropped an read only ADF table
  • Now we can either use the toolbar facet or menu facet of panel collection component
  • In the current example have used toolbar facet have tried it with menu facet also the steps are the same.
  • Toolbar facet of panel collection drop a toolbar and drop a button into the toolbar, give the button an appropriate text
Inside the button drop an export collection action listener a dialog opens up asking for two mandatory attributes for this listener which are as mentioned below:

i) ExportedId - ID of the component to be exported
ii) type - export type. The only currently supported value is 'excelHTML'

Other optional parameters are
iii) filename - file name for the exported content
iv) title - the title of the worksheet of the exported content
v) exportedRows - rows to include in the exported content

specific reason to use panel collection is to wrap my collection component which is the table as it provides toolbar and menu facets

Note:
Only the following can be exported:

Value of value holder components (such as input and output components).

Value of selectItem components used in selelctOneChoice and selectOneListbox components (the value of selectItem components in other selection components are not exported).

Value of the text attribute of a command component.


Value of the shortDesc attribute on image and icon components.

Following is the sample code snippet of my demo app.

<af:panelStretchLayout id="psl1">
          <f:facet name="center">
            <af:panelCollection id="pc1">
              <f:facet name="menus"/>
              <f:facet name="toolbar">
                <af:toolbar id="t1">
                  <af:commandToolbarButton text="ExporttoExcel"
                                           id="ctb1">
                    <af:exportCollectionActionListener type="excelHTML"
                                                       exportedId="datatoexport"
                                                       filename="Employee"
                                                       title="EmployeeExport"/>
                  </af:commandToolbarButton>
                </af:toolbar>
              </f:facet>
              <f:facet name="statusbar"/>
              <af:table value="#{bindings.ExportEmp.collectionModel}" var="row"
                        rows="#{bindings.ExportEmp.rangeSize}"
                        emptyText="#{bindings.ExportEmp.viewable ? 'No data to display.' : 'Access Denied.'}"
                        fetchSize="#{bindings.ExportEmp.rangeSize}"
                        rowBandingInterval="0"
                        selectionListener="#{bindings.ExportEmp.collectionModel.makeCurrent}"

                        rowSelection="multiple" id="datatoexport">

This is how the application looks when it is run




Once you click the export excel button a dialog appears on whether to save the data




Saved excel file worksheet title has the title as given in the export collection action listener title property





Uploaded is the sample app here

References:

  1.  Export data from Tables,Trees
  2.  Export Collection Action Listener









Sunday, April 12, 2015

Deleting a Jdeveloper Extension

DELETING A JDEVELOPER EXTENSION


As per checks done looks like there is no user interface to delete an extension from Jdeveloper.But we can go ahead with disabling an extension from Jdeveloper.

1) Go to Tools -> Preferences -> Extensions from Jdeveloper and then uncheck the extesions which you want to disable as shown below 




 But if we want to really delete an extension from Jdeveloper then the only option looks to be do it manually.Prior to executing this manual step first stop any Jdeveloper running instances and then do the manual activity of deleting an extension.

Go to your <MiddlewareHome>/jdeveloper/jdev/extensions directory and then take a back up of this directory before deleting any specific extensions.

Say i want to delete BPM extension from Jdeveloper then search for JAR files with name like oracle.bpm.* as shown below

Now run Jdeveloper and see whether it is working fine after the deletion of the JAR files from the extension directory.If it is working fine then you can clean up your extension directory back up accordingly.

Saturday, April 11, 2015

Changing JDeveloper Font Size

CHANGING JDEVELOPER FONT SIZE

Ever wondered on how to change the font size of JDeveloper as we might me working on different screens may be on laptop or big desktop monitor.So people would really like to customize the font size as per their wish the JDeveloper font size then that would be really useful.

Came across this setting as part of my search and efforts to change the Jdeveloper font size as per my wishes.

In order to set the font size for the Jdeveloper IDE you need to modify the ide.properties file to set the font size.

It is typically available under 

Windows:

C:\Users\{user_name}\AppData\Roaming\JDeveloper\system11.<Versiopn>\o.jdeveloper\ide.properties

Linux:

For Linux just do a find for ide.properties file under your Jdeveloper home and set the font size as per your wish.

Value which i have set the font size is 15 as below in the file.

Ide.FontSize=15

In fact the ide.properties file is so self explanatory it has lot of comments documented in it on how to set the font sizes for a specific locale and look and feel etc.

Tested the same with a larger font size of 45 on my laptop below are the images for the same.

Ide.FontSize=15





Ide.FontSize=45























Reference:https://community.oracle.com/thread/2282785