32 et 64 bits

ODI fonctionne désormais en 32 et en 64 bits ce qui permet d’utiliser pleinement les architecture 64 bits et d’allouer de la mémoire Java à la JVM au-delà de 3G. Ceci permet d’améliorer les performances et de traiter plus de volumétrie en mémoire notamment pour les fichiers csv, xml, etc…

Les nouveaux agents

L'agent autonome est plus facile à déployer n'importe où, mais n'a pas de clustering ou de pool de connexions. Il peut compter sur Oracle Process Manager et Notification Server (OPMN) pour être protégé et surveillé comme un service et il peut utiliser la fonctionnalité intégrée ODI Load Balancing.

L'agent Java EE nécessite une configuration légèrement plus complexe (installation WLS, configuration d’un domaine, etc.), mais permet d'accéder à un monde différent en termes de déploiement à l'échelle de l'entreprise : clustering, équilibrage de charge, ainsi qu’un suivi centralisé.

L'ODI 11 Console

Toutes les interfaces web sont maintenant regroupées en une seule application «Console ODI». Cette console fournit des fonctionnalités pour configurer et surveiller un environnement ODI, et parcourir les métadonnées et suivre les exécutions.

ODI 11 Console

Présentation d’ODI 11 Studio

ODI Studio : le client

  • Le client Oracle Data Integrator 11g est appelé Oracle Data Integrator Studio est basé sur la plate-forme Fusion Client.
  • Il n’y a maintenant plus que 1 outil pour avoir accès à la topologie, la sécurité, le journal et le designer : ODI64.exe.

ODI Studio : l’IHM

  • L’interface utilisateur à été modernisée pour être plus intuitive.

ODI Studio : l’interface

  • On peut désormais ouvrir plusieurs objets sous forme d’onglets.
  • Un seul bouton pour lancer l’exécution des objets.

ODI Studio : les objets globaux

  • Même si l’utilisation des objets globaux au sein de projet ODI est déconseillé, on appréciera cependant de pouvoir centraliser les KM.

ODI Studio : différent type d’export

  • ODI 11G permet d’exporter plus facilement.

ODI Studio : export intelligent

  • L’export intelligent permet d’exporter un objet avec toutes ses dépendances.

ODI Studio : import intelligent

  • L’import intelligent permet d’importer un objet avec toutes ses dépendances.

ODI 11 import intelligent

Vue de l’interface de développement d'ODI Studio 11

ODI Studio : les mappings

Nouveau «Mapping» dans l’interface :

  • Ce nouvel éditeur fournit un meilleur rendu des diagrammes, le support du zoom et des objets pliables.
  • L'édition a été améliorée pour prendre en charge les changements qui facilitent la vie du développeur.
  • Possibilités de sélectionner plusieurs colonnes sources pour alimenter un champ cible.
  • Les colonnes peuvent être triées.

ODI Studio : les flux

Sur l’onglet Flux :

  • Il est possible de changer la valeur d’un filtre sans retourner dans le mapping :

ODI 11 les flux

ODI Studio : Modification Rapide

Nouveauté, l’onglet «Modification rapide» :

  • Il permet de synthétiser et de modifier tout éléments posés dans l’onglet mapping.

ODI Studio : les erreurs

  • Lorsqu’on clique sur le bouton Erreurs dans la barre d'outils de l'éditeur d'interface, la liste des erreurs de conception détectées s'affiche avec des messages et des conseils utiles.
  • Des corrections automatiques sont proposées et peuvent être appliquées en un seul clic.
  • Lors de l'enregistrement et de la tentative d'exécution d'interfaces, un rapport est généré avec tous les problèmes restants.

ODI Studio : la simulation

  • Avant l’exécution, il est possible de lancer une simulation.

ODI Studio : les datasets

  • Les ensembles de données sont un grand saut dans la conception d'interface dans ODI 11g.
  • Imaginez que vous souhaitez enregistrer dans une table cible des informations provenant d'un ensemble de fichiers plats avec des informations d'un ensemble de tables (avec des transformations différentes, bien sûr).
    • En ODI 10g, on pense multiples interfaces, procédures et packages.
    • ODI 11g permet de le faire dans une seule interface !

ODI Studio : les lookup

  • Oracle Data Integrator 11g introduit le concept de «Lookup» dans les interfaces.
  • Les recherches sont créées à l'aide d'un assistant. Les lookup sont générées par ODI pour le traitement dans le moteur de base de données sous la forme d'une jointure externe gauche dans la clause FROM ou comme expression dans la clause SELECT (recherche en mémoire avec boucle imbriquée).

ODI Studio : le partionning

  • Le partionning : les informations de partitionnement peuvent être utilisées dans les datastores et des partitions spécifiques peuvent être utilisées lorsque le datastore est utilisé comme source ou cible.

ODI Studio : les index

  • Les jointures et les filtres dans les interfaces peuvent être indexés automatiquement pour de meilleures performances. En sélectionnant des types d'index sur une jointure ou un filtre, l'utilisateur peut demander à ODI de créer des index temporaires sur les colonnes participant à la jointure ou à l'index lors de l'exécution de cette interface.

ODI Studio : les jointures naturelles

  • Les jointures dans les interfaces prennent désormais en charge le type de jointure naturelle. Ces jointures n'exigent aucune expression de jointure et sont gérées par le moteur d'exécution, qui met en correspondance automatiquement les colonnes portant le même nom.

ODI Studio : les tables dérivées

  • ODI 11 g offre la possibilité d’utiliser des sous-requêtes.  Cette fonctionnalité offre de nouvelles possibilités d’optimisation, permet de réduire le nombre d’interfaces exécutées. Au niveau du développement, il faut développer une interface temporaire pour chaque sous-requête.
  • Le seul inconvénient de cette fonctionnalité serai la maintenance, l’abus de sous-requêtes peut rendre difficile la compréhension du développement.

ODI 11 : Nouveautés du journal d’exécution

ODI Studio : Arrêt des sessions

  • On peut désormais faire un arrêt immédiat d’une session depuis le journal d’exécution.

ODI Studio : les messages d’erreurs

  • En version 10g lorsqu’un serveur était inaccessible, le message est le suivant :
    java.sql.SQLException: [OWLS][SQLServer JDBC Driver]Error establishing socket to host and port: localhost:1433. Reason: Connection refused: connect
    at
  • En version 11g, nous aurons ce type de message :
    ODI-1217: Session Refresh Customer (119011) fails with return code 8000.
    ODI-1226: Step Load Customer fails after 1 attempt(s).
    ODI-1240: Flow Load Customer fails while performing a Loading operation. This flow loads target table NorthwindEmps.
    ODI-1227: Task SrcSet0 (Loading) fails on the source MICROSOFT_SQL_SERVER connection MSSQL.
    Caused By: java.sql.SQLException: [OWLS][SQLServer JDBC Driver]Error establishing socket to host and port: localhost:1433. Reason: Connection refused: connect.

ODI Studio : les variables

  • A chaque Step sur ODI dans le journal, on pourra voir les variables et la valeur prise par celle-ci au moment de l’exécution.

ODI 11 Variable

ODI : Focus sur l’XML

ODI Studio : Focus XML

  • Amélioration du driver jdbc pour XML qui permet désormais de ne plus stocker le schéma XML «en mémoire» (in mémory).
  • L’approche «en mémoire» fonctionne très bien pour des fichiers simples ou léger mais peut s’avérer très gourmande en ressources voir difficile à réaliser. Pour palier à cela, le driver XML permet d’être adossé à une vraie base de données type Oracle, Microsoft SQL server ou MySQL qui stockera le schéma XML et sera utilisé ensuite en source ou en cible.
  • Méthode :
    • Déclaration dans la topologie du driver XML.
    • Définition du serveurs de données et du schéma qui sera adossé à la base de données.
    • Définition des modèles dans le désigner.
    • Création des interfaces d’alimentation en choisissant le schéma cible différent de la source.
    • Mapping des champs et définition des différents flux des interfaces.
  • Définition d’un fichier de connexion à la base de données pour le driver XML.
  • En préalable, construction d’un fichier properties qui sera à mettre dans les répertoires.
  • Le fichier contiendra les définitions suivantes :
    • driver=oracle.jdbc.driver.OracleDriver
    • url=jdbc:oracle:thin:@localhost:1521:xe
    • user=XML_STAGING
    • password=g0yXfhlSfzhz4bro5P7HCBQ
    • schema=XML_STAGING
    • drop_on_connect=Y
    • create_tables=AUTO
    • create_indexes=Y
    • truncate_before_load=Y
    • ids_in_db=Y
    • drop_tables_on_drop_schema=Y
    • use_prepared_statements=Y
    • use_batch_update=Y
    • batch_update_size=30
    • commit_periodically=Y
    • num_inserts_before_commit=1000
    • reserve_chars_for_column=3
    • reserve_chars_for_table=3
  • Au niveau de la topologie, il faudra ajouter à la définition du driver JDBC XML, l’information de connexion via le fichier .properties.
  • Définition de l’architecture physique du serveur de données.
  • Définition du schéma physique et du schéma logique.
  • Création du modèle dans le designer et reverse du modèle.
  • Faire du reverse «physiquement» va créer les tables dans le schéma de base de données associés au fichier XML.
  • Pour pouvoir écrire dans le fichier XML, nous allons avoir besoin de deux modules de connaissances :
    1. LKM xxx to SQL – pour charger les données depuis la source vers l’environnement de travail.
    2. IKM XML Control Append – pour écrire les données de l’environnement de travail vers la cible XML.
  • Il conviendra de préciser sur chaque interface que l’espace de travail est différent de la cible et de choisir celui de notre schéma de données
  • Imaginons le fichier XML suivant à alimenter à partir de table.

ODI 11 XML

  • La première interface alimentera l’axe Région.
  • Les autres interfaces, sauf la dernière, seront classiques sans préciser le «Truncate Schéma» et le root schéma.
  • On laissera en fait les options par défaut sur le IKM XML Control Append.
  • Pour la dernière interface, au niveau du IKM XML Control Append, on précisera le nom du fichier XML à obtenir et on mettra le CREATE_XML_FILE à «True».

Vous cherchez des consultants pour vous accompagner dans une migration ODI, Next Decision est experte dans les migrations Oracle Data Integrator, Contactez-nous !