<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
   <channel>
      <title>Oracle Warehouse Builder (OWB) Weblog</title>
      <link>http://blogs.oracle.com/warehousebuilder/</link>
      <description>News, resources and comment about Oracle&apos;s ETL, Data Quality and Data Integration solution</description>
      <language>en</language>
      <copyright>Copyright 2008</copyright>
      <lastBuildDate>Wed, 03 Sep 2008 16:09:28 -0800</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

            <item>
         <title>SQL for workspace enablement</title>
         <description><![CDATA[<p>As a quick follow up on my post on accessing SQL views in 11g OWB, here is a simple one if you are in SQL Dev or SQL Plus:</p>

<p>begin<br />
owbsys.wb_workspace_management.set_workspace('<workspacename>', '<workspaceowner>');<br />
owbsys.start_enable_owb_roles;<br />
end;</p>

<p>Now you can do what you need in direct access tools like SQL Plus...</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/09/sql_for_workspace_enablement.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/09/sql_for_workspace_enablement.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Metadata</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">ELT</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Metadata</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">database</category>
        
         <pubDate>Wed, 03 Sep 2008 16:09:28 -0800</pubDate>
      </item>
            <item>
         <title>OWB 10.2.0.4 Ports are released</title>
         <description><![CDATA[<p>As of now the following ports are available for OWB 10.2.0.4:</p>

<p>Windows-32<br />
Linux-32<br />
HP-Itanium<br />
Linux x86-64 (AMD64/EM64T)<br />
HP-UX PA-RISC (64-bit)<br />
Sparc64</p>

<p>All of these can be downloaded from metalink (https://metalink.oracle.com/) under patch id 7005587. You will need to log into metalink to download the patch.</p>

<p>The following platforms will follow shortly:</p>

<p>AIX5L Based Systems (64-bit)<br />
Vista-32 bit (and Windows2008-32, Windows2008-64)<br />
Windows-64 Itanium </p>

<p>More on those platforms once available.</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/09/owb_10204_ports_are_released.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/09/owb_10204_ports_are_released.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
        
         <pubDate>Tue, 02 Sep 2008 10:31:53 -0800</pubDate>
      </item>
            <item>
         <title>Sizing an OWB system...</title>
         <description><![CDATA[<p>Should I even go here...? Maybe not, but one thing that I thought would be interesting to mention here is an avenue to take when you are struggling with sizing. Yes, this will have loads of disclaimers but might be a better place to start than just out of the blue...</p>

<p>So, lets say we are trying to set up an OWB system, which may be a DW or Data mart. What hardware do we run this on so that we get some half decent performance? Good question. Ask the hardware guy, and you'll get lots of cool stuff that you may not need (or may, but find to expensive). Ask the software guys, and you'll get puzzled looks. Or a pointer back to the hardware guys.</p>

<p>Now what do you do. Well for starters, look at this page: http://www.oracle.com/solutions/business_intelligence/optimized-warehouse-initiative.html</p>

<p>Oracle has addressed the issue with pre-defined configurations that create a BALANCED system. It is not a system that will give you infinitely great performance for the smallest $$$ amount... it is a balanced system. This means you will get a good throughput in a normal data warehouse like situation. It does this balancing because it specifies all components. So not just CPU and memory, but disks, HBAs (connect your CPU to your disky things and is kind of required to actually load data and process it - yet often forgotten).</p>

<p>Back to sizing for OWB, these systems will do a good job because they are balanced, and we would expect them to be a good starting point for any DW system. </p>

<p>Since OWB does the ETL in the database, you would not need any extra hardware to host the ETL server, it will go into this single system. Due to that, sizing is simpler and hardware utilization is better.</p>

<p>For data quality sizing is a bit more complex, but even here, if you look at the basic systems, sizing a profiling application is roughly equal. Look at the total data size, determine complexity (much less users on the profile run, a few doing simple queries after it is profiled) and these configs would work as a good starting point as well.</p>

<p>Looking at that optimized warehouse page, note that most vendors are present, so you can kind of pick the one you like. Now I know the temptation is there to skimp on stuff, but if you start with this, and don't skimp on items, you might just have sized your system about right...</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/08/sizing_an_owb_system.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/08/sizing_an_owb_system.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Warehouse</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Database</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ELT</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">data quality</category>
        
         <pubDate>Mon, 25 Aug 2008 13:32:05 -0800</pubDate>
      </item>
            <item>
         <title>SAP, OWB and the database</title>
         <description><![CDATA[<p>Forgot to add this to the SAP blog post... while we are doing all this stuff on the SAP system, many people wonder if this only works on SAP on Oracle Database. </p>

<p>The beauty of using ABAP and SAP JCO components is that it does not matter! To OWB it is completely irrelevant what source database is used underneath SAP R/3. It all works outside of the database and there is no SQL being used whatsoever. That makes the solution so nice and so comfortable for SAP administrators. It is all in SAP, adhering to SAP rules and using SAP code.</p>

<p>So whether SAP runs on SQL Server, DB2 or Oracle (or anything else), you can use OWB to extract data from SAP.</p>

<p>Now, if SAP runs on Oracle, and not many people know this, you can treat the system as Oracle as well. So you can do what many (or most) other ETL tools do and go to the SQL layer. Not a problem. However I would recommend not to do this, and any ETL tool that uses SQL to access SAP is destined to become a problem. SQL looks at database tables, not pool and cluster tables. These are SAP constructs, not database constructs. Some of the most important tables in SAP are non-transparent (e.g. pool or cluster). OWB approaches these tables using ABAP so it can extract from them, no problem!</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/08/sap_owb_and_the_database.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/08/sap_owb_and_the_database.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
        
         <pubDate>Mon, 11 Aug 2008 08:28:46 -0800</pubDate>
      </item>
            <item>
         <title>OWB Public Views in 11g Release 1</title>
         <description><![CDATA[<p>In OWB 11g the repository is a set of workspaces. In the public views this means you need to set the workspace context.This is not an issue from within a map as the workspace context is set prior to invoking the map as the map audit needs this.  </p>

<p>However in order to view data inside OWB using the public views it is necessary to have this set and as OWB creates the connection, the only solution is a logon trigger. This also applies if you are going into any system where you do not control the login. In SQL Plus, you simply run the procedure after logging in or do some session stuff...  </p>

<p>As the trigger requires a pl/sql procedure that has execution rights on owbsys.wb_workspace_management.set_workspace this <br />
needs to be granted to the user. In addition, the OWB roles need to be enabled.</p>

<p>The workaround for this is to create the following procedure, grant the following rights to the users and then the logon trigger….  </p>

<p>Note the logon trigger has to be granted by sysdba.</p>

<p>Package Script</p>

<p>CREATE OR REPLACE procedure wb_initialize_workspace<br />
authid current_user as </p>

<p>/* To return the first workspace owned by a user */<br />
CURSOR ws_user_owner IS<br />
SELECT MIN(workspace_name) KEEP (DENSE_RANK FIRST ORDER BY workspace_id), user_name<br />
FROM owbsys.all_iv_workspace_assignments<br />
where user_name = USER and isworkspaceowner = 1<br />
GROUP BY user_name;</p>

<p>/* To return the first workspace associated with a user */<br />
CURSOR ws_user_user IS<br />
SELECT MIN(workspace_id) KEEP (DENSE_RANK FIRST ORDER BY workspace_id)<br />
FROM owbsys.all_iv_workspace_assignments<br />
where user_name = USER<br />
GROUP BY user_name;</p>

<p>p_id number;</p>

<p>/* To find the owner of a given workspace */<br />
CURSOR ws_owner_user IS<br />
SELECT workspace_name, user_name<br />
FROM owbsys.all_iv_workspace_assignments<br />
where workspace_id = p_id and isworkspaceowner = 1;</p>

<p>p_ws varchar2 (32);<br />
p_user varchar2 (32);</p>

<p>BEGIN</p>

<p>/* First try to find a workspace owned by this user.  If found make that the active workspace */<br />
open ws_user_owner;<br />
FETCH ws_user_owner INTO<br />
      p_ws,<br />
      p_user;</p>

<p>    IF not(ws_user_owner%NOTFOUND) THEN<br />
       owbsys.wb_workspace_management.set_workspace(p_ws,p_user);<br />
       close ws_user_owner;<br />
    ELSE</p>

<p>/* If none owned, get the first associated with this user */<br />
       open ws_user_user;<br />
       FETCH ws_user_user INTO<br />
          p_id;<br />
       IF not(ws_user_user%NOTFOUND)  THEN</p>

<p>/* Now find the owner of this workspace */<br />
          close ws_user_user;<br />
          open ws_owner_user;<br />
          FETCH ws_owner_user INTO<br />
             p_ws,<br />
             p_user;<br />
          IF not(ws_owner_user%NOTFOUND)  THEN<br />
             owbsys.wb_workspace_management.set_workspace(p_ws,p_user);<br />
             close ws_owner_user;<br />
          END IF;<br />
       END IF;<br />
    END IF;</p>

<p>END;<br />
/</p>

<p>Grants script</p>

<p>define user = &1<br />
grant execute on owbsys.wb_workspace_management to &user;<br />
grant execute on owbsys.wb_initialize_workspace to &user;<br />
alter user &user default role all except OWB$CLIENT;</p>

<p>Trigger script</p>

<p>set concat ~<br />
define user = &1<br />
CREATE OR REPLACE TRIGGER &user~_LOGON_TRIGGER<br />
AFTER LOGON ON &user.SCHEMA<br />
BEGIN<br />
  owbsys.wb_initialize_workspace;<br />
END;<br />
/</p>

<p>In addition when using PL/SQL to query the views, for any design time views you will need to grant select access to the user from owbsys (as roles don't work from within pl/sql). This is of course outside of the trigger stuff discussed here...</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/08/owb_public_views_in_11g_release_1.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/08/owb_public_views_in_11g_release_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Metadata</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Database</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Metadata</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
        
         <pubDate>Thu, 07 Aug 2008 14:21:10 -0800</pubDate>
      </item>
            <item>
         <title>Working in an SAP production environment with OWB</title>
         <description><![CDATA[<p>SAP is a bit different... it is more structured than most other environments and there are specific requirements on running ABAP programs in production systems. Since this is a common topic, and since we have a very nice solution (if I may say so) for it in OWB, I figured to write it up on blog.</p>

<p>Some background, OWB comes with an SAP connector, and has done so for its entire life. We have invested quite a bit of time, effort and knowledge into this capability. Not just from our development staff, but also leveraging SAP expertise from New Frontiers (www.newfrontiers.com). Active users have worked on the connector to make sure it addresses things like the above described need of managing ABAP code in SAP (more later in detail of course). New Frontiers actually created an entire data warehouse out of the box based on the Oracle stack with OWB as the tool to create all ETL from SAP into Oracle and using OWB to model the entire dimensional model. More on that is <a href="http://www.newfrontiers.com/x/1-19/QuickStart_for_SAP_R/3.html">here</a>.</p>

<p>So what is the problem? In general, you cannot move some custom ABAP into an SAP production system without the SAP administrator actually moving it. So since OWB deploys into the system, that would not be acceptable as the program gets "injected" from the outside. OWB generated ABAP therefore must play within the rules.</p>

<p>Here is how this works in a real environment:</p>

<p>In the development environment you create your SAP location, and deploy the mappings. The system is open, so you run this directly from OWB. Not a problem. Now to move anything into the QA and Production systems, you cannot use the OWB deploy of a mapping (which will go into the SAP app and throw in a custom document - no SAP admin likes this).</p>

<p>QA / Production:</p>

<p>Once you have deployed the actual program into the DEV environment, you will have the SAP admin transfer (that is an SAP term with an SAP application screen) the program to the QA or Production system. While he/she transfers the program, variables can be changes like the data file location etc. These are specifically set up as variables (I forget the actual SAP name for a variable) in our generated ABAP for this purpose. Now the program is correctly loaded and moved without other modifications into the SAP application.</p>

<p>Some customers now want this executed from within SAP, some do still want this executed from within OWB. In the latter case you create a location pointing to the actual SAP production system, and in that location you tell us to use a function module Z_blabla. This function module is custom and we have example code for this. You also tell us in configuration that you do not want to deploy, but just want to execute the ABAP. Now OWB skips deployment (the actual Report is already there) and just executes the transported ABAP from its new location. The data file is generated, OWB will FTP the file and load it.</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/08/working_in_an_sap_production_environment_with_owb.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/08/working_in_an_sap_production_environment_with_owb.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Database</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Metadata</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SAP</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
        
         <pubDate>Thu, 07 Aug 2008 13:24:15 -0800</pubDate>
      </item>
            <item>
         <title>DBLinks the sequel</title>
         <description><![CDATA[<p>Did the #2 option today on an 11g database (just to remind me that things are different in 11g).</p>

<p>The simple way of getting OWB to use a dblink is to create your own connector (you may have to delete the one OWB creates by default when creating a mapping!) and specify a dblink on it.</p>

<p><img alt="connector_created_underloc.JPG" src="http://blogs.oracle.com/warehousebuilder/connector_created_underloc.JPG" width="179" height="72" /></p>

<p>My dblink is created as orcl@tgt_to_hr. It is important to name the connector the same as the dblink without using the servicename entry. So my connector was named TGT_TO_HR.</p>

<p>Once the link is in the db, and you are creating the connector, place the link name in the Details section. Make sure to use Browse... at least you are sure you have the right link name.</p>

<p><img alt="choose_dblink_for_connector.JPG" src="http://blogs.oracle.com/warehousebuilder/choose_dblink_for_connector.JPG" width="612" height="527" /></p>

<p>Once you have done this, the generated code will show the dblink being used and uses the schema name (as we saw earlier). Deploying the code will now use the precreated dblink.</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/07/dblinks_the_sequel.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/07/dblinks_the_sequel.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Warehouse</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ELT</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">database</category>
        
         <pubDate>Thu, 31 Jul 2008 09:44:36 -0800</pubDate>
      </item>
            <item>
         <title>Using a DBLink Location for ETL</title>
         <description><![CDATA[<p>One of the things that might be interesting to have a play with is the ability to use a predefined dblink as a substitute for the OWB db links generated when you create two locations pointing to two separate hosts.</p>

<p>There are roughly three ways of doing this in OWB:</p>

<p>1) Configure a mapping and set a dblink and schema name property on each mapping (note is not the recommended way)<br />
2) Supply a database link name on the connector between the target module and the source module<br />
3) Use a DBLink type location for the source</p>

<p>Since the third one is most complex one, but used in the EBS cases in house, I figure, let's start with that one.</p>

<p>First thing to do is create the DB link location itself (it will specify the database link to use and the schema etc.)</p>

<p><img alt="Create_dblink_location.JPG" src="http://blogs.oracle.com/warehousebuilder/Create_dblink_location.JPG" width="561" height="578" /></p>

<p>To explain this dialog a little bit more, the From Location is the target location in which the mapping will live, the database link is the name of the db link as found in the target schema. The dblink of course connects to your source schema as a normal db link.</p>

<p>Next you would associate the dblink location you just created with the SOURCE (!) module, as shown here, and then set the configuration for the source module to use this dblink location.</p>

<p><img alt="Associate_dblinkloc_withModule.JPG" src="http://blogs.oracle.com/warehousebuilder/Associate_dblinkloc_withModule.JPG" width="618" height="577" /></p>

<p>Note that you cannot use the DBLink location to import metadata.</p>

<p><img alt="Configure_source_location_withdblink.JPG" src="http://blogs.oracle.com/warehousebuilder/Configure_source_location_withdblink.JPG" width="596" height="555" /></p>

<p>This completes the work on the source and on the dblink location.</p>

<p>Once you have done this, you have associated the target with the source because in the dblink location you specify the from (target) and now by adding this to the source, the to is also known. OWB now generates you a connector on the target using the dblink. Open the connector to see the actual dblink details as specified on the dblink location.</p>

<p><img alt="Target_connector_withdblink_loc.JPG" src="http://blogs.oracle.com/warehousebuilder/Target_connector_withdblink_loc.JPG" width="618" height="532" /></p>

<p>Since this target location is already registered, all info above is grayed out...</p>

<p>Next is the target, where nothing else is really required. You create a mapping from source table to target table and generate code. </p>

<p><img alt="Generated_code_with_dblink.JPG" src="http://blogs.oracle.com/warehousebuilder/Generated_code_with_dblink.JPG" width="619" height="224" /></p>

<p>As you can see in line 337 the source schema we specified in dblink location and the dblink are taken into the generated code....</p>

<p>Now that you are using this setup, your credentials to for example production schemas are hidden behind the dblink. A DBA will set up the link, you use it without knowing the details for production data.</p>

<p>I'll see if I can quickly add the #2 option at a later point. It is a bit simpler, in that you on the connector override the database link name with your own. However it allows the source to still use full credentials and therefore potentially gives data access to the wrong people.</p>

<p>BTW, not what I was thinking when I started but you can apply the same to a "remote target". Simply deploy the mapping in what I have as a target here. Create a remote location and a dblink loc for target (e.g. data going to that). Drag that operator into the mapping and now you go DBLink two ways... </p>

<p>Great for writing to other DBs like SQL Server of course...</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/07/using_a_dblink_location_for_etl_1.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/07/using_a_dblink_location_for_etl_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Warehouse</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
        
         <pubDate>Wed, 30 Jul 2008 14:33:29 -0800</pubDate>
      </item>
            <item>
         <title>Full Outer Joins in OWB</title>
         <description><![CDATA[<p>One of the questions I noticed recently was on full outer joins. How do you do that in OWB. Well it is quite simple, but I guess not that obvious. So here is a quick post on how to do this.</p>

<p>Here we have a simple mapping, where I join on code. I want to get all records (yeah not a great business case I know) from both tables, so I know if there are records on either side without matches.</p>

<p>My join looks like this:</p>

<p><img alt="JoinClause.JPG" src="http://blogs.oracle.com/warehousebuilder/JoinClause.JPG" width="808" height="588" /></p>

<p>Now if I complete the mapping to look like this, I can generate code.</p>

<p><img alt="MappingComplete.JPG" src="http://blogs.oracle.com/warehousebuilder/MappingComplete.JPG" width="780" height="235" /></p>

<p>As you see by default (this is OWB 10.2.0.3) you get an ANSI join syntax:</p>

<p><img alt="ANSICodeForFullOuter.JPG" src="http://blogs.oracle.com/warehousebuilder/ANSICodeForFullOuter.JPG" width="716" height="401" /></p>

<p>Want something not ANSI, go to configuration on the mapping and uncheck the ANSI SQL Syntax code option. Note that if you are doing Multi Config, you can change this per deployment of the mapping...</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/07/full_outer_joins_in_owb_1.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/07/full_outer_joins_in_owb_1.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">BI</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Warehouse</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">database</category>
        
         <pubDate>Tue, 22 Jul 2008 12:45:12 -0800</pubDate>
      </item>
            <item>
         <title>ODTUG - Hyperion and OWB</title>
         <description><![CDATA[<p>So what happened during the radio silence in OWB land. Well, not that much, it is after all summer vacation in most of the world (or winter if you are on the other hemisphere)...</p>

<p>We did ODTUG, which was my 5th conference in a row, and as always, great fun and a very good conference. I especially liked the new Hyperion track at ODTUG. With the Oracle family growing I think there is a lot of value provided by the conferences in introducing everyone to the new technologies in Oracle's portfolio. I had the privilege to be on a panel and discuss technology together with Mark Rittman (you can read more on his blog) and some other folks. Good fun, quite interesting to discuss end-user vs. IT perspectives.</p>

<p>One of the things I took away from that is that we need to bridge that gap in the near future. We need to enable end users to get their information when they need it, but I think we need to not forget architecture and infrastructure. Yes I know I'm one of the old timers who think that is important.</p>

<p>End users should have access to data, but in a controlled manner. At least that is what I think. The Hyperion tools allow the finance guys to set up their own systems, manage their own hierarchies, which is great. But it does not mean that we can't build this on top of a scalable and secure infrastructure.</p>

<p>So for Warehouse Builder I think we will look more and more into enabling more business users to get to their data. Let's call it end user data integration. That way we can allow for data quality to be embedded in everything that is done, we can centralize metadata without being obnoxious about it, and we can secure the base data.</p>

<p>Anyways these are some of my thoughts around direction for OWB in the long run. In the mean time, ODTUG is done and we are already looking at OpenWorld in September. Bigger, better and more involved as always.</p>

<p>Openworld will showcase at least 5 sessions on OWB, a handson session and of course demo stations for data integration and data quality. We will have product management and development around, so if you are a current user, this is the event to discuss your problems, solutions and ideas with the guys and girls who build the product. And of course, San Francisco in September is a nice place to be... So see you in San Francisco!</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/07/odtug_hyperion_and_owb.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/07/odtug_hyperion_and_owb.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
        
         <pubDate>Tue, 15 Jul 2008 07:54:53 -0800</pubDate>
      </item>
            <item>
         <title>We are back on line...</title>
         <description><![CDATA[<p>Hi all, well we are back on line after the content migration. I did notice some screenshots that didn't look too good. Not sure if we can fix all of those.</p>

<p>Expect new postings to start appearing over the next days again. So stay tuned.</p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/07/we_are_back_on_line.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/07/we_are_back_on_line.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
        
         <pubDate>Tue, 15 Jul 2008 07:51:25 -0800</pubDate>
      </item>
            <item>
         <title>Content freeze for 2 weeks on the blog...</title>
         <description><![CDATA[<p>Hi all, just a quick note on the radio silence that will be coming on as of tomorrow... we are moving blog packages, so for the next 2 weeks or so there will be no new postings. We will be back in the air shortly after with more news and fun things you can do with OWB...<br><br></p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/06/content_freeze_for_2_weeks_on.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/06/content_freeze_for_2_weeks_on.html</guid>
        
        
         <pubDate>Thu, 19 Jun 2008 16:41:24 -0800</pubDate>
      </item>
            <item>
         <title>Consuming Web Services from Inside Oracle: SQLJ, JPublisher and the Database Web Services Callout Client</title>
         <description><![CDATA[<p><P>Warehouse Builder depends on infrastructure in the Oracle Database for most of what it does... including calling external Web Services. Briefly, this requires that you install JPublisher in your database, which at this point means that you need to install SQLJ from the Oracle Database Client CD, as well as the Web Services Callout Client. </P><br />
<P>A lucid and concise description of how you configure an Oracle 10gR2 Database to consume Web services was posted in this Oracle By Example (OBE):</P><br />
<P><A href="http://www.oracle.com/technology/obe/10gr2_db_single/develop/java/java_otn.htm">http://www.oracle.com/technology/obe/10gr2_db_single/develop/java/java_otn.htm</A></P><br />
<P>It takes you through installing all the required components and then calling an example web service from PL/SQL. </P><br />
<P>Once you have this working you are ready to start using calls to external web services from OWB&nbsp;(of which I shall write&nbsp;more in a future post).</P><br />
<P>&nbsp;</P></p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/06/consuming_web_services_from_in.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/06/consuming_web_services_from_in.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
        
         <pubDate>Mon, 16 Jun 2008 15:48:22 -0800</pubDate>
      </item>
            <item>
         <title>Modifying icons for process flow activities</title>
         <description><![CDATA[<p>I would guess many people are using user defined activities in process flow. As do we when we do partner work. Wouldn't it be nice if you could change the icons for the user defined activities to better show what is being done in that activity? In some cases it might be, and it is quite simple to do.<br><br>First step is to create an iconset. You do this in the Global Explorer under icon sets. Here is an example of the completed dialog.<br><br><img src="http://blogs.oracle.com/antonioRomero/images/IconsetDialog.jpg"  border="0" alt="IconSetScreen: "><br><br>Next is to actually associate this iconset with the process flow activity. For mappings this can be done within the UI, but for process flow activities this is done via scripting:<br><br>OMB+&gt; OMBALTER PROCESS_FLOW 'LOAD_ORCL' MODIFY ACTIVITY 'RUN_SIS_JOB' SET REFERENCE ICONSET 'STARANALYTICS'<br>Process Flow Activity RUN_SIS_JOB altered.<br>Process Flow LOAD_ORCL altered.<br>OMB+&gt; <br><br>After this you get a wonderful icon reflecting the actual external job you are calling.<br><br><img src="http://blogs.oracle.com/antonioRomero/images/IconOnProcessFlow.jpg"  border="0" alt="ProcessFlowWithIconReplaced: "><br><br>If you want to show separate icons on the mappings, here is how you do that. It is on the properties panel and it will change the icon in the design center.<br><br><img src="http://blogs.oracle.com/antonioRomero/images/MappingIconsChangedViaUI.jpg"  border="0" alt="ChangedMapIcons: "><br><br>Now of course you are wondering what Star Analytics is. Well, this is a company / product that allows you to re-integrate your Essbase data back into the relational data warehouse. It handles the extraction from Essbase, in this case into Oracle base tables. You then run the OWB mappings to load the data into the Oracle data warehouse. Quite cool if you need to integrate for example finance data back into the EDW.<br><br></p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/06/modifying_icons_for_process_fl.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/06/modifying_icons_for_process_fl.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Metadata</category>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
                  <category domain="http://www.sixapart.com/ns/types#tag">BI</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Integration</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Data Warehouse</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">OWB</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">SQL</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">Warehouse Builder</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">database</category>
                  <category domain="http://www.sixapart.com/ns/types#tag">metadata</category>
        
         <pubDate>Thu, 12 Jun 2008 17:37:51 -0800</pubDate>
      </item>
            <item>
         <title>Can Oracle and OWB Do Email, LDAP and SOA? Yes, We Can.</title>
         <description><![CDATA[<p><P>Sometimes OWB PM gets questions about ways to use Warehouse Builder in consulting situations, sales-related proof&nbsp;of concepts implementations, and so on. Some that came up recently include:</P><br />
<UL><br />
<LI>How OWB can be used to <A href="http://blogs.oracle.com/warehousebuilder/newsItems/viewFullItem$515">create or consume Web Services</A> (a subject of <A href="http://www.oracle.com/technology/products/warehouse/pdf/oracle%20warehouse%20builder_%20soa%20and%20web%20services%20ready.pdf">a recent whitepaper</A>); <br />
<LI>How OWB can send email with attachments (the process flow task for sending email makes no provisions for attachments); <br />
<LI>How OWB can make updates to&nbsp;an Active Directory or other LDAP server</LI></UL><br />
<P>In the second case, we recommended the PL/SQL package <A href="http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_mail.htm">UTL_MAIL</A>. &nbsp;Incorporating a short bit of PL/SQL code that called the needed functions (make the attachment, create the mail message with the attachment, send it out)&nbsp;into a process flow would cover the customer's/developer's need. </P><br />
<P>The third case was more interesting, because of the thinking behind it, and the questions it raised. </P><br />
<P>The original question that reached PM was, "Can OWB write to ODBC targets? (Or do I need a different ETL product?)" The line of thinking was something like:</P><br />
<UL><br />
<LI>I'm using an ETL tool <br />
<LI>An ETL tool can update data in database targets <br />
<LI>Therefore, if I want to update something that isn't a database, I should make it look like a database target <br />
<LI>Therefore, the customer needs to license a third-party&nbsp;ODBC driver for LDAP, and&nbsp;choose an ETL tool that can write to ODBC <br />
<LI>Can OWB write to ODBC? ("Yes, we can", by the way-- the core product can use the gateway for ODBC with any target, no cost.)</LI></UL><br />
<P>This chain of reasoning is quite understandable, but it misses an important point: OWB is much more than a tool for talking to data sources and targets. OWB is now and has always been a great tool to maximize productivity for developers of PL/SQL-based data integration solutions on top of the Oracle database.&nbsp;(Future mechanisms for heterogeneous data integration in <A href="http://www.oracle.com/technology/products/warehouse/index.html">our roadmap</A>&nbsp;don't obsolete any of the strengths of OWB when used with Oracle databases.)</P><br />
<P>The PL/SQL part is crucial here. From OWB you have access to all the functionality Oracle builds into the PL/SQL packages that come with the Oracle database. (This, for example, is how we have incorporated Web Services/SOA functionality into OWB since our 9.2 release. PL/SQL is generated for OWB mappings, and all PL/SQL packages can be accessed as web services, therefore OWB mappings&nbsp;can be exposed as web services. Likewise, PL/SQL can&nbsp;consume Web services, OWB generated code is PL/SQL code, therefore OWB can consume web services.)</P><br />
<P>In this instance, OWB access to PL/SQL enables a much more direct solution, with no third-party component and no need to abandon OWB. We proposed a little PL/SQL code&nbsp;to call the <A href="http://www.oracle.com/technology/sample_code/products/id_mgmt/plsqlapi/index.html">DBMS_LDAP and DBMS_LDAP_UTL</A>&nbsp;packages from PL/SQL to update the LDAP server directly, and incorporate that code into a process flow.</P><br />
<P>Can we do more over time to package up capabilities like the ones above? Yes, we can-- whenever the market demands it. (<A href="http://blogs.oracle.com/warehousebuilder/newsItems/viewFullItem$515">Tell us what you want</A>-- you, after all, are the market.)</P><br />
<P>But&nbsp;the next time you look in your palette and you can't find the right icon to drag out to do exactly what you want, don't give up, reframe the question: "Can the Oracle Database platform do this? Are there PL/SQL packages that can do this?" You won't want to or need to do this often-- but when you choose to, yes, you can.</P></p>]]></description>
         <link>http://blogs.oracle.com/warehousebuilder/2008/06/can_oracle_and_owb_do_email_ld.html</link>
         <guid>http://blogs.oracle.com/warehousebuilder/2008/06/can_oracle_and_owb_do_email_ld.html</guid>
                  <category domain="http://www.sixapart.com/ns/types#category">Comments</category>
                  <category domain="http://www.sixapart.com/ns/types#category">ETL</category>
                  <category domain="http://www.sixapart.com/ns/types#category">Resources</category>
        
        
         <pubDate>Mon, 09 Jun 2008 17:27:20 -0800</pubDate>
      </item>
      
   </channel>
</rss>
