Friday Apr 10, 2015

OEPE 12.1.3.5 brings new tools for Storage Cloud Service and MAF 2.1.1

Oracle Enterprise Pack for Eclipse (OEPE) 12.1.3.5 is now available from the Oracle Technology Network and includes new tools for Oracle Cloud services and Oracle MAF.

New Tools for Oracle Storage Cloud Service


Oracle Storage Cloud Service is a secure, elastic, and on-demand cloud based storage solution. Customers with Storage Cloud Service accounts will be able to interact with their service instances from within OEPE 12.1.3.5 through the Oracle Cloud view. The Storage Cloud Service design time tools support a number of actions including:
  • Create new storage containers.
  • Store and retrieve objects in the storage containers.
  • Rename the storage object and manifest object.
  • Update the container and object metadata.
  • Support transparent encryption and define access controls to containers.
  • View the properties of any container and object.

Support for Oracle Mobile Application Framework 2.1.1


OEPE MAF design-time and runtime tools have been updated to support Oracle MAF 2.1.1. All existing mobile development tools have been updated to support the new Oracle MAF release while still continuing to support past Oracle MAF versions.

New MAF 2.1.1 runtime features include:

Local Notification support - MAF 2.1.1 provides support for scheduling, cancelling and receiving local notifications via the Device Feature Data Control, as well as Java and JavaScript APIs.

Support for completely disabling logging -  MAF 2.1.1 provides support for completely disabling all logging from a MAF app. To force this behavior, add the following to the app's adf-config.xml.

Wednesday Mar 18, 2015

REST Service Editor Query Parameters

REST Service Editor Query Parameters

By Preston Appel

This blog covers how to specify query parameters using the REST Service Editor. As you will see, it is possible to set the scope of the query parameters to every request of a given URI or to just a single request. We will also review how to modify the output representation to only contain certain attributes. (This is also covered in the Modeling a POST Request and Redirection in the REST Service Editor blog.)

Background of Our REST API Model

In previous blogs (Introduction to the REST Service Editor, Part 1 and Modeling a POST Request and Redirection in the REST Service Editor), we described a REST API that had been exposed by an application. This is shown below on the REST API page of the REST Service Editor.
REST Service Editor's REST API page showing model

Based on the documentation of the existing REST API that we are describing, we know that we can pass the query "verbose=false" to our GET request for departments. In this case, the response's JSON payload will just contain a summary description of each department. Usually, when we send a GET request to "http://localhost:4545/deparments," it returns multiple departments, where each department has an id, name, optional manager and an array of employees. When the query "verbose=false" is added to that URI, the JSON payload in the response will just contain the id and name of the department. How might we model this?

Modeling a Query on the Path

Let's say that we want to model this by adding the query to the "departments" path. (In this case, we don't actually want to do this, but we’ll get to that in a moment.) First, remember that the "departments" path is a child of the root path "http://localhost:4545." Since the paths will be combined into the address "http://localhost:4545/departments," we are just altering the address to include a query. We could just type the query at the end of the "departments" path, but to ensure we have the correct syntax (and to encode any illegal characters), we will use the Compose Address button to do this work.
REST API page's Compose Address button

Upon clicking the Compose Address button, we'll add the query "verbose=false" to the departments path.
Compose Address dialog

We have now altered the "departments" path to contain the query.
Altered departments path with query

Now, if we had a case where the query should apply to all the requests under the path, then we could model it this way. However, we don't want the query "verbose=false" to apply to our "createDepartment" request. To see that it applies to all requests—even those we don’t want affected—select "(POST) createDepartment" and look at the status line at the bottom of OEPE. The status line indicates the address that will be used for the request.
Status line showing address

Let's back out this change. We can either type control-Z, or click Edit/Undo Set 'Value.'
Edit/Undo Set 'Value' menu pick

Modeling Query Parameters on a Request

At this point, we'll create a new request "getDeptSummaries" on which we'll set a query parameter. To do so, we'll right-click on the Requests folder under the "departments" path and select New/Request.
Create new request from context menu

Enter "getDeptSummaries" in the Name field of the request (leave the Method as GET). We also enter the HTTP Header "Accept=application/json" but I haven’t shown this step. See Modeling a POST Request and Redirection in the REST Service Editor, if you need help with this. It's very similar to how we'll add a query parameter. To add "verbose=false," click the Add button on the Query Parameter tab of the Request.
New request named getDeptSummaries

Enter the name and value in the Add Query Parameter dialog.
Add Query Parameter dialog

We've now set up the query parameter for the request.
verbose=false query parameter

At this point, we can easily see what address will be used for each request. With "(GET) getDeptSummaries" selected in the Outline on the REST API page, the status line is "Address: http://localhost:4545/departments?verbose=false."
status line showing address for getDeptSummaries

With "(GET) getDepartments" selected in the Outline, the status line is simply "Address: http://localhost:4545/departments."
status line showing address for getDeptments

Now, it just remains to set up the output.

Being Precise About Output

For our "getDeptSummaries" request, we want to model that the response will only contain a summary of the information from the departments. To set this up, we click on the Request's Output tab and select Representation for the Type field. This is so we can specify the Output that will be returned in the response.
Output representation

Click the Add button to set up the Representation. In this case, we will be returning Department objects, so we select this for the Data Type. Since there will be more than one department, we check the Multiple box. Finally, since our documentation tells us that the query parameter "verbose=false" will result in returning just a summary of the department information—specifically, the id and name attributes for each department—we uncheck All attributes and select the id and name attributes.
Add Representation dialog

We now have described our "getDeptSummaries" request with some precision.
REST API page showing final model

With this model we can now, for example, generate Java 8 code, which will allow us to programmatically send our "getDeptSummaries" request. The generated code will know how to return just the department summaries due to how we modeled the output representation.

Additional Information

Oracle Enterprise Pack for Eclipse OTN Page

Oracle MAF OTN Page

Oracle MAF on YouTube 

Tuesday Mar 10, 2015

Modeling a POST Request and Redirection in the REST Service Editor

Modeling a POST Request and Redirection in the REST Service Editor

 By Preston Appel

In the blog Introduction to the REST Service Editor, Part 1, we sent a simple GET request to a server and then stored a description of that request and of the JSON payload we received back as a response. This blog is a continuation of that work, but we will be focusing on the REST API page of the editor as we model a POST request to create a department. This POST request involves redirection in that upon sending the request, we receive back a location that is the URI of the newly created department. We'll also see how to test the POST request that we’ve modeled by using the Copy to REST Client functionality.

Getting Up To Speed

To better understand the POST Request, below is a reminder of the description of the request and data types from the Introduction to the REST Service Editor, Part 1 blog. First, the REST Client page shows our "getDepartment" request. It has an HTTP Header: "Accept=application/json" (not pictured), and its Output Representation is a Departments data type.
REST Service Editor's REST API page with original model

The Data Types page shows the top-level Departments data type that we created, which contains multiple instances of the Department data type.
REST Service Editor's Data Types page with original model

We'll create a new request on the REST Client page and use the Department data type in our Output Redirection Representation.

Describing a New POST Request

This blog assumes that we have documentation on the existing REST API that we are describing in the REST Service Editor. Based on that documentation, we will be modeling a POST request to create a new department on the server.

If we were using the REST Client page to send a POST request to the application exposing the REST API, we would use the address "http://localhost:4545/departments." On the REST API page, that address has already been set up with a tree of paths. The root path "http://localhost:4545" has a child path "departments" with a Requests folder. That is where the existing "getDepartments" request was imported. By right-clicking on that Requests folder we can create our new request.
REST API page creating new request

We now set the Method field to POST and type "createDepartment" in the Name field.
REST API page showing new POST request

Based on the documentation of the existing REST API, we know that to create a department on the server, the POST request must have content that is expressed as a JSON payload. We can meet the JSON requirement by adding an HTTP Header "Content-Type=application/json" to the modeled request. To do so we click the Add button and enter the data.
Add Header dialog
HTTP Header created

We now need to model the input of our POST request. After clicking the Input tab of the Request, we select Representation for the Type because we want to send a Department data type for our POST request.
Input Representation creation

We select the Add button and select Department in the Add Representation dialog. By default "All attributes" is checked.
Add Representation dialog

But based on the API's documentation, we cannot send the "id" attribute to the server when creating a new department. Moreover, that documentation for this functionality tells us that we only need to send the "name" attribute to create a new department. So in the dialog we will uncheck "All attributes" and check the "name" attribute.
Add Representation dialog altering attributes

We have now partially described our "createDepartment" request.
Department Input Representation created

Testing the POST Request

We still have to do some work to describe the redirection, but for now, we will test what we have. With "(POST) createDepartment" selected in the Outline of the REST API page, click the Copy to REST Client button for the request.
Copy to REST Client button

This takes us to the REST Client page where we can see that the Method, Address and Headers contain what we have modeled. If, however, we click on the Input tab in the Request Details section, we don't see the Representation we set up. In fact, we only see the option to select a Body type.
REST Client page Input Type

For the current version of the REST Service Editor, the REST Client page only supports an Input of Body. To test our request then, we'll have to do a little more work. Select the Body type and enter {"name":"demo department"} for the value of the body.
REST Client page Body Input Type

Click the Send Request button. The Response section of the REST Client page shows a status of 201 Created, and the Headers section has a Location set to "http://localhost:4545/departments/dep5." This redirection URI allows us to send a GET request for the newly created department.
REST Client page Response

We can either click the arrow button to set the address to the response redirected location or control-click the arrow to send a GET request to the redirected location immediately.
REST Client page Response Status

Here are the results for control-clicking the arrow.
REST Client page redirection URI Response

Describing the Redirection for Our New POST Request

We now return to the REST API page to complete our modeling. With "(POST) createDepartment" selected in the Outline of the REST API page, click on the Output for the Request. Here we select Redirection to describe the behavior that we just demonstrated on the REST Client page.
REST API page Output Redirection

Add "Accept=application/json" to the Headers.
REST API page Output Headers

Add Department to the Representation. Leave "All attributes" checked.
Add Representation dialog

After saving, here's the model we've created of the "createDepartments" POST request.
REST API page showing final model

We now have a model that can, for example, be used to generate Java 8 code. This code will allow us to programmatically send a POST request to create a department and also to process the redirection by sending a GET request to retrieve that new department.

Additional Information

Oracle Enterprise Pack for Eclipse OTN Page

Oracle MAF OTN Page

Oracle MAF on YouTube 

Sunday Mar 08, 2015

Mobile Feature Archive Import and Export with OEPE

Mobile Feature Archive Import and Export with OEPE

By Ian Trimble

Each Mobile Application Framework (MAF) application's view project can be exported as a Mobile Feature Archive (FAR), which can subsequently be imported into other MAF applications.

A Mobile Feature Archive contains all of a view project's artifacts, including features, AMX and HTML pages, and task flows. It also contains information about connections and Cordova plugins, which is application-level information that is exported with a FAR so that the correct application-level information can be merged on FAR import. This application-level information is critical to allowing imported features to work correctly.

Export

To begin export, select File > Export... from the menubar, or right-click in the Project Explorer or on a view project and select Export...

In the Export dialog, select Oracle > Mobile Application Framework > Mobile Feature Archive (FAR), then select Next >
Export dialog

On the Export Mobile Feature Archive (FAR) page, enter or browse for a view project (only view projects are valid for FAR export) and enter or browse for a FAR (this must be a legal pathname for the desired FAR, which has a ".jar" extension.) Select whether or not to include connection details. Create FAR by selecting Finish.
Note: if export was started by right-clicking on a valid view project, it will be pre-populated.
Export Mobile Feature Archive (FAR) page

Import

Importing a FAR is performed in the MAF Application Editor, which can be opened by expanding an assembly project in the Project Explorer and double-clicking MAF Application Editor under the MAF node.

In the MAF Application Editor, there are two ways to begin the import of a Feature Archive:

    1. Right-click the Feature Archives node and select New > Feature Archive. Adding FAR in MAF Application Editor
    2. At the top-right of the MAF Application Editor, select Browse next to the URI field.
    3. Enter or browse for the desired FAR, then select OK. Browse for FAR URI in MAF Application Editor
  1. Drag and drop a FAR from the file-system onto the Feature Archives node.

Importing Connections

To import connections that were defined in the FAR, select the Connections node under the Feature Archive in the MAF Application Editor. Select FAR connections in MAF Application Editor

Connections can be in several different states, both immediately after import and after user actions to decide how to treat each connection. The states are as follows:

  • New: the connection is not already defined in the application and is available for import.
  • Conflicting: there is a conflict between the connection and a connection that is already defined in the application; manual user action will be required to resolve the conflict. The first step in resolving the conflict will be to look at the this connection and the application's connection, to decide how the application's connection could be adjusted to allow import of the connection in the FAR.
  • Partial: the connection is incomplete; manual configuration will be required to make it valid.
  • Not Valid: the connection is somehow invalid; a connection in this state will likely require consultation with the author of the FAR to correct.
  • Equivalent: the connection is equivalent to a connection already defined in the application; import is not necessary.
  • Ignored: the connection has been marked as ignored, usually because it has been determined that the connection is not necessary or that the connection is not valid and so a valid connection has been defined in the application directly.

Select a connection in the list on the right, then select the Import (Import">) button to the right of the list. The connection will now be shown as equivalent, since a corresponding connection has been created in the consuming MAF application. Imported connection in MAF Application Editor
Note: you can also select the Ignore (Ignore) button to the right of the connections list if you choose not to import a connection; this could, however, prevent features in the imported FAR from functioning correctly.

Importing Plug-ins

To import Cordova plugins that were defined in the FAR, select the Plug-ins node under the Feature Archive in the MAF Application Editor. Select FAR Plug-ins in MAF Application Editor

Plugins can be in several different states, both immediately after import and after user actions to decide how to treat each plugin. The states are as follows:

  • New: the plugin is not already defined in the application and is available for import.
  • Equivalent: the plugin is equivalent to a plugin already defined in the application; import is not necessary.
  • Ignored: the plugin has been marked as ignored, usually because it has been determined that the plugin is not necessary or that the plugin is not valid and so a valid plugin has been defined in the application directly.

Select a plugin in the list on the right, then select the Import (Import) button to the right of the list. If this is a new plugin, you must select a URI that points to the equivalent Cordova plugin, since plugin source is not stored in a FAR (only its registration and usage information is stored). The plugin will now be shown as equivalent, since a corresponding plugin registration has been created in the consuming MAF application. Imported plug-in in MAF Application Editor
Note: you can also select the Ignore (Ignore) button to the right of the plugin list if you choose not to import a plugin; this could, however, prevent features in the imported FAR from functioning correctly.

Registering Features

To register features that were defined in the FAR, select the Registered Features node in the MAF Application Editor. Select Registered Features in MAF Application Editor

Select the Browse (Browse) button to the right of the list, then select a feature and click OK. Select feature in dialog

After registering a feature, you may notice that the Plug-in Enablement node shows a warning. This indicates that a registered feature uses a plugin that has not been enabled for use by the application. To remedy this, select the Plug-in Enablement node in the MAF Application Editor. Enable plugins in MAF Application Editor

Select the Enable All button (Enable All) to the right of the list. This will enable all required plugins.
Note: you can also enable individual plugins by selecting the Browse (Browse) button to the right of the list and selecting plugins that you wish to enable. Not enabling plugins could prevent features from functioning correctly.

Additional Information

Oracle Enterprise Pack for Eclipse OTN Page

Oracle MAF OTN Page

Oracle MAF on YouTube 

Monday Jun 30, 2014

Android and iOS development comes to OEPE 12.1.3.1

Oracle Enterprise Pack for Eclipse 12.1.3.1 adds new support for mobile application development using the new Oracle MAF framework. From within Eclipse, you can now develop hybrid mobile applications deploying to both iOS and Android devices. Some of the new features include:

Oracle Mobile Application Framework Design Time Support

  • New MAF Project Wizards help you get started with the correct project structure to start writing mobile applications
  • New MAF perspective configures your workspace with the most relevant Eclipse Views for mobile development
  • Android SDK and Apple XCode Configuration Wizards setup your Eclipse workspace to build and deploy your work to Android and iOS devices and simulators
  • AMX Tag Palette, Drag and Drop Patterns, and Smart Editors help you use and configure over 80 MAF components to develop your mobile applications
  • New Web Service Data Control simplifies binding mobile components to local and remote SOAP-based web services
  • Mobile Application descriptor editor provides a form based editor to assemble MAF applications, manage mobile security, configure Cordova plugins, and more
  • Mobile Feature descriptor editor provides a form based editor to create, manage, and reuse MAF features and more
  • Support for visual Task Flow creation, Bindings, and Data Controls in Mobile application development
  • MAF Feature and Application packaging for sharing and reuse of features across multiple mobile applications
  • AppXray dependency tracking and refactoring for MAF projects including AMX components, feature configurations, application configurations, bindings, task flows, and more
  • Deploy and Debug to Android & iOS Simulators or Devices directly from within your Eclipse workspace
  • Access Device and Simulator error logs of your running applications help debug runtime issues from within Eclipse

Oracle Mobile Application Framework Runtime

Oracle Mobile Application Framework 2.0 is shipped with OEPE zip distributions and available for download through Eclipse Update. No need to download an external runtime as the framework is included with the development tools out of the box.

Oracle Mobile Application Framework Samples

Over a dozen complete Mobile examples applications are included with the MAF tools. These sample demonstrate examples and best practices for data visualization, binding to web services, using Cordova plugins to access device features, and more. See the MAF Example Applications under the standard Eclipse Examples wizard for list of samples and detailed descriptions.

Checkout OEPE OTN page for OEPE downloads, tutorials, and documentation or see the Mobile Application Framework portal for even more information including new training videos and samples.

Friday Jun 27, 2014

New support for Fusion Middleware 12.1.3

Oracle Enterprise Pack for Eclipse (OEPE) now provides new support for Oracle Fusion Middleware 12.1.3.  Details of the Fusion Middleware 12.1.3 support can be found below

Oracle WebLogic Server 12.1.3 Tooling


Oracle Enterprise Pack for Eclipse (OEPE) 12c provides new support for Oracle WebLogic Server 12.1.3.
  • Run/Deploy/Debug artifacts both locally and remotely to WebLogic Server 12.1.3
  • Updated WebLogic deployment descriptor editors support the latest standards
  • Detailed support for management of shared libraries
  • Ability to utilize FastSwap, which provides the ability to reload certain classes/components of an already deployed application
  • Ability to configure and manage WLST (WebLogic Scripting Tool) artifacts
  • Tie in to the WebLogic MBean Browser

Oracle Coherence 12.1.3 Tooling

Oracle Enterprise Pack for Eclipse (OEPE) 12c provides new support for Oracle Coherence 12.1.3.
  • Rich editors for Coherence 12.1.3 deployment descriptors
  • Context sensitive help links directly into Coherence 12.1.3 documentation
  • Run and Debug Coherence 12.1.3 Cache applications directly from within Eclipse
  • Support for Coherence GRID Archive (GAR) applications
  • Packaging and deployment directly to Weblogic Server 12.1.3 or Coherence 12.1.3 containers
  • Ability to deploy a GAR directly, embed as a library in other applications, or deploy as a shared library.

Oracle ADF 12.1.3 Tooling

Oracle Enterprise Pack for Eclipse (OEPE) 12c provides new support for Oracle Application Development Framework (ADF) 12.1.3.
  • Update design time tools for ADF 12.1.3
  • Ability to create new ADF 12.1.3 applications
  • Update existing ADF design time tooling (ADF Faces, Tasks Flows, Page Definitions, Bindings, and Data Controls) to support the new standard
  • Deploy and debug ADF 12.1.3 applications with WebLogic Server 12.1.3

Check out the OEPE OTN page for more information, demos, and tutorials or go directly to the OEPE Downloads page to get the latest installer.

Sunday Mar 23, 2014

Getting Started with Oracle ADF Essentials in OEPE

Frederic Desbiens takes you through an introduction on how you can use ADF Essentials to develop and deploy ADF applications with OEPE and GlassFish.

Thursday Feb 21, 2013

ADF Application Development Using OEPE v12.1.1.2

Overview

OEPE has been iteratively providing more ADF tooling with each release. The latest v12.1.1.2 release provides features that allows us to develop a fully functioning ADF application. The following tutorial describes HR sample application development using ADF features supported by OEPE release v12.1.1.2. It covers some of the key ADF toolings like Data Control generation on EJB, generation of Data First & UI First scenario, Page Definition editor, ADF Table generation, generation of DVT graph and some of the cool AppXray features.

Development Environment Set up

OEPE v12.1.1.2
From OTN, download and install OEPE w/ WLS Runtime
Oracle DB 10g / 11g
Use the sample HR schema bundled in Oracle DB

Create ADF Application

  • Start Eclipse with an empty workspace
  • Switch to Java EE perspective
  • Launch File | New | Oracle ADF Application wizard
  • Type in application name, "HR" 
  • Create a new run time selecting WebLogic Server 10.3.6 instance 
  • Launch "New JPA Project" wizard, click on Modify... button and select utility module facet
  • On the JPA project wizard, click Next and navigate to "JPA Facet" Page
  • For platform, select "EclipseLink 2.1.x" and verify the selection of "WebLogic System Library (Oracle TopLink 11gR1)" implementation
  • Click on "Add connection..." and create a new 10g/11g "Oracle Database Connection"
  • On the JPA project wizard, click on "Override default schema from connection" and click Finish
  • NOTE: Click "No" on switch perspective dialog
  • On the ADF Application wizard, click Finish

Figure 1: Oracle ADF Application wizard

Generate Data Model

  • In Project Explorer, right click on "HRModel" | New | "JPA Entities from Tables"
    • On "Select Tables", pick "Employees" & "Department" table and click Next
    • Retain default "Table Associations" and click Next
    • On "Customize Default Entity Generation", type in a package name and click Finish
  • Open Employee.java and update with @NamedQuery(name="findAllEmps", query="select e from Employee e ")
  • Open Department.java and update with @NamedQuery(name="findAllDepts", query="select d from Department d")
  • Save the files
  • Generate Data Control artifacts
    • In Project Explorer, right click on "HRModel" | New | Other | Oracle | Application Development Framework | select "ADF Data Model Components" and click Next
    • Type in package name, ex: ejb.beans
    • Type in class name, ex: "HRModelSessionEJB" and click Next
    •  Double click on "Employee" entity and move it over to selected panel
    • Click Next, retain default object type "ADF Data Control" and click Finish

Figure 2: ADF Data Model Component wizard





Iterative Data Control artifact generation

  • In Project Explorer, expand HRModel | src | ejb.beans and right click on "HRModelSessionEJB" | Model Components | Edit Session Bean Facade ...
  • On Edit Session Bean Facade, double click on Department and move it over to selected panel, click Finish
  • In Project Explorer, right click on HRModel | src | model | "HRModelSessionEJB" | select Model Components | Create ADF Data Control

Figure 3: Edit Session Bean Facade and ADF Data Control



Data First, Department Id artifact generation

  • Create ADF page
    • In Project Explorer, right click on "HRWeb" project | New | JSP File, type in file name "emplist.jspx" and click Next
    • On template selection page, select "ADF Rich Faces Page - Three Columns (xhtml, xml syntax)" and click Finish
    • In the JSP source view, modify the facet order, i.e. move "f:facet name=start" before "f:facet name=center"
  • Generate ADF OutputText tag on departmentId artifact
    • In the JSP source view, place the cursor within "f:facet name=start" tag
    • On the Palette view, switch to Tags tab, expand ADF Faces | DND "Panel Form Layout" and click Finish 
    • On the Palette view, switch to Data tab, expand HRModelSessionEJBLocal | findAllDepts, DND "departmentId" within panelFormLayout as "Text | ADF Output Text w/ Label"
    • save the page

Figure 4: Data First, DND data control artifact

Define artifact in Page Definition editor

  • In Project Explorer, right click on emplist.jspx | Open Page Definition
  • Define new attribute value binding
    • On Page Definition editor, click on + to add new Binding
    • On the New Binding dialog, select "attributeValues" and type in id "deptName", click OK
    • On the details panel, click on "Browse" button
    • On "Rebind Attribute selection", expand findAllDepts and select "departmentName", click OK
    • NOTE: The Page definition editor validates in-valid/undefined binding or iterators.
    • save and close page definition file

Figure 5: Page Definition editor

UI First, Department Name artifact generation

  • Switch to emplist.jspx and place the cursor after closing panelLabelAndMessage tag
  • On the Palette View, switch to "Tags" tab
  • Expand "ADF Faces" node and DND "Panel Label And Message" tag
  • Click on the binding button next to "Label" field and select "bindings.deptName.hints.label", click Finish
  • In the source view, place the cursor within panelLabelAndMessage tag and from Palette view, DND "Output Text" tag
  • Click on the binding button next to "Value" field and select "bindings.deptName.inputValue", click Finish

Figure 6: Panel Label & Message and Output Text tag editors



Generate ADF Tag from Data Palette view

  •  In the JSP source view, place the cursor after closing panelLabelAndMessage tag (i.e. after deptName)
  • On the Palette view, switch to Data tab, right click on "findAllDepts" | Insert in the page | ADF Navigation | Navigation Buttons

Figure 7: Data Palette | Data control artifact context menu item

Generate Employee Table

  •  In the JSP source view, place the cursor within f:facet name=center tag
  • On the Palette view, switch to Data tab, DND "findAllDepts | employees" as Table | ADF Table...
  • On the Table configuration page, select columns EmployeeId, FirstName, LastName and PhoneNumber, remove the remaining entries and click Finish

Figure 8: ADF Table tag editor


Modify Employee Table behavior

  •  In the JSP source view, place the cursor on table tag
  • On the Properties view, click on "Edit Component Definition"
    • Check "Read-only Table", select "Single row", and "Enable sorting"
  • Click Finish and save the page

Figure 9: Edit Component definition editor

Generate DVT Graph

  • In the JSP source view, place the cursor within "f:facet name=end" tag
  • In the Data Palette view, right click on findAllDepts | employees | Insert in the page | Graph | Bar Graph
    • Retain default Bar Graph Type and select second layout, click Next
    • Bars: Click "Add attribute" and select "employeeId"
    • X axis: Click "Add attribute" and select "salary", click Finish

Figure 10: Bar Graph wizard

Smart editor, Graphical representation of Binding references

  •  In the JSP source view, place the cursor on jsp:root tag
  • On the Properties view, switch to "Bindings" tab
    • You can navigate to the binding definition, iterator or referenced tag on the JSP page
    • Also, you can place the cursor on individual tag to view the corresponding binding references

Figure 11: Smart editor binding references

AppXaminer, Graphical representation of ADF artifact references

  • In Project Explorer, right click on emplist.jspx | Show AppXray Dependencies
    • The AppXaminer displays all web artifact references in JSP page, ex: references to resource bundle, image files, adf binding references, jsf managed bean references.
    • For each artifact reference, you can navigate deeper to source file, ex: in case of adf binding, you can navigate all the way up to JPA bean class.
    • The reference link on AppXaminer provides navigation to respective source file
    • In addition to JSP, the AppXray visualization works on other web artifact files, ex: taskflow, page definition, data binding, data control, managed bean or resource bundle file

Figure 12: AppXaminer visualization





Deploy and run ADF application on WLS P5 RT

  • In the Servers view, click on "new server wizard..." link
  • Select WLS PS RT, click Next
    • On "Specify a WebLogic domain directory" page click on create button and create a domain with JRF extension
    • On New Server dialog, click Finish
  • Start the server
  • NOTE: The eclipse internal browser has a known issue with DVT tag rendering, try the following step to use external browser
    • Window | Preferences | General | Web Browser | switch to "Use external web browser" and select Firefox / IE / Chrome
  • In Project Explorer, right click on emplist.jspx | Run As | Run on Server, select WebLogic Server 10.3.6 domain and click Finish

Figure 13: WLS server configuration and RT output of emplist.jspx




References

Wednesday Dec 05, 2012

The New OEPE 12.1.1.2 is Out - ADF Development and More

Yes you are reading it right. Having announced just last week the general availability of our OEPE release 12.1.1.1.1 which includes support for developing applications to the Oracle Cloud. Today we are happy to announce the release of OEPE 12c (12.1.1.2) which includes various improvements for Webservices policies and security, and new features for implementing ADF applications in Eclipse Juno (3.8.1 and 4.2.1) as well as, bug fixes for other areas of the product - all of the above on top of Oracle Cloud support from the previous release.

Many of the new features on this release have been added based on the feedback that we got from the ADF community, so, many thanks to you all and please, keep them coming! The main new features for this release are:

  • ADF Bindings support on Taskflow activities on the diagram.
  • Support for multi-node tree component bidings.
  • Automatic ID generation for ADF Faces components.
  • Support drag-n-drop of components and bindings into the page outline in addition to the regular jsp editor.
  • Improved Webservices policies and security. 

You can download the new versión from here. Remenber that you can send us your feedback or post your questions on our forum on OTN

The OEPE Team. 

Tuesday Nov 06, 2012

We'll be at QCon San Francisco!

Oracle Technology Network is a Platinum sponsor at QCon San Francisco. Don’t miss these great developer focused sessions:

Shay Shmeltzer - How we simplified Web, Mobile and Cloud development for our own developers? - the Oracle Story

Over the past several years, Oracle has beendeveloping a new set of enterprise applications in what is probably one of the
largest Java based development project in the world. How do you take 3000 developers and make them productive? How do you insure the delivery of cutting edge UIs for both Mobile and Web channels? How do you enable Cloud based
development and deployment? Come and learn how we did it at Oracle, and see how the same technologies and methodologies can apply to your development efforts.

Dan Smith - Project Lambda in Java 8

Java SE 8 will include major enhancements to the Java Programming Language and its core libraries.  This suite of new features, known as Project Lambda in the OpenJDK community, includes lambda expressions, default methods, and parallel collections (and much more!).  The result will be a next-generation Java programming experience with more flexibility and better abstractions.   This talk will introduce the new Java features and offer a behind-the-scenes view of how they evolved and why they work the way that they do.

Arun Gupta - JSR 356: Building HTML5 WebSocket Applications in Java

The family of HTML5 technologies has pushed the pendulum away from rich client technologies and toward ever-more-capable Web clients running on today’s browsers. In particular, WebSocket brings new opportunities for efficient peer-to-peer communication, providing the basis for a new generation of interactive and “live” Web applications. This session examines the efforts under way to support WebSocket in the Java programming model, from its base-level integration in the Java Servlet and Java EE containers to a new, easy-to-use API and toolset that are destined to become part of the standard Java platform.

The complete conference schedule is here: http://qconsf.com/sf2012/schedule/wednesday.jsp

But wait, there’s more! At the Oracle booth, we’ll also be covering:

  • Oracle ADF Mobile
  • Oracle Developer Cloud Service
  • Oracle ADF Essentials
  • NetBeans Project Easel
Hope to see you there! 

Monday Sep 24, 2012

Announcement: New Tutorial - Using ADF Faces and ADF Controller with OEPE

We are happy to announce the publication of our newest tutorial, that explores some of the latest features added in our OEPE 12c release for ADF Development. The tutorial walks you through the creation of an ADF application that uses the ADF Faces Rich Client components, in combination with the ADF Controler, ADF Model and JPA. By developing this tutorial you will work and understand various features added into OEPE 12c that are specific to ADF development such as:
  • ADF taskflow editor
  • Visual pageDefinition editor
  • ADF integration with AppXRay
  • Navigation across artifacts such as pages, pageDefinition, managed beans, etc.
  • Property inspector for ADF Faces components.
Stay tunned for more and exciting tutorials that explore this and much more OEPE features. And of course your feedback is always welcome!

Thursday Sep 06, 2012

OEPE and Oracle ADF at Oracle OpenWorld!

OEPE's support for Oracle ADF is really starting to cook!  

If you're going to Oracle OpenWorld 2012, check out this list that focuses on Oracle ADF.  It's long, but you can readily search for "Eclipse" to find the OEPE related sessions.  

Also here: https://oracleus.activeevents.com/connect/focusPDF.do?focusID=21149

Monday Aug 13, 2012

New OEPE video with Oracle ADF

Virtual Developer Day - Oracle Fusion Development (On-Demand)

From a recent OTN Virtual Developer Day - Oracle Fusion Development (July 2012)  - Checkout the OEPE presentation covering Oracle ADF development.  Plus checkout all the other cool demos and presentations available from the comfort of your office.

http://www.oracle.com/technetwork/community/developer-day/vdd-oracle-fusion-dev-day-1725597.html

Monday Jun 18, 2012

Eclipse and Oracle Fusion Development - Free Virtual Event, July 10th

Below is one of many sessions covering Oracle Fusion Development.  It's a free virtual event on July 10. Live chats with Oracle's technical staff.  Check it out!

Oracle Enterprise Pack for Eclipse - ADF Development

Oracle ADF Development has never been easier in Eclipse. During this session we will explore best practices to use standard Java EE technologies like EJBs and JPA to build rich ADF applications based on ADF Data Controls, Task Flows, and ADF Faces components all within Oracle Enterprise Pack for Eclipse (OEPE) 12c. We will also look at how OEPE’s AppXRay technology enables developers to understand and visualize dependency relationships between ADF components, xml descriptors, and Java objects in order to drive validation, content assist, and refactoring.

Free Virtual Developer Day - Fusion Middleware Development
Join a free online developer day where you can learn about the various components that make up the Oracle Fusion Development platform including ADF, ADF Mobile, Oracle WebCenter Portal, Business Intelligence and more. Online seminars and hands-on labs available directly from your browser. Join us on July 10!  Register here


About

The focus of this blog is on Oracle Enterprise Pack for Eclipse (OEPE) and Oracle's involvement in the Eclipse community. Visit us for information on releases, tips and tricks related to Eclipse, and general Eclipse community information.

Search

Categories
Archives
« September 2015
SunMonTueWedThuFriSat
  
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today