Skip navigation.

Usable Apps

Syndicate content
Simplified UI UX for the Cloud. Build it with PaaS4SaaS. Click for the Release 10 Cloud UX RDK.
Updated: 10 hours 52 min ago

Well Run: Oracle PaaS and Fusion Middleware Community Forum XXII

Wed, 2016-04-20 12:03

The Oracle Fusion Middleware Partner Community Forum, run by Oracle EMEA Alliances and Channels Community Manager Jürgen Kress (@soacommunity) is the premiere EMEA event to attend for Oracle Partners who build solutions using Oracle technology.

This forum is one awesome annual opportunity for partners to come together to show off their greatness, find out about the latest technology from Oracle, and take advantage of hands-on workshops. The forum is about learning and working collaboratively and generating ideas that'll convert into cloud and middleware business wins for partners.

The Oracle PaaS and Fusion Middleware Community Forum XXII (note that emphasis on PaaSwas held in Valencia, Spain, March 15-18, 2016, which coincided with the amazing color and sounds of Valencia's San José Fallas festival.

OAUX at the OFMFORUM

We run this cloud: #OAUX at the #OFMFORUM 

Jürgen’s report from the event makes impressive reading: There were over 650 attendees, of which about 80% were external (to Oracle) partners, with many already working on live PaaS projects and with lots more PaaS projects in the planning phase. This year saw a big attendance from the Oracle U.S. HQ  team, too, along with some 22 OTN ACEs from around the world. (I caught up with my old pal Rolando Carrasco [@borland_c] from Mexico and many others.)

All of the sessions were rated "excellent" or "good" in the feedback survey (not one was rated average or below). Bottom line: The event is excellent value for money and a very attractive proposition for partners working on PaaS and middleware projects, and it is of great interest to those working with Oracle ADF, BPM, JET, MAF, SOA, and so on and the range of Oracle Cloud services (ICS, IoT, JCS, MCS, PCS, and more). 

This year a User Experience and BPM track was added to the program. With so many PaaS partners interested in cloud UX as a competitive differentiator, the forum was a "must-do" outreach opportunity for Oracle Applications User Experience (OAUX). I represented OAUX, co-presenting with Lonneke Dikmans (@lonnekedikmans), Managing Partner at eProseed NL, and spoke about the OAUX Cloud UX Rapid Development Kit (RDK) and how we enable partners to rapidly design, build, and deploy reusable simplified UI cloud solutions with Oracle ADF, Oracle Alta UI, and other technology.

Lonneke talks about winning business using developer productivity offered by the RDK

Lonneke talks about winning business using the developer productivity and other benefits offered by the RDK. 

(Of course, Valencia is La Ciudad del Running, too. How could I not attend?)

I demoed the Release 10 Cloud UX RDK and showed off the design patterns, eBooks, and developer workspace involved, highlighting key features of the RDK, such as how partners can integrate typical web services easily and quickly deploy a winning simplified UI custom app to PaaS. An excellent overview of the RDK is available on the Fusion Applications Developer Relations blog.
Lonneke provided the partner side of our enablement story by telling the audience about the eProseed experience of developing a smart city IoT solution to enable modern ways of working (the famous activity-based approach of Erik Veldhoen). eProseed achieved some impressive results from the project through customer insight, storyboards, the RDK's UX design patterns, Oracle ADF templates and components, Oracle Alta UI, and with workshops that directly involved the customer and OAUX. eProseed benefitted from:
  • A higher quality solution where the concept of a modern working style fit easily with the design and development framework of the RDK. 
  • Reusable, consistent development through library and component reuse across different use cases.
  • Increased developer productivity resulting in a faster time to market, a quicker transfer of the ownership of the solution to the customer, and tighter collaboration between their design and development teams. Nothing got "lost in translation."
  • An impressive user experience based on the simplified UI Glance, Scan, Commit design philosophy. This approach crafts solutions that are easy to use because of the application of proven UX design patterns, which also enables users to make seamless transitions between the cloud's integrated apps while maintaining flexible ways of working across different devices using data in the cloud and responsive UIs.
  • An enhanced partner reputation for eProseed. Showcasing a solution with a clear eProseed UX signature offers customers confidence about pursuing solutions in the cloud.

You can read more about the enablement event we held with eProseed last year.

Lonneke concluded our presentation by illustrating real results by demoing the very cool "Licht is Uit" IoT solution.

eProseed is right up there in EMEA with providing solutions that have a smart user experience, are built with Oracle technology, and that leverage OAUX enablement. Catch up with any eProseed sessions you can at other events! 

Jurgen and Lonneke at the speaker's dinner. Post-sailing and post-running!

Jürgen and Lonneke at the speakers' dinner. Post-sailing and post-running! 

And the running? Ah yes. Oracle folks and partners did some running in the city proper and on the coast, too, taking in all of the sights. I am pleased to say that the OAUX running club Design Time @ Run Time technical shirts were a big hit, too. Watch out for those at the next event!

The Ultan and Lonneke Inaugural EMEA Forum 10K

The Lonneke and Ultan Inaugural EMEA Forum 10K in Valencia. A half marathon is planned for next year's event.

Partners with access to the community's Oracle Beehive space can now get my own and Lonneke's presentation at the Forum.

Enjoy.

See you at Forum XXIII!


A Taste of FinTech: Bitterballen and Banking in the Cloud with Profource

Wed, 2016-04-20 07:05

Financial technology (#FinTech) innovation and the future of banking are hot topics. If you wondered for one tiny moment how the importance of financial applications and the cloud fit into the Oracle Cloud User Experience #PaaS4SaaS enablement that Oracle Applications User Experience (OAUX) offers Oracle Partners, well, here's one rocking example from EMEA!

Recently, we (OAUX) held a hands-on enablement event at Oracle Nederland in Utrecht to work alongside one of our leading EMEA partners, Profource B.V., to design and build a simplified UI Banking Cloud solution using the Cloud UX Rapid Development Kit (RDK) for Release 10. This event was the culmination of upfront design and development exploration done collaboratively between the two teams online.

Profource and OAUX Teams in Oracle Nederland

Part of the Profource team with the OAUX enablers: (L-R): Julian Orr, Lancy Silveira, Ronald van Herpen, Martijn Rijpkema, Pam Koertshuis, and Ultan Ó Broin

Held over 2.5 days, the Microsoft PowerPoint Karaoke was cut to a minimum as design and development teams stormed and formed around the solution requirements and worked fast to iterate designs and build a modern banking cloud solution that was then deployed as a service to the Profource cloud. A great success!

Banking Cloud Simplified UI Launch Page Wireframe

Part of the Banking Cloud simplified UI launch experience wireframe. Wireframing the solution using the RDK tools, garnering agreement, and transferring the design to the development team made for rapid, agile innovation and iteration, right through to deployment.

Banking Cloud Statements Wireframe

Simply that simplified UI again: This time for an Oracle ERP Cloud Release 10 solution. This is a wireframe view of part of the user experience flow, built using the RDK's Oracle ADF page templates and declarative components, the Oracle Alta UI design system, and the agile Learn-Design-Build approach of the RDK's guidance.

You can read more about the Banking Cloud event on Profource consultant Pam Koertshuis's (@pkoertshuis) blog: Simplified UI for PAAS 4 SAAS solution.

Profource consultant, Hakan Biroglu (@hakanbiroglu), said about the event:

"We [the Profource team] have learned a lot. Not just on a technical level, on how to reuse your RDK, but also on an architectural and design level. Your workshop forced us to rethink our UX solution and to evaluate every item on every page in every flow, 'Why is this needed? What information does it provide me? What does it trigger me to do?'" 

Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:8.0pt; font-family:"Times New Roman Bold"; color:black; mso-fareast-language:JA;}

If you're heading to OBUG's APPSCONNECTed16 event in Arnhem, check out the sessions about the Profource Banking Cloud and their other Release 10 cloud solutions (HCM, PPM, and Resource Management) and about how you can use the RDK and OAUX enablement to do the same for your business.

Many thanks to the Profource team and to Oracle Nederland.  

If you are an Oracle Partner who wants to get ahead in the Oracle Cloud, you can contact us through the usual OAUX channels or your Oracle PartnerNetwork contacts.

Oracle Usable Apps Catds and Skerches

Oracle Applications Cloud User Experience: Enablement for partners from design to deployment. It starts with a sketch . . . .

Oh, the bittterballen?

Since you asked...

Bitterballen

Bitterballen: An Oracle Nederland culinary delight that somehow always features as part of OAUX enablement events in Utrecht. 

Tour the Oracle Cloud UX Rapid Development Kit (RDK) Resources

Tue, 2016-04-12 12:05
0 0 1 95 546 Oracle America, Inc. 4 1 640 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

Julian Orr (@Orr_UX) and I (@KarenScipi) recently hosted a Customer Connect webinar: Oracle Cloud UX Rapid Development Kit (RDK).

We walked through our Cloud UX Rapid Development Kit landing page, highlighting Learn, Design, and Build resources that you can use for architecting your approach and for designing and building sleek, modern SaaS integrations and custom PaaS applications that share the same user experience and look and feel as Oracle Applications Cloud.

Oracle Cloud UX Rapid Development Kit landing page

0 0 1 74 423 Oracle America, Inc. 3 1 496 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

Oracle Cloud UX Rapid Development Kit landing page

We're delighted to make our 15-minute webinar available to you. A Customer Connect Community account is required. If you don’t have one, take a moment to register for an account.

Oracle Cloud UX Rapid Development Kit webinar

Oracle Cloud UX Rapid Development Kit webinar

0 0 1 5 33 Oracle America, Inc. 1 1 37 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;}

Also, for ongoing information and updates, stay tuned to the OAUX channels.

0 0 1 62 357 Oracle America, Inc. 2 1 418 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Cambria; mso-ascii-font-family:Cambria; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Cambria; mso-hansi-theme-font:minor-latin;} More Information

Real Footy: Oracle Cloud UX and Rapid Development Kit Down Under

Sun, 2016-02-21 01:11

Tales and Sales

I am just back from an awesome Oracle Applications User Experience (OAUX) communications and outreach event in Sydney, Australia. This was not my first time in Oz, but engaging with a regional audience eager for our Cloud UX message and PaaS4SaaS enablement, it was clear I wasn't in Kansas anymore.

Woah! A-Game time!

Over two days, customers, partners, and internal sales folks were treated to the best of Oracle Cloud user experience (UX) with a packed-solid, hands-on set of sessions that were all about the Oracle Cloud business.

Cloud UX RDK Released into the Wild in Australia!

Cloud UX PaaS4SaaS RDK released into the wild in Australia! 

My main focus was on the Oracle Cloud UX Rapid Development Kit (RDK) for PaaS4SaaS and on selling to win business using the Cloud UX message.

Selling Cloud UX: Real Footy

This is the age of storytelling and demonstrating empathy with your audience. User experience is about keeping it real and resonating with your users, so I opened the selling with UX session with the story of a fellow Dubliner who is also an Irish and Aussie Australian Football League (AFL) hero: Jim Stynes.

 Selling Cloud UX in Sydney

Blue Monday: Selling that Cloud UX 

Jim's contribution to Australia transcended mere footy team loyalty. His own empathy with an entire community was felt by lots of people in many walks of life, even if they had no interest in the AFL or football (apologies to Melbourne Demons fans).

Jim Stynes

Move beyond your demons: Jim Stynes (Image: Wikipedia Public Domain

 Jim kept it real.

I explained this importance of connecting with your sales audience on an emotional level to win business with the Cloud UX message, reinforced our Cloud UX strategy of Simplicity, Mobility, and Extensibility and our design philosophy of Glance, Scan, Commit, imparted best practices for engaging with customers using proven UX techniques, and closed out with some examples of how to do it all!

The Rapid Development Kit: Real Development

The Cloud UX RDK is now available for building Release 10 PaaS4SaaS solutions. Together, with Senior User Experience Architect and master of all things technical in the RDK, Lancy Silveira (@LancyS), we delivered a hands-on demo of what's in the RDK, how partners can use it to identify business opportunities for PaaS4SaaS, and then design and develop winning solutions.

A big emphasis was put on APIs as UX design, on how OAUX has made it easy for partners and customers to build web service integrations, and realizing the right simplified UI Cloud UX use cases that add value to decision-makers and end users.

Lancy demos the RDK live in Sydney

Lancy shows off how easy it is to build great simplified UIs for SaaS and PaaS using the RDK live in Sydney. 

Later we played tag-team with OAUX Director Greg Nerpouni (@gnerpouni) and his super-practical sessions on Cloud UX extensibility. We provided a deep-dive exploration of the RDK as Lancy stepped through the technical parts of the RDK, demoed the Oracle Applicatons Cloud Release 10 simplified UI page layouts, declarative components, SaaS task flows and services, and handled any technical questions about using the kit to accelerate the delivery of PaaS and SaaS solutions in productive, reusable ways.

I relayed more wisdom of the PaaS4SaaS crowd and RDK success stories, so nobody was in any doubt about the importance of PaaS and SaaS to customers, partners, and to Oracle. The cloud has changed everything about customer expectations about PaaS custom apps and SaaS extensions UX and their availability, and now we're giving the Oracle PartnerNetwork community a real enabler to meet those expectations: the RDK. 

We also used this opportunity to gauge interest in building solutions using the RDK so that we can plan additional OAUX outreach and communication events in the region, to hear audience feedback on our approach, and to find out what typical use cases are being encountered locally for SaaS and PaaS in the Oracle Cloud.

OAUX and Partner Team in Sydney

The OAUX and Oracle SaaS Applications Alliances and Channels, APAC teams collaborate in Sydney: (L-R) Nicole Giovanetti, Shy Meei Siow, Geet Singh (@geet_s), Lancy Silveira, and Greg Nerpouni

In all, this was one great event. I suspect you will be seeing OAUX boots on the ground in this region again shortly.

In the meantime, stay tuned to the OAUX channels.

Thank you, Sydney! 

More Information

Integrating Google Maps, IFTTT, and OpenWeatherMap APIs into the Oracle Cloud UX Rapid Development Kit

Sat, 2016-02-13 04:31

The Oracle Applications Cloud User Experience Rapid Development Kit (RDK) enables Oracle partners and developers to learn faster, design simpler, and build better. The RDK contains a set of free resources for the design and build phases and includes sample Oracle ADF applications that illustrate how to develop sleek, modern SaaS integrations and custom PaaS applications that have the same look and feel as the Oracle Applications Cloud.

You can find more resources for the RDK at tinyurl.com/PaaS4SaaS, including the code download link. If you prefer to hear about the RDK, tune in to our Oracle HCM Talk Radio podcast to hear how you can tap into the Oracle Applications Cloud User Experience.

In this blog, I explain how to enhance the Oracle ADF application samples in the RDK with integration to third-party services, such as Google Maps, IFTTT (If This Then That), and OpenWeatherMap, using simple HTTP and JavaScript.

What You Need
  • Oracle JDeveloper (11.1.1.9.0 or 12c) available as a free download from OTN.
  • Oracle UX Rapid Development Kit available as a free download from OTN and GitHub.
Where To Start

Download the RDK zip file, and then unzip it to your Oracle JDeveloper working folder. You should see a folder structure resembling the following.

RDK Code Folder Structure

AppsCloudUIKit folder structure

Open the application (AppsCloudUIKit.jws) in Oracle JDeveloper to show the projects that make up the RDK.

RDK Project Structure in JDeveloper

Oracle JDeveloper view of projects in the RDK

At this point, you can run the page Welcome.jspx in the DemoMaster project and interact with the out-of-the-box runnable sample application.

Integrating Google Maps

Google Maps come integrated in the Contacts Map page fragment. You can find this page under the DemoCRM project, which corresponds to the Oracle Sales Cloud, with the code organized under logical business objects - contacts, opportunities, and so on.

Location of Contacts Map page in JDeveloper

DemoCRM project: Page fragment ContactsMap.jsff 

When you run the RDK, dismiss the one-time welcome banner, and then click the Map my Contacts icon to navigate to the Contacts Map page. The finished page has a searchable list of contacts on the left with the map rendered on the right. When you click a contact record, the map renders a pin to mark the geographical location of the contact. Clicking the same contact again removes the pin. You can click more than one contact to see location pins together.

Screen shot of running Contacts Map page

Map My Contacts page

Let us see how to build this.

The Google Maps API is a JavaScript Library. We can add JavaScript to an Oracle ADF Faces page by either adding the JavaScript code to the page source or by adding a reference to an external JavaScript library file. In this case, we will use both techniques. We first add a reference to the Google Maps JavaScript Library using the <af:resource> tag.

<af:resource type=”javascript” source=”https://maps.googleapis.com/maps/api/js”/>

We then add JavaScript code blocks directly into the page source using the same <af:resource> tag. The following code block initializes the map object on the page when the page loads.

<af:resource>
   if (window.addEventListener) {
      /* Modern browsers */
      window.addEventListener("load", onLoad, false)
   } else if (window.attachEvent) {
      /* IE */
      window.detachEvent("onload", onLoad)
      window.attachEvent("onload", onLoad)
   } else {
      window.onload = onLoad
   }

  function onLoad() {
      doMap();
   }
</af:resource>

The doMap function anchors the map container object to a seeded element in the page with the ID mapdiv. It sets a default value for latitude, longitude, and zoom level to the map object in the container for initial rendering. This code block also prepares an array to hold multiple marker references in case of multiple contacts selection.

<af:resource type="javascript">
   var map;
   var geocoder = new google.maps.Geocoder();
   markers = [];

  function doMap() {
      var mapelem = document.getElementById('mapdiv');
      var newLatLng = new google.maps.LatLng(37.75, - 122.42);
      var myOptions = {
         center : newLatLng, zoom : 8
      };
      map = new google.maps.Map(mapelem, myOptions);
   }
</af:resource>

When the user clicks a contact, a client listener triggers the geocodeAndMark() function in the following code block. This function obtains the contact address information, generates a unique marker ID, and then calls the geocodeAddress() function.

<af:resource type="javascript">
   function geocodeAndMark(evt) {
      var comp = evt.getSource();
      var combo = comp.getShortDesc();
      var comboArr = combo.split( "+" );
     var id = comboArr[0];
      var addr = comboArr[1];
      geocodeAddress(id, addr, geocoder, map);
   }
</af:resource>

The geocodeAddress function uses the Google Maps geocoder to geocode the address, save the marker in the marker array, and add a pin to the map.

<af:resource type="javascript">
   function geocodeAddress(id, address, geocoder, resultsMap) {
      if (markers[id] == undefined) {
         markers[id] = new google.maps.Marker(null, null);
      }
      if (markers[id].getMap() == null) {
         geocoder.geocode(
            {‘address' : address},
            function (results, status) {
               if (status === google.maps.GeocoderStatus.OK) {
                  resultsMap.setCenter(results[0].geometry.location);
                  var marker = new google.maps.Marker({
                     map : resultsMap, position : results[0].geometry.location
                  });
                  markers[id] = marker;
               } else {
                  alert('Unable to find address. Geocoding returned ' + status);
               }
            }
          );
      } else {
         markers[id].setMap(null);
      }
   }
</af:resource>

Because this processing is done on the client side, the page does not require full or partial refresh to redraw the map to toggle markers. That is all there is to it!

Integrating IFTTT (If This Then That)

IFTTT is a free web-based service that allows you to conditionally trigger events by writing statements in the format—If Condition Then Action—referred to as Recipes. A large number of Channels are available to specify the Condition and Action part of the Recipe. It is a fun, yet powerful, integration or automation service for all things internet-connected. I will assume that you have an IFTTT.com account and that you know how to build IFTTT Recipes.

We will use the IFTTT Maker Channel to trigger a Recipe based on a user event in the RDK. The Maker Channel lets you connect a Web Request as the Condition or Action of a Recipe, and this will be the basis for connecting the RDK to IFTTT. You will need to set up your Recipe with the Maker Channel as trigger and give a specific name to the Trigger Event. You will need to add this in the RDK code, so make it meaningful.

Trigger event screenshot

Trigger event name example

You will also need to note the secret "key" string generated by IFTTT for your Maker Channel instance. (Because it is a secret key, I have hidden mine.)

IFTTT Channel screen shot

Maker Channel page

In the RDK, we will trigger the Recipe every time the Sales Opportunity amount is changed. This can be done quite easily by adding a few lines of code to the managed bean associated with the Sales Opportunity page. Open OpportunityBean.java in the DemoCRM project under package oracle.apps.uikit.crm.opportunities.bean, and then add the event name you created and your secret key.

private static final String IFTTT_MAKER_EVENT = “RDK_Opportunity_Amount_Changed”;
private static final String IFTTT_SECRET_KEY = “################”;

We now invoke the following method when the user saves the changes they make on a page. The method continues processing only if the amount attribute has changed. It effectively sends a HTTP POST to IFTTT that triggers the Recipe associated with the Maker Channel instance identified by event name and secret key. At the time of writing, you can send up to three parameters to the event.

//Alert opportunity amount change
private void _alertOpportunityAmountChanged(String name, String oldAmount, String newAmount){
   if (!oldAmount.equals(newAmount)){
      try {
         CloseableHttpClient httpclient = HttpClients.createDefault();
         try {
            String HttpPostString = "http://maker.ifttt.com/trigger/" + IFTTT_MAKER_EVENT + "/with/key/" + IFTTT_SECRET_KEY;
            HttpPost httppost = new HttpPost(HttpPostString);
            String inputStr = "{\"value1\" : \"" + name + "\", \"value2\" : \"" + oldAmount + "\", \"value3\" : \"" + newAmount + "\" }";
            StringEntity input = new StringEntity(inputStr);
            input.setContentType( "application/json" );
            httppost.setEntity(input);
            String responseBody = httpclient.execute(httppost, responseHandler);
         } catch (ClientProtocolException e) {
         } catch (IOException e) {
         } finally {
            httpclient.close();
         }//try-catch
      } catch (IOException e) {
      }//try-catch
   }//amount has changed
}//_alertOpportunityAmountChanged

// Create a custom response handler
ResponseHandler responseHandler = new ResponseHandler() {
   public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
      int status = response.getStatusLine().getStatusCode();
      if (status >= 200 && status < 300) {
         HttpEntity entity = response.getEntity();
         return entity != null ? EntityUtils.toString(entity) : null;
      } else {
         throw new ClientProtocolException("Unexpected response status: " + status);
      }
   }//handleResponse
};

As part of the Recipe action, you now have a world of exciting things you can do every time the amount attribute of a Sales Opportunity is updated in the RDK—blink your lights, send an email, write to a cloud document, tweet. Now go play!

Integrating OpenWeatherMap

OpenWeatherMap is an online service that provides free API access to weather data, including current weather, forecasts, and historical data. To use this service, you will need to register for a free account and obtain your unique APP-ID. I will assume that you have already done this. We will now use this service to display an icon for the current weather at the location for Sales Contacts.

Contacts List View screenshot

Contacts page

The technique involves a simple HTTP request to a specific URL with necessary parameters passed as part of the URL. While the services can be invoked for several cities at a time, I will keep it simple by fetching the current weather for one city. You can use the following URL patterns for your HTTP request.

api.openweathermap.org/data/2.5/weather?q={city name}
api.openweathermap.org/data/2.5/weather?q={city name},{ISO 3166 country code}
E.g.:
api.openweathermap.org/data/2.5/weather?q=london
api.openweathermap.org/data/2.5/weather?q=london,uk

The following piece of code can be used to invoke the OpenWeatherMap service and extract the weather icon reference from the returned JSON payload.

String location = <city>;
String wicon = “”;
if (location != null && location.length() > 0){
   location = location.replaceAll(" ", "+" );
   try {
      CloseableHttpClient httpclient = HttpClients.createDefault();
      JSONParser parser = new JSONParser();
      try {
         HttpGet httpget = new HttpGet( "http://api.openweathermap.org/data/2.5/weather?q=" + location + "&APPID=" + APPID + "&mode=json&units=metric" );
         //Create custom response handler
         ResponseHandler responseHandler = new ResponseHandler() {
            @Override
            public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
               int status = response.getStatusLine().getStatusCode();
               if (status >= 200 && status < 300) {
                  HttpEntity entity = response.getEntity();
                  return entity != null ? EntityUtils.toString(entity) : null;
               } else {
                  throw new ClientProtocolException("Unexpected response status: " + status);
               }//if
            }
         };
         String responseBody = httpclient.execute(httpget, responseHandler);
         JSONObject root = (JSONObject)parser.parse(responseBody);
         JSONArray weather = (JSONArray)root.get( "weather" );
         JSONObject wobj = (JSONObject)weather.get(0);
         wicon = "http://openweathermap.org/img/w/" + wobj.get( "icon" ) + ".png";
      } catch(ClientProtocolException e) {
         //Handle as appropriate
      } catch(IOException e) {
         //Handle as appropriate
      } catch(ParseException e) {
         //Handle as appropriate
      } finally {
         httpclient.close();
      }//try-catch
  } catch(IOException e) {
      //Handle as appropriate
   }//try-catch
}//check location is available

You can display the weather icon in the Sales Contacts list view as shown in the Contacts page above, or anywhere else in the RDK that suits your requirement.

Conclusion

I have shown at a very elementary level, how to call a Web Service (or REST) API by constructing a URL string by using HTTP, receive a JSON payload in response, and parse this to extract the relevant parts. I have also shown how such processing can be easily incorporated into an ADF application by using Java or JavaScript. This gives you a flavor of how to rapidly enhance Oracle Applications Cloud with standalone PaaS applications or PaaS4SaaS integrations, enabling you to offer more UX value to your customers.

Do feel free to share your thoughts in comments, and stay tuned for more. Enjoy!

Resources

Speed, Not Surprises, Is the Secret to SaaS Simplified UIs

Thu, 2016-02-11 12:31

Julian Orr (@orr_ux) of the Oracle Applications User Experience (OAUX) team explains how the OAUX Rapid Development Kit enables the fast and furious pace of PaaS4SaaS development and lets partners and customers confidently deliver stunning simplified UIs in the cloud.

For SaaS and PaaS developers, code is always “on.” They need to work like lightning. That’s because the cloud has changed SaaS customer expectations; if they don’t like their user experience (UX) or don’t get it in time, they’ll go elsewhere.

“PaaS has been a great catalyst for change,” agrees Basheer Khan (@bkhan) Principal at Oracle Partner Knex Technology. “It’s transformed how we develop applications.” Basheer knows that cloud customers will not wait months for application integration and hearing that “but-all-I-wanted-was” lament after a hastily delivered solution wins business only for his competitors.

 Joe Rovirosa, Financial Controller at Pacific Health Foundation Enterprises and Basheer Khan of Knex Technology sketch PaaS4SaaS UX ideas together.

Together in the Oracle Cloud: Joe Rovirosa, Financial Controller at Public Health Foundation Enterprises and Basheer Khan of Knex Technology sketch PaaS4SaaS UX ideas together.

SaaS and PaaS Accelerated Development for Real

The Oracle Applications User Experience (OAUX) team recently worked with Knex Technology to deliver a simplified UI SaaS solution for their customer Public Health Foundation Enterprises (PHFE). Using OAUX’s Simplified UI PaaS4SaaS Rapid Development Kit (RDK) an Oracle ERP SaaS solution was designed, developed, and deployed to the Oracle Cloud during an OAUX-facilitated hands-on workshop for partner and customer.

 Part of the free Rapid Development Kit so that SaaS and PaaS developers don’t have to research the best usability practices.

Simplified UI user experience design patterns: Part of the free Rapid Development Kit so that SaaS and PaaS developers don’t have to research the best usability practices.

The free RDK contains Oracle ADF simplified UI page templates and components, an Oracle Alta UI look and feel, and the UX design patterns that enable partners to rapidly assess a business opportunity, develop it quickly using designs from the Oracle Applications Cloud, and then deploy a SaaS integration or PaaS custom app to the Oracle Cloud. OAUX enhances the RDK with online training and one-on-one workshops for partners and their customers.

Basheer explained the essence of the RDK for partners:

“The RDK’s best design practices are embedded into the development tools that make the end product, so developers don’t have to start from scratch figuring out a user experience. Those reusable software components of the kit make it efficient for partners to offer customers low cost solutions.”

Applying simplified UI design patterns during the software development process is a real PaaS4SaaS developer productivity win. Patterns are reusable solutions for developers (how a landing page or visualization should work, for example) that accelerate the development of a user experience that’s proven in advance. Developers can concentrate instead on enterprise-critical technical areas, such as performance and security.

Partners and Customers Together in the Oracle Cloud

Central to the success of PHFE’s solution was their direct involvement in the design process. Representatives from PHFE’s financial and human resource departments acted as typical PHFE users and helped to sketch out (or “wireframe”) an agreed user experience solution. From Leonardo Da Vinci to Walt Disney, this sketching of ideas before committing to an expensive production process allows for easy exploration of options, faster iterations, use of industry standard designs, and eliminates unpleasant surprises at the end. That’s a perfect accelerator for a partner growing an Oracle Cloud business with that killer UX differentiator.

 Stakeholder agreed wireframes and patterns accelerated developer cloud productivity for an Oracle Cloud ERP solution.

From sketched idea to cloud deployment: Stakeholder agreed wireframes and patterns accelerated developer cloud productivity for an Oracle ERP Cloud solution. The latest version of the RDK resources contains a wireframe template that allows you to design simplified UI wireframes using Microsoft PowerPoint.

Basheer encourages this collaborative approach:

“When the customer is involved, solutions are delivered 5 to 10 times quicker to market. The UX tools and guidance make sure the customer requirements are not lost in translation. Customers get to understand what user experience is about and to take early ownership of “their” design that they take away.”

OAUX and Oracle Applications Development enables and guides Knex Technology to deliver a solution for PHFE at a workshop in Oracle HQ

Oracle Applications User Experience Group Vice President Jeremy Ashley (back, left) and PaaS4SaaS UX designer Julian Orr (back, right) let the design learning transfer as Basheer Khan (front, right) agrees an API-connected solution with Oracle Applications developer Suresh Punathilath.

PHFE’s Financial Controller Joe Rovirosa’s own experience of the OAUX enablement also echoes the power of customer involvement:

“We realized that we needed all stakeholders to be present in order to compliment key skill sets. Having Oracle, Knex, and PHFE in one room allowed business requirements and application capabilities to be immediately vetted, resulting in a very efficient process and a superior solution. Such interaction works best for any implementation.”

From UX Mystery to Cloud Magic

This partner-customer enablement based on the PaaS4SaaS RDK is now an OAUX-proven approach that has seen other Oracle partners such as Hitachi Consulting, Certus Solutions, and eProseed win awards and kudos from North America to Europe to Asia. And that means more Cloud business for the partner network.

Partners and customers availing of the PaaS4SaaS enablement have their designs reviewed by OAUX Group Vice President, Jeremy Ashley (@jrwashley) who underlined Oracle’s commitment to growing the Oracle partner ecosystem with a must-have UX:

“Partners can have confidence in the whole RDK as a standalone, proven, consistent cloud developer productivity solution that in turn will give their customers real confidence in an SaaS user experience their users want.”

Developer speed, no nasty surprises, and a great simplified SaaS UI are all easily realized with the latest version of the PaaS4SaaS RDK. It’s now being downloaded for free by Oracle partners and developers who want to lead and win with the development of SaaS solutions using PaaS.

OAUX plans further enhancements to the RDK itself, exploring other frameworks, wearable technology integration, mobile application development, and more developer experience ideas all based on Oracle Cloud solutions and reflecting the simplicity, mobility, and extensibility UX strategy.

Information on how to get the RDK and on OAUX partner enablement events is available on the Oracle Usable Apps website.

More Information

PaaS4SaaS Developers' Code Is Always 'On': OAUX is on OTN and GitHub

Sat, 2016-02-06 09:35

Boom! That's the sound of thunder rolling as PaaS and SaaS developers work as fast as lightning in the cloud. The cloud has changed customer expectations about applicationstoo; if they don’t like their user experience (UX) or they don’t get it fast, they’ll go elsewhere.

PaaS4SaaS developers know their code is always 'on'.

But you can accelerate the development of your PaaS4SaaS solutions with a killer UX easily by now downloading the AppsCloudUIKit software part of the Cloud UX simplified UI Rapid Development Kit (RDK) for Release 10 PaaS4SaaS solutions from the Oracle Technology Network (OTN) or from GitHub.

The Oracle Applications User Experience (OAUX) team's Oracle Cloud UX RDK works with Oracle JDeveloper 11.1.1.9.0, 12.1.3.0.0 and 12.2.1.0.0. The kit downloads include a developer eBook that explains the technical requirements and how to build a complete SaaS or PaaS solution in a matter of hours

Build a simplified UI with the RDK

The AppsCloudUIKit software part of our partner training kit is on OTN and GitHub and is supported by video and eBook guidance.

Build a simplified UI developer eBook

The developer eBook is part of the AppsCloudUIKit downloads on OTN and GitHub.

For the complete developer experience fast, check out the cool Oracle Usable Apps channel YouTube videos from our own dev and design experts on how to design and build your own simplified UI for SaaS using PaaS.

Enjoy. Check in with us on any questions relating to versions or requirements. Share your thoughts in the comments after you've used the complete RDK and stay tuned for more information. It's an ongoing story...

Downloads 

CrossFit and Coding: 3 Lessons for Women and Technology

Mon, 2016-01-18 17:21

Yes, it’s January again. Time to act on that New Year resolution and get into the gym to burn off those holiday excesses. But have you got what it takes to keep going back?

Here’s Sarahi Mireles (@sarahimireles), our User Experience Developer in Oracle’s México Development Center, to tell us about how her CrossFit experience not only challenges the myths about fierce workouts being something only for the guys but about what that lesson can teach us about coding and women in technology too…

Introducing CrossFit: Me Against Myself

Heard about CrossFit? In case you haven’t, it’s an intense fitness program with a mix of weights, cardio, other exercises, and a lot of social media action too about how much we love doing CrossFit.

CrossFit is also a great way to keep fit and to make new friends. Most workouts are so tough that you’re left all covered in sweat, your muscles are on fire, and you feel like it's going to be impossible to even move the next day.

But you keep doing it anyway. 

One of the things I love most about CrossFit is that it is super dynamic. The Workout of the Day (WOD) is a combination of activities, from running outside, gymnastics, weight training, to swimming. You’re never doing the same thing two days in a row. 

Sounds awesome, right? Well, it is!

But some people, particularly women, unfortunately think CrossFit will make them bulk up and they’ll end up with HUGE muscles! A lot of people on the Internet are saying this, and lots of my friends believe it too: CrossFit is really for men and not women. 

From CrossFit to CrossWIT: Women in Techology (WIT)

Just like with CrossFit, there are many young women who also believe that coding is something meant only for men. Seems crazy, but let's be honest, hiring a woman who knows how to code can be a major challenge (my manager can tell you about that!).

So, why aren't women interested in either coding or lifting weights? Or are they? Is popular opinion the truth, that there are some things that women shouldn't do rather than cannot do?

The reality is that CrossFit won't make you bulk up like a bodybuilder, any more than studying those science, technology, engineering or mathematics (STEM) subjects in school won’t make you any less feminine. Women have been getting the wrong messages about gender and technology from the media and from advertising since we were little girls. We grew up believing that intense workout programs, just like learning computer languages, and about engineering, science and math, are “man’s stuff”. And then we wonder where are the women in technology?!

3 Lessons to Challenge Conventions and Change Yourself

So, wether you are interested in these things, or not, I would like to point out 3 key lessons, based on my experience, that I am sure would help you in some stage of your life: 

  1. Don't be afraid of defying those gender stereotypes. You can become whatever you want to be: a successful doctor, a great programmer, or even a CrossFit professional. Go for it!

  2. Choosing to be or to do something different from what others consider “normal” can be hard, but keep doing it! There are talented women in many fields of work who, despite the stereotypes, are awesome professionals, are respected for what they do, and have become key parts of their organizations and companies. Coding is a world largely dominated by men now, with 70% of the jobs taken by males, but that does not stop us from challenging and changing things so that diversity makes the tech industry a better place for everyone

  3. If you are interested in coding, computer science, or technology in general, keep up with your passion by learning more from others by reading the latest tech blogs, for example. If you don't know where to start, here are some great examples to inspire you: our own VoX, Usable Apps, and AppsLab blogs. Read up about the Oracle Women in Technology (WIT) program too.

I'm sure you'll find something of interest in the work Oracle does and you can use our resources to pursue your interests in a career in technology! And who knows? Maybe you can join us at an Oracle Applications User Experience event in the future. We would love to see you there and meet you in person.

I think you will like what you can become! Just like the gym, don’t wait until next January to start.

Related Links