Generating ODI Packages - oracle

I am currently working on a data warehousing project where I often need to load tables to layer 1 and layer 2 from the source. Layer 1 is a copy of the source data plus some technical fields and layer 2 handles foreign keys and does some minor transformations.
The process goes as follows:
Create the DDL scripts to create the tables in L1 and L2
Use ODI (Oracle data integrator) to define interfaces which define the transformations from one layer to another.
This is quite a repetitive task where the transformations stay roughly the same.
I was wondering if there was a way to generate ODI packages + interfaces + variables on th odi agent from a scripting language so that I can automate the largest part of this time consuming part.
ODI version: ODI_11.1.1.7.0_GENERIC
Platform: Windows 7
Thanks in advance

Using the ODI SDK, it is indeed possible to perform almost any tasks you can do in ODI Studio : http://docs.oracle.com/cd/E29542_01/apirefs.1111/e17060/toc.htm.
This Java API can also be used in Groovy scripts executed directly from ODI Studio (Tools -> Groovy -> New Script).
Groovy is a programming language for the JVM, it uses a syntax similar to the Java Syntax with some shortcuts and it's dynamically compiled. With a few exceptions, Java code can be used in Groovy.
Michael Rainey did a nice presentation to introduce the ODI SDK, Groovy and some use case. Here are the slides : https://s3.amazonaws.com/rmc_docs/biforum2013_slides/odi_mclass_6_sdk_groovy.pdf
I guess this complete example by the same author might be interesting for you as it adds a few columns to the tables of his Foundation layer (equivalent of your layer 1 in the Oracle Information Management Reference Architecture) :
http://www.rittmanmead.com/2012/05/oracle-data-integrator-11g-groovy-add-columns-to-a-datastore/
Once you understand the concepts, the Oracle Data Integrator team posted a nice script to automate the creation on their blog a few years back. I think it was tested on 11.1.1.5 so it might need some adapations but this is a nice starting point : https://blogs.oracle.com/dataintegration/entry/interface_builder_accelerator
One limitation with the SDK is that there is nothing to use the versioning capabilities of ODI.

Better to create package, interfaces using GUI instead of SDK. that is easy to implement, debug and time-saving.

Related

Using H2O.ai POJO/MOJO/API with popular BI tools

Installing and using H2O.ai's Flow UI is great and all - but has anyone tried to use the built models in popular BI tools like Qlik/PowerBI?
I've read a little bit on POJO/MOJO outputs, do these tools support them?
I'm not sure about Qlik/etc but I've been following the announcements from one particular vendor called Yellowfin. Their latest release seems to integrate h2o capabilities into their reporting/visualizations:
https://www.yellowfinbi.com/blog/2017/11/yellowfin-7-4-enabling-data-science-across-the-enterprise-with-h2o-ai
Hope this helps.
POJO (Plain old java object) and MOJO (Model ObJect, Optimized) are H2O-generated models intended to be easily embeddable in any Java environment. As far as I know neither PowerBi nor Qlik do not support export in those models. But Apache Spark framework can generate POJOs for sure.

OpenERP basic reports

OpenERP is one of the best ERP applications I ever used.
I found that almost everything must be built from the beginning to meet the specific needs for each one including the analysis reports, but there are some basic packages already built.
Since I am new to OpenERP functionality and still haven't learned how to create reports in OpenERP, I need to know if there is any addons/extra module that provides me some basic and ready to print reports and listings for the several modules. This reports and listings will help me to better understand and learn the functional part of the application and will allow me on a future to better understand how to build reports and listings in OpenERP.
If anyone can provide me a link or repository with such information I will be greatfull.
Thank you very much
Regards
Paulo Matos
There are various ways of creating reports with openerp. They are (i've prioritized)
Webkit (for html,web designers - this will be a great utility)
OpenOffice (for any office person with minimal technical skills)
RML (Strictly for programmers :))
Jasper Report (good for people with java-reporting base)
Aeroo (Rich functionality of exporting to excel,word etc, still i am not comfortable in aeroo with openerp 7)
Pentaho Report Designer (A reporting tool from pentaho )
These links will help you in understanding better, setup environment and learn from the sample modules and reports. However you need to design what u need with one of the reporting type.
What's the best way to create a report on OpenERP
http://www.schenkels.nl/2013/02/custom-reports-in-openerp-what-will-you-use/
http://colinnewell.wordpress.com/2012/01/04/adding-new-reports-to-openerp/
https://doc.openerp.com/v6.1/developer/05_reports/
https://doc.openerp.com/6.1/book/8/8_20_Config/8_20_Config_reports/
Google more. You'll get everything u need. Good Luck!!
Reporting from Odoo / OpenERP can be very frustrating at times. We have found over the years that no single solution is great for every need.
The built in reporting mechanisms mentioned in the first answer (rml / openoffice) have been somewhat deprecated and replaced with qweb reporting which renders similarly in HTML or PDF. They can be difficult to get fine-grained control and alignment, a lot of work to achieve non-regular reporting structures and cross tab reports, but are fast and easy to use for straightforward "document" type reports (such as orders / invoices).
I cannot comment on Jasper or Aeroo, as I have not used them.
Using Pentaho Reports for Odoo can be great because they are primarily reporting engines. They can do wonderful things with data, present them in great ways.
One upside with this connector is its ability to access Data using the object layer, or SQL, or both in one report if necessary (using sub-reports for example), as well as custom methods!
One downside we have found with Pentaho Reporting is that as the code base changes for OpenERP/Odoo, the connector changes, and configuration has to be continually re-vesited.
The latest version supports Odoo version 8 and version 5.4 of Pentaho reporting engine.

Oracle Apex UI Translation - Point me in the right direction

I have to work on building a website in Oracle Apex that should be displayed in multiple languages. Let me decompose this further.
I am assuming that there are two parts to an Apex application
UI & elements of the UI i.e. regions, buttons, tables, page headings
Data
At the moment I need to find answers on how to enable multiple language support for only the UI part of my application. Not the data.
As I can understand, there are two broad based approaches to achieve this.
Use the Apex inbuilt support for changing the UI elements.
Create a solution from scratch that is based on a database driven approach.
IS my understanding correct?
Two more questions
1. Can anyone give me a short brief on in the type of support that Oracle Apex provides for creating multiple versions of webpages / websites for my application? Alternatively just point me in the right direction by providing relevant links etc.
Which one of the above two approaches would you recommend? And Why?
Thanks a ton
Romi
Okay, this one I seemed to have solved on my own. The process consists of the following steps
Create a shadow applications for each language other than the language of the primary application.
Export the UI elements from the primary language application into an XML file (XLIFF) for the target language application (the shadow application as mentioned in 1 above).
Edit the XML file and enter the text descriptions for the target language application in the XML file.
Upload the edited XML file to the target application.
For a detailed explanation look at this link . Click here to create a sample multi language application in Apex.
At the time of writing this I don't see any reason for creating this feature from scratch. Why reinvent the wheel?
Any comments?

Off the shelf web-application scaffolding/directory-structure generators (Java/Java EE)?

I was wondering if there is an off the shelf tool to help create a 'web application' directory structure with a basic application up and running? The source code would already be pre-written I'm guessing or based on the options some files may/may-not be generated.
I'm not sure what you'd call it but say we have a custom framework* which are to be used for web application development - rather than 'creating' a directory structure all the time we could just create it once and have a console like interface similar to the play framework to generate a basic application or an empty one as per the developer's choice.
We could just give various types of 'zip' files and ask folks to unzip it and import it in their IDE of choice and continue. However, we'd prefer to have an 'installable' to run from the command line (or GUI but no such preference) to have a basic application up and running without everyone wanting to do it all over again.
How does the Play framework do it? What do they use? (I'm guess similar things exist for RoR, Groovy/Grails.)
*It's not custom per se, but similar to having all the spring/hibernate/restlet/freemarker etc files pre-configured, up and running and a directory structure with packages for the various components by convention
I think one of the key points here regarding the Play framework is that it uses the concept of convention over configuration. Your applications are forced to follow the same pattern for the different parts of your application, or it will not work. I personally like this because it makes working on different projects easier, as the rules are always the same, rather the somewhat unwritten rules of best practice.
Java EE on the other hand takes the concept of configuration over convention. Therefore all your files and structures are defined in your relevant XML documents that specify your frameworks, classpaths, etc. There do exist some tools to try to bridge the gap. For example
IDE's will have project creation tools for your chosen framework, so will create a Struts or Spring MVC project structure with a few simple wizard steps. Eclipse does this for sure as one example.
Spring MVC also has Roo. This is a boilerplate code generation tool that creates large parts of your initial project for you.
From your description it seems you have a few different frameworks that you want to have auto-generated, but I don't think any tool currently will serve your purpose. Your concept of a zip file is your best bet here.
If you want a kind of scaffolding in the Java EE world, take a look at Appfuse which provides some archetype with several implementations on the views layer (JSF, Spring MVC, Struts 2...).

Oracle Database to Class Diagram

We are using an oracle database in a project. Most of the tables represents classes or objects in the application. The application currently doesn't have a substantial amount of documentation. I am using StarUML to make up some class diagrams and such for other developers on the project to increase their understanding of the overall project. Using the database tables as a starting guide, and then making modifications to the diagrams as needed would be the absolute easiest and quickest way to get these set up. Is there any free applications that could assist me in pulling the schema out of the Oracle database and create class diagrams from them? Currently, there are 98 "objects" or classes closely modeled in the database and to create these all in a modeling application from scratch would be very time consuming.
You don't say what your target language is.
You can use Hibernate to generate schemas from an object model and mapping.
Middlegen is a tool that can create Java classes from schemas. Maybe those will help.
A 1:1 object-to-table mapping isn't always the best way to do things. It's hardly object-oriented. I'd view it as a starting point only.
I looked (briefly) through the StarUML documentation and don't see any way to import a database definition, so I'm not sure how you do this, sorry.
If you can find a way to get the data into StarURL, you could use Oracle's free SQL Developer tool to get the table definitions out as DDL or XML.
I know that Microsoft's Visio tool (Pro & Enterprise editions) can read selected tables from your Oracle database and generate models from that, but it ain't cheap. I really like Allround Automation's PL/SQL Developer as a reasonably-priced IDE targeted at programmers (vs DBAs) and I know that will generate diagrams locally. But I'm not sure it can save the metadata in a form you could use in StarUML.
Good luck,
-- Stew
It's a shame you didn't bother to respond to replies to your own question. Or am I misunderstanding the standard practice here that people just give points and move on?

Resources