Blog Lead Image - Network Pen Writing 2 https://www.avioconsulting.com/taxonomy/term/359 en Documentation - You'll Thank Yourself Later https://www.avioconsulting.com/blog/documentation-youll-thank-yourself-later <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/documentation-youll-thank-yourself-later" hreflang="en">Documentation - You&#039;ll Thank Yourself Later</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>Documentation. Hardly anybody wants to write it, but it is one of the most important deliverables in a software project. Without documentation, it becomes very difficult to understand why things were done the way they were and if the project is operating as expected. </p> <p>I have joined several projects where there was a lack of documentation. Sometimes you’ll be blessed with comments, but, in my experience, the only comments to be found are commented-out code. In Oracle SOA/BPM projects and Mulesoft projects, documentation is even rarer than in other projects. I’m not perfect - I’ve contributed to this problem as well. I’ve completed some code for a project and then, a month later, had to come back to the same code and figure out what the code is supposed to be doing in order to make modifications. Many developers will tell you the “code is self-documenting”, but the code doesn't show you the intent. In order to ascertain intent, one must consult documentation or requirements, and it isn’t always clear which code fulfills which requirements.</p> <p><img alt="Commented Code" data-entity-type="file" data-entity-uuid="43364b49-d141-484b-b9f0-16cc483e2808" height="131" src="/sites/default/files/inline-images/Screen%20Shot%202019-01-07%20at%201.20.40%20PM.png" width="655" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>We are all better than this!</p> <p> </p> <p><img alt="Mulesoft Notes Field" data-entity-type="file" data-entity-uuid="c0233439-8a75-4080-9dba-1d4fc57a2f2e" height="330" src="/sites/default/files/inline-images/Screen%20Shot%202019-01-04%20at%203.47.00%20PM.png" width="652" /><img alt="Oracle Documentation" data-entity-type="file" data-entity-uuid="99c29f98-1b67-41ac-a57a-955eb78665b5" height="256" src="/sites/default/files/inline-images/Screen%20Shot%202019-01-04%20at%203.44.24%20PM.png" width="505" /></p> <p>Save your colleagues and yourself some unnecessary time and document your code. It is possible to figure out what a chunk of code is supposed to do, but it takes much less time to read a sentence that says what the code is meant to do. The comment doesn’t have to be extremely detailed, it just needs to express the general idea. Put a comment in your Java code, fill in the Description field in your BPMN or BPEL activities, or write something in that Notes attribute on your Mulesoft message processors. Don’t leave the comments blank - you will thank yourself later!</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=738&amp;2=comment_node_blog&amp;3=comment_node_blog" token="Xxgpqfan-pc6CC8yR5FIbxX217LJ64swBJCwEYY6THI"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/adf" hreflang="en">ADF</a></div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> <div><a href="/blog/categories/other" hreflang="en">Other</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Mon, 07 Jan 2019 19:38:32 +0000 Adam Mead 738 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/documentation-youll-thank-yourself-later#comments JavaScripting in Mule 3 / 4 https://www.avioconsulting.com/blog/javascripting-mule-3-4 <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/javascripting-mule-3-4" hreflang="en">JavaScripting in Mule 3 / 4</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Overview</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Often when learning a new tool, IDE or language depending on how curious you are or how much time you have to get to play with it you get to discover many different things about it.</span></p> <p dir="ltr">This time around when learning Mulesoft a few months ago using both 3/4 Anypoint Studios I had to learn of course the basic components and once I felt comfortable with them I started using the not so common components (based on the tutorials I did).</p> <p dir="ltr">I'll talk about the experience that I had using the scripting component using the JavaScript engine and since there's no much out there (Most examples in the documentation are about Python and Groovy) I'll share with you the few key things I found useful.</p> <p dir="ltr">The following techniques apply to both Mule 3 or 4 unless I say otherwise.</p> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Read the payload using the eval() JS function</span></h2> <pre> <code class="language-javascript">var payloadVar = eval('(' + payload + ')');</code></pre> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Reading the payload like this will allow you to treat it as a JavaScript object therefore use native JavaScript functions to work with objects, iterate arrays or filter them.</span></p> <p dir="ltr">For instance -&gt;</p> <pre> <code class="language-javascript">var payloadVar = eval('(' + payload + ')'); var items = payloadVar.listOfItems; var serviceItems = items.filter(function(i) {return i.itemType == 'Service'});</code></pre> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Log information through the script in the Mule console</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Pretty simple, yet not documented. You can use the log.info() function to give detailed information in the console when the script is being executed.</span></p> <p dir="ltr">Like this -&gt;</p> <pre> <code class="language-javascript">var simpleString = "simple"; log.info("Hello World"); log.info(simpleString); //"simple"</code></pre> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Returning the payload as JSON</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">It's a bit more critical in Mule 3 because if you don't return it as JSON and then you pass the payload for instance to the response of a call. It will be read as 'unexpected c'.</span></p> <p dir="ltr">In Mule 4 it's pretty much the same. The difference is that if you return the payload as it is it will be treated in the flow as a HashMap generated by the Nashorn JavaScript engine.</p> <pre> <code class="language-javascript">var payloadToReturn = { customerName: payloadVar.customerName, customerId: payloadVar.customerId, orderNumber: payloadVar.orderNumber, totalServicesCost: 23453, totalItemCost: 345, totalCost: 2798 } //mule 3 payload = JSON.stringify(payloadToReturn); //mule 4 payload = payloadToReturn; </code></pre> <p dir="ltr"> </p> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">How to deal with Flow Variables</span></h2> <h3 dir="ltr">Mule 3</h3> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Let's say there's a set variable outside the script that sets variable1 = "I am variable 1"</span></p> <pre> <code class="language-javascript">var simpleString = flowVars.get('variable1'); log.info(simpleString); //output: "I am variable 1" flowVars.put('variable1', "I'm variable 1 changed"); log.info(flowVars.get('variable1')); //output: "I'm variable 1 changed"</code></pre> <h3 dir="ltr">Mule 4</h3> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Same scenario with the set variable component</span></p> <pre> <code class="language-javascript">var simpleString = vars.variable1; log.info(simpleString); //output: "I am variable 1" vars.variable1 = "changed"; //this doesn't work log.info(flowVars.get('variable1')); //output: "I'm variable 1 changed"</code></pre> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=736&amp;2=comment_node_blog&amp;3=comment_node_blog" token="7C6oGw5WX31M_hCrsGGef3MR1nFj2wyEhWfKuOvJgxk"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog%3Fbid%3D332" hreflang="en">MuleSoft</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Wed, 21 Nov 2018 22:08:26 +0000 Alvaro Zorzini 736 at https://www.avioconsulting.com Using Oracle BPEL Direct Bindings in Java https://www.avioconsulting.com/blog/using-oracle-bpel-direct-bindings-java <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/using-oracle-bpel-direct-bindings-java" hreflang="en">Using Oracle BPEL Direct Bindings in Java</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>This blog contains best practices for interfacing Java to external systems through Oracle BPEL components. Java will often be used to integrated functionality within the SOA framework since the framework allows wiring of Java code in order to perform various operations during human task assignment, and execution, as an example. And since these Java classes are embedded in the framework, and these classes may need to pull data from databases, Active Directory, REST services, WSDLs, etc., what is the best way to do this? You guess it: Direct Bindings.</p> <p>Why use direct bindings? First of all, a direct binding creates a simple RMI interface between Java code and a BPEL process. Besides the speed and efficiency one gets from RMI, using direct bindings leverages the capabilities already available within the SOA framework. There’s no need to go outside the SOA framework to get assignment data (in this example) from a database or other data source. Using SOA libraries, BPEL and SOA adapters everything needed is already available.</p> <p>Note that our use case has to do with implementing a very specialized version of role or parameter-based team assignments. Another assignment strategy is give here for <a href="https://www.avioconsulting.com/blog/creating-parametric-roles-using-business-rules">creating parametric roles using business rules</a>. However there are many other use cases that can be applied that don't have to do with assignments at all. Dynamic Bindings can and should be used whenever you want to interact with BPEL code from within Java.</p> <h2>Design by Interface First</h2> <p>The first step is to create an interface that will be used between the BPEL process and Java code. In this blog we will implement an interface that will be used to return a list of assignments for a given work team. The work team will be determined from the project the team is working on and other project properties such as the work area and activity type. The work team will contain a list of BPM application roles or a particular individual in a role. </p> <h3>Input Requirements</h3> <ul><li>projectId - string</li> <li>workArea - string  </li> <li>activityType - string</li> </ul><h3>Output Requirements</h3> <p>The output will be a list of assignments. Since the task assignment may contain direct assignments or role-based assignments, this will support both.</p> <p>    List of Assignments</p> <ul><li>assignment - string</li> <li>type - string</li> </ul><h3>Example Interface Schema</h3> <p> </p> <p style="font-size: 15px;background-color: #EFEFEF">&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br /> &lt;schema xmlns:tns="<a href="http://xmlns.oracle.com/default/DynamicTaskAssignment/GetProjectTaskAssignments">http://xmlns.oracle.com/default/DynamicTaskAssignment/GetProjectTaskAss…</a>"<br />         targetNamespace="<a href="http://xmlns.oracle.com/default/ynamicTaskAssignment/GetProjectTaskAssignments">http://xmlns.oracle.com/default/ynamicTaskAssignment/GetProjectTaskAssi…</a>"<br />         xmlns="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>"&gt;<br />  &lt;element name="process"&gt;<br />     &lt;complexType&gt;<br />        &lt;sequence&gt;<br />           &lt;element name="projectId" type="string"/&gt;<br />           &lt;element name="processActivityKey" type="string"/&gt;<br />           &lt;element name="workAread" type="string"/&gt;<br />      &lt;/sequence&gt;<br />     &lt;/complexType&gt;<br />  &lt;/element&gt;<br />  &lt;element name="processResponse"&gt;<br />      &lt;complexType&gt;<br />          &lt;sequence&gt;<br />               &lt;element name="dynamicRoleNamesList" type="tns:DynamicRoleNamesListType"/&gt;<br />          &lt;/sequence&gt;<br />       &lt;/complexType&gt;<br />  &lt;/element&gt;<br />  &lt;complexType name="DynamicRoleNamesListType"&gt;<br />        &lt;sequence&gt;<br />             &lt;element name="dynamicRoleName" type="tns:DynamicRoleNameType" minOccurs="0" maxOccurs="unbounded"/&gt;<br />         &lt;/sequence&gt;<br />  &lt;/complexType&gt;<br />  &lt;complexType name="DynamicRoleNameType"&gt;<br />      &lt;sequence&gt;<br />            &lt;element name="assignment" type="string"/&gt;<br />             &lt;element name="type" type="tns:AssignmentTypes"/&gt;<br />       &lt;/sequence&gt;<br />  &lt;/complexType&gt;<br />  &lt;simpleType name="AssignmentTypes"&gt;<br />         &lt;restriction base="string"&gt;<br />             &lt;enumeration value="USER"/&gt;<br />             &lt;enumeration value="APPLICATION_ROLE"/&gt;<br />         &lt;/restriction&gt;<br />     &lt;/simpleType&gt;<br /> &lt;/schema&gt;</p> <h3>The BPEL Process And Direct Binding</h3> <p> </p> <p>Now we create the BPEL process and edit the schema template created when the BPEL process is created. This screen shot shows the BPEL creation wizard. Here we are creating a BPEL process, called GetDynamicAssignment in a composite called DynamicAssignments. This has to be a synchronous process, and we will not be needing it to be exposed as a SOAP service, so the check-box can be cleared.</p> <p><img alt="BPEL Process Creation Wizard" data-entity-type="file" data-entity-uuid="5edadc3a-0a31-44c5-b8ef-d46e8fd403e7" height="442" src="/sites/default/files/inline-images/DirectBindings_create_bpel.png" width="552" /></p> <p>Although we will not be using it as a SOAP service, you may want to create it with a SOAP service for testing purposes. Below, we will create it without the SOAP Service, since the creation of the BPEL process will generate the WSDL and message schemas we need in either scenario. </p> <p><br /> Please note: Testing your BPEL process without a SOAP service may be an issue. You may want to wrap this code with another BPEL process and expose it as a web service, or don’t replace the SOAP service with a direct binding until you are finished testing it. When you are ready, you can delete the  SOAP service (or Direct Binding service) and replace it with one or the other as you test it or interact with it via Java. The following images shows how this can be done.</p> <p> </p> <p><img alt="Deleting SOAP Service or Direct Binding" data-entity-type="file" data-entity-uuid="61ef417f-7e0a-4880-a5ca-523706c13aea" height="502" src="/sites/default/files/inline-images/DirectBindings_del_wsdll.png" width="553" /></p> <p><br /> Next we create the direct binding (or web service interface) by dragging a new direct binding object over from the component pallet to the Exposed Service region of the composite editor. </p> <p><img alt="Creating Direct Binding From Component Pallet" data-entity-type="file" data-entity-uuid="eaabfecc-b0eb-4cbb-8d5d-541ecba4b4e7" height="234" src="/sites/default/files/inline-images/DirectBindings_createBinding.png" width="495" /></p> <p>The direct binding creation wizard will pop up, and you can enter the name of the direct binding service and reference the BPEL wsdl, GetDynamicAssigment.wsdl, created during the BPEL process creation step above.</p> <p><img alt="Direct Binding Creation Wizard" data-entity-type="file" data-entity-uuid="d90af6e8-4407-49e5-8a94-aa398ed8de03" height="495" src="/sites/default/files/inline-images/DirectBindings_create_bpel_0.png" width="619" /></p> <p>After you click ok, you will need to link the direct binding to the BPEL process using the partner link already generated during BPEL process creation.</p> <p><img alt="Linking to the BPEL Process" data-entity-type="file" data-entity-uuid="845589b1-4ffa-47cf-aa97-e42d46b972f6" height="387" src="/sites/default/files/inline-images/DirectBindings_attachBinding.png" width="546" /></p> <p>We now have a BPEL process that you can use within Java to leverage any service adapters available, such as for a database or web service. For our use case, the team assignments are stored in a database, so we will edit the template schema created for the BPEL process and use a database adapter to pull data from team assignments tables based on the project ID, work area and process-type inputs. This is basic SOA implementation, so details are not provided here.  </p> <p> </p> <p><img alt="BPEL Process Shell" data-entity-type="file" data-entity-uuid="58324474-8168-483d-ba27-e648d4a3e37d" height="385" src="/sites/default/files/inline-images/DirectBindings_bpel.png" width="543" /></p> <p><br /> The next thing we will describe is how to call invoke this service and marshal data into the request and back out of the response using JAXB classes and Oracle’s SOA Management API.</p> <h2>Java Code</h2> <p>This section describes the Java code that we will use to execute the BPEL process through the direct binding interface. Since we are using RMI, we will need to pass payload data between the BPEL process and our code using org.w3c.dom.Element classes. In this example, we will marshal and unmarshal data into org.w3c.dom classes using JAXB. You can use JDeveloper to create JAXB class or the following command line.</p> <p>xjc .\xsd\GetProjectTaskAssignments.xsd -p org.avio.assignments.domain -d .\src</p> <p>This will create the following Java classes in the org.avio.assignments.domain package:</p> <ul><li>AssigmentTypes.java</li> <li>DynamicRoleNamesListTypes.java</li> <li>DynamicRoleNameTypes.java</li> <li>ObjectFactory.java</li> <li>Package-info.java</li> <li>Process.java</li> <li>ProcessResponse.java</li> </ul><h3><br /> Oracle’s Direct Binding and RMI Java Libraries</h3> <p>Oracle’s documentation for using the Direct Bindings is documented here. <a href="https://docs.oracle.com/cd/E36909_01/dev.1111/e10224/invocapi.htm">https://docs.oracle.com/cd/E36909_01/dev.1111/e10224/invocapi.htm</a>. <br /> Implementing this, however, is rather complex. It requires the following:</p> <ul><li>An RMI connection</li> <li>The distinguishing name (DN) to the default composite version</li> <li>An org.w3c.dom Process request</li> <li>The BPEL process end-point</li> <li>An org.w3c.dom Process Response</li> </ul><p>To simplify the RMI interface (using Soa Management API or more specifically, the Locator class as documented here <a href="https://docs.oracle.com/cd/E28280_01/apirefs.1111/e10659/toc.htm">https://docs.oracle.com/cd/E28280_01/apirefs.1111/e10659/toc.htm</a>) we define this Java method, getCurrentLocator() that will be used in our code sample. It returns an RMI locator to the SOA system.</p> <p> </p> <p style="font-size: 15px;background-color: #EFEFEF"> private Locator getCurrentLocator(String providerUrl, String adminUserName, <br />                                            String adminPassword) throws Exception {<br />         Hashtable jndiProps = new Hashtable();<br />         jndiProps.put(Context.PROVIDER_URL, providerUrl);<br />         jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,<br />                       "weblogic.jndi.WLInitialContextFactory");<br />         jndiProps.put(Context.SECURITY_PRINCIPAL, adminUserName);<br />         jndiProps.put(Context.SECURITY_CREDENTIALS, adminPassword);<br />        return LocatorFactory.createLocator(jndiProps);<br /> }</p> <p><br /> The two method addressed below,  getDefaultCompositeByNameabove() and executeCompositeServiceEndpoint(), use the getCurrentLocator method.</p> <h3>    <br /> Finding the Active Composite Version</h3> <p><br /> Since several versions of composite, DynamicAssignments may be deployed, we will need to get the composite DN of the default composite version. The composite DN takes the form of partition/compositename!version, or “default/DynamicAssignments!3.2.0. We have this method, getDefaultCompositeByName, to return the default Composite. </p> <p> </p> <p style="font-size: 15px;background-color: #EFEFEF">    public Composite getDefaultCompositeByName(String compositeNameStr,<br />                                                String providerUrl,<br />                                                String adminUserName,<br />                                                String adminPassword) throws Exception {<br />         CompositeFilter cFilter = new CompositeFilter();<br />         CompositeDN compositeDN = new CompositeDN(compositeNameStr);<br />         cFilter.setPartition(compositeDN.getDomainName());<br />         cFilter.setCompositeName(compositeDN.getCompositeName());<br />         List&lt;Composite&gt; composites =<br />             locatorFactory.getCurrentLocator(providerUrl, adminUserName,<br />                                              adminPassword).getComposites(cFilter);<br />         for (Composite composite : composites) {<br />             if (composite.isDefaultRevision())<br />                 return composite;<br />             }<br />         return null;<br />     }</p> <h3>Executing the BPEL Process From Java</h3> <p><br /> The execution of the BPEL process requires the default composite, obtained above, the WSDL port and operation, and the payload as a org.w3c.dom.Element. The RMI call requires us to wrap the payload in a Message class, and here again we use Oracle Java libraries, XMLMessageFactory, to create the payload we need. This is all wrapped by the Java method shown below that returns the response as a org.w3c.dom.Element class. </p> <p style="font-size: 15px;background-color: #EFEFEF"> public Element executeCompositeServiceEndpoint(Composite composite,<br />                                                    String port,<br />                                                    String operation,<br />                                                    String payloadName,<br />                                                    Element payloadElem,<br />                                                    String providerUrl,<br />                                                    String adminUserName,<br />                                                    String adminPassword) throws Exception {<br />        Map&lt;String, Element&gt; partData = new HashMap&lt;String, Element&gt;();<br />         partData.put(payloadName, payloadElem);        <br />         Message&lt;Element&gt; request = XMLMessageFactory.getInstance().createMessage();<br />         Payload&lt;Element&gt; payload = PayloadFactory.createXMLPayload(partData);<br />         request.setPayload(payload);<br />         DirectConnection connection =<br />             locatorFactory.getCurrentLocator(<br />                     providerUrl, adminUserName,<br />                     adminPassword).createDirectConnection(composite.getCompositeDN(),port);               <br />         Message&lt;Element&gt; response = connection.request(operation, request);<br />         ByteArrayOutputStream sw = new ByteArrayOutputStream();<br />         Node n = response.getPayload().getData().values().iterator().next();<br />         return (Element) n;<br /> }</p> <h3>Making the Call</h3> <p><br /> The last step ties this all together in the following Java method, getProjectTaskAssignments. This method takes as an argument the JAXB request class, Process.class, and connect properties. It then converts the request to a dom Element, gets the default composite, executes the BPEL process, and returns the response from the BPEL process in the JAXB ProcessResponse class.</p> <p style="font-size: 15px;background-color: #EFEFEF"> <br /> private ProcessResponse getProjectTaskAssignments(<br />           Process request,<br />           String providerUrl,<br />           String adminUserName,<br />           String adminPassword) {<br />                         <br />             // Create the Request Using the JAXB class, Process.class<br />             DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();<br />             dbf.setNamespaceAware(true);<br />             DocumentBuilder db = dbf.newDocumentBuilder();<br />             Document document = db.newDocument();<br />             JAXBContext jc = JAXBContext.newInstance(Process.class);              <br />              // Marshal the Process.class object into a W3C.Document object<br />              Marshaller marshaller = jc.createMarshaller();<br />              marshaller.marshal(request, document);<br />              Element requestRoot= document.getDocumentElement();<br />    <br />            // Get the default composite version<br />             Composite dbComposite =<br />                     soaAdminService.getDefaultCompositeByName("default/DynamicAssignment",<br />                                                                      providerUrl,<br />                                                                      adminUserName,<br />                                                                      adminPassword);<br />             <br />             response =<br />                     soaAdminService.executeCompositeServiceEndpoint(dbComposite,<br />                                                                            "GetProjectTaskAssignments_client_db",<br />                                                                            "process",<br />                                                                            "payload",<br />                                                                            requestRoot,<br />                                                                            providerUrl,<br />                                                                            adminUserName,<br />                                                                            adminPassword);<br />             <br />            jc = JAXBContext.newInstance(ObjectFactory.class); <br />            Unmarshaller u = jc.createUnmarshaller();<br />            ProcessResponse processResponse= (ProcessResponse)u.unmarshal(response);<br />             return processResponse;<br /> }</p> <h2>Conclusion</h2> <p>Notice that all this code uses components and libraries contained in Oracle SOA Fusion Middleware. If you are consuming these Java classes from within a BPM or BPEL composite, then you won’t need to include any external libraries. If you are using JDev to create other SOA composite, then all the libraries will be included during design time. During deployment and run-time, you’ll just need to include the Java classes and methods described above.</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=731&amp;2=comment_node_blog&amp;3=comment_node_blog" token="scCGswV1m4H7Z-OI5B5gva0gHu7lpRfI35OdNJTvPzE"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Fri, 19 Oct 2018 21:54:11 +0000 Mark Peterson 731 at https://www.avioconsulting.com Writing PL/SQL Unit Tests in SQL https://www.avioconsulting.com/blog/writing-plsql-unit-tests-sql <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/writing-plsql-unit-tests-sql" hreflang="en">Writing PL/SQL Unit Tests in SQL</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Overview</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">PL/SQL Procedures more times than not implement complex business rules and logic.  DBMS output statements and the SQL Developer debugger are tools that can assist when initially testing the procedure but when a change is made to a procedure it must be thoroughly regression-tested to ensure the new or change feature hasn't broken something else.  While SQL Developer provides its own unit testing framework it's more than a little tedious to setup and it requires the unit tests be run in SQL Developer.  Alternatively, the approach described in this topic proposes the use of a SQL script to create the test data and to run the test and record the results in a custom unit testing table.</span></p> <p style="margin:10pt 0pt 0pt"><span style="line-height:200%">The setup described here is entirely based on Oracle SQL and can be run outside of SQL Developer</span></p> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Unit Test Table</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">The approach here requires creating one custom table to store the results of the unit tests.  Unit tests are organized in a folder of tests testing the same PL/SQL package.  Each of the unit testing scripts in the folder will record their tests results (sample DDL provided below) according to this group name (TEST_GROUP), whatever you want to call it.  In addition, there is a TEST_RESULT column that records PASSED or FAILED associated with the unit test name and description.</span></p> <pre> <code class="language-sql">DROP TABLE "UNIT_TESTING_TABLE" CASCADE CONSTRAINTS; CREATE TABLE "UNIT_TESTING_TABLE" ( "TEST_GROUP" NVARCHAR2(30), "TEST_NAME" NVARCHAR2(30), "TEST_DESCRIPTION" NVARCHAR2(1000), "TEST_RESULT" NVARCHAR2(20), "TEST_DETAILS" NVARCHAR2(1000), "CREATED_DATE" TIMESTAMP (6) DEFAULT ON NULL systimestamp ) SEGMENT CREATION IMMEDIATE LOGGING; ALTER TABLE "UNIT_TESTING_TABLE" MODIFY ("TEST_RESULT" NOT NULL ENABLE); ALTER TABLE "UNIT_TESTING_TABLE" MODIFY ("TEST_NAME" NOT NULL ENABLE); ALTER TABLE "UNIT_TESTING_TABLE" MODIFY ("TEST_GROUP" NOT NULL ENABLE);</code></pre> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Running the Unit Tests</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">A SQL script to run the unit tests will be written in the same unit testing directory (e.g. Run-Initiator-UnitTests.sql) which first will clean up the unit testing table (line <strong>1</strong>), invoke each of the unit test scripts (lines <strong>3-6</strong>) in the directory and then display the PASSED or FAILED results (lines <strong>8-16</strong>).</span></p> <p><img alt="Unit Tests" data-entity-type="file" data-entity-uuid="5c353f7b-deb3-41d3-bd54-7d5e8a4a1540" src="/sites/default/files/inline-images/unit-test-script.jpg" /></p> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Writing a Unit Test</span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Each of the unit tests will have <u>four sections</u>:</span></p> <ul><li style="margin:5pt 0pt 0pt"><span style="line-height:100%">Describe unit test</span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">DELETE and INSERT test data</span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">Initialize and call the PL/SQL Procedure</span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">Assert test results and record the results</span></li> </ul><p style="margin:1pt 0pt 0pt"><span style="line-height:200%">A sample script will be provided below to document each of these four sections.  The first two are easy enough and are shown below.</span></p> <p><img alt="Sections 1 and 2" data-entity-type="file" data-entity-uuid="9702a141-8a27-48a1-9e94-7a2f6a3ab96c" src="/sites/default/files/inline-images/sections1-2.jpg" /></p> <p>The third section is easy to create, simply open the Test or Debug dialog of the PL/SQL Procedure. An EXCEPTION variable is declared on line <strong>22</strong> below.  Lines <strong>23-25</strong> were added to this to set various variables needed to record the results in the unit testing table.</p> <p><img alt="Section 3: Initialize and Invoke" data-entity-type="file" data-entity-uuid="4abbdc5c-8415-4ad0-9a69-6c8dd9ad77b8" src="/sites/default/files/inline-images/section3.jpg" /></p> <p><img alt="(info)" data-emoji-fallback="ℹ" data-emoji-id="2139" data-emoji-shortname=":information_source:" data-emoticon-name="information" src="https://avioconsulting.atlassian.net/wiki/s/1862299441/6452/431cf7880c37644f5d75c01eafff950eede0f382/_/images/icons/emoticons/information.png" /> Lines <strong>30-37</strong> invoke the PL/SQL Procedure under test.</p> <p style="margin:1pt 0pt 0pt"><span style="line-height:200%">Immediately after calling the PL/SQL Procedure add IF conditions to test the outcome.  If any of these "assertions" are true then invoke the EXCEPTION.   If the EXCEPTION is not raised then insert the PASSED status.  Note the implementation of the failed_the_test EXCEPTION on lines <strong>55-57</strong> that will insert the FAILED status.</span></p> <p><img alt="Section 4: Assertions" data-entity-type="file" data-entity-uuid="48e53c8e-18ba-433c-b390-d92bb02a5d15" src="/sites/default/files/inline-images/section4.jpg" /></p> <p><img alt="(info)" data-emoji-fallback="ℹ" data-emoji-id="2139" data-emoji-shortname=":information_source:" data-emoticon-name="information" src="https://avioconsulting.atlassian.net/wiki/s/1862299441/6452/431cf7880c37644f5d75c01eafff950eede0f382/_/images/icons/emoticons/information.png" /> Lines <strong>58-60</strong> provide an OTHERS exception to catch unexpected exceptions from the procedure under test.  If the procedure under test throws an exception that is expected, then define an EXCEPTION for it in the exception block and set the test status to PASSED.  </p> <h2 style="margin:20pt 0pt 0pt"><span style="line-height:107%">Best Practices</span></h2> <ul><li style="margin:5pt 0pt 0pt"><span style="line-height:100%">The unit tests are run in a <u>local or isolated</u> Oracle database instance.  The reason for this is that each of the tests delete and create their own test data, which may wreak havoc in your DEV and TEST environments.</span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">The unit testing table contains a description and it should describe what the tests is about so anyone looking at either the results in the table or in the unit test will understand the breadth of what is being tested. </span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">The unit test file name itself should match (tersely) so anyone looking at the unit tests folder can distinguish one from another. </span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">The assertions can query any table in the database under test and need not reflect only what is returned from the procedure.</span></li> <li style="margin:5pt 0pt 0pt"><span style="line-height:100%">Execute the unit test scripts in the file name order seen in the folder which will ensure you aren't missing any tests.</span></li> </ul><h2 style="margin:20pt 0pt 0pt"><span style="line-height:100%"><span style="line-height:107%">Summary</span></span></h2> <p style="margin:1pt 0pt 0pt"><span style="line-height:100%"><span style="line-height:200%">Having the unit tests written in a pure Oracle syntax and execution mode is intuitive, learned easily and provides a robust means to regression test PL/SQL procedures.  The unit testing table will record each of the unit test group results so test failures can be easily located.</span></span></p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=718&amp;2=comment_node_blog&amp;3=comment_node_blog" token="BvtUfcG_-mIDBV2n7C5KCxBC6_ik2DzS5NifweN-5Ws"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Mon, 09 Jul 2018 17:54:35 +0000 Gregory Hughlett 718 at https://www.avioconsulting.com Software QA Testing: 3 Things Your Boss Should Know https://www.avioconsulting.com/blog/3-things-your-boss-should-know-about-QA-Testing <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2018-01/8a535d8c-03e7-4a14-88fa-7f2d9ac41ff01.jpg" width="3288" height="3460" alt="Software testing word mashup" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/3-things-your-boss-should-know-about-QA-Testing" hreflang="en">Software QA Testing: 3 Things Your Boss Should Know</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>As reported in Donald Firesmith’s <em>Common System and Software Testing Pitfalls</em>, inadequate testing costs “. . . the US economy between $22.2 and $59.5 billion annually . . . “ This accounts for “. . . between 25% and 90% of software development budgets . . .”  That’s a staggering figure that I wouldn’t necessarily want to share with my boss because, well . . . ouch.  </p> <p>It’s important to note that much of this cost is attributed to software developers and end users in the form of “. . . failure avoidance and mitigation efforts.”  Ostensibly, this is a case for the trained, professional, and methodologically sound QA tester, right?  It certainly seems that way, but money is money, time is time, your boss is dissatisfied with the testing approach, and they're under pressure to make some changes.  </p> <p>So what do you do?</p> <p>Tell them to read this blog, of course!  Before your boss decides to re-structure a department or re-allocate funding, here are 3 things your boss should know about software QA testing.</p> <h2> </h2> <h2><strong>1. Dynamic Testing is — by itself — not Efficient</strong></h2> <p>I can hear the product owners and executives now: “I told you testing is an inefficient cost center!  Here’s the proof; a QA tester said so in a blog!”  Whoa, horsey . . . </p> <p>While it’s true that dynamic testing in and of itself is not an efficient means of assuring system stability, that’s because no single form of testing is.  Dynamic testing (the input-output kind that might center on a UI) is one facet of a much larger, more complex discipline.  However, this is the type of testing we most regularly associate with the concept of “Testing.”  </p> <p>It’s also (in my opinion) the easiest type of testing to crowdsource with untrained eyes (e.g., users).  This results in some defect identification, but certainly not at the levels necessary to negate the impact of those defects in a reasonable amount of time (i.e., lower cost over time).  Plus, drafting users into the formal QA effort is — honestly — bad form.</p> <h2> </h2> <h2><strong>2. Dynamic Testing Doesn’t Catch the Most Bugs</strong></h2> <p>Objection, Your Honor!  Dynamically testing the application is the only way to ensure system stability.  After all, if the users can use the application successfully, that means no bugs.</p> <p>No.</p> <p>Software QA testing can’t actually prove defects don’t exist.  By extension, it can’t prove system stability.  It can only suggest that, by the negation of defects, that the potential risk of system instability is low.  </p> <p>So, if dynamic testing can’t make my system stable, what can?</p> <p>Truthfully, dynamic testing can help to stabilize a system as long as it’s combined with a static testing approach as well.  Remember, software QA testing is a complex discipline.  According to the findings reported by Donald</p> <p><img alt="Captain Planet wants you to test well!" data-entity-type="file" data-entity-uuid="40ea7dd6-328f-4ff9-bf53-5fe323e2e334" height="198" src="/sites/default/files/inline-images/Unknown.jpeg" width="453" class="align-right" /></p> <p>Firesmith, dynamic testing only accounts for 85% of defects found while static accounts for 95% of defects found.  When combined (like the different elements that make up Captain Planet), great things happen — like 99.27% total testing effectiveness.  </p> <p>This takes a team of trained testers, though. Implementing a 2-year beta phase with users acting as guinea pigs won’t produce these results.  </p> <h2> </h2> <h2><strong>3. Test Planning is Crucial</strong></h2> <blockquote> <p class="text-align-center">“We don’t need to plan for testing.  If it happens, it happens.  Besides, if the code is good, it won’t need to be tested, anyhow.”</p> <p class="text-align-center">                                      — Not-so-hypothetical product owner</p> </blockquote> <p>As the old saying goes, if you fail to plan then you plan to fail.  Test planning is crucial because it sets expectations, addresses up-front concerns, and provides a framework that can be used to guide the testing process as well as predict cost.  This makes test planning an indispensable component not only for testing, but for high-level project management as well.</p> <p>Of the 92 unique testing pitfalls, Fireside cataloged in <em>Common System and Software Testing Pitfalls</em>, 9 of them deal with test planning and documentation.  So, nearly 10% of testing practice dysfunction can be traced back to a lack of planning and documentation.  No wonder Fireside addresses test planning at the front of his book.</p> <h2><strong>So, my questions for you are . . . </strong></h2> <p>1. What kind of testing is currently taking place on your project?  <br /> 2. What kind of testing is not currently taking place on your project?<br /> 3. Are your testers trained individuals who know the technique and method of software QA testing?<br /> 4. What kind of testing documentation is missing from the current picture?</p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=698&amp;2=comment_node_blog&amp;3=comment_node_blog" token="t7tn2iuiVXBto8hmFB9WoOmEoTh1bYR1-Q1kIkHGNZ4"></drupal-render-placeholder> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 30 Jan 2018 18:21:25 +0000 Mark Hearon 698 at https://www.avioconsulting.com Unshackle the Business - Best Practices in UI and Process Designs https://www.avioconsulting.com/blog/unshackle-business-best-practices-ui-and-process-designs <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/2017-11/materialdesign.jpg" width="1147" height="706" alt="Material Design" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/unshackle-business-best-practices-ui-and-process-designs" hreflang="en">Unshackle the Business - Best Practices in UI and Process Designs</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>To remain competitive, companies have to continually drive down costs while maintaining value in the products and services they offer. One area where companies look to reduce costs is in Business Process Management (BPM).</p> <p>When it comes to IT expenditures, some companies may invest a small fortune in BPM, while others may simply rely on basic tools, such as spreadsheets and Post-it notes. Regardless of the amount spent, if the tools are hard to use or the process is cumbersome then your business has become shackled and is wasting time and energy.</p> <p>Are your company’s internal business processes helping or hurting efficiency? Take this simple assessment: </p><ul><li>Do your employees have relevant and useful tools to complete their work or do they waste time navigating complicated or out-of-date systems?</li> <li>Do their tools or user interfaces (UIs) involve countless forms or spreadsheets or are they streamlined and concise?</li> <li>Do the business processes or workflow they must follow slow them down or accelerate their work?</li> </ul><p>AVIO has developed best practices in UI and business process design that help organizations reduce their cost of doing business and increase worker satisfaction. These practices and designs, when implemented, empower employees and help drive organizational change, which can ultimately affect the company’s bottom line.</p> <p>Here are three ways the AVIO’s best practices can unshackle your business from cumbersome systems and bring about positive change in your organization.</p> <ul><li>AVIO uses best practices and the latest in UI techniques and design strategies, such as material design, single-page applications, animation, suggestive item searches, and auto-fill mechanisms. These techniques and strategies, which are now common in applications such as Facebook and Twitter, can make your company’s UI intuitive, easy to use, and relevant to your business.</li> <li>AVIO can custom fit the system workspace so the UI conforms to how your employees work—rather than making them conform to the system. One size does not fit all; and one UI doesn’t either, as many companies have found out after installing off-the-shelf applications.</li> <li>AVIO can implement a business process that accelerates workflows, rather than just controlling or keeping track of them. AVIO does this through advanced process designs that account for the very nature in which work is performed within your organization because the actual business process does not follow a straight line from beginning to end, as most process models depict.</li> </ul><p>With these best practices, everyone in your organization will see the value in the tools they use rather than endure them. The UIs will be streamlined, relevant and useful. The workspace will draw users into their tasks and help them stay focused. And the business processes will mirror the way people actually do work—dynamic work-teams, changing assignments and variable deadlines.</p> <h3>Further Reading:</h3> <p><a href="http://www.avioconsulting.com/blog/now-under-development-avios-skunkworks-labs-customized-workspace-oracle-bpm">AVIO's Custom Workspace</a></p> <a href="http://www.avioconsulting.com/blog/now-under-development-avios-skunkworks-labs-customized-workspace-oracle-bpm"> </a> <p><a href="http://www.avioconsulting.com/blog/oracle-bpm-11g-process-screens-without-adf">AVIO's Rest Service API (for creating highly responsive  UIs without ADF)</a></p> <a href="http://www.avioconsulting.com/blog/oracle-bpm-11g-process-screens-without-adf"> </a> <p><a href="http://www.avioconsulting.com/blog/mobile-bpm-not-option-its-necessity">Mobile BPM is not an Option, but a Necessity</a></p> "&gt;</div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=693&amp;2=comment_node_blog&amp;3=comment_node_blog" token="cIljoZeYyWL3c1UmIGFDkjLwYKTzgcnCAsJc0G9ymkw"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 21 Nov 2017 23:44:29 +0000 Mark Peterson 693 at https://www.avioconsulting.com Protected Flex Fields in Oracle BPM https://www.avioconsulting.com/blog/protected-flex-fields-oracle-bpm <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/protected-flex-fields-oracle-bpm" hreflang="en">Protected Flex Fields in Oracle BPM</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>People are often confused when it comes to creating and using flex fields in Oracle BPM.  A while back, I wrote a <a href="http://www.avioconsulting.com/blog/flex-fields-oracle-bpm-11g">blog on public flex fields</a>, but this discusses protected flex fields, some best practices, and a how to avoid a bug when using them..</p> <p>Flex fields are important to know how to use because it is helpful to show instance information in the list of tasks in the Workspace.  This is done either using a protected or public flex field. </p> <p><img alt="Flex Fields in the Oracle BPM Workspace" data-entity-type="file" data-entity-uuid="be8cce5b-4574-4192-96ca-ec65e8569761" src="/sites/default/files/inline-images/ws.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Both public or protected flex fields serve the same function.  They are simply created slightly differently and are mapped to a different set of flex field attributes.  I personally prefer using protected attributes because I'm a pretty simple guy, and find the path to creating and using them to be a simple three step process:</p> <p>1. Assigning a label to a protected flex field in the Workspace</p> <p>2. Adding a mapped attribute in the human task in your Oracle BPM project in JDeveloper</p> <p>3. Adding the protected flex field as a column in a view in the Workspace</p> <h3>1. Assigning a label to a protected flex field in the Workspace</h3> <p>First, to add the labels for the different protected flex fields, log in as an administrator in the Workspace.  In 12c, click the administrators' user id in the upper right corner -&gt; click <strong>Administration </strong>from the drop-down.  Select <strong>Protected Flex Fields</strong> -&gt; wait a minute for the Protected Flex Field Mapping form to display and then click  +.  </p> <p>If you wanted to display a candidate's name in a Workspace's inbox task list or view in the third step, you would enter text "Candidate Name" in the Label Name field (this is the text that will be displayed in the header of the column in the Workspace’s task list) -&gt; click the <strong>Create </strong>button.</p> <p><img alt="Assign a label to a protected flex field" data-entity-type="file" data-entity-uuid="15c25130-d4e0-4a5a-8574-b659f723265b" src="/sites/default/files/inline-images/cr.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>A common problem I see is when several different protected flex fields are all given the same label (e.g., "Name").  If this is done, you're going to get confused in the third step because you will see text "Name" three times in the <em>Available Columns</em> list to be displayed.  As a best practice, give each of the flex fields different label names (e.g., "Candidate Name", "Company Name") to avoid getting confused in the third step. </p> <p>A problem occurs when you try to add more than one label for a specific protected flex field.  Do not do this.  There is a bug that prevents this from working correctly.</p> <p><img alt="Protected Flex Field assigned multiple labels" data-entity-type="file" data-entity-uuid="44451fbf-666c-4531-ae22-af506de3c3aa" src="/sites/default/files/inline-images/pflex.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p>As shown above, although the user interface appears to allow a single flex field (ProtectedTextAttribute1 in this case) to be assigned several labels, only the first label will be displayed ("Candidate Name" in this example), at runtime in the Workspace.</p> <p><img alt="Result of adding Protected Flex Field assigned multiple labels" data-entity-type="file" data-entity-uuid="cd8248ba-ea04-4b47-8e2e-493e0e10a3eb" src="/sites/default/files/inline-images/dup_0.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>If only one label is added to the view and it is not the first label, the first label will be displayed instead of the one you wanted.</p> <p>The key thing is to avoid assigning multiple labels to the same protected flex field.  Work around this issue by not adding multiple labels to a single flex field, and instead use any one of the other Protected Text Attributes or 20 Public Text Attributes for the other label assignments.  </p> <h3>2. Adding a mapped attribute in the human task in your Oracle BPM project in JDeveloper</h3> <p>Because the Workspace’s task list shows information currently inside human tasks and because flex fields can only show primitive variables (e.g., strings, numbers, and integers), a new mapped attribute needs to be added inside the human task for each value to be displayed in the Workspace.  To add the mapped attribute, open the Oracle BPM project's human task in JDeveloper -&gt; click the human task’s <b>Data</b> tab -&gt; click + beside the <i>Mapped Attributes</i>.</p> <p><img alt="Add a protected flex field's mapped attribute" data-entity-type="file" data-entity-uuid="437426a9-1b87-4718-823d-118b3ca93d93" src="/sites/default/files/inline-images/m.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p>From the top drop-down, select the <em>Application Server</em> where the project is deployed -&gt; in the <i>Attribute</i> dropdown select the protected flex field label created in the first step ("Candidate Name (Protected Text Attribute1" in the example below<b>) </b>that was previously added to the Workspace  for the <i>Value </i>field -&gt; select the XPath Expression icon to the right of the <em>Value </em>field to map the flex field with the human task element.</p> <p><img alt="Assigning the mapped attribute to the flex field" data-entity-type="file" data-entity-uuid="7d9aa13a-984b-490d-bb5d-234f77a73eae" src="/sites/default/files/inline-images/m2.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Expand payload from the list -&gt; select the primitive element to associate it to -&gt;<b> </b>click the <b>Insert Into Expression </b>button.</p> <p><img alt="Assign the payload element to the mapped attribute" data-entity-type="file" data-entity-uuid="1dc1ca4e-f27c-48e6-a307-d100b84dfdaf" src="/sites/default/files/inline-images/m3.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Once you click <strong>OK</strong>, the new mapped attribute should now be present in the human task Data tab.</p> <p><img alt="Mapped attribute in the human task's Data tab" data-entity-type="file" data-entity-uuid="37984e18-7220-4648-94f3-c852fbc0833e" src="/sites/default/files/inline-images/m4.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p>Redeploy the BPM project so that the change can take effect. </p> <h3>3. Adding the protected flex field as a column in a view in the Workspace</h3> <p>Add the flex field columns to views in the Workspace by clicking the <em>Edit Settings </em>pencil button.</p> <p><img alt="Edit the inbox view" data-entity-type="file" data-entity-uuid="4a0b8452-2ab5-4884-9cbc-ad088d4fba8c" src="/sites/default/files/inline-images/ed.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Scroll down the <em>Available Columns </em>list on the left to the bottom and select the desired protected flex fields to be added (in the example below, the protected flex field labels "Salary" and "Candidate Name" will be added) -&gt; click the &gt; button to add these to the <em>Selected </em>list -&gt; click OK.</p> <p><img alt="Select the protected flex fields labels to add to the view" data-entity-type="file" data-entity-uuid="95ae3945-2c25-401a-898c-19af1aba3bac" src="/sites/default/files/inline-images/se.png" class="align-left" /></p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p style="margin-right:-27.0pt">To test that the information is displayed in the Workspace, create a new work item instance in the process.  Ensure the new instance reaches the activity associated with the human task modified in the second step.  Note the specific instance information displayed in the view/inbox.</p> <p style="margin-right:-27.0pt"><img alt="Workspace displaying protected flex fields in the inbox" data-entity-type="file" data-entity-uuid="9e07c335-39cb-426c-932c-731d4437287d" height="107" src="/sites/default/files/inline-images/in.png" width="605" class="align-left" /></p> <p style="margin-right:-27.0pt"> </p> <p style="margin-right:-27.0pt"> </p> <p style="margin-right:-27.0pt"> </p> <p style="margin-right:-27.0pt">Again, avoid these two issues when using flex fields:</p> <p style="margin-right:-27.0pt">1. Do not use the same text for labels in different flex fields.  If in the first step you made the mistake of assigning the text "Name" to three different protected flex field labels, then you will see "Name" three times in the <em>Available Columns</em> list.  </p> <p style="margin-right:-27.0pt">2. Do not assign multiple labels to the same flex field.  If this is done, only the first label assigned to the flex field will be displayed on the view.</p> <p style="margin-right:-27.0pt"> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=665&amp;2=comment_node_blog&amp;3=comment_node_blog" token="-6QYpgK97MSP9-iVsB-Xak3gCC_X6tDSA597A74qMpU"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Thu, 13 Jul 2017 15:33:58 +0000 Dan Atwood 665 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/protected-flex-fields-oracle-bpm#comments Oracle BAM 12c Security https://www.avioconsulting.com/blog/oracle-bam-12c-security <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/oracle-bam-12c-security" hreflang="en">Oracle BAM 12c Security</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>Oracle Business Activity Monitoring (BAM) 12c comes with Oracle SOA Suite and BPM, and it is a very powerful tool that should be used on most projects.  Organizations are using it successfully today to graphically visualize trends in their data to make operational decisions and to send alerts before issues occur. </p> <p>One of the difficulties organizations initially have after installing Oracle BAM 12c is determining how to define the security levels and permissions for its different types of users.  Oracle BAM has both coarse grained security defined at the application role level down to very fine grained security defined at individual BAM artifact and data object row levels.<br /><br /><b>BAM Coarse Grained Security - BAM Application Roles</b><br /><br /> For many organizations today, different parts of the organization will each access and share the same BAM domain. For some, the coarse grained predefined BAM security groups and roles assignments will suffice. When left to the default coarse grained security, these three types of BAM users will exist:</p> <ol><li><span style="tab-stops:list .5in"><em><strong>BAM Administrators</strong></em> in an organization are able to access and edit any data object, EMS, or projects that other teams have created</span></li> <li><span style="tab-stops:list .5in"><em><strong>BAM Designers</strong></em> in an organization can access and edit any BAM project and their queries, views, dashboards and alerts that other teams have created</span></li> <li><span style="tab-stops:list .5in"><em><strong>BAM End Users</strong></em> in an organization can view any dashboard as long as they know the URL for the dashboard </span></li> </ol><p>BAM comes installed with BAM application roles already created. The five predefined application roles these three types of BAM users are given are:</p> <ol><li><span style="tab-stops:list .5in"><strong><em>BAMUsers</em></strong> - At a minimum, this group should be given to every person using any aspect of BAM.  If this is the only group added, end users are only able to log into BAM and its home page and see nothing once they have logged in.  </span><span style="tab-stops:list .5in">If users are not given the BAMUsers group, they get a 403 error when attempting to access BAM or one of the dashboards.  </span></li> <li><span style="tab-stops:list .5in"><strong><em>BAMContentViewer</em> </strong>– This allows users to view any dashboard and the alert history (on the BAM home page). In addition to the BAMUsers group, this is normally given to BAM end users.</span></li> <li><span style="tab-stops:list .5in"><em><strong>BAMContentCreator</strong> </em>– This gives users BAMContentViewer permissions, but also allows them to view any data objects and the data in them. Significantly, they can create and edit projects and add any of the artifacts found on the BAM Designer page. This is normally given to BAM Designers who create the BAM project queries, views, dashboards and alerts. </span></li> <li><span style="tab-stops:list .5in"><strong><em>BAMArchitect</em> </strong>– This gives users gives users the ability to create and edit data objects and any artifacts on the BAM Administrator page. This role is not sufficient to allow a user to view or edit artifacts on the Designer page and is therefore not normally used.</span></li> <li><span style="tab-stops:list .5in"><strong><em>BAMAdminstrator</em> </strong>- This gives users all of the above roles.</span></li> </ol><p>When setting up access to BAM, ensure that these application roles are assigned to corresponding BAM groups. For example, the Weblogic security realm is installed with these roles and</p> <ul><li>The BAMAdministrator application role should be assigned to a corresponding BAMAdministrator group defined in LDAP</li> <li>The BAMArchitect application role should be assigned to a corresponding BAMArchitect group defined in LDAP</li> <li>The BAMContentCreator application role should be assigned to a corresponding WebLogic BAMContentCreator group defined in LDAP</li> <li>The BAMContentView application role should be assigned to a corresponding BAMContentViewer group defined in LDAP</li> </ul><p>Based on their role, each of the LDAP groups should have the appropriate users assigned.</p> <p>To assign an organization’s LDAP groups to these application roles in BAM, in Enterprise Manager right click the domain in WebLogic -&gt; click <b>Security</b> -&gt; click <b>Application Roles</b>.</p> <p><img alt="The first step in assigning an LDAP group to a BAM application role" data-entity-type="file" data-entity-uuid="ddc3b4ec-d134-4715-bc4e-117fdf6d0dbc" height="464" src="/sites/default/files/inline-images/1_2.jpg" width="436" /></p> <p>From the Application Stripe dropdown, select <b>BAMServer </b>(1 below) -&gt; click the right chevron icon (2) to populate the list of roles -&gt; to add a new group to one the roles, select the role (3) -&gt; click the Edit button (4).</p> <p><img alt="The second step in assigning LDAP groups to BAM application roles" data-entity-type="file" data-entity-uuid="8680a0fa-d468-4673-a65b-25f5cb2abd85" height="313" src="/sites/default/files/inline-images/2_2.jpg" width="550" /></p> <p><b>BAM Fine Grained Capability - Permissions Granted at the Project and/or Artifact Level </b><br /><br /> BAM out of the box coarse grained security is overridden when a BAM artifact's security is defined. This means that the permissions can be granted or denied for individual BAM projects, data objects, dashboards and alerts. Security can further be defined at the individual row level data of data objects, preventing unauthorized people for viewing data displayed in a dashboard they are not authorized to view.<br /><br /> Here are the permissions that can be granted or denied at the individual BAM artifact level.<br /><br /> a. Permissions that apply only at the Data Object level:</p> <ul><li><span style="tab-stops:list .5in">"Read" for data objects - This ensures that not all BAM Administrators can edit individual data object metadata (e.g., the data object's columns and their properties). This does not give them the ability to view the actual rows of data stored in the data object.</span></li> <li><span style="tab-stops:list .5in">"Write" for data objects - This gives BAM Administrators the ability to both view and edit individual data object metadata. This does not give them the ability to view, edit or delete the actual rows of data stored in the data object.</span></li> <li><span style="tab-stops:list .5in">"Select" for data objects - Unlike "Read" access, this gives Administrators and Designers the ability to view the actual data stored in data objects. This is similar to a SELECT statement in SQL.</span></li> <li><span style="tab-stops:list .5in">"Delete" for data objects - This gives BAM Administrators the ability to delete rows of data in data objects</span></li> <li><span style="tab-stops:list .5in">"Update" for data objects - This gives BAM Administrators the ability to delete rows of data in data objects</span></li> </ul><p>b. Permissions that apply to BAM Dashboards</p> <ul><li>"Read" for dashboards - This ensures that not all BAM Designers assigned to the BAMContentCreator group the ability to view individual dashboards. </li> <li>"Write" for dashboards - This gives BAM Designers assigned to the BAMContentCreator group the ability to both view and edit individual dashboards.  If denied, the BAM Designer cannot edit the dashboard but can view it if given Read permission.</li> <li>"Remove" for dashboards - This gives or denies users the ability to delete dashboards</li> </ul><ul><li><span style="tab-stops:list .5in">"Security" for dashboards - This gives or denies users the ability to set these permissions for other users for the specific dashboard.</span></li> </ul><p>c. Permissions that apply to any BAM Artifact for BAM Administrators and Designers:</p> <ul><li><span style="tab-stops:list .5in">"Remove" for any artifact in BAM - This gives users the ability to delete individual BAM artifacts (e.g., data objects, projects, queries, views and dashboards).</span></li> <li><span style="tab-stops:list .5in">"Security" for any artifact in BAM - This gives users the ability to set these permissions for other users.</span></li> </ul><p>This means that because these permissions set for individual BAM artifacts supersede any coarse grained security privileges, a BAM designer role is easily denied access to another team's project.</p> <p> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=659&amp;2=comment_node_blog&amp;3=comment_node_blog" token="M2YWMQMu0GpCcehwRt0ciOp7NGz94GIq1jx6IDwyWQQ"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/blog/categories/bam" hreflang="en">BAM</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Fri, 05 May 2017 01:11:28 +0000 Dan Atwood 659 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/oracle-bam-12c-security#comments Part 5 - Oracle BPM 12c Process Invoke Database https://www.avioconsulting.com/blog/part-5-oracle-bpm-12c-process-invoke-database <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/part-5-oracle-bpm-12c-process-invoke-database" hreflang="en">Part 5 - Oracle BPM 12c Process Invoke Database</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>This is the 5th of a 5 part series that explains how to expose a database to an Oracle BPM 12c Process using the Oracle SOA Database Adapter and a Mediator.  In this, the Composite with the Database Adapter created in part 4 of this series is invoked by the Oracle BPM process using a Service activity.</p> <p><a href="http://www.avioconsulting.com/blog/part-1-oracle-bpm-12c-process-invoke-database">Part 1 - Create a WebLogic JNDI Database Connection</a></p> <p><a href="http://www.avioconsulting.com/blog/part-2-oracle-bpm-12c-process-invoke-database">Part 2 - Configure the Database Adapter's Outbound Connection Pool</a></p> <p><a href="http://www.avioconsulting.com/blog/part-3-oracle-bpm-12c-process-invoke-database">Part 3 - Configure the Database Adapter's JNDI Connection to the Database</a></p> <p><a href="http://www.avioconsulting.com/blog/part-4-oracle-bpm-12c-process-invoke-database">Part 4 - Create a SOA Composite Project to Invoke the Database Adapter through a Mediator</a></p> <p><a href="http://www.avioconsulting.com/blog/part-5-oracle-bpm-12c-process-invoke-database">Part 5 - Invoke the Service Exposed from a Process in the BPM Composite Project</a></p> <h3>Part 5 - Invoke the Service Exposed from a Process in the BPM Composite Project</h3> <p>In this part, based on the id field that is entered - you will retrieve the salary and other information about a candidate stored in the database table fed into the BPM process. </p> <p>Download the BPM Project that will be used to invoke the service from <a href="https://drive.google.com/file/d/0Bwqetn0fpi74OXAwLWJVTTZSYzQ/view?usp=sharing">here</a>.  (This is a 12.2.1.2 project)</p> <p>Open the project and open the <b>Candidate Approval </b>process.</p> <p>To open the BPM Project’s composite diagram, click the icon located in the top right corner of the process model diagram.<br /><img alt="Candidate Approval process - open composite diagram" data-entity-type="file" data-entity-uuid="79d5219c-a5b7-449e-bd61-67afca18cab4" height="235" src="/sites/default/files/inline-images/70.jpg" width="497" /></p> <p>Drag the  <b>SOAP </b>Web Service component into the <b>External References </b>column in the Composite diagram.</p> <p><img alt="Add SOAP Adapter into External References" data-entity-type="file" data-entity-uuid="66dd7b00-bde9-477b-af86-f7e389e489b7" height="339" src="/sites/default/files/inline-images/71.jpg" width="557" /></p> <p>Name the service <b>HRService</b> (1 below) -&gt; click the <b>Find existing</b> <b>WSDLs</b> icon (2) -&gt;  select <b>Application Server </b>(3) -&gt;  click the dropdown and select the application server (<i>BPM_Compact</i><b> </b>in this example) (4) -&gt;  + expand the composites as shown below until you see the previously deployed <i>HRService</i> service -&gt;  +expand the composite labeled <b>HRService [Default…]</b> and select the <b>GetEmployeeById </b>service (5).</p> <p><img alt="Define the HRService External Reference" data-entity-type="file" data-entity-uuid="923ec92e-86ad-4333-92b7-ae1c00761353" src="/sites/default/files/inline-images/73.jpg" /></p> <p>Click <b>OK</b>.</p> <p>Check the <strong>copy wsdl and its dependent artifacts into the project</strong> checkbox.</p> <p><img alt="Copy wsdl and its dependent artifacts " data-entity-type="file" data-entity-uuid="bc2a3ac5-f083-4502-90ce-03f13b592b61" src="/sites/default/files/inline-images/74.jpg" />r</p> <p>Click <b>OK </b>-&gt; <b>OK</b>  -&gt; <span style="font-size:10.0pt"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#333333"> </span></span></span><b>Save</b><span style="font-size:10.0pt"><span style="font-family:&quot;Arial&quot;,sans-serif"><span style="color:#333333">.</span></span></span></p> <p>Reopen the <b>Candidate Approval</b> process. As shown below, create a gap between the Message Start Event and the Script activity and add a <b>Service</b> activity in the sequence flow in this gap.</p> <p><img alt="Add a Service Activity into the process" data-entity-type="file" data-entity-uuid="1132c98f-ee05-4578-a5dc-ecddb830b6d4" height="257" src="/sites/default/files/inline-images/75.jpg" width="596" /></p> <p style="margin-left:.5in"> </p> <p>Name it Retrieve Candidate Information.</p> <p><img alt="Name the Service Activity" data-entity-type="file" data-entity-uuid="6d272f5d-250b-4f9b-86da-4e477fd7a8c2" height="168" src="/sites/default/files/inline-images/76.jpg" width="480" /></p> <p>Click the <b>Implementation</b> tab -&gt; change the <i>Type </i>dropdown to <b>Service Call</b> -&gt;  click the <b>Browse</b> icon -&gt;  click <b>HRService</b> -&gt;  <b>OK </b>(if you do not see HRService, stop and restart JDeveloper) -&gt;  click the <b>Data Associations </b>link.</p> <p><img alt="Select the Service and open the Data Associations dialog" data-entity-type="file" data-entity-uuid="ecbe43f4-42c0-49b9-bd86-ddc8813621d3" src="/sites/default/files/inline-images/77.jpg" /></p> <p>With the <i>Input </i>tab selected, as shown below drag the <strong>employeeI</strong><b><strong>dInput</strong> </b>element on the left to <b>employeeId </b>on the right.</p> <p><img alt="Match input arguments to the Service activity" data-entity-type="file" data-entity-uuid="76817de0-48d6-4c3f-8d48-d227b96d693e" height="170" src="/sites/default/files/inline-images/78.jpg" width="586" /></p> <p>Set the outgoing information by clicking the <b>Output</b><i> </i>tab on the left -&gt; + expand <b>employeeInfo.</b></p> <p><img alt="Output mapping" data-entity-type="file" data-entity-uuid="c9da9317-f78a-49f2-8199-508a7ba75b7c" src="/sites/default/files/inline-images/79.jpg" /></p> <p> </p> <p>On the right, + expand <b>employee -&gt;</b> + expand <b>employeeSummary</b>.</p> <p><img alt="Expand the output" data-entity-type="file" data-entity-uuid="6b15ab3f-6922-4558-b72b-448d6caef8d7" height="332" src="/sites/default/files/inline-images/80.jpg" width="286" /></p> <p>To set the value of the data retrieved<i> </i>from the database table drag the<strong> XSL Transformation</strong> icon over the <strong>employee </strong>element.</p> <p><img alt="Add XSLT Mapping to employee output" data-entity-type="file" data-entity-uuid="b4bf5704-db8e-4d7c-aea8-3f9915bd472f" src="/sites/default/files/inline-images/81.jpg" /></p> <p>Select <strong>employeeInfo </strong>from the list on the left -&gt; click the &gt; icon to move it to the right.</p> <p><img alt="Select employeeInfo for the XSL transformation to employee" data-entity-type="file" data-entity-uuid="22359c79-f1e4-4b54-b503-252b87b52292" height="335" src="/sites/default/files/inline-images/82.jpg" width="421" /></p> <p>Click <b>OK </b>-&gt; <b>OK</b> -&gt; <strong>OK</strong> -&gt;  <strong>Save All</strong>.</p> <p>Drag <strong>EmployeeInfo</strong> on the left to <strong>EmployeeSummary</strong> (not EmployeeInfo) to the right.</p> <p><img alt="Map EmployeeInfo to EmployeeSummary" data-entity-type="file" data-entity-uuid="1d083981-37b8-42be-a119-31ae70b6ef5d" height="209" src="/sites/default/files/inline-images/83.jpg" width="673" /></p> <p>Click <strong>OK </strong>when the automap dialog appears.  Your XSL transformation should now look like this.</p> <p><img alt="XSL Transformation for the output" data-entity-type="file" data-entity-uuid="bb4ba556-e3c6-4f29-b3a8-e55255804f81" height="296" src="/sites/default/files/inline-images/84.jpg" width="658" /></p> <p>Save the project.</p> <p>Deploy the <b>EmployeeOnboarding</b> project.</p> <p>As you did previously in the 4th blog in this series, open Enterprise Manager and test the deployed composite.  This time, instead of testing the <em>HRService </em>composite, select the <strong>EmployeeOnboarding </strong>project that was just deployed.</p> <p><img alt="Test the EmployeeOnboarding project" data-entity-type="file" data-entity-uuid="06c8ebcb-76c6-4db9-9978-c0d8720897fa" src="/sites/default/files/inline-images/85.jpg" /></p> <p>Expand the <i>parameters </i>-&gt; enter <strong>101</strong> in the <em>employeeId </em>field -&gt; click the <strong>Test Web Service </strong>button.</p> <p><img alt="Enter an input to test the process" data-entity-type="file" data-entity-uuid="232356be-8511-49ff-93ea-1d3a2bb35f4f" height="187" src="/sites/default/files/inline-images/86.jpg" width="590" /></p> <p>With the <strong>Response </strong>tab open click <strong>Launch Flow Trace</strong>.</p> <p><img alt="Response tab" data-entity-type="file" data-entity-uuid="9baa5689-85f6-4bce-a3f7-3a6763985a24" height="263" src="/sites/default/files/inline-images/87.jpg" width="481" /></p> <p>Select the <strong>CandidateApproval </strong>process.</p> <p><img alt="Select the process in the flow trace" data-entity-type="file" data-entity-uuid="d4189ff7-78ff-4878-ab2b-9a5c0a8ad0ed" height="264" src="/sites/default/files/inline-images/88.jpg" width="500" /></p> <p>Select the dropdown and click <strong>Tree View.</strong></p> <p><img alt="Tree view Audit Trail" data-entity-type="file" data-entity-uuid="f288cf82-0fbb-47d5-a2e0-ff8fc88edd80" height="249" src="/sites/default/files/inline-images/89.jpg" width="326" /></p> <p>Expand the <em>After Service Call </em>activity -&gt; click one of the links to the right.</p> <p><img alt="Expand the Script activity" data-entity-type="file" data-entity-uuid="24c3b1a4-89a2-4453-9a6d-985b9d778498" height="217" src="/sites/default/files/inline-images/90.jpg" width="590" /></p> <p>Note that the call to the service was successful and data was returned to the process.</p> <p><img alt="Success!" data-entity-type="file" data-entity-uuid="32c5ce2f-a469-4421-aeb9-f00ec4640906" height="376" src="/sites/default/files/inline-images/91.jpg" width="612" /></p> <p> </p> <p> </p> <p> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <div class="container blog-comments"> <div class="row"> <div class="col-sm-12"> <div class="pull-left author"> <div>yan</div> </div> <div class="comment-date"> <div>August 16, 2017</div> </div> </div> </div> <div class="row"> <div class="col-sm-12 comment-body"> <div><p>Hi Dan,</p> <p>congrats for the article "Oracle BPM 12c Process Invoke Database" !</p> <p>By the way, I'm doing something similar to it, but with flat file without success. I've created a BPM 12C process to write data to a flat file, but I couldn't create another process to read and display the data from the file.</p> <p>Do you have any article that helps me on that ?</p> <p> </p> <p>Thanks,</p> <p>Yan</p> <p> </p></div> </div> </div> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=658&amp;2=comment_node_blog&amp;3=comment_node_blog" token="HL9l3WYlAOTV9IRc-teS8HZexEJ14TzHeA9Ij-5yy-0"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 02 May 2017 22:17:39 +0000 Dan Atwood 658 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/part-5-oracle-bpm-12c-process-invoke-database#comments Part 4 - Oracle BPM 12c Process Invoke Database https://www.avioconsulting.com/blog/part-4-oracle-bpm-12c-process-invoke-database <div class="avio-content"> <div class="page-title"> <div class="lead-image"> <div> <div>Blog Lead Image</div> <div> <img src="/sites/default/files/default_images/network-pen-blog-3_0.jpg" width="2000" height="1333" alt="Avio Consulting" typeof="foaf:Image" /> </div> </div> <div class="dark-overlay"></div> </div> <div class="text-overlay"> <div class="container"> <div class="row"> <div class="col-sm-12"> <div><h2> <a href="/blog/part-4-oracle-bpm-12c-process-invoke-database" hreflang="en">Part 4 - Oracle BPM 12c Process Invoke Database</a> </h2> </div> </div> </div> </div> </div> </div> <div class="main-content"> <div class="container"> <div class="row"> <div class="col-sm-12 node-body"> <div> <div><p>This is the 4th of a 5 part series that explains how to expose a database to an Oracle BPM 12c Process using the Oracle SOA Database Adapter and a Mediator.</p> <p style="box-sizing: border-box; margin: 0px 0px 10px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: normal; font-stretch: inherit; font-size: 16px; line-height: 30px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><a href="http://www.avioconsulting.com/blog/part-1-oracle-bpm-12c-process-invoke-database"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 1 - Create a WebLogic JNDI Database Connection</span></a></p> <p style="box-sizing: border-box; margin: 0px 0px 10px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: normal; font-stretch: inherit; font-size: 16px; line-height: 30px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><a href="http://www.avioconsulting.com/blog/part-2-oracle-bpm-12c-process-invoke-database"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 2 - Configure the Database Adapter's Outbound Connection Pool</span></a></p> <p style="box-sizing: border-box; margin: 0px 0px 10px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: normal; font-stretch: inherit; font-size: 16px; line-height: 30px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><a href="http://www.avioconsulting.com/blog/part-3-oracle-bpm-12c-process-invoke-database"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 3 - Configure the Database Adapter's JNDI Connection to the Database</span></a></p> <p style="box-sizing: border-box; margin: 0px 0px 10px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: normal; font-stretch: inherit; font-size: 16px; line-height: 30px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><a href="http://www.avioconsulting.com/blog/part-4-oracle-bpm-12c-process-invoke-database"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 4 - Create a SOA Composite Project to Invoke the Database Adapter through a Mediator</span></a></p> <p style="box-sizing: border-box; margin: 0px 0px 10px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: normal; font-stretch: inherit; font-size: 16px; line-height: 30px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(51, 51, 51); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><a href="http://www.avioconsulting.com/blog/part-5-oracle-bpm-12c-process-invoke-database"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 5 - Invoke the Service Exposed from a Process in the BPM Composite Project</span></a></p> <p style="box-sizing: border-box; margin: 20px 0px 10px; padding: 0px; border: 0px none; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-weight: 400; font-stretch: inherit; font-size: 24px; line-height: 32px; font-family: &quot;Open Sans&quot;; vertical-align: baseline; color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><span style="box-sizing: border-box; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: Arial, sans-serif; vertical-align: baseline;">Part 4 - Create a SOA Composite Project to Invoke the Database Adapter through a Mediator</span></p> <p>This explains how to create the SOA Composite Project that invokes the database schema defined in the Database Adapter in parts 1 - 3 of this series.</p> <p>In part 5 of this series, the service exposed in this part will be invoked by the BPM Composite Project's process.</p> <p>Open JDeveloper and click <b>File</b> -&gt; <b>New </b> -&gt; <b>Project </b>-&gt; as shown below, select <b>SOA Project</b> on the right.</p> <p><img alt="Create SOA Project" data-entity-type="file" data-entity-uuid="84dffc94-03e1-4ebf-b6b7-d8a4d25883ac" src="/sites/default/files/inline-images/21_1.jpg" /></p> <p>Click <b>OK. </b>Name the service <b>HRService</b>.</p> <p><img alt="Name the project" data-entity-type="file" data-entity-uuid="6ef60d4b-13a1-4d9f-a129-28b5cdbb796b" src="/sites/default/files/inline-images/22_1.jpg" /></p> <p>Click <b>Next</b>. We are going to manually add the Mediator so click <b>Empty Composite</b> (normally you would simply click <i>Composite with Mediator </i>here).</p> <p><img alt="Create empty composite" data-entity-type="file" data-entity-uuid="88e6daad-7b27-456f-9348-b5ebb41f9bf0" src="/sites/default/files/inline-images/23_1.jpg" /></p> <p>Click <b>Finish</b>.</p> <p><a name="A211-BasicSOAApplicationLesson-Task2%3AA" id="A211-BasicSOAApplicationLesson-Task2%3AA"></a><b>Add a Database Adapter to the Composite</b></p> <p>The Composite Editor should now be open (if it does not open or to reopen it again later, in <i>Applications </i>tab double click -&gt;<i> HRService </i>that represents this project’s <i>composite.xml</i> file in the -&gt;<i> SOA </i>folder). From the Component Palette on the right, select <b>Database </b>and drag it to the <b>External References</b> swim lane in the Composite Editor as shown below.</p> <p><rect alt="Add Database Adapter to the Composite's External References" filled="f" id="Rectangle_x0020_46" o:gfxdata="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&#10;dfxmA1RACXZUiOJA5SlLdZFdncy3mel1wbQqANYRRQUsMr2pfF07PTW7rNTOkGnLCaPcbCd0ZHQP&#10;ExEKcF6dSnoWN94015uLlFruqVDo8aC0Fm60L/+XF+fNNegtcwNNTKagiXfc8Vv1JpTMBKUdfwrb&#10;friMU6gdoZa8iIZwYDaRPHvhz8MsKReyh0SUBVyTTsYGMZGYe5TEHV9Nv0wDTTSHaN+qNSCEC+vc&#10;JtDKRXMOkm4nGU+neCLNtBsSFensFhg+4wrnU61+frDSZDNI9zAKjr0xnfHbCEqs2a6qAAZEwOlP&#10;NYtmQOA4sySyRf0tNaacds3zRF1DmRzRNEJ5RzHJPINrKi/d0XdlDIy7fM4QUCMkeSMch6rBmkG1&#10;umnZNTIf1nbd05VU5AzSXPRMi1VU13SzmDVC0QaWYnm+Jm94VYQYOM3s8Bl1L1PuZsF1S+uEsktA&#10;wMv4ObruGRqC4dpiMMs15fEqDSvOzqV27ygmeIprZ2kSBuu3CrNLcSt7hHM4EJ6r84PectWCaFqs&#10;K3WkXZ8mDlDqjcNqx4fPA3A+8QCu4AODD7KaktWUDK7gqwG0i+yov+PnF4UEnmeSElMvJPUC0ygk&#10;jULSLCTNQtIqJC3f02fi8B1GHYf7XnHkDT0sPyLP1xb295vtfwEAAP//AwBQSwMEFAAGAAgAAAAh&#10;AJxmRkG7AAAAJAEAACoAAABjbGlwYm9hcmQvZHJhd2luZ3MvX3JlbHMvZHJhd2luZzEueG1sLnJl&#10;bHOEj80KwjAQhO+C7xD2btJ6EJEmvYjQq9QHCMk2LTY/JFHs2xvoRUHwsjCz7DezTfuyM3liTJN3&#10;HGpaAUGnvJ6c4XDrL7sjkJSl03L2DjksmKAV201zxVnmcpTGKSRSKC5xGHMOJ8aSGtHKRH1AVzaD&#10;j1bmIqNhQaq7NMj2VXVg8ZMB4otJOs0hdroG0i+hJP9n+2GYFJ69elh0+UcEy6UXFqCMBjMHSldn&#10;nTUtXYGJhn39Jt4AAAD//wMAUEsBAi0AFAAGAAgAAAAhALvlSJQFAQAAHgIAABMAAAAAAAAAAAAA&#10;AAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECLQAUAAYACAAAACEArTA/8cEAAAAyAQAACwAA&#10;AAAAAAAAAAAAAAA2AQAAX3JlbHMvLnJlbHNQSwECLQAUAAYACAAAACEAYSwClRADAAC+BgAAHwAA&#10;AAAAAAAAAAAAAAAgAgAAY2xpcGJvYXJkL2RyYXdpbmdzL2RyYXdpbmcxLnhtbFBLAQItABQABgAI&#10;AAAAIQC2OwQiVAYAAAsaAAAaAAAAAAAAAAAAAAAAAG0FAABjbGlwYm9hcmQvdGhlbWUvdGhlbWUx&#10;LnhtbFBLAQItABQABgAIAAAAIQCcZkZBuwAAACQBAAAqAAAAAAAAAAAAAAAAAPkLAABjbGlwYm9h&#10;cmQvZHJhd2luZ3MvX3JlbHMvZHJhd2luZzEueG1sLnJlbHNQSwUGAAAAAAUABQBnAQAA/AwAAAAA&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_45" o:gfxdata="UEsDBBQABgAIAAAAIQC75UiUBQEAAB4CAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbKSRvU7DMBSF&#10;dyTewfKKEqcMCKEmHfgZgaE8wMW+SSwc27JvS/v23KTJgkoXFsu+P+c7Ol5vDoMTe0zZBl/LVVlJ&#10;gV4HY31Xy4/tS3EvRSbwBlzwWMsjZrlprq/W22PELHjb51r2RPFBqax7HCCXIaLnThvSAMTP1KkI&#10;+gs6VLdVdad08ISeCho1ZLN+whZ2jsTzgcsnJwldluLxNDiyagkxOquB2Knae/OLUsyEkjenmdzb&#10;mG/YhlRnCWPnb8C898bRJGtQvEOiVxjYhtLOxs8AySiT4JuDystlVV4WPeM6tK3VaILeDZxIOSsu&#10;ti/jidNGNZ3/J08yC1dNv9v8AAAA//8DAFBLAwQUAAYACAAAACEArTA/8cEAAAAyAQAACwAAAF9y&#10;ZWxzLy5yZWxzhI/NCsIwEITvgu8Q9m7TehCRpr2I4FX0AdZk2wbbJGTj39ubi6AgeJtl2G9m6vYx&#10;jeJGka13CqqiBEFOe2Ndr+B03C3WIDihMzh6RwqexNA281l9oBFTfuLBBhaZ4ljBkFLYSMl6oAm5&#10;8IFcdjofJ0z5jL0MqC/Yk1yW5UrGTwY0X0yxNwri3lQgjs+Qk/+zfddZTVuvrxO59CNCmoj3vCwj&#10;MfaUFOjRhrPHaN4Wv0VV5OYgm1p+LW1eAAAA//8DAFBLAwQUAAYACAAAACEA/nRa2iMDAADVBgAA&#10;HwAAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3aW5nMS54bWykVdty0zAQfWeGf9DoGdd2cC42dRnH&#10;SUqHQksDH6DYiq1BloykXArDv7OSnSZtGR6KZxKvpNXR2bO78vn7fcPRlirNpEhxeBZgREUhSyaq&#10;FH/7uvAmGGlDREm4FDTF91Tj9xevX52TpFKkrVmBAEHohKS4NqZNfF8XNW2IPpMtFbC2lqohBoaq&#10;8ktFdoDccH8QBCO/IUzgiyPUjBiCNoq9AIrL4jstcyK2RAMkL5LTmZ4jL/4fmSRie6naZXurLPPi&#10;8/ZWIVamGJQTpAGJsN8v9G4w9J/sqo4A+7VqrL9cr9Heodzbf4dB9wYVMBlG0XgC+AUs9XZ3Rn3z&#10;l11FPf/nPiDTHQrGCRHdWhpi+zyyaHgI7Y4WUAsVp8jOlVQXKsUlZC1hDamoX7H1uxXRdBS9uQv4&#10;5c2M19mXbJrd2p/v+7ssy/IPw2k2/whWdm3/MljL5vC6yu/gfbNL0wcFD1x0ew351UjIvIbzaaZb&#10;YAJiALHDlFJyV1NSajvdaQ7J6RCc/kcwyNhq90mWkCyyMdKV4Mvz8KAnSVqlzSWVDbJGihWQdOBk&#10;e61Nx+ng4sSWC8a5SyUXjyYAs5uBEoCtds0Wg+uNX3EQzyfzSeRFg9Hci4LZzMsWeeSNFuF4OHs7&#10;y/NZ+NueG0ZJzcqSCnvMoU/D6FkTNKxQUsu1OStk40MlsoIeehU6NQyOnaolZ6WFs5S0qlY5V2hL&#10;eIoX7umVP3HzH9NwzQCxPAkpHETBdBB7i9Fk7EWLaOjF42DiBWE8jUdBFEezxeOQrpmg/x8S2qU4&#10;Hg6GLksnpJ/EFrjneWwkaZihCnHWpHjy4EQSW4hzUbrUGsJ4Z59IYekfpYB0HxINpu7vFrNfup40&#10;+6ks761gK3hD8SoJxQX3AdzbYNRS/cRoB7dxivWPDVEUI34loA9iuCzAzbhBNBwPYKBOV1anK0QU&#10;AJVig1Fn5gZGsGXTKlbVcFLoZBIyg6ZZs76gO06WHddmae45dVE75lSUt0SRO+DMoW9TTIX3bdnr&#10;CB4Q7DG4jabL1t4wXaN00Ts5wPHJhe629h8g+9U4HV/8AQAA//8DAFBLAwQUAAYACAAAACEAtjsE&#10;IlQGAAALGgAAGgAAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1s7FlLbxs3EL4X6H9Y7L2x3oqN&#10;yIGtR9zGToJISZEjpaV2GXOXC5Kyo1uRHAsUKJoWPTRAbz0UbQMkQC/pr3Gbok2B/IUOuQ+RElU7&#10;RgoYQSzA2J39Zjicmf2G5F65+iCm3hHmgrCk41cvVXwPJxMWkCTs+HdGg48u+56QKAkQZQnu+HMs&#10;/KvbH35wBW1NKEnHDPFgFOEYe2AoEVuo40dSplsbG2ICYiQusRQn8GzKeIwk3PJwI+DoGAaI6Uat&#10;UmltxIgk/jZYlMpQn8K/RAolmFA+VGawl6AYRr85nZIJ1tjgsKoQYi66lHtHiHZ8sBmw4xF+IH2P&#10;IiHhQcev6D9/Y/vKBtrKlahco2voDfRfrpcrBIc1PSYPx+WgjUaz0dop7WsAlau4frvf6rdKexqA&#10;JhOYaeaLabO5u7nba+ZYA5RdOmz32r161cIb9usrPu801c/Ca1Bmv7GCHwy6EEULr0EZvrmCbzTa&#10;tW7DwmtQhm+t4NuVnV6jbeE1KKIkOVxBV5qtereYbQmZMrrnhG82G4N2LTe+QEE1lNWlhpiyRK6r&#10;tRjdZ3wAAAWkSJLEk/MUT9EEarKLKBlz4u2TMILCS1HCBIgrtcqgUof/6tfQVzoiaAsjQ1v5BZ6I&#10;FZHyxxMTTlLZ8T8Bq74Bef3ip9cvnnknD5+fPPz15NGjk4e/ZIYsrT2UhKbWqx++/OfJZ97fz75/&#10;9fhrN16Y+D9+/vz3375yA2GmixC8/Obpn8+fvvz2i79+fOyA73A0NuEjEmPh3cDH3m0Ww8R0CGzP&#10;8Zi/mcYoQsTU2ElCgRKkRnHY78vIQt+YI4ocuF1sR/AuB4pxAa/N7lsODyM+k8Rh8XoUW8ADxugu&#10;484oXFdjGWEezZLQPTifmbjbCB25xu6ixMpvf5YCtxKXyW6ELTdvUZRIFOIES089Y4cYO2Z3jxAr&#10;rgdkwplgU+ndI94uIs6QjMjYqqaF0h6JIS9zl4OQbys2B3e9XUZds+7hIxsJbwWiDudHmFphvIZm&#10;EsUukyMUUzPg+0hGLieHcz4xcX0hIdMhpszrB1gIl85NDvM1kn4d6MWd9gM6j20kl+TQZXMfMWYi&#10;e+ywG6E4dWGHJIlM7MfiEEoUebeYdMEPmP2GqHvIA0rWpvsuwVa6T2eDO8CspkuLAlFPZtyRy2uY&#10;WfU7nNMpwppqgPgtPo9Jciq5L9F68/+ldSDSl989cczqohL6DifON2pvicbX4ZbJu8t4QC4+d/fQ&#10;LLmF4XVZbWDvqfs9dfvvPHWve5/fPmEvOBroWy0Vs6W6XrjHa9ftU0LpUM4p3hd66S6gMwUDECo9&#10;vT/F5T4ujeBSvckwgIULOdI6HmfyUyKjYYRSWN9XfWUkFLnpUHgpE7Ds12KnbYWns/iABdl2tVpV&#10;W9OMPASSC3mlWcphqyEzdKu92IKV5rW3od4qFw4o3TdxwhjMdqLucKJdCFWQ9MYcguZwQs/srXix&#10;6fDisjJfpGrFC3CtzAosnTxYcHX8ZgNUQAl2VIjiQOUpS3WRXZ3Mt5npdcG0KgDWEUUFLDK9qXxd&#10;Oz01u6zUzpBpywmj3GwndGR0DxMRCnBenUp6FjfeNNebi5Ra7qlQ6PGgtBZutC//lxfnzTXoLXMD&#10;TUymoIl33PFb9SaUzASlHX8K2364jFOoHaGWvIiGcGA2kTx74c/DLCkXsodElAVck07GBjGRmHuU&#10;xB1fTb9MA000h2jfqjUghAvr3CbQykVzDpJuJxlPp3gizbQbEhXp7BYYPuMK51Otfn6w0mQzSPcw&#10;Co69MZ3x2whKrNmuqgAGRMDpTzWLZkDgOLMkskX9LTWmnHbN80RdQ5kc0TRCeUcxyTyDayov3dF3&#10;ZQyMu3zOEFAjJHkjHIeqwZpBtbpp2TUyH9Z23dOVVOQM0lz0TItVVNd0s5g1QtEGlmJ5viZveFWE&#10;GDjN7PAZdS9T7mbBdUvrhLJLQMDL+Dm67hkaguHaYjDLNeXxKg0rzs6ldu8oJniKa2dpEgbrtwqz&#10;S3Ere4RzOBCeq/OD3nLVgmharCt1pF2fJg5Q6o3DaseHzwNwPvEAruADgw+ympLVlAyu4KsBtIvs&#10;qL/j5xeFBJ5nkhJTLyT1AtMoJI1C0iwkzULSKiQt39Nn4vAdRh2H+15x5A09LD8iz9cW9veb7X8B&#10;AAD//wMAUEsDBBQABgAIAAAAIQCcZkZBuwAAACQBAAAqAAAAY2xpcGJvYXJkL2RyYXdpbmdzL19y&#10;ZWxzL2RyYXdpbmcxLnhtbC5yZWxzhI/NCsIwEITvgu8Q9m7SehCRJr2I0KvUBwjJNi02PyRR7Nsb&#10;6EVB8LIws+w3s037sjN5YkyTdxxqWgFBp7yenOFw6y+7I5CUpdNy9g45LJigFdtNc8VZ5nKUxikk&#10;UigucRhzDifGkhrRykR9QFc2g49W5iKjYUGquzTI9lV1YPGTAeKLSTrNIXa6BtIvoST/Z/thmBSe&#10;vXpYdPlHBMulFxagjAYzB0pXZ501LV2BiYZ9/SbeAAAA//8DAFBLAQItABQABgAIAAAAIQC75UiU&#10;BQEAAB4CAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgA&#10;AAAhAK0wP/HBAAAAMgEAAAsAAAAAAAAAAAAAAAAANgEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgA&#10;AAAhAP50WtojAwAA1QYAAB8AAAAAAAAAAAAAAAAAIAIAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3&#10;aW5nMS54bWxQSwECLQAUAAYACAAAACEAtjsEIlQGAAALGgAAGgAAAAAAAAAAAAAAAACABQAAY2xp&#10;cGJvYXJkL3RoZW1lL3RoZW1lMS54bWxQSwECLQAUAAYACAAAACEAnGZGQbsAAAAkAQAAKgAAAAAA&#10;AAAAAAAAAAAMDAAAY2xpcGJvYXJkL2RyYXdpbmdzL19yZWxzL2RyYXdpbmcxLnhtbC5yZWxzUEsF&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Add a Database Adapter" data-entity-type="file" data-entity-uuid="a7787d8e-53a4-45af-8da8-40bd7189dcfa" src="/sites/default/files/inline-images/24_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>This automatically launches the Database Adapter Configuration Wizard. Click <b>Next</b> -&gt; name the new Database Adapter the service <b>HR_Employee</b> -&gt; <b>Next</b>.</p> <p><rect alt="Name the Database Adapter Reference" filled="f" id="Rectangle_x0020_44" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_43" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><img alt="Name the adapter" data-entity-type="file" data-entity-uuid="dc2bc573-7ae7-4a4d-9186-5acd22a4b1ac" src="/sites/default/files/inline-images/25_1.jpg" /></p> <p>In the <i>Service Connection</i> dialog, define a new connection by clicking the -&gt; <b>Add</b> button.</p> <p>In the <i>Create Database Connection</i> dialog, enter <b>HR</b> in the <b>Connection Name</b> field -&gt; in the <i>Username</i> field enter <b>HR</b>-&gt; enter the schema's password in the <i>Password</i> field -&gt; enter <b>localhost</b> in the <i>Host Name</i> field -&gt; ensure <b>1521</b> is entered in the <i>JDBC Port</i> field -&gt; enter <b>XE</b> (if you are using Oracle XE) or <b>ORCL </b>(if you are using Oracle SE) in the <i>SID</i> field.</p> <p><rect alt="Create Database Connection Dialog" filled="f" id="Rectangle_x0020_42" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_41" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><img alt="Configure the database schema's connection" data-entity-type="file" data-entity-uuid="56eafbde-afab-419e-ba3b-aaf59ebc59d6" src="/sites/default/files/inline-images/26_1.jpg" /></p> <p>Double check that these fields are entered exactly as shown above and then click the <b>Test Connection</b> button to verify that the entries are correct.</p> <p><rect alt="Test the connection" filled="f" id="Rectangle_x0020_40" o:gfxdata="UEsDBBQABgAIAAAAIQC75UiUBQEAAB4CAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbKSRvU7DMBSF&#10;dyTewfKKEqcMCKEmHfgZgaE8wMW+SSwc27JvS/v23KTJgkoXFsu+P+c7Ol5vDoMTe0zZBl/LVVlJ&#10;gV4HY31Xy4/tS3EvRSbwBlzwWMsjZrlprq/W22PELHjb51r2RPFBqax7HCCXIaLnThvSAMTP1KkI&#10;+gs6VLdVdad08ISeCho1ZLN+whZ2jsTzgcsnJwldluLxNDiyagkxOquB2Knae/OLUsyEkjenmdzb&#10;mG/YhlRnCWPnb8C898bRJGtQvEOiVxjYhtLOxs8AySiT4JuDystlVV4WPeM6tK3VaILeDZxIOSsu&#10;ti/jidNGNZ3/J08yC1dNv9v8AAAA//8DAFBLAwQUAAYACAAAACEArTA/8cEAAAAyAQAACwAAAF9y&#10;ZWxzLy5yZWxzhI/NCsIwEITvgu8Q9m7TehCRpr2I4FX0AdZk2wbbJGTj39ubi6AgeJtl2G9m6vYx&#10;jeJGka13CqqiBEFOe2Ndr+B03C3WIDihMzh6RwqexNA281l9oBFTfuLBBhaZ4ljBkFLYSMl6oAm5&#10;8IFcdjofJ0z5jL0MqC/Yk1yW5UrGTwY0X0yxNwri3lQgjs+Qk/+zfddZTVuvrxO59CNCmoj3vCwj&#10;MfaUFOjRhrPHaN4Wv0VV5OYgm1p+LW1eAAAA//8DAFBLAwQUAAYACAAAACEA0Na+P/ECAACWBgAA&#10;HwAAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3aW5nMS54bWykVdtS2zAQfe9M/0Gjd2M7OBd7MAwk&#10;MdMZ2jIEPkCRlVhTWXIl5UI7/feuZIeY0OkD+AFWq9XR2bO7ysXVvhZoy7ThSuY4PoswYpKqkst1&#10;jp8ei2CCkbFElkQoyXL8zAy+uvz86YJka02ailMECNJkJMeVtU0WhoZWrCbmTDVMwt5K6ZpYWOp1&#10;WGqyA+RahIMoGoU14RJfHqFmxBK00fwdUELRH6ycErklBiAFzfqejqOgH0cmmdze6mbR3GvHnH7b&#10;3mvEyxyDcpLUIBEOu40uDJbhyan1EWC/0rWLV6sV2nuUZ/fXY7C9RRSc51EyiQCfwlZnt3dU3/9x&#10;ilbz/54DMu2lYPSImMbRkNu3mSUvqT0wCr2wFgw5X8kM1Tl+ZMYiWzFElZQQAJ30IsEBzDR3UCCD&#10;pJpWAMCuTQOR0HAg2sGltdpVjJTGuVvRQN0WwQt4BAPJl7uvqgS1ycYq30PvF/JFEJI12thbpmrk&#10;jBxrIOnByfbO2JbTIcSrpQouhK+FkK8cgNl6oIZw1O25avrm/p1G6XwynyRBMhjNgySazYLrYpoE&#10;oyIeD2fns+l0Fv9x98ZJVvGyZNJdcxi0OHnTxTWnWhm1smdU1SG0EqfsMGwwanF0HDWjBC8dnKNk&#10;9Ho5FRptichx4b9O+V5Y+JqG72bI5SSleJBEN4M0KEaTcZAUyTBIx9EkiOL0Jh1FSZrMitcp3XHJ&#10;Pp4S2uU4HQ6Gvko90ie5Rf57mxvJam6ZRoLXOYYZg6/tXdeIc1n60lrCRWv3pHD0j1JAuQ+FBtN0&#10;j4PdL/xQ2f2NKp+dYEv4D82rFTQXTBA8vGBUSv/CaAfPaY7Nzw3RDCPxRcIcpHHiBs36RTIcD2Ch&#10;+zvL/g6RFKBybDFqzamFFRzZNJqvK7gp9jJJdQ1Ds+JdQ7ecHDth7MI+C+az9syZLO+JJg/AWcDc&#10;5pjJ4GnR6QgRkOwxuY1hi8Y9Ee2gtNl7OSDw5EX2R7tfEPfs99eXfwEAAP//AwBQSwMEFAAGAAgA&#10;AAAhALY7BCJUBgAACxoAABoAAABjbGlwYm9hcmQvdGhlbWUvdGhlbWUxLnhtbOxZS28bNxC+F+h/&#10;WOy9sd6KjciBrUfcxk6CSEmRI6WldhlzlwuSsqNbkRwLFCiaFj00QG89FG0DJEAv6a9xm6JNgfyF&#10;DrkPkRJVO0YKGEEswNid/WY4nJn9huReufogpt4R5oKwpONXL1V8DycTFpAk7Ph3RoOPLvuekCgJ&#10;EGUJ7vhzLPyr2x9+cAVtTShJxwzxYBThGHtgKBFbqONHUqZbGxtiAmIkLrEUJ/BsyniMJNzycCPg&#10;6BgGiOlGrVJpbcSIJP42WJTKUJ/Cv0QKJZhQPlRmsJegGEa/OZ2SCdbY4LCqEGIuupR7R4h2fLAZ&#10;sOMRfiB9jyIh4UHHr+g/f2P7ygbaypWoXKNr6A30X66XKwSHNT0mD8floI1Gs9HaKe1rAJWruH67&#10;3+q3SnsagCYTmGnmi2mzubu522vmWAOUXTps99q9etXCG/brKz7vNNXPwmtQZr+xgh8MuhBFC69B&#10;Gb65gm802rVuw8JrUIZvreDblZ1eo23hNSiiJDlcQVearXq3mG0JmTK654RvNhuDdi03vkBBNZTV&#10;pYaYskSuq7UY3Wd8AAAFpEiSxJPzFE/RBGqyiygZc+LtkzCCwktRwgSIK7XKoFKH/+rX0Fc6ImgL&#10;I0Nb+QWeiBWR8scTE05S2fE/Aau+AXn94qfXL555Jw+fnzz89eTRo5OHv2SGLK09lISm1qsfvvzn&#10;yWfe38++f/X4azdemPg/fv7899++cgNhposQvPzm6Z/Pn7789ou/fnzsgO9wNDbhIxJj4d3Ax95t&#10;FsPEdAhsz/GYv5nGKELE1NhJQoESpEZx2O/LyELfmCOKHLhdbEfwLgeKcQGvze5bDg8jPpPEYfF6&#10;FFvAA8boLuPOKFxXYxlhHs2S0D04n5m42wgducbuosTKb3+WArcSl8luhC03b1GUSBTiBEtPPWOH&#10;GDtmd48QK64HZMKZYFPp3SPeLiLOkIzI2KqmhdIeiSEvc5eDkG8rNgd3vV1GXbPu4SMbCW8Fog7n&#10;R5haYbyGZhLFLpMjFFMz4PtIRi4nh3M+MXF9ISHTIabM6wdYCJfOTQ7zNZJ+HejFnfYDOo9tJJfk&#10;0GVzHzFmInvssBuhOHVhhySJTOzH4hBKFHm3mHTBD5j9hqh7yANK1qb7LsFWuk9ngzvArKZLiwJR&#10;T2bckctrmFn1O5zTKcKaaoD4LT6PSXIquS/RevP/pXUg0pffPXHM6qIS+g4nzjdqb4nG1+GWybvL&#10;eEAuPnf30Cy5heF1WW1g76n7PXX77zx1r3uf3z5hLzga6FstFbOlul64x2vX7VNC6VDOKd4Xeuku&#10;oDMFAxAqPb0/xeU+Lo3gUr3JMICFCznSOh5n8lMio2GEUljfV31lJBS56VB4KROw7Ndip22Fp7P4&#10;gAXZdrVaVVvTjDwEkgt5pVnKYashM3SrvdiClea1t6HeKhcOKN03ccIYzHai7nCiXQhVkPTGHILm&#10;cELP7K14senw4rIyX6RqxQtwrcwKLJ08WHB1/GYDVEAJdlSI4kDlKUt1kV2dzLeZ6XXBtCoA1hFF&#10;BSwyval8XTs9Nbus1M6QacsJo9xsJ3RkdA8TEQpwXp1KehY33jTXm4uUWu6pUOjxoLQWbrQv/5cX&#10;58016C1zA01MpqCJd9zxW/UmlMwEpR1/Ctt+uIxTqB2hlryIhnBgNpE8e+HPwywpF7KHRJQFXJNO&#10;xgYxkZh7lMQdX02/TANNNIdo36o1IIQL69wm0MpFcw6SbicZT6d4Is20GxIV6ewWGD7jCudTrX5+&#10;sNJkM0j3MAqOvTGd8dsISqzZrqoABkTA6U81i2ZA4DizJLJF/S01ppx2zfNEXUOZHNE0QnlHMck8&#10;g2sqL93Rd2UMjLt8zhBQIyR5IxyHqsGaQbW6adk1Mh/Wdt3TlVTkDNJc9EyLVVTXdLOYNULRBpZi&#10;eb4mb3hVhBg4zezwGXUvU+5mwXVL64SyS0DAy/g5uu4ZGoLh2mIwyzXl8SoNK87OpXbvKCZ4imtn&#10;aRIG67cKs0txK3uEczgQnqvzg95y1YJoWqwrdaRdnyYOUOqNw2rHh88DcD7xAK7gA4MPspqS1ZQM&#10;ruCrAbSL7Ki/4+cXhQSeZ5ISUy8k9QLTKCSNQtIsJM1C0iokLd/TZ+LwHUYdh/teceQNPSw/Is/X&#10;Fvb3m+1/AQAA//8DAFBLAwQUAAYACAAAACEAnGZGQbsAAAAkAQAAKgAAAGNsaXBib2FyZC9kcmF3&#10;aW5ncy9fcmVscy9kcmF3aW5nMS54bWwucmVsc4SPzQrCMBCE74LvEPZu0noQkSa9iNCr1AcIyTYt&#10;Nj8kUezbG+hFQfCyMLPsN7NN+7IzeWJMk3ccaloBQae8npzhcOsvuyOQlKXTcvYOOSyYoBXbTXPF&#10;WeZylMYpJFIoLnEYcw4nxpIa0cpEfUBXNoOPVuYio2FBqrs0yPZVdWDxkwHii0k6zSF2ugbSL6Ek&#10;/2f7YZgUnr16WHT5RwTLpRcWoIwGMwdKV2edNS1dgYmGff0m3gAAAP//AwBQSwECLQAUAAYACAAA&#10;ACEAu+VIlAUBAAAeAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQIt&#10;ABQABgAIAAAAIQCtMD/xwQAAADIBAAALAAAAAAAAAAAAAAAAADYBAABfcmVscy8ucmVsc1BLAQIt&#10;ABQABgAIAAAAIQDQ1r4/8QIAAJYGAAAfAAAAAAAAAAAAAAAAACACAABjbGlwYm9hcmQvZHJhd2lu&#10;Z3MvZHJhd2luZzEueG1sUEsBAi0AFAAGAAgAAAAhALY7BCJUBgAACxoAABoAAAAAAAAAAAAAAAAA&#10;TgUAAGNsaXBib2FyZC90aGVtZS90aGVtZTEueG1sUEsBAi0AFAAGAAgAAAAhAJxmRkG7AAAAJAEA&#10;ACoAAAAAAAAAAAAAAAAA2gsAAGNsaXBib2FyZC9kcmF3aW5ncy9fcmVscy9kcmF3aW5nMS54bWwu&#10;cmVsc1BLBQYAAAAABQAFAGcBAADdDAAAAAA=&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_39" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Test the connection" data-entity-type="file" data-entity-uuid="9bed7722-cc89-48e4-8ee3-a06db87a1273" src="/sites/default/files/inline-images/27_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Click <b>OK</b>.</p> <p>This returns you back to the Service Connection dialog. Set the <i>JNDI Name</i> field to <b>e<i>is/DB/HR</i></b>. This is the name that has already been configured for the Database Adapter for this database on the Administration Console in parts 2 and 3 of this series.</p> <p><rect alt="Set the JNDI connection" filled="f" id="Rectangle_x0020_38" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_37" o:gfxdata="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&#10;BQYAAAAABQAFAGcBAAAQDQAAAAA=&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Enter the JNDI connection string" data-entity-type="file" data-entity-uuid="dddf2977-640c-4300-92db-02373af31231" src="/sites/default/files/inline-images/28_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Click <b>Next</b>.</p> <p><b>Select a Table for the HR_Employee Adapter</b></p> <p>The different types of operations you will incorporate into your service are selected in the <i>Operation Type</i> dialog shown below. In this example, you will use the Database Adapter to do a select on the HR database schema.</p> <p>From this dialog select the <b>Perform an Operation on a Table</b> option -&gt; leave only the <b>Select</b> option checked.</p> <p><rect alt="Database Select" filled="f" id="Rectangle_x0020_36" o:gfxdata="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&#10;c1BLBQYAAAAABQAFAGcBAADaDAAAAAA=&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_35" o:gfxdata="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&#10;BQYAAAAABQAFAGcBAAAQDQAAAAA=&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Pick the SELECT option" data-entity-type="file" data-entity-uuid="462d3d37-f780-4f07-a6c9-026b073da2fc" src="/sites/default/files/inline-images/29_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Click <b>Next</b>.</p> <p>The next series of steps are to select the <i>Employee</i> table that we will be using. Click the <b>Import Tables</b> button in the lower left corner -&gt; click the <b>Query</b> button -&gt; select the <b>EMPLOYEES</b> table from the list on the left and click the &gt; button to add it to the <i>Selected </i>list on the right.</p> <p><rect alt="Select the Table to be exposed" filled="f" id="Rectangle_x0020_34" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_33" o:gfxdata="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&#10;BQYAAAAABQAFAGcBAAAQDQAAAAA=&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="EMPLOYEES table selected" data-entity-type="file" data-entity-uuid="86a8af6f-ccd9-42a1-a8c7-489cde9e1886" src="/sites/default/files/inline-images/30_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Click <b>OK</b>.</p> <p>Wait a few seconds and you should see the <i>Select Table</i> dialog with <i>EMPLOYEES</i> now in the list.</p> <p><img alt="Employees selected" data-entity-type="file" data-entity-uuid="24139cd6-c7f1-480d-985b-eb6e23afd288" src="/sites/default/files/inline-images/31_0.jpg" /></p> <p>Click the <b>Next</b> button.</p> <p><b>Create SQL in HR_Employee Adapter</b></p> <p>Here you will see how SQL can be in JDeveloper.</p> <p>Because the <i>EMPLOYEES</i> table is related to other tables in the HR schema, you are given an opportunity name the relationships to the other tables in the <i>Relationships</i> dialog. There is nothing to do here so click the <b>Next </b>button.</p> <p><rect alt="Database Adapter Configuration Wizard step 6" filled="f" id="Rectangle_x0020_32" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_31" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="EMPLOYEES table relationships" data-entity-type="file" data-entity-uuid="919f6410-7c52-4773-af4f-6b9cd5cffd2f" src="/sites/default/files/inline-images/31_1.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>In the <i>Attribute Filtering</i> dialog you select the columns that will be included in the SQL SELECT statement. As shown below, to limit the columns returned uncheck the checkboxes beside <b>jobId</b> and <b>commisionPct</b>.</p> <p><rect alt="Select the columns" filled="f" id="Rectangle_x0020_30" o:gfxdata="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&#10;ZWxzUEsFBgAAAAAFAAUAZwEAANwMAAAAAA==&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_29" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Select the columns to be returned" data-entity-type="file" data-entity-uuid="acf6be60-54ae-42a3-92fe-daff723fa95a" src="/sites/default/files/inline-images/32_0.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Click <b>Next</b>.</p> <p>The <i>Define Selection Criteria</i> dialog is a little confusing, but here's how you get it started. Beside the <i>Parameters</i> section click the <b>Add</b> button.</p> <p><rect alt="Add a parameter for the SELECT" filled="f" id="Rectangle_x0020_28" o:gfxdata="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&#10;" stroked="f" style="width:24pt; height:24pt; v-text-anchor:top"><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect><rect alt="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" filled="f" id="Rectangle_x0020_27" o:gfxdata="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&#10;BgAAAAAFAAUAZwEAAA8NAAAAAA==&#10;" stroked="f" style="width:11.4pt; height:11.4pt; v-text-anchor:top"><img alt="Add a parameter" data-entity-type="file" data-entity-uuid="02915d3f-ca96-4204-b48c-33282728f3a5" src="/sites/default/files/inline-images/33_0.jpg" /><lock aspectratio="t" v:ext="edit"><wrap type="none"><anchorlock></anchorlock></wrap></lock></rect></p> <p>Enter the parameter <b>employeeId</b>.  This parameter will be used in the select statement to identify the one row to return from the <i>EMPLOYEES </i>table.</p> <p><img alt="Enter parameter name" data-entity-type="file" data-entity-uuid="f5dd1628-daea-4e81-9d0c-83f89426de3e" src="/sites/default/files/inline-images/34.jpg" /></p> <p>Click <b>OK</b> -&gt; click the <b>Edit</b> button that is beside the <i>SQL </i>section.</p> <p><img alt="Edit query with parameter" data-entity-type="file" data-entity-uuid="eb8b25d1-6585-4900-9f45-4254711f7830" src="/sites/default/files/inline-images/35.jpg" /></p> <p>This opens the SQL <i>Expression Builder</i> shown below.</p> <p><img alt="Add the parameter" data-entity-type="file" data-entity-uuid="28f3f02f-f161-485a-80e7-342c376ee9ef" src="/sites/default/files/inline-images/36.jpg" /></p> <p>Click the <b>Add</b> button -&gt; change the <i>Second Argument’</i>s radio button to <b>Parameter</b> which automatically selects the <i>employeeId</i> parameter you just added.</p> <p><img alt="Select based on parameter" data-entity-type="file" data-entity-uuid="8469e0ba-a41a-4667-b6f8-34bc08e4771d" src="/sites/default/files/inline-images/37.jpg" /></p> <p>Click <b>OK</b>. This completes the SQL Expression Builder wizard.</p> <p><span style="tab-stops:list 0in">Verify that the SQL was built as shown below before continuing.</span></p> <p><img alt="Parameter query comleted" data-entity-type="file" data-entity-uuid="9f87b3db-1f27-460e-851e-0637348f4cf2" src="/sites/default/files/inline-images/38.jpg" /></p> <p>Click <b>Next</b>.</p> <p><span style="tab-stops:list 0in">In the <i>Advanced Options</i> dialog, because we are using the unique primary key <i>EMPLOYEE_ID</i> as our selection criteria change the <b>Max Rows</b> field to <b>1.</b></span></p> <p><img alt="Max Rows 1" data-entity-type="file" data-entity-uuid="a8ad172a-f554-4d4b-870e-45a4ff9a8c23" src="/sites/default/files/inline-images/39.jpg" /></p> <p>Click <b>Next</b> -&gt; <b>Next</b> -&gt; click <b>Finish</b> to complete the configuration of the new <i>HR_Employee</i> Database Adapter service.  Note the new <i>HR_Employee </i>database adapter in the<i> External References</i> column.</p> <p><img alt="Database Adapter Added to External References" data-entity-type="file" data-entity-uuid="14d0233a-a0b8-4243-a54a-a1808ce5adeb" src="/sites/default/files/inline-images/40.jpg" /></p> <p style="margin-left: 0in;"><a name="A211-BasicSOAApplicationLesson-Task5%3AA" id="A211-BasicSOAApplicationLesson-Task5%3AA"></a><strong>Add a Mediator Component in the Composite Editor</strong></p> <p><span style="tab-stops:list 0in">Drag the <b>Mediator</b> component from the <i>Service Components</i> section of the <i>Component Palette</i> into the <b>Components</b> swim lane in the Composite Editor.<br /><img alt="Add Mediator to the Composite" data-entity-type="file" data-entity-uuid="81fd92d0-86d6-49ca-a57c-ad558fe8fce7" src="/sites/default/files/inline-images/41.jpg" /></span></p> <p><span style="tab-stops:list 0in">Name the Mediator <b>HRServiceMediator</b>, leave the dropdown set to <b>Define Interface Later</b> selected -&gt; click <b>OK</b> to create the Mediator in the composite.<br /><a name="A211-BasicSOAApplicationLesson-Task6%3AA" id="A211-BasicSOAApplicationLesson-Task6%3AA"></a></span><img alt="Mediator Added" data-entity-type="file" data-entity-uuid="b83b08e3-af8d-4337-8cbf-b6c3721d3172" src="/sites/default/files/inline-images/42.jpg" /></p> <h3 style="margin-left:0in; tab-stops:.5in">Add SOAP Web Service Binding</h3> <p>The next few steps exposes the composite application as a SOAP web service.</p> <p><span style="tab-stops:list 0in">Drag <b>SOAP</b> from the <i>Component Palette</i> to the <b>Exposed Services</b> swim lane.</span></p> <p><img alt="Expose Composite as a SOAP service" data-entity-type="file" data-entity-uuid="21a9708f-053d-4105-9a8d-ef7c5b14297f" src="/sites/default/files/inline-images/43.jpg" /></p> <p><span style="tab-stops:list 0in">In the <i>Create Web Service</i> wizard dialog, enter <b>GetEmployeeById</b> in the <i>Name</i> field -&gt; select the Generate WSDL from Schema button (the button is to the right of the <i>WSDL URL</i> field).</span><br /><img alt="Generate WSDL" data-entity-type="file" data-entity-uuid="47302edd-0254-4ac0-9654-9d8d4c31fae2" src="/sites/default/files/inline-images/44.jpg" /></p> <p><span style="tab-stops:list 0in">From the <i>Interface Type</i> dropdown, select <b>Synchronous Interface</b>.</span></p> <p><span style="tab-stops:list 0in">In the <i>Input</i> section, click the + icon</span></p> <p><img alt="Add an input element" data-entity-type="file" data-entity-uuid="7a454179-2b9e-40af-9470-06ccf65d25f6" src="/sites/default/files/inline-images/45.jpg" /></p> <p>Change the <i>Part Name</i> to <b>employeeId</b> -&gt; click <b>OK</b>.  By doing this, a string that contains the employee id will be used as the input.</p> <p><img alt="input string" data-entity-type="file" data-entity-uuid="00144d98-d011-4b19-9439-53b2177ef6ab" src="/sites/default/files/inline-images/46.jpg" /></p> <p>Download the XSD that will be used for the output in the next step from <a href="https://drive.google.com/file/d/0Bwqetn0fpi74OElXMFpCbUM0UFU/view?usp=sharing">here</a>.</p> <p><span style="tab-stops:list 0in">In the <b>Output</b> section, click the + icon -&gt; change the <i>Part Name</i> to <b>employee</b> -&gt; click the Browse icon -&gt; click the <b>Import Schema File</b> icon (in the upper right corner) -&gt; click the <i>Location </i>dropdown -&gt; select the <b>HREmp_forSoa.xsd</b> file you just downloaded -&gt; click <b>OK</b> -&gt; <b>OK </b>-&gt; select the -&gt; <b>EmployeeInfo</b> element.</span></p> <p><img alt="Select the Type for output" data-entity-type="file" data-entity-uuid="71564c7a-ed0f-47ff-ba75-3e701cec57a2" src="/sites/default/files/inline-images/47.jpg" /></p> <p>Click <b>OK </b><span style="tab-stops:list 0in">-&gt; </span> <b>OK</b></p> <p><span style="tab-stops:list 0in">Verify that your input and output mapping matches what is shown below.</span></p> <p><img alt="input and ouput for SOAP service" data-entity-type="file" data-entity-uuid="b0cb7b35-3570-4fc0-a979-f37b087377a0" src="/sites/default/files/inline-images/48.jpg" /></p> <p><span style="tab-stops:list 0in">Click <b>OK</b> -&gt;  click the <b>copy wsdl and its dependent artifacts into the project </b>checkbox.</span></p> <p><span style="tab-stops:list 0in">Click <b>OK</b>.</span></p> <p style="margin-top:12.0pt"><span style="background:white"><a name="A211-BasicSOAApplicationLesson-Task7%3AC" id="A211-BasicSOAApplicationLesson-Task7%3AC"></a></span></p> <p style="margin-left: 0in;"><strong>Connect the Wiring in the Composite Editor</strong></p> <p>The Composite model now has the three disconnected components shown below. In this task, you will connect them together.<br /><img alt="Composite before connecting components" data-entity-type="file" data-entity-uuid="ebd2d598-03c8-4949-baa4-70daae950efc" src="/sites/default/files/inline-images/49.jpg" /></p> <p><span style="tab-stops:list 0in">Start by selecting the &gt;&gt; icon on the right of the Web Service and extending it to the left side of the Mediator and then releasing it.<br /><img alt="Connect the service to the Mediator" data-entity-type="file" data-entity-uuid="583b3905-63b2-43f8-8f41-2bd1e953321b" src="/sites/default/files/inline-images/50.jpg" /></span></p> <p><span style="tab-stops:list 0in">Now connect the Mediator to the Database Adapter by first selecting the Mediator -&gt; select the triangle icon on the right side of the Mediator and drag it to the Database Adapter’s &gt;&gt; icon.</span></p> <p style="margin-top:12.0pt"><span style="background:white"><a name="A211-BasicSOAApplicationLesson-Task8%3AD" id="A211-BasicSOAApplicationLesson-Task8%3AD"></a></span></p> <p style="margin-left: 0in;"><strong>Define the Mediator Transformations</strong></p> <p>The routing a Mediator can perform is determined by the wire connections you just made to the Web Service and Database Adapter components. In this case, it is a one-to-one wiring to the DB Adapter so the Mediator's routing is relatively simple. The Mediator's responsibility in this composite is to marshal and transform the data passed between the Web Service input request and the SOA components.</p> <p><span style="tab-stops:list 0in">Double click the <b>HRServicesMediator</b>. Because this is a synchronous operation, there is an input and output transformation that must be completed.  You will do this in the next few steps</span></p> <p><span style="tab-stops:list 0in"><img alt="Mediator Mapping" data-entity-type="file" data-entity-uuid="bceb4a64-621a-4566-acf3-f1d07fda8304" src="/sites/default/files/inline-images/52.jpg" /></span></p> <p>Starting with the input transformation, because it is a simple mapping click the <b>Assign Values </b>button.<br /><img alt="Assign Values button" data-entity-type="file" data-entity-uuid="8a3d1819-a944-4a26-8793-a169e2ac3457" src="/sites/default/files/inline-images/53.jpg" /></p> <p>Fully + expand the <b>in </b>and the <b>out</b> -&gt; map the two <b>employeeId </b>elements.</p> <p><img alt="Map employeeId elements" data-entity-type="file" data-entity-uuid="38eb2a25-d304-4115-8c38-99057951e941" src="/sites/default/files/inline-images/54.jpg" /></p> <p>Click <b>OK</b>.</p> <p style="margin-top:0in; margin-right:-31.5pt; margin-bottom:5.0pt"><span style="tab-stops:list 0in">Now map the data flowing back from the database that feeds the output of the web service. Click the <i>Transform Using  </i>transformation icon for the <i>Synchronous Reply</i>.</span></p> <p style="margin-right:-31.5pt"><img alt="Transform mapping" data-entity-type="file" data-entity-uuid="d5bed955-f27e-4f4c-a1ad-fafa31ff6843" src="/sites/default/files/inline-images/55.jpg" /></p> <p style="margin-right:-31.5pt">Click + to create a new XSLT transformation mapper file.<br /><img alt="Create the XSLT Transformation mapper file" data-entity-type="file" data-entity-uuid="e05ba85e-b2f4-480e-908a-b3cef06a4bba" src="/sites/default/files/inline-images/56.jpg" /><br /> Click <b>OK</b> -&gt; <b>OK</b> -&gt; <b>OK</b>.</p> <p style="margin-top:0in; margin-right:-31.5pt; margin-bottom:5.0pt"><span style="tab-stops:list 0in">Expand the Source's <b>Employees </b>collection element.<br /><img alt="Expand the Employees collection" data-entity-type="file" data-entity-uuid="e42053e7-3790-43b2-8584-a416fb51a705" src="/sites/default/files/inline-images/58.jpg" /><br /> As shown below, map the source's  <b>Employees</b> to the target's  <b>EmployeeInfo</b> to automatically map very similarly named elements to one another.</span></p> <p style="margin-right:-31.5pt"><img alt="Map Employees to EmployeeInfo" data-entity-type="file" data-entity-uuid="40d444aa-6617-4219-a3b4-5d46700d4d8b" src="/sites/default/files/inline-images/59.jpg" /></p> <p style="margin-right:-31.5pt">+ Expand the <i>if </i>elements on the right and note that except for the <i>phoneNumber</i>,<i> </i>all of the elements that were automatically mapped. <br /><img alt="Expand the if elements" data-entity-type="file" data-entity-uuid="2dcd15ab-0bc4-4444-a358-0365fa83a059" src="/sites/default/files/inline-images/60.jpg" /></p> <p style="margin-right:-31.5pt">Before mapping <i>phoneNumb</i>er to <i>ContactPhone</i><b> </b>change JDeveloper’s XLST mapping preference to automatically add an <i>if </i> when mapping optional elements.  From JDeveloper’s menu, click <b>Tools </b>-&gt; <b>Preferences </b>-&gt; +expand <b>XSL Maps </b>-&gt; select <b>XSL Editor </b>-&gt; select the checkbox<b> Map source node, insert xsl:if checking source node existence</b>.</p> <p style="margin-right:-31.5pt"><img alt="Map source node and insert if checking" data-entity-type="file" data-entity-uuid="f0d24b37-64f8-4a4e-acab-ebbdfbc917a4" src="/sites/default/files/inline-images/62.jpg" /></p> <p style="margin-right:-31.5pt">Click <b>OK</b>.</p> <p style="margin-right:-31.5pt">Back in the XSLT mapper, map the <b>phoneNumber</b> to <b>ContactPhone</b>.</p> <p style="margin-right:-31.5pt"><img alt="Map phone number" data-entity-type="file" data-entity-uuid="5f7632b3-ea59-41c8-9d3c-7e74fde1d452" src="/sites/default/files/inline-images/63.jpg" /></p> <p style="margin-right:-31.5pt">Note that after adding this, an <i>if </i>was added to check for the optional element’s existence before mapping the source <i>phoneNumber</i> element to the target <i>ContactPhone </i>element.</p> <p style="margin-right:-31.5pt"><img alt="if automatically added in XSLT" data-entity-type="file" data-entity-uuid="4a04fbac-8a8e-46a8-8553-9feb45014a52" src="/sites/default/files/inline-images/64.jpg" /></p> <p style="margin-right:-31.5pt">Click <b>Save</b>.<a name="A211-BasicSOAApplicationLesson-Task9%3AD" id="A211-BasicSOAApplicationLesson-Task9%3AD"></a></p> <p><strong>Deploy the HRService to the SOA Application Server</strong></p> <p>Deploy this project to the SOA Server so the composite application can be tested.</p> <p><span style="tab-stops:list 0in">In the <b>Application Navigator</b> right mouse click <b>HRService</b> -&gt; <b>Deploy</b> -&gt; <b>HRService</b> -&gt;  <b>Next</b> -&gt;  <b>Next</b> -&gt;  select the BPM Application Server -&gt;  <b>Next </b>-&gt;  <b>Next</b> -&gt;  <b>Finish</b>.<a name="A211-BasicSOAApplicationLesson-Task10%3A" id="A211-BasicSOAApplicationLesson-Task10%3A"></a></span></p> <p> </p> <p style="margin: 0in -0.25in 5pt 0in;"><strong>Test the GetEmployeeById Web Service Using Enterprise Manager</strong></p> <p><span style="tab-stops:list 0in"><span style="color:#333333">Open Enterprise Manager (</span>e.g., <a href="http://localhost:7001/em">http://localhost:7001/em</a><span style="color:#333333">) in your browser. Login using the <b>weblogic </b>credentials.</span></span></p> <p><span style="tab-stops:list 0in">Expand the <b>SOA</b> folder <b>-&gt; default </b>-&gt; select the new <b>HRService</b>. </span></p> <p><img alt="Select the Composite for testing the Database Adapter composite" data-entity-type="file" data-entity-uuid="9d967b9c-e3a2-41c8-9e52-6155e7f257b6" src="/sites/default/files/inline-images/65.jpg" /></p> <p><span style="tab-stops:list 0in">Click the <b>Test</b> button. </span></p> <p><img alt="Test" data-entity-type="file" data-entity-uuid="b37a48cd-5cae-49b1-a95e-56adc0d1f916" src="/sites/default/files/inline-images/66.jpg" /></p> <p><span style="tab-stops:list 0in">Enter <b>100</b> in the <b>employeeId</b> field as shown below (there is a row on the <i>Employees</i> table that has 100 as the id).<br /><img alt="Enter valid employee id" data-entity-type="file" data-entity-uuid="0937256c-9dab-471f-b667-aeaac6d4ad93" src="/sites/default/files/inline-images/67.jpg" /></span></p> <p><span style="tab-stops:list 0in">Scroll up and click the <b>Test Web Service</b> button in the upper right corner, and note the response that is returned from the database.</span><br /><img alt="Successfully invoke service" data-entity-type="file" data-entity-uuid="803003b0-8a87-40f2-8cca-d4262a56e6fa" src="/sites/default/files/inline-images/68.jpg" /></p> <p> </p> <p> </p> </div> </div> </div> </div> </div><div class="container comment-container"> <div class="text-align-center"><h2>Join the Conversation</h2> </div> <div class="row"> <div class="col-sm-12"> <div class="container blog-comments"> <div class="row"> <div class="col-sm-12"> <div class="pull-left author"> <div>Karthik</div> </div> <div class="comment-date"> <div>May 6, 2017</div> </div> </div> </div> <div class="row"> <div class="col-sm-12 comment-body"> <div><p>Hi Dan,</p> <p>thank you for the great post :)</p> <p>Can we expose all the DB queries (such as Insert/Update) as well as a service and call it in BPM Process ? If so, should it be a synchronous call?</p> <p>Is a mediator needed there as well?</p> <p> </p> <p>Could you kindly suggest?</p> <p> </p> <p>Thanks,</p> <p>Karthik</p> <p> </p></div> </div> </div> </div> <div class="container blog-comments"> <div class="row"> <div class="col-sm-12"> <div class="pull-left author"> <div>Martien van den Akker</div> </div> <div class="comment-date"> <div>April 15, 2018</div> </div> </div> </div> <div class="row"> <div class="col-sm-12 comment-body"> <div><p>You can do it directly indeed, define the adapter within the bom project.</p> <p>Then you don't need a mediator. Why we do it like this, is often to make the DB adapter functionality reusable and have clear separation of concern: from bpm perspective this is then a business service.</p> <p> </p> <p>Regards, Martien</p></div> </div> </div> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=656&amp;2=comment_node_blog&amp;3=comment_node_blog" token="nDL0yDq5x1cY7gBkn0O-rbSInQyTrWLmGeaDbYhWkWM"></drupal-render-placeholder> </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-12 blog-tags"> <div> <div><a href="/taxonomy/term/365" hreflang="en">Oracle</a></div> <div><a href="/blog/categories/bpm" hreflang="en">BPM</a></div> <div><a href="/blog/categories/soa" hreflang="en">SOA</a></div> </div> </div> </div> </div> <div><drupal-render-placeholder callback="Drupal\block\BlockViewBuilder::lazyBuilder" arguments="0=views_block__blogs_block_4&amp;1=default&amp;2=en" token="jBjf0n8iki9sjPwElNYA4B92vVETYVFMv7O9pm9FdHQ"></drupal-render-placeholder></div> <div> <div>About the Author</div> <div></div> </div> </div> </div> Tue, 02 May 2017 18:08:50 +0000 Dan Atwood 656 at https://www.avioconsulting.com https://www.avioconsulting.com/blog/part-4-oracle-bpm-12c-process-invoke-database#comments