Quantcast
Channel: Oracle Bloggers
Viewing all 19780 articles
Browse latest View live

Essential Resources for EBS on Oracle Cloud

0
0

This article provides an overview of some essential resources you should review before you install Oracle E-Business Suite on Oracle Cloud, or move an existing installation to Oracle Cloud.

First, ensure you bookmark the Oracle E-Business Suite on Oracle Cloud landing page:

This page includes links to the material listed in the Resources section below, plus pointers to many other resources:

Other Basic Resources

The following white paper provides a comprehensive survey of all the options for moving to EBS on Oracle Cloud:

Another key resource is provided by this My Oracle Support knowledge document:

We also offer a range of Oracle-By-Example ("OBE") tutorials that provide detailed, step-by-step instructions for completing specific tasks.

Installation:

Migration:
Development:

Management:

Using Information Discovery:

These OBEs are updated as needed, to reflect the latest software that's available in this continuously-evolving area.

And last but not least, we are making available an increasing amount of training material from Oracle University, including watch-on-demand videos on specific topics. These can be found under the link in the References section.

Reference

Related Articles


Internet of Things OTN VTS free on-demand training by Bob Rhubart

0
0

clip_image002

Before you dive into this edition, a reminder that while the Spring 2016 OTN Virtual Technology Summit is history, you can still access all of the Middleware Track session videos in the OTN VTS Middleware Replay Library:

Call for Papers: Session proposals are being accepted for future OTN Virtual Technology Summit events. Submit your proposal for Middleware track sessions in the OTN Virtual Technology Summit Middleware Ideas Space, part of the OTN Community Platform.

Watch the Twitter hashtag #OTNVTS for the latest information.

We're listening! Your feedback is essential to the success of this publication and of OTN in general. If you have comments or suggestions regarding this newsletter or any of the resources for middleware pros available on OTN, please share your thoughts: bob.rhubart@oracle.com.

Bob Rhubart, Manager, OTN Architect/Middleware Community

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki

SQLcl and Semicolon Separated Values (CSV) Exports – With Unquoted Strings

0
0
I’ve been asked this about a dozen times. Someone wants a CSV. But, they don’t want a ‘,’ – they want a ‘;’ as their delimiter. And another but, they don’t want “Values”, they want Values. This is actually quite easy in the full GUI. Click, click,... [Read More]

Is EBS Compatible with Microsoft Windows' New Supersedence Approach?

0
0

Microsoft recently announced a change in how they handle the supersedence behaviour for several Windows releases prior to Windows 10.  Affected releases are:

  • Windows 7
  • Windows 8.1
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2

Windows Supersedence

Microsoft states:

The new supersedence behaviour allows organisations managing updates via WSUS or Configuration Manager to:

  • Selectively install Security Only Quality Updates (bundled by Month) at any time
  • Periodically deploy the Security Monthly Quality Rollup and only deploy the Security Only Quality Updates since then, and;
  • More easily monitor software update compliance using Configuration Manager or WSUS.

Does this affect EBS certifications?

No.  This new behaviour has no impact on EBS certifications with Windows desktop clients.  All current and future EBS desktop client certifications are expected to work with this new supersedence model for Windows security updates.

EBS customers do not have to wait for new certification announcements before rolling out security updates under this new supersedence model to their end-user desktop clients.

Related Articles


Release Dates Oracle Database 12.2.0.1 on-prem - Extended Support Waiving for Oracle 11.2.0.4 / 12.1.0.2

0
0
Yesterday night the most important MOS Note:742060.1 got updated with the planned release date for Oracle Database 12.2.0.1 on-premises.  In addition the dates for Waived Extended Support for Oracle Database 11.2.0.4 and 12.1.0.2 got extended as well. Please see: MOS Note: 742060.1:Release... [Read More]

PCS, MCS and MAF Integration by Rubén Rodríguez Santiago

0
0

clip_image002I have just published my first OTN Tech Article where I present a use case that demonstrates how Oracle Process Cloud Service (Oracle PCS), Oracle Mobile Cloud Service (Oracle MCS) and Oracle Mobile Application Framework (Oracle MAF) can be use together to expose  an Oracle PCS process instance as a web service and consume it clip_image003from an external system, web application or mobile application.
"Oracle Process Cloud Service is a Platform as a Service (PaaS) provided by Oracle Cloud, allows you to rapidly design, automate, and manage business processes in the cloud."

clip_image004"Oracle Mobile Cloud Service is Oracle's Mobile Backend as a Service (MBaaS) and enables companies to create and deploy scalable, robust, and secure mobile applications quickly and easily."

"Oracle Mobile Application Framework is a hybrid mobile framework that provides a visual and declarative development experience for the rapid development of multi-platform applications" You can check the full article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki

Available ! Korea Cumulative Release Patches - KR.82

0
0

The following Korea Cumulative Release Patches - KR.82 have been released via My Oracle Support:


Release 12.1 : Patch 25443634:R12.PER.B
Release 12.2 : Patch 25443634:R12.PER.C

The README of the patch is available in the following document:

Korea Cumulative Release Patch - KR.82 [Note 2226692.1]

Other reference documents :

APAC HRMS Mandatory Patches - Release 12.2 - Note 1670198.1

APAC HRMS Mandatory Patches - Release 12.1-  Note 874563.1

Data Install and HRGLOBAL Application: 12.2 Specifics - Note 1469456.1

Latest Oracle HRMS Legislative Data Patch Available (HR Global / hrglobal) - Note 145837.1

These patches deliver the following statutory changes with some bug fixes

               1. Correction to 2017 Income Tax calculation for income over 500 Million

               2. Year End Adjustment Tax Receipt Report Updates

               2. Financial Institute Name Change

               3. Year End Adjustment Entry Self Service page updates

               4. Updates to Year End Adjustment Entry Web Pages

               5. XML Data Upload Updates

Questions? Visit us at the Payroll - EBS (MOSC) community or log a Service request with My Oracle Support, product: Oracle HRMS (Republic of Korea) 

Unified Method (OUM) vs Oracle AIM by OTechTalks

0
0

clip_image002


Oracle has announced retirement of Oracle Application Implementation Method (AIM) and anyother implementation methodologies as of January 31, 2011.

Oracle Unified Method (OUM) is the single implementation methodology designed to be used for ALL Oracle product implementations.

OUM supports Oracle-based Business Solutions including

  • Service-Oriented Architecture (SOA)
  • Business Process Management (BPM)
  • Enterprise Integration
  • Custom Software
  • Enterprise Security
  • Business Intelligence (BI)
  • WebCenter
  • Enterprise Application Implementation
  • Cloud Application Services Implementation
  • Software Upgrade

Oracle Unified Methodology (OUM) – A video tutorial on Oracle Unified Method (OUM) vs Application Implementation Methodology (AIM) This includes definition of OUM, OUM focus areas, implement views like Requirements-Driven Application Implementation or Solution-Driven Application Implementation and OUM Documents equal to AIM documents lik RD050(Gather business requirement), TE040(Test Scripts), BP080(Future Business Model), BR100(Define Application Setup). Watch the video here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki


Doosan Heavy Industries Modernizes with Mobile

0
0


Doosan Heavy Industries & Construction is a subsidiary of Doosan Group, is a heavy industrial company head-quartered in Changwon, Korean. It was established in 1962. Its business includes manufacturing and construction of nuclear power plants, thermal power plants, turbines and generators, desalination plants, castings, and forgings.



Doosan Heavy Industries (DHI) was looking to modernize its employee and partner work flow experience, and to improve overall efficiencies. The ubiquity of mobile devices made extending services into the mobile channel an easy decision, but the company didn’t just want to create a simple point solution app that it’d have to revamp all too soon. Doosan sought a long-term view by selecting a partner that could help it establish a scalable multichannel development and management strategy.


Doosan selected Oracle because of Oracle’s mobile domain expertise and technology that showed it could exceed Doosan’s goals with a cloud based platform that Doosan could count on into the future. 


“Thanks to Oracle Mobile Cloud Service, we gained workforce mobility across construction sites and allowed us to process work-orders in real-time. This helped to significantly improve employee productivity and business agility.”


— Hee Moon Yang, Senior Manager, Process Innovation Team, Doosan Heavy Industries & Construction Co., Ltd.


In a span of approximately 2.5 months, Oracle helped Doosan modernize its process with contextual mobile apps for construction job orders and approvals that were customized for field managers, partners and approvers. The apps securely connected to existing SIMS application via RESTful interfaces and took advantage of MCS storage capabilities to improve overall performance. The apps used on-device services, such as the camera, to create richer more accurate reporting, while leveraging Oracle MCS push notifications to streamline business processes in real-time.


The solution resulted in in a reduction of hours worked, better and faster approval coordination, and real-time responses between partners and managers. 


Specifically, Doosan was able to: 

  • Register new work orders at field construction sites and allocate, manage and coordinate with partners, in real time, through mobile devices
  • Achieve a 50% reduction in business process complexities
  • Reduce construction job processing time from 4-8 hours down to 10-30 minutes
  • Create an overall boost in productivity between Doosan managers, staff and partners

Oracle is proud to continue to help companies like Doosan modernize their employee and customer experience and embrace the future of mobility in a secure and scalable manner.  

Don't forget to follow us @OracleMobile and to join the Oracle Mobile conversation on LinkedIn.

Ladies and Gentlemen...The Inventory Consignment Analyzer!

0
0

Consigned Inventory is a popular feature of the Oracle Inventory product – allowing you to keep track of material owned by third parties, but that you manage in your warehouses.

The Inventory Consignment Analyzer is a tool designed to review and report any consignment issues that may cause headaches, by recommending known consignment datafixes, code updates, and other guided assistance. It is a must use tool for Customers who use the Consignment functionality. We recommend that the analyzer be ran pro-actively and regularly, to help you keep ahead of any consignment issues. And of course, the analyzer is the go-to tool when having any Consignment error's or issues. The analyzer is so convenient, you can even schedule it to run as a Concurrent Program (like any analyzer).

This Inventory Consignment Analyzer includes checks for:
- Several types of errors and known issues
- Invalid Database objects
- Unprocessed Consignment transactions
- Profile settings related to Consignment functions
- Outdated file versions



Have a look at note EBS Inventory Consignment Analyzer (Doc ID 2048039.1) to learn more (including sample output) and to download the Analyzer .

New to Analyzers? See them all in Get Proactive with Oracle E-Business Suite - Product Support Analyzer Index (Doc ID 1545562.1) (Note: this is updated frequently as we create / update Analyzers across the EBS Product Lines). Also use Doc ID 1545562.1 to get information on the Bundle Menu Tool, where you download all EBS analyzers in a single download.

Keeping Your IT Skills Relevant in the Age of Automation

0
0

Written by Kate Farrow, Oracle University Senior Marketing Manager, EMEA

The tech industry is ‘eating itself’ through automation and lack of skills.This is a conclusion drawn from a survey conducted by Harvey Nash, a recruitment firm.

So how can today's IT professionals stay relevant and demand in the age of automation? 

IT automates IT

While automation has revolutionized the way we live, it has always posed a considerable threat to job security.

But until recently, this threat has been limited to manual-based labor, or tasks and processes that require simple but frequent repetition.

Advances in IT, however, in areas like robotic process automation (RPA) and artificial intelligence (AI) now enable many firms to automate tasks and processes that require cognitive abilities.

This has significant implications for the future employability of today’s white-collar workforce - and IT employees are no exception.

  • According to recent research by Harvey Nash - a firm that surveyed more than 3,000 technology workers from 84 countries - 45% of IT professionals expect significant portions of their job to be automated within the next 10 years.
  • But which portions will they be?And which jobs will be most affected? 
  • Understanding these potential effects is the key to IT job security.
  • Today’s technology professionals need to develop those skills which are not likely to be automated, yet will be in high demand in the future.

Changing technology, changing technologists

The landscape of IT job roles and functions is changing almost as fast as the technology itself.

Because of the rise of big data, for example, one of the most in-demand IT professions today is that of a data scientist – a job which until about 10 years ago simply didn’t exist.

Technological advancements always create a demand for specialists who can work hand-in-hand with the technology and apply it to a particular business or business function.

Nevertheless, because skills development generally struggles to keep pace with technology development, the result is invariably a talent gap in the marketplace.

Overcoming the skills gap and staying relevant

Currently, roles in analytics, big data, software engineering and augmented reality are in high demand, and are indeed cited by Harvey Nash as important skills for potential tech candidates to learn.

From all IT professions in the survey, software engineers and developers are approached the most by headhunters – an average of 11 times per year.

One of the keys to IT job security is making sure you are at the forefront of the latest technologies. This reality is not lost on IT practitioners, 94% of whom believe their careers will be severely limited if they do not teach themselves new skills.

But the change in technology is now so rapid that it's no longer enough to learn a technical skill once, and then in three or five years’ time invest in a refresher course.

The Harvey Nash report recommends continual learning as a critical factor for IT career success.

The faster high-tech evolves, the faster today’s skills become obsolete.

Digital learning – the key to continuous skills development and job security

Continual education can best be achieved through digital learning. Purchasing an Oracle Learning Subscription offers several advantages over traditional classroom-based learning when it comes to skills development.

  • You can access training wherever needed, 24/7, and repeat as required. This keeps skills much more up-to-date than classroom learning - which may need to be scheduled weeks and sometimes months in advance.
  • Digital training content is continually revised with the newest product releases and updates, so you can be sure your finger is always on the pulse of the latest technological advances

IT automation and technical skills shortages are two of the main factors affecting the current IT job market.

With Oracle Learning Subscriptions, you can be sure your Oracle knowledge and skills will always change with the times - keeping you and your talents very much in demand, wherever the future of technology may take us.

Learn how Oracle Learning Subscriptions can help you to get ahead and stay ahead!

Emerging Tech and the Enterprise

0
0

clip_image002:Wearables — your Apple Watches, Fitbits, and Misfits — are finally coming out to play in the world of enterprise applications. The Internet of Things (IoT) is also changing the game, so adopting a smart strategy is key. If you haven’t yet, check out this post on the Voice of User Experience (VoX) blog, “Wearables, IoT push Oracle’s emerging tech development.”

Enterprise use cases can be hard to come by for some technologies, such as voice and gesture as input, but Oracle needs to keep up with the latest developments in those fields anyway so that we’re ready when an enterprise use case comes up. Another post on VoX, “New ways of input still on the verge of the enterprise,” explains how we’re doing that.

Interested in how we research, design, and develop for these emerging technologies? We’ve got three new emerging tech articles that describe the challenges and provide insight into how the Oracle Applications User Experience (OAUX) team gets it done. For a look at how this technology influences Oracle’s cloud user experience strategy, head to this recently updated article from Jake Kuramoto, director of the AppsLab, the OAUX Emerging Technologies team.

PLATFORM FOR JEREMY ASHLEY: The OAUX Group Vice President has two new pages live on Oracle.com. You will find him among Oracle's Thought Leaders, and he's also listed as a corporate spokesperson for North America.

This is part of an ongoing effort to give Ashley a platform as a Thought Leader at Oracle. Since mid-2015, he’s been publishing on a variety of topics related to user experience and design on Forbes.com. He’s been speaking at events around the globe, and a new push is being made to capture the recognition his team deserves for their hard work on the Cloud user experience. Jeremy's Thought Leader page contains several links to recent key posts on Forbes.com, links to Jeremy's LinkedIn profile and Twitter feed, videos in which he shares his perspective on innovation and user experience, and links to the Usable Apps website and the VoX blog, where you can find posts and articles from many members of the OAUX team on projects you've all had a hand in.


CUSTOMER CONNECT WEBINARS:
The OAUX team has several new webcasts to share. Please take a look. You must be a member to view the webcasts.

·Winning with User Experience in CPQ Cloud, by Shirin Lange and William Gobber, Oracle

·Oracle Applications User Experience - Emerging Technologies, Building Tomorrow's Experiences, by Jake Kuramoto, The AppsLab, OAUX

·Oracle's Investment in Cloud Application's User Experience, by Julian Orr, OAUX, and Basheer Khan, Knex Technologies

·Cloud UX Rapid Development Kit (RDK), with Julian Orr and Karen Scipi, OAUX

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki

Revised Purpose of IFRS16 / ASC842 Look Back Period Archive SQL Script

0
0

With reference to earlier post on 24th Dec 2016, note that there has been a revision to: Section 2: Purpose of Script 

The purpose of this script is revised. The purpose of this script is to archive the lease data for all fiscal month-ends starting in January 2017 until users apply a patch that will be released soon. The patch will enable users to perform the archival using a concurrent program rather than the script. When the patch is applied, users should move the fiscal month-end data archived from custom tables created by this script to standard history tables created by the patch. From that point on, users are expected to use the concurrent program for archival, rather than the script.

To access the script, please review Doc ID 2217593.1

Introduction to IaaS for Middleware solutions by Niall Commiskey

0
0

clip_image002

So why would the SOA/ BPM community be interested in such? Read on and you will find out.

IaaS offers us elastic compute, elastic storage and network services. This allows you to run any workload in the cloud, cheaply and performantly. Essentially what we are offering is a software defined virtualized data center in the Oracle cloud. I have begun a series of blog posts to introduce this service to the community.

The first post introduces IaaS and its terminology

It also introduces Oracle’s Public Cloud Machine, which gives you all the advantages of Oracle Public Cloud, albeit behind your firewall. After reading this post, you will be generally au fait with the concepts.

The second post details how to create IaaS resources

Here we see how easy it is to do this with the Compute Cloud console. Effectively, all we need to do is reserve an ip address, create storage and finally the Linux vm. All of the steps covered can, of course, be automated – a feature covered later.

Posts three and four cover Networking. The former,

goes through the basics of configuring network access to a vm. The latter, covers setting up networking between two vms. Here I detail how to open port 23 for tcp communication.

The fifth post, details how to add additional storage to a running instance, while the sixth post, details the rapid provisioning of IaaS resources through orchestration. Essentially, I show how to script the whole setup, covered in the previous posts.

So, again, why is this interesting for the SOA/BPM community? Because you can offer your customers many services around IaaS.
From lift and shift, to run and manage, there are many opportunities for you out there.
So, as the Romans were wont to say, Carpe Diem!

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki

Cloning EBS 12.2 Environments Integrated with Oracle Access Manager

0
0

We have documented procedures for cloning EBS 12.2 environments.  We also have documented procedures for integrating EBS 12.2 environments with Oracle Access Manager (OAM) and Oracle Internet Directory (OID).  The next logical question would be: do we have documented procedures for cloning EBS 12.2 environments that have been integrated with OAM and OID?

Yes, we have published this here:

EBS OAM architecture

This Note provides a certified process and detailed steps to:

  • Clone EBS using Rapid Clone
  • Deregister the cloned EBS instance from OAM and remove AccessGate
  • Remove OID from the cloned EBS instance
  • Integrate the cloned EBS instance with OID
  • Integrate the cloned EBS instance with OAM
  • Reconfigure SSL

Related Articles


JET Composite Components V - Events

0
0

Introduction

In this article I'll be looking at both the built-in events supported by the Composite Component Architecture and the way that you can add in events of your own on top of that.

Build-In Events

Out of the box, every Composite Component that you create will support a set of pre-defined events:

  • pending event
  • ready event
  • property-changed events

The pendingEvent

The pending event is raised to let consuming views know that a particular Composite Component is about to render. The event itself will include the identity of the Composite Component that raised the event in its target property.

The readyEvent

As a companion to pending, the Composite Component will also raise a ready event once it is fully rendered. Like the pending event, it will include the identity of the source Composite Component.

To show these two events in action I'll make a slight amendment to the viewModel of the workArea module that I've been using throughout this series to add an event handler for these events:

      define(['ojs/ojcore', 'knockout', 'jquery','components/ccdemo-name-badge/component'],
       function(oj, ko, $) {
          function WorkAreaViewModel() {
            var self = this;
            self.personName = ko.observable('Duke Mascot');
            self.personImageURL = ko.observable('/images/duke.png');
            self.startupTimes = {};

            self.badgeStartupMonitor = function(viewmodel, event) {
              var targetCCA = event.target.id;
              var timeStamp = new Date().getMilliseconds();
              if (event.type === 'pending'){
                  self.startupTimes[targetCCA] = timeStamp;
              }
              else if (event.type === 'ready'){
                 var startupTime = (timeStamp - self.startupTimes[targetCCA]);
                 console.log('Startup time for ' 
                             + targetCCA + ': ' + startupTime + 'ms');
              }
            };
          }

          return new WorkAreaViewModel();
        }
      );
    
What I've done here is add a new variable startupTimes and a method called badgeStartupMonitor to handle the two lifecycle events. This method is then bound to the events (in this case) using Knockout1 in the view for the module (workArea.html):
<div>
          <h2>Test Composite</h2>
          <ccdemo-name-badge id="cc1"
          badge-name="{{personName}}"
          badge-image="[[personImageURL]]"
          data-bind="event : {pending : badgeStartupMonitor, 
                                ready : badgeStartupMonitor}"/>
      </div>
    
The result will then be printed onto the console:
      Startup time for cc1: 9ms
    
Of course, this use of the events is pretty trivial, but in general, the ability for the consuming view to understand when the Composite Component is ready can be very useful for more complex components, particularly when the component may be having to contact external services before it is usable.

Property Changed Events

A really nice feature of the Composite Component Architecture is the automatic creation of property changed events for the properties that you defined in the component metadata. You don't have to do anything here in the component, to make this happen, it's automatic. The event is named after the name of the Composite property with -changed appended.
So again I could add an event handler to my consuming (workArea) viewModel to listen for a change on the badge-name property and register that:

<div>
          <h2>Test Composite</h2>
          <ccdemo-name-badge id="cc1"
          badge-name="{{personName}}"
          badge-image="[[personImageURL]]"
          data-bind="event : {'badge-name-changed' : badgeNameChangeWatcher}"/>
      <:/div>
    

Information with a PropertyChanged Event

Key to the event object that you will be passed for a Composite property change event is the detail attribute. This will encapsulate an object with three properties:

  • previousValue - the value of the property before it was changed
  • value - the new value for the property
  • updatedFrom - will be set to either the value external or internal to indicate where the property change was instigated. If, for example, your property is bound through the tag attribute to an observable in the consuming view (using {{...}} syntax) and the consuming viewModel updates the observable, that change will be automatically propagated into the Composite property and the event raised with external as the updatedFrom value. Correspondingly, a change to the property from within the Composite Component will set the value as internal.

Property Changes within a Composite Component

We can also use the in-build property changed events within the component itself. This is mostly going to be useful in the binding case where the change to the property is triggered at some random point in time by an external (to the component) change. If we go back to our running example. In Part IV I added some code to extract the first name in upper case format from the inbound badge-name property. I mentioned in that article that because the lifecycle is not re-run when a property changes, then even if a bound observable changes, this uppercased first-name value would not get recomputed. Now that we have learnt about the property change listener, it becomes trivial to fix this.
So here's the revised version of the Composite Component viewModel. I've made the following changes:

  1. Extract the first-name generation process into its own function to allow re-use
  2. The upperFirstName value is now defined as an observable
  3. Registered a badge-name-changed listener within the composite which will call this new function

      define(
          ['ojs/ojcore','knockout','jquery'
          ], function (oj, ko, $) {
          'use strict';
          function CCDemoNameBadgeComponentModel(context) {
              var self = this;
              context.props.then(function(propertyMap){
                  //Save the resolved properties for later access
                  self.properties = propertyMap;
                  //Extract the badge-name value
                  var badgeNameAttr = propertyMap['badge-name'];
                  self._extractFirstName(badgeNameAttr);
              });

              self.composite = context.element;
              $(self.composite).on('badge-name-changed',function(event){
                  if (event.detail.updatedFrom === 'external'){
                    self._extractFirstName(event.detail.value);
                  }
              });
          };

          CCDemoNameBadgeComponentModel.prototype._extractFirstName 
          = function (fullName) {
              if (this.upperFirstName === undefined){
                  this.upperFirstName = ko.observable();
              }
              this.upperFirstName(fullName.split('')[0].toUpperCase());
          };

          return CCDemoNameBadgeComponentModel;
      });
    
You should notice from this code that we are obtaining the reference to the Composite Component element from the context object that is passed into the constructor. This is the same object that carries the property promise.

One additional point on lifecycle here. Notice that I'm still calling the _extractFirstName from the constructor as well as from the property change listener. This is because the initial setting of the property value from the tag attribute does not raise the property change events, these are only emitted after the component is ready.

Custom Events

Useful as the build-in events are, complex custom components may need to specify a more complex and function-orientated API for its consumers to use. For example, a Composite Component that provides a chat capability may need to omit an event to signal an incoming message, allowing the consuming view to react to this in some way.

The Composite Component Architecture provides for such custom events in the metadata that you define for the composite.

Looking at our ongoing example of the ccdemo-name-badge component we currently only define properties in the metadata JSON file (ccdemo-name-badge.json). As a peer of the existing properties definition within that object structure we can define events as well. So as an example, I'll add an event called badgeSelected to the Component. Here's what the metadata will now look like:

    {
      "properties": {
        "badge-name": {
          "description" : "Full name to display on the badge",
            "type": "string"
        },
        "badge-image": {
          "description" : "URL for the avatar to use for this badge",
          "type": "string"
        }
      },
      "events" : {
        "badgeSelected" : {
          "description" : "The event that consuming views can use to recognize when this badge is selected",
          "bubbles" : true,
          "cancelable" : false,
          "detail" : {
            "nameOnBadge" : {"type" : "string"}
          }
        }
      }
    }
    
This is all pretty self explanatory in terms of the attributes that define the event. The detail sub-object definition may need a little explanation though. This is simply so that you can declare an specific information that you will be passing back within the detail property of the event. In this case, I'll be putting the current badge-name value into the detail, referenced as nameOnBadge.

A key point to stress at this stage is that adding an events section to the metadata in this way does not actually do anything at runtime. It simply provides documentation to the consumer and possibly design time tooling about what events are emitted and what the properties of those events are. In fact, it is the responsibility of you, the Composite Component author to actually create and raise the event, in doing so, you should be careful that it matches the API that you have declared in the metadata.

Raising a Custom Composite Component Event

To actually raise an event you will need to use the dispatchEvent function. In this revised version of the Composite Component viewModel you can see this done in the _raiseBadgeSelection function which is triggered by a click or enter key on the composite.

      define(
          ['ojs/ojcore','knockout','jquery'
          ], function (oj, ko, $) {
          'use strict';
          function CCDemoNameBadgeComponentModel(context) {
              var self = this;
              context.props.then(function(propertyMap){
                  //Save the resolved properties for later access
                  self.properties = propertyMap;
                  //Extract the badge-name value
                  var badgeNameAttr = propertyMap['badge-name'];
                  self._extractFirstName(badgeNameAttr);
              });

              self.composite = context.element;
              $(self.composite).on('badge-name-changed',function(event){
                  if (event.detail.updatedFrom === 'external'){
                    self._extractFirstName(event.detail.value);
                  }
              });

              //Wire the custom event raise function into the click on
              //the composite
              $(self.composite).on('click keypress',function(event){
                  self._raiseBadgeSelection(event);
              });

          };

          CCDemoNameBadgeComponentModel.prototype._extractFirstName 
          = function (fullName) {
              if (this.upperFirstName === undefined){
                  this.upperFirstName = ko.observable();
              }
              this.upperFirstName(fullName.split('')[0].toUpperCase());
          };

          //Generate and raise the custom event for Badge Selection
          CCDemoNameBadgeComponentModel.prototype._raiseBadgeSelection 
          = function (sourceEvent) {
              if (sourceEvent.type === 'click' ||
                  (sourceEvent.type === 'keypress'&& sourceEvent.keycode === 13)){
                  var eventParams = {
                      'bubbles' : true,
                      'cancelable' : false,
                      'detail' : {
                          'nameOnBadge' : this.properties['badge-name']
                      }
                  };
                  //Raise the custom event
                  this.composite.dispatchEvent(new CustomEvent('badgeSelected',
                                                                eventParams));
              }
          };


          return CCDemoNameBadgeComponentModel;
      });
    
Notice how the custom event is created with parameters which match those declared in the metadata. The listening code can therefore inspect event.detail.nameOnBadge to identify the selected badge when the event is received.

What Next?

Now that both properties and events have been covered the next article in the series will complete the component picture by looking at methods.


Composite Component Article Series Index

  1. Introduction
  2. Your First Composite Component - A Tutorial
  3. Composite Conventions and Standards
  4. Attributes, Properties and Data
  5. Events

1 These events are just normal JQuery events so you can register handlers in which ever way you are most comfortable with.

Integration Cloud Service: How to keep all data residing in your applications in sync? by Philipp Langer

0
0

clip_image002

Because things in IT change fast, it’s sometimes difficult to distinguish the important trends from the less important. And that’s true for Oracle as well. It’s not that long ago when Oracle CEO Larry Elisson thought of Cloud Computing as just another short-living fashion trend (great audio by the way). But that began to change soon. And at least since Oracle OpenWorld 2015 we know for sure how serious Oracle became about Cloud Computing.

“The computer industry is the only industry that is more fashion-driven than women’s fashion.”– Larry Ellison, chairman, Oracle

Today, Oracle’s stack on the Cloud is complete. From infrastructure as a service (IaaS) to software as a service (SaaS) there is everything. But especially with all those wonderful SaaS products being available (and probably being used by your line of businesses) new challenges arise: How to keep all the data residing in those applications in sync? In other words: How to integrate those products? A neat way to address this is the Oracle Integration Cloud Service (ICS) which I would like to introduce to you in this blog post.

Besides ICS I’m also going to mention two other integration services provided by Oracle namely SOA Suite Cloud Service (SSCS) and Process Cloud Service (PCS). Though for this blog post I won’t go into much detail there.

Integration Cloud Service

The main reason to use Oracle ICS is to map and synchronize data between all different kinds of SaaS applications. For example, you might use Salesforce as your primary CRM application but another one for ERP activities such as order and invoice tracking. In such a case, if a new customer is created in Salesforce it should be created in the ERP application as well – automatically and immediately.

The attentive reader might be wondering whether Oracle ICS is limited to cloud integrations. The answer is no. Hybrid integrations are supported as well but more on this later.

ICS Components

Based on the main menu, functionality in ICS is organized into four main views: home page, designer portal, monitoring (dashboard) and administration. Before going into detail of monitoring functionality and administration, let’s have a look at the Designer.

As you can see, the designer portal in turn is organized into five views: Integrations, Connections, Lookups, Packages and Agents. You might notice as well how clear and simple the UI appears. That clearly indicates the target audience of ICS: not only developers and IT but LOB users as well. Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

BlogTwitterLinkedInimage[7][2][2][2]Facebookclip_image002[8][4][2][2][2]Wiki

Where is the Jan 2017 PSU for Oracle Database 11.2.0.4?

0
0
Where is it? This question reached me a week ago:"Where is the January 2017 PSU for Oracle Database 11.2.0.4?" "What's the deal?" was my first thought - just go and download it from MOS. Well, not really ... . Where to download Proactive Bundle Patches, Patch Set Updates and Patch Sets? ... [Read More]

Efficient Statistics Maintenance for Partitioned Tables Using Incremental Statistics – Part 2

0
0
Introduction This post covers how you can manage optimizer statistics efficiently when you use partition exchange load (PEL). This technique is used when large volumes of data must be loaded and maximum performance is paramount.  It’s common to see it used in decision support systems and large operational... [Read More]

New SQL Plan Management White Paper

0
0
A new white paper for SQL Plan Management is now available. Just go to the Query Optimization page in OTN and click the SQL Plan Management with Oracle Database 12c link. Just like the Optimizer white paper, I've kept the content and format similar to the way Maria organized it so that it will be familiar... [Read More]
Viewing all 19780 articles
Browse latest View live




Latest Images