Au niveau de SAP, le princpale problème est la structure de la base de
donnée. C'est plus de 10 000 tables avec noms comme TKWD1 et des nom de
colonnes comment AWSP sans cohérence. Le principe de BW c'est surtout de
rendre plus humain les représentations de données. De plus, il n'y a pas de
documentation sur la structure des tables et la logique est souvent tordu.
Je pense que 90% de la tâche serait de comprendre les données et de savoir
ce qu'il faut extraire. Par exemple, si tu veux accéder à la liste des
ordres internes, il faut passer pas des tables comment BDSW,  PTKP et VJBK
lié par les colonnes, VFDP et VHFL, ça ne s'invente pas, faut juste
fouiller.

Bref, ton outil et très intéressant. Ta vidéo me donne envie d'en avoir
besoin. Et c'est cool de voir qu'on peut s'en tirer avec un accent anglais
approximatif.

Le 10 novembre 2015 17:05, Thibaut Barrère <thibaut.barr...@gmail.com> a
écrit :

> Bonsoir,
>
>
>> J'ai une question : As-tu déjà eu à extraire des données venant de SAP
>> Ecc pour les mettres ailleurs ? J'ai travaillé pendant un ans ou deux avec
>> SAP BW qui fait, grosso-modo, la même chose que toi mais pour SAP. La plus
>> part du temps, c'est compliqué pour rien. Ça marche pour des trucs simple
>> mais ça devient vite compliqué. Il y a un ans, j'aurai été content d'avoir
>> un outil comme le tien pour SAP.
>>
>
> J'ai fait quelque chose de similaire, non pas avec SAP mais avec un
> système analogue d'un autre (très gros) éditeur: BMC/ARS Remedy (
> http://www.bmc.com/it-solutions/remedy-itsm.html).
>
> J'ai créé des extracteurs ARS Remedy pour activewarehouse-etl (avant de
> créer kiba), capables d'extraire la donnée en "change data capture" (donc
> extraire tout, ou bien extraire uniquement ce qui a changé depuis la
> dernière extraction), sur des volumes importants.
>
> J'ai également écrit un pont JRuby qui sait parler aux API Java d'ARS,
> pour être capable de créer, modifier, effacer des records avec une syntaxe
> proche d'ActiveRecord (on passe un Hash ruby etc).
>
> A partir de ces éléments techniques j'ai pu créer de nombreuses
> micro-applications d'extensions de ce CRM, dont:
> - une extension Ruby permettant d'injecter des validations métier lors de
> l'édition du CRM, via un appel de process externe (ex: valider un compte
> bancaire IBAN, dans le CRM qui ne le permettait pas simplement)
> - générer des documents PDF avec Prawn et les attacher au CRM
> - extraire des données du CRM pour les placer sur une carte exposée sur
> internet (gestion de réseau de partenaires etc)
> - un datawarehouse complet pour générer des rapports et KPI
>
> Et encore pas mal d'autres choses :-)
>
> Donc oui, je vois tout à fait le parallèle avec SAP, Ruby peut tout à fait
> être utilisé en entreprise pour développer des extensions à haute valeur
> ajoutée sur des systèmes plus "rigides" si j'ose dire, avec succès.
>
> Si quelqu'un a un intérêt fort à utiliser Ruby avec SAP pour des échanges
> de données, qu'il me contacte pour qu'on étudie une collaboration :-)
>
> -- Thibaut
>
>
>
>>
>> Le 10 novembre 2015 12:46, Thibaut Barrère <thibaut.barr...@gmail.com> a
>> écrit :
>>
>>> Salut Guirec,
>>>
>>> Juste pour savoir, au niveau de la rapidité, as tu pensé à utiliser
>>>> Crystal : http://crystal-lang.org/. À priori, ça me semble un bon
>>>> outil pour la rapidité tout en gardant l'élégance de Ruby. Par contre, ce
>>>> n'est pas encore très stable.
>>>>
>>>
>>> J'ai regardé il y a quelques temps mais effectivement pour l'instant je
>>> préfère conserver des choses assez stables.
>>>
>>> A titre d'information je commence à expérimenter des traitements de
>>> données avec Elixir (et également dans le passé JRuby et un peu de Java, ce
>>> qui va assez vite et permet de disposer de tout l'écosystème JVM).
>>>
>>> Voilà :-)
>>>
>>> -- Thibaut
>>>
>>>
>>>>
>>>> Bye,
>>>> Guirec.
>>>>
>>>> Le 10 novembre 2015 04:28, Florian Dutey <fdu...@gmail.com> a écrit :
>>>>
>>>>> Ca repond carrement. Merci beaucoup :)
>>>>>
>>>>> 2015-11-10 16:38 GMT+08:00 Thibaut Barrère <thibaut.barr...@gmail.com>
>>>>> :
>>>>>
>>>>>> Je sais pas si le sens en japonais est aussi precis, mais en chinois,
>>>>>>> c'est "dent" sans plus de precision (il est employe dans "se brosser les
>>>>>>> dents" par exemple). Du coup, j'avais interprete ca en mode "macher les
>>>>>>> donnees". J'etais pas si loin.
>>>>>>>
>>>>>>
>>>>>> Oui c'est l'idée!
>>>>>>
>>>>>>
>>>>>>> Sympa la pres' sinon.
>>>>>>>
>>>>>>
>>>>>> Merci :-)
>>>>>>
>>>>>>
>>>>>>> Mais je me demande (question utile cette fois): Le code est
>>>>>>> clairement super modulaire et c'est tres appreciable (c'est le point 
>>>>>>> que tu
>>>>>>> mets en avant) mais ruby en soit est pas super rapide pour ce genre
>>>>>>> d'operations.
>>>>>>> Qu'est-ce que ca donne sur des gros volumes de donnees? As-tu des
>>>>>>> comparaisons avec d'autres solutions? Est-ce que tu es capable de 
>>>>>>> donner un
>>>>>>> ratio "temps d'execution" par rapport aux "gains de productivite" et/ou
>>>>>>> "maintenabilite du code"?
>>>>>>>
>>>>>>
>>>>>> La cible est plutôt les datasets de taille moyenne (donc quelques
>>>>>> centaines de Mo à quelques Go par "nuit", voire plus selon le type de
>>>>>> traitement) que des gros volumes. Cela dit on peut optimiser de plusieurs
>>>>>> façons, notamment en détectant les boucles critiques et en déléguant le
>>>>>> traitement de certaines choses aux outils pertinents sur ces boucles (ex:
>>>>>> utiliser le bulk load de votre database destination, utiliser freebcp 
>>>>>> pour
>>>>>> exporter des gros volumes de données de SQLServer, appeler des outils 
>>>>>> comme
>>>>>> "embulk" à certaines phases du traitement etc), tout en gardant le 
>>>>>> contrôle
>>>>>> du work-flow global avec Ruby ce qui apporte beaucoup de souplesse.
>>>>>>
>>>>>> On peut également paralléliser le traitement (que ça soit avec un dév
>>>>>> custom, lancer N processes, ou encore avec le prototype Kiba Pro d'engine
>>>>>> multi-threadé qui permet de lancer le même job en mode multi-cores,
>>>>>> efficace même sur MRI lorsqu'on a des tâches qui sont "IO bound"), si 
>>>>>> c'est
>>>>>> pertinent.
>>>>>>
>>>>>> J'ai remarqué par ailleurs qu'il est fréquent de surestimer le volume
>>>>>> à traiter dans nos données (j'avais mentionné ça à Rulu en 2012 dans
>>>>>> un autre talk <https://youtu.be/LW863DOXqZQ?t=16m2s>), donc on a
>>>>>> parfois de bonnes surprises quant au débit obtenu :-)
>>>>>>
>>>>>> Pour les cas où le débit brut est absolument essentiel (centaines de
>>>>>> Go par jour, To etc), il est préférable d'utiliser d'autres solutions (et
>>>>>> je travaille aussi avec d'autres outils que Ruby pour ça, creusant
>>>>>> actuellement le big data etc etc).
>>>>>>
>>>>>> En conclusion, on peut travailler sur des volumes de données de
>>>>>> taille raisonnable (notamment dans mon cas, je travaille souvent avec des
>>>>>> startups SaaS en B2B, où le ratio "valeur de la data / coût du 
>>>>>> traitement"
>>>>>> est plus important qu'en B2C, et ou les sources de données sont souvent 
>>>>>> du
>>>>>> http où ruby n'est plus le bottleneck), tout en gardant un fort niveau de
>>>>>> qualité.
>>>>>>
>>>>>> J'espère que ça répond correctement à ta question!
>>>>>>
>>>>>> Thibaut
>>>>>> --
>>>>>> http://thibautbarrere.com/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> 2015-11-10 14:34 GMT+08:00 Thibaut Barrère <
>>>>>>> thibaut.barr...@gmail.com>:
>>>>>>>
>>>>>>>> Hello Florian,
>>>>>>>>
>>>>>>>> J'ai une question inutile.
>>>>>>>>> Etant donne que le HanZi veut dire "dent", est-ce le nom que tu
>>>>>>>>> voulais donner a ta gem? Si oui, pourquoi?
>>>>>>>>>
>>>>>>>>
>>>>>>>> C'est bien le nom que je voulais donner (enfin plutôt "croc" dont
>>>>>>>> j'ai vu souvent que c'était la signification plus précise).
>>>>>>>>
>>>>>>>> Quand je travaille sur des données, j'ai souvent l'impression qu'il
>>>>>>>> faut un peu "tailler dedans", creuser, etc; voilà un peu le lien même 
>>>>>>>> s'il
>>>>>>>> n'est pas primordial, le nom est court et facile à retenir et ça 
>>>>>>>> m'allait
>>>>>>>> bien également :-)
>>>>>>>>
>>>>>>>> -- Thibaut
>>>>>>>>
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe
>>>>>>>> "Railsfrance" de Google Groups.
>>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à
>>>>>>>> l'adresse railsfrance@googlegroups.com
>>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>>>>>>> railsfrance-unsubscr...@googlegroups.com
>>>>>>>> ---
>>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe
>>>>>>>> Google Groupes "Railsfrance".
>>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>>>>>> concernant, envoyez un e-mail à l'adresse
>>>>>>>> railsfrance+unsubscr...@googlegroups.com.
>>>>>>>> Pour obtenir davantage d'options, consultez la page
>>>>>>>> https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> --
>>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe
>>>>>>> "Railsfrance" de Google Groups.
>>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à
>>>>>>> l'adresse railsfrance@googlegroups.com
>>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>>>>>> railsfrance-unsubscr...@googlegroups.com
>>>>>>> ---
>>>>>>> Vous recevez ce message, car vous êtes abonné au groupe
>>>>>>> Google Groupes "Railsfrance".
>>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>>>>> concernant, envoyez un e-mail à l'adresse
>>>>>>> railsfrance+unsubscr...@googlegroups.com.
>>>>>>> Pour obtenir davantage d'options, consultez la page
>>>>>>> https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> --
>>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe
>>>>>> "Railsfrance" de Google Groups.
>>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à
>>>>>> l'adresse railsfrance@googlegroups.com
>>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>>>>> railsfrance-unsubscr...@googlegroups.com
>>>>>> ---
>>>>>> Vous recevez ce message, car vous êtes abonné au groupe
>>>>>> Google Groupes "Railsfrance".
>>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>>>> concernant, envoyez un e-mail à l'adresse
>>>>>> railsfrance+unsubscr...@googlegroups.com.
>>>>>> Pour obtenir davantage d'options, consultez la page
>>>>>> https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>> --
>>>>> --
>>>>> Vous avez reçu ce message, car vous êtes abonné au groupe
>>>>> "Railsfrance" de Google Groups.
>>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à
>>>>> l'adresse railsfrance@googlegroups.com
>>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>>>> railsfrance-unsubscr...@googlegroups.com
>>>>> ---
>>>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
>>>>> "Railsfrance".
>>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>>> concernant, envoyez un e-mail à l'adresse
>>>>> railsfrance+unsubscr...@googlegroups.com.
>>>>> Pour obtenir davantage d'options, consultez la page
>>>>> https://groups.google.com/d/optout.
>>>>>
>>>>
>>>> --
>>>> --
>>>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>>>> de Google Groups.
>>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à
>>>> l'adresse railsfrance@googlegroups.com
>>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>>> railsfrance-unsubscr...@googlegroups.com
>>>> ---
>>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
>>>> "Railsfrance".
>>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>>> concernant, envoyez un e-mail à l'adresse
>>>> railsfrance+unsubscr...@googlegroups.com.
>>>> Pour obtenir davantage d'options, consultez la page
>>>> https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> --
>>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>>> de Google Groups.
>>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>>> railsfrance@googlegroups.com
>>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>>> railsfrance-unsubscr...@googlegroups.com
>>> ---
>>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
>>> "Railsfrance".
>>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>>> concernant, envoyez un e-mail à l'adresse
>>> railsfrance+unsubscr...@googlegroups.com.
>>> Pour obtenir davantage d'options, consultez la page
>>> https://groups.google.com/d/optout.
>>>
>>
>> --
>> --
>> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance"
>> de Google Groups.
>> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
>> railsfrance@googlegroups.com
>> Pour résilier votre abonnement envoyez un e-mail à l'adresse
>> railsfrance-unsubscr...@googlegroups.com
>> ---
>> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
>> "Railsfrance".
>> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
>> concernant, envoyez un e-mail à l'adresse
>> railsfrance+unsubscr...@googlegroups.com.
>> Pour obtenir davantage d'options, consultez la page
>> https://groups.google.com/d/optout.
>>
>
> --
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> railsfrance@googlegroups.com
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> railsfrance-unsubscr...@googlegroups.com
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> railsfrance+unsubscr...@googlegroups.com.
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à