J'ai publié, il y a quelques temps, une présentation enregistrée de 45' qui présente la technologie Oracle Real Application Clusters et ses multiples intérêts. Ce tutorial a un succès d'estime et plusieurs personnes m'ont demandé si elle pouvaient le télécharger... Biensûr :
-GarK!
30 novembre 2006
Bascule, Load balancer, VIP, Reverse Proxy et... Enterprise Manager Grid Control
Une des questions qui revient souvent à propos du GridControl, c'est "Comment le sécuriser ou plutôt le fiabiliser ?". Si vous aussi, vous vous posez cette question, voici quelques réflexions et liens qui vous seront utiles :
GarK!
- Pour ce qui est du référentiel OMS (la base de données), on imagine des solutions très simplement comme RMAN, Flash Recovery Area, Data Guard, Clusterware, RAC... Rien à dire ! Tout ça doit marcher (en fait, ça marche même !) ; il y a toutefois 2 questions auxquelles il faut que vous répondiez :
- Que doit-on faire après un RECOVER PITR sur le référentiel OMS ? C'est à dire lorsqu'on a malgré tout perdu avec une baie de stockage, par exemple, plusieurs transactions validées. En particulier, quel est l'impact sur les agents qui ont chargés des données dans l'OMS et pour lesquels ces données seront perdue ?
- Si le référentiel OMS ne nécessite pas l'achat de licences (cf la section "Infrastructure Repository Databases" de "Special-Use Licensing" de "Oracle Database Licensing Information - 10g Release 2 (10.2) - Part Number B14199-06", qu'en est-il de l'utilisation de RAC ou de Data Guard sur ce référentiel ? (Je ne connais pas la réponse et suis intéressé si vous arrivez à y répondre !)
- Pour ce qui est du serveur d'applications et de l'application Enterprise Manager, beaucoup de choses sont possibles :
- Commençons par ce qui ne l'est pas (au moins avec Enterprise Manager 10.2.0.2) ! Vous ne pourrez par changer le nom de la machine sur laquelle vous avez déjà installé Enterprise Manager. Il faudra desinstaller et réinstaller l'application. Pour vous en assurer, recherchez avec les mots clés "How to change OMS hostname post install" sur http://metalink.oracle.com.
- En revanche, il est biensûr possible d'installer le GridControl et de le forcer à ce qu'il utilise un "hostname virtuel" pour ensuite le sécuriser avec un clusterware (y compris celui d'Oracle). Vous pouvez vous reportez à la section "3.8 Using Virtual Hostnames for Active/Passive High Availability Environments in Enterprise Manager Database Control" du Guide utilisateur "Oracle Enterprise Manager Advanced Configuration - 10g Release 2 (10.2) - Part Number B16242-03". Vous y apprendrez qu'il suffit d'ajouter l'argument ORACLE_HOSTNAME=[vhost] lorsque vous démarrez "runInstaller"
- Mieux que de gérer une bascule, il est également possible de mettre en place 2 OMS sur le même référentiel OMS. Pour comprendre de quoi il s'agit, reportez-vous à la Figure 3-3 du Guide utilisateur "Oracle Enterprise Manager Advanced Configuration - 10g Release 2 (10.2) - Part Number B16242-03". Dans ce cas, il n'est pas nécessaire de gérer des bascules. Par contre, reste la question de savoir comment accéder indifféremment les machines 1 ou 2 (ou 3 ou 4...) de l'OMS !
- Pour régler ce dernier point, sachez qu'il est possible d'utiliser un LoadBalancer devant l'OMS et ainsi assurer la continuité des accès au service. A partir de ces méthodes vous arriverez également au moyen d'un reverse-proxy à mettre en place des adresses IP virtuelles (VIP) . Pour en savoir plus à propos de ce type de configurations, reportez-vous aux sections "3.6.1 Load Balancing Connections Between the Management Agent and the Management Service" et "3.6.2 Load Balancing Connections Between the Grid Control Console and the Management Service" de "Oracle Enterprise Manager Advanced Configuration - 10g Release 2 (10.2) - Part Number B16242-03". Vous pouvez également rechercher ce qui suit "How to Configure Grid Control 10.2 behind a server load balancer (SLB)" sur "http://metalink.oracle.com".
GarK!
Labels:
database,
grid control,
oracle
Links to this post
18 novembre 2006
Un peu d'interaction /*+Web 2.0*/
Grâce à pollhost.com, il est possible de créer simplement des questionnaires pour interagir entre nous. Par exemple, répondrez-vous à la question suivante...
-GarK!
-GarK!
Labels:
web 2.0
Links to this post
17 novembre 2006
FireFox plugins pour LinkedIn.com /*+Web 2.0*/
La plugin 3.0 pour Firefox 2.0 de LinkedIn.com permet de faire le lien direct entre votre compte Google Mail et vos contacts... Un exemple ci-dessous :
Passez un peu de temps dans le catalogue de plugin FX. Et si vous voulez entrez en contacts... Invitez moi sur LinkedIn en m'envoyant une invitation à "arkzoyd at gmail dot com" !
-GarK!
Passez un peu de temps dans le catalogue de plugin FX. Et si vous voulez entrez en contacts... Invitez moi sur LinkedIn en m'envoyant une invitation à "arkzoyd at gmail dot com" !-GarK!
Labels:
web 2.0
Links to this post
Apologie de JavaServer Faces (JSF) /*+Quoique*/
Un modèle de développement "MVC" (Model-View-Controller) est un canevas qui permet de séparer les aspects de développement du modèle métier (le "Model"), de la logique de présentation (la "View") et de la logique d'interaction avec l'utilisateur (le "Controller"). Il y a plusieurs intérêts à utiliser un framework MVC ; en particulier, ça permet de séparer les tâches et ainsi de diviser pour régner :

Parfait... Si tout est si bien et facile pour développer des applications qui suivent le modèle MVC grâce à Java EE et JavaServer Faces, pourquoi en parler ? Pour poser une question : Comment fait-on pour intégrer de manière simple et souple M-V-C ? Et bien justement, c'est le sujet que j'aborderai dans une de mes prochaines discussions.
-GarK!
- Un graphiste peut développer les écrans, un spécialiste du SOA ou des bases de données, développer le model et un développeur web de coder les interactions
- Vous pouvez simplement remplacer un des aspects de votre développement et :
- créer rapidement une maquette en ramplaçant vos composants métiers ne sont pas encore disponibles par des "bouchons"
- changer la présentation et la logique d'interaction en réutilisant la couche métier (pour passer du client/serveur au web, au web 2.0 ou fournir plusieurs type d'interfaces pour la même application)
- Vous pouvez ré-utiliser le code métier, en offrant une couche d'interaction sous forme de services
- Les tests de chaque partie de votre application peuvent être séparés.
- Le modèle MVC structure vos développements et améliore leur lisibilité... Si en outre, vous utilisez le best of breed des technologies pour développer chacun de ces aspects, vous accélèrer vos développements
- ...
- Avec Struts, il fallait dire : "Si l'utilisateur demande telle page et que grâce aux attributs qu'il envoie (et que je récupère quasi-explicitement) je m'apercois qu'il a cliqué sur tel bouton... Alors". Ce modèle a vraiment changé la façon de développer des applications web et est éprouvé mais...
- Avec JSF, vous dites simplement : "Si l'utilisateur clique sur tel bouton (ou lien...), alors". Comme vous le faîtes en Swing ou (peut-être) en Visual Basic.
- récupère implicitement l'ensemble des composants d'une page et offre une API pour y accèder de manière programmatique,
- déclenche les évènements liés aux modifications saisies par les utilisateurs,
- offre un référentiel pour permettre à tous de créer et partager des composants intelligents. De nombreuses implémentations existent d'ailleurs (cf JSFCentral) et permettent de développer des interfaces web riches (cf AJAX, RIA, Web 2.0) sans connaître toutes les technologies des navigateurs web,
- adresse des presentations différentes pour des terminaux différents,
- permet i18n et L10n,
- fait parti du standard Java EE,
- est capable de tirer parti de nombreuses technologies de présentation (Java Server Pages *JSP*) et de nombreuses technologies de type Model (Enterprise JavaBeans 3.0 *EJB3*)
- Est facile à utiliser et est intégré dans la plupart des Environnements de développements Java, comme ci-dessous

Parfait... Si tout est si bien et facile pour développer des applications qui suivent le modèle MVC grâce à Java EE et JavaServer Faces, pourquoi en parler ? Pour poser une question : Comment fait-on pour intégrer de manière simple et souple M-V-C ? Et bien justement, c'est le sujet que j'aborderai dans une de mes prochaines discussions.
-GarK!
Labels:
jsf,
web 2.0
Links to this post
16 novembre 2006
Editeur WYSIWYG et JavaServer Faces
Dans les applications web, les utilisateurs veulent parfois pouvoir saisir du texte formaté (i.e. avec des caractères gras, des images, des hyperliens, etc...). Voici un truc très simple pour transformer un "textarea" en éditeur HTML dans vos applications. Ceci, si vous développez votre application en JavaServer Faces (JSF) ou avec les composants ADF Faces ou Trinidad.

Il existe un ensemble de packages javascript pour transformer une balise HTML "testarea" en editeur WYSIWYG. Il suffit pour cela de downloader TinyMCE. Allez sur la page de download du package
TinyMCE offre de nombreuses possibilités (plugin) de personalisation... mais c'est déjà une autre histoire. En attendant, vous pouvez télécharger un projet JDeveloper 10.1.0.3.1 qui illustre l'utilisation de TinyMCE dans une page simple.
-GarK!

Il existe un ensemble de packages javascript pour transformer une balise HTML "testarea" en editeur WYSIWYG. Il suffit pour cela de downloader TinyMCE. Allez sur la page de download du package
- copiez l'ensemble du répertoire tinymce/jsscripts/tiny_mce dans la racine des fichiers html de votre application
- dans la page dans laquelle vous voulez utiliser un textarea sous la forme d'un editeur HTML WYSIWYG, ajoutez la ligne tiny_mce/tiny_mce.js
- Ajoutez le composant standard JSF "h:textarea"
- Avant ce composant et dans une balise "h:verbatim", ajoutez une balise script qui contient tinymce.init({mode : "textareas"}); ou une variante. Pour plus d'exemples, regardez dans la documentation tinyMCE, cet exemples ou d'autres et leur code source.
TinyMCE offre de nombreuses possibilités (plugin) de personalisation... mais c'est déjà une autre histoire. En attendant, vous pouvez télécharger un projet JDeveloper 10.1.0.3.1 qui illustre l'utilisation de TinyMCE dans une page simple.
-GarK!
Labels:
java,
jsf
Links to this post
14 novembre 2006
Ayez confiance en Oracle comme en vous-même /*+SQL Amer #5*/
Le 5e volet de mes exemples qui illustrent le fonctionnement du Cost Based Optimizer Oracle est désormais disponible. J'ai mis du temps mais je pense que vous comprendrez pourquoi à sa lecture.
D'autre part,
-GarK!
D'autre part,
- Si vous voulez accéder aux exemples précédents, n'hésitez pas à vous reporter à la page d'index de la série ici
- Syndiquez vous à mon blog grâce à ce newsfeed Atom pour recevoir mon prochain article directement.
-GarK!
Labels:
antipattern,
database,
oracle,
sql
Links to this post
12 novembre 2006
25 ans d'ordinateurs en video
Un article qui regroupe 25 ans de publicités d'ordinateurs. Ca permet de comprendre à quoi sert YouTube ! Remarquez c'est un peu cher (1,65 milliards de dollars US) pour un article. Enfin, c'est pas mon argent.
Jetez un oeil ici pour le fameux article !
-GarK!
Jetez un oeil ici pour le fameux article !
-GarK!
11 novembre 2006
JSF et Test Driven Development /*+Facile*/
Bonjour,
Dans les 1,000 questions pour développer des applications web en Java auxquelles j'ai finalement réussi à répondre, il y a :
Par ailleurs, pour développer des tests plus complets ou gérérer de la charge, servez vous de :
-GarK!
Dans les 1,000 questions pour développer des applications web en Java auxquelles j'ai finalement réussi à répondre, il y a :
- Comment tester des applications web sans y passer des heures ?
- Comment développer des tests fonctionnels complets sans LoadRunner ou d'autres outils évolués ?
- Comment développer des tests de charge qui ne soient pas trop simples et toujours sans LoadRunner ou d'autres outils évolués ?
- Comment inter-agir avec des sites web de manière programmatique (cf une première tentative ici) ?
- Comment appliquer le "Test Driven Development" aux développements JavaServer Faces ?
- WebClient wc = new WebClient(); permet de simuler un navigateur web et de stocker ce simulateur dans la variable "wc"
- HtmlPage page = (HtmlPage) wc.getPage("http://www.google.com"); permet d'ouvrir la page d'accueil de Google avec le navigateur web
- String title = page.getTitleText(); met le titre de la page dans la variable "title"
- HtmlForm form = page.getFormByName("f"); met le formulaire HTML dont le nom est "f" dans la variable "form"
- HtmlTextInput input = (HtmlTextInput)form.getInputByName("q"); récupère le champ dont le nom est "q" et le met dans la variable "input"
- input.setValueAttribute("arkzoyd"); ajoute le texte "arkzoyd" dans le champ contenu dans la variable "input"
- HtmlSubmitInput button = (HtmlSubmitInput) form.getInputByName("btnG"); met le bouton "Submit" du formulaire "form" dans la variable "button"
- HtmlPage page2 = (HtmlPage)button.click(); simule un clic sur le bouton "button" et récupère la page HTML correspondant dans la variable "page2"
- ...
Par ailleurs, pour développer des tests plus complets ou gérérer de la charge, servez vous de :
- L'API de journalisation (java.util.Logger) de Java SE
- Le projet Apache Jakarta JMeter qui permet de générer de la charge avec des scénarios complexes si vous les développez sous forme de programmes Java comme celui qui précède
-GarK!
Labels:
apache,
java,
jsf
Links to this post
09 novembre 2006
SQL Developer 1.1 Evaluation /*+Wow*/
SQL*Developer 1.1 (aka Raptor) est désormais téléchargeable en version d'évaluation... "Evaluation" signifie que les équipes de développement veulent partager leur enthousiasme; ça ne signifie pas que cet outil va devenir payant ! Pourquoi pas Beta ou Early Adopter comme d'habitude ?
La liste des nouvelles fonctionnalités est très intéressantes et vraiment utile... Pour télécharger l'outils en bypassant le questionnaire, cliquez ici.
Surtout cette annonce est très importante parce qu'elle nous rapproche encore de la version suivante qui devrait permettre de tirer le meilleur parti d'AWR, ADDM et les Tuning et Access Advisors.... Si j'ai bien compris !
GarK!
La liste des nouvelles fonctionnalités est très intéressantes et vraiment utile... Pour télécharger l'outils en bypassant le questionnaire, cliquez ici.
Surtout cette annonce est très importante parce qu'elle nous rapproche encore de la version suivante qui devrait permettre de tirer le meilleur parti d'AWR, ADDM et les Tuning et Access Advisors.... Si j'ai bien compris !
GarK!
Labels:
database,
oracle,
sql
Links to this post
08 novembre 2006
Règles et licences Oracle
Une des choses qui m'a toujours le plus étonné d'Oracle, c'est à quel point les informations sont disponibles... Si bien que certaines réponses sont aussi bien (ou mal) connues d'Oracle que de ses clients.
Pour savoir ce que vous pouvez faire avec une licence ou quelle(s) licence(s) il faut pour faire ceci ou cela, les informations sont aussi disponibles. Enfin, disponible ne signifie pas toujours simple à trouver et comprendre... Je vous propose quelques clés pour vous aider.
Les sources d'informations sont multiples :
-GarK!
Pour savoir ce que vous pouvez faire avec une licence ou quelle(s) licence(s) il faut pour faire ceci ou cela, les informations sont aussi disponibles. Enfin, disponible ne signifie pas toujours simple à trouver et comprendre... Je vous propose quelques clés pour vous aider.
Les sources d'informations sont multiples :
- les "Licencing Information Guide" font désormais parti des documentations standard livrées avec les produits... Par exemple, Oracle Database 10.2, Oracle Application Server 10.1.2.0.2 ou Oracle Enterprise Manager 10.2
- Oracle Software Investment Guide (e.g. les métriques, les batchs, les multi-cores, les technologies de virtualisation) est disponible à partir de la page qui lui est dédiée sur le site Oracle.com
- Oracle Store peut vous aider à évaluer vos coûts sur la base des prix listes et des niveaux de discount standard.
- Metalink également quelques informations précieuses sur les licences.
- Les équipes commerciales Oracle répondent à vos questions et vous aident à transposer les règles à votre contexte particulier
- Faut-il payer des licences base de données ou du serveur d'applications pour installer le GridControl sur une machine tierce ? Non, la réponse est dans le Licence Information Guide de la base de données. De même qu'il est possible d'utiliser Oracle Internet Directory (OID) pour stocker les alias TNS ou une base de données pour gérer le catalogue Recovery Manager, ces possibilités sont couvertes par vos licences de bases de données
- La technologie Real Application Clusters est incluse dans la version Standard Edition jusqu'à concurrence de 4 processeurs et 8 "cores" pour l'ensemble de la configuration qui ne doit pas être évolutive au-delà (cf Oracle Software Investment Guide). Est-il possible de faire du cluster distant (autrement dit stretch-cluster ou geo-cluster) avec une version Standard Edition ? Non, la réponse est sur Metalink
- Les packs Diagnostic et Tuning pour les bases de données sont-ils des options du GridControl ? En fait, Non. Ces packs sont liés à l'utilisation de la base de données : si vous utilisez certaines vues ou certains packages PL/SQL (comme DBMS_SQLTUNE ou DBMS_ADVISOR) de votre base de données, il faut licencier ces options. Leur métrique doit donc correspondre à la métrique de la base de données sur laquelle vous comptez utiliser ces options. Biensûr, si vous utilisez les pages "Performances" ou "Historique des alertes" du Grid Control, il faut les licences correspondantes de ces packs de la base de données (cf Licence Information Guide de la base de données)
- Est-il possible d'utiliser le GridControl pour superviser des bases de données Standard Edition ou Standard One ? Oui, la réponse est sur Metalink. Cette question vient probablement du fait qu'il n'est plus aujourd'hui possible de licencier des packs d'administration du GridControl avec une autre version que l'Enterprise Edition. Pourtant il est possible d'utiliser Enterprise Manager GridControl sans avoir payé les packs, même si dans ce cas, certaines fonctions ne peuvent pas être utilisées.
- Que faut-il comme licence pour utiliser le clusterware d'Oracle ? Il faut avoir au moins une licence Standard Edition pour une des machines qui fait partie du cluster. Il n'y a pas besoin de licencier toutes les machines si par exemple vous vous en servez pour sécuriser des services non Oracle. Le clusterware n'est donc pas lié à la technologie Real Application Clusters (cf Licence Information Guide de la base de données)
- Que faut-il comme licence pour faire de l'ASM en clusters pour des bases de données qui ne sont pas en RAC ? Apparamment il ne faudrait pas nécessairement de licences Real Application Clusters sauf, biensûr, si vos bases sont aussi en RAC. Si vous arrivez à confirmer ce point, cela serait très intéressant car permettrait de mutualiser du stockage pour plusieurs machines. Je n'ai trouvé aucun document officiel sur ce point mais j'ai une bonne raison de penser que c'est le cas.
- Que faut-il comme licence pour faire du RAC ou du Data Guard pour les référentiels GridControl, RMAN ou OID (pour gérer les TNS) ? Je n'en sais rien et j'aimerais le savoir... à votre avis ?
-GarK!
Labels:
clusterware,
database,
grid control,
oracle
Links to this post
03 novembre 2006
Real Application Clusters en 45' /*+Recorded*/
Bonjour,
Suite à mes tutorials enregistrés précédent, on peut faire un bilan : vous appréciez la méthode mais les solutions opensource, c'est à dire CamStudio puis Wink, me posent pas mal de problèmes. Je devrais dire, c'est sans doute ça, que j'ai de trop gros doigts pour m'en servir. J'ai donc pris le parti d'investir dans Qarbon ViewletBuilder et de reprendre mes tutorials autours des technologies Java EE et d'Oracle 10g.
Ca donne un premier volet autour de la technologie Real Application Clusters. Il s'agit d'une présentation de 45' environ qui répond aux questions "Qu'est la technologie RAC ? Qu'est-ce qu'elle apporte ? et Comment peut-on s'en servir pour transformer les infrastructures existentes en infrastructures Grid ?". Son titre est :
J'espère que cette initiative vous intéressera. N'hésitez pas à me faire part de vos feedbacks en commentant ce thread ou en m'envoyant un mail à "arkzoyd at gmail point com". Syndiquez-vous à mon blog en ajoutant mon flux atom à votre solution de News Feed.
A bientôt,
-GarK!
Suite à mes tutorials enregistrés précédent, on peut faire un bilan : vous appréciez la méthode mais les solutions opensource, c'est à dire CamStudio puis Wink, me posent pas mal de problèmes. Je devrais dire, c'est sans doute ça, que j'ai de trop gros doigts pour m'en servir. J'ai donc pris le parti d'investir dans Qarbon ViewletBuilder et de reprendre mes tutorials autours des technologies Java EE et d'Oracle 10g.
Ca donne un premier volet autour de la technologie Real Application Clusters. Il s'agit d'une présentation de 45' environ qui répond aux questions "Qu'est la technologie RAC ? Qu'est-ce qu'elle apporte ? et Comment peut-on s'en servir pour transformer les infrastructures existentes en infrastructures Grid ?". Son titre est :
J'espère que cette initiative vous intéressera. N'hésitez pas à me faire part de vos feedbacks en commentant ce thread ou en m'envoyant un mail à "arkzoyd at gmail point com". Syndiquez-vous à mon blog en ajoutant mon flux atom à votre solution de News Feed.
A bientôt,
-GarK!
Labels:
clusterware,
database,
oracle,
rac
Links to this post
Inscription à :
Messages (Atom)