SAS 9.1 - Construire des plug-ins dans SAS Management Console

publicité
Construire des plug-ins pour
SAS® Management Console
SAS 9.1
Janvier 2005
Sommaire
1
INTRODUCTION ................................................................................................................................................... 3
1.1
1.2
OBJECTIFS .......................................................................................................................................................... 3
PERIMETRE ........................................................................................................................................................ 3
2
LES COMPOSANTS DE SAS MANAGEMENT CONSOLE ............................................................................ 4
3
LA CONSTRUCTION DE PLUG-IN ................................................................................................................... 6
3.1
3.2
3.3
DEVELOPPEMENT D’UN PLUG-IN TOOL .............................................................................................................. 6
DEVELOPPEMENT D’UN PLUG-IN NAVIGATION................................................................................................. 15
DEVELOPPEMENT D’UN PLUG-IN D’EXTENSION ................................................................................................ 21
Page 2 sur 22
1 INTRODUCTION
1.1
OBJECTIFS
SAS Management Console est une console Java d’administration unique qui permet d'administrer tout le
Système SAS® et ses métadonnées depuis un point d'accès convivial et portable sur tous les
environnements décisionnels.
Ce point central de la plateforme SAS vous permet de gérer la sécurité de vos ressources en fonction des
utilisateurs, les différents serveurs SAS et bibliothèques présents dans votre organisation, les référentiels
de vos métadonnées, les licences de vos serveurs SAS.
Cet outil offre ces possibilités à travers l’utilisation de composants appelés « plug-ins ». Grâce à sa
conception en technologie Java, la console d’administration de SAS® 9 devient complètement
personnalisable et vous laisse une grande liberté d’action : vous avez la possibilité de créer vos propres
plug-ins pour répondre aux besoins spécifiques de votre entreprise.
1.2
PERIMETRE
Ce document est propre à la version SAS 9.1.
Page 3 sur 22
2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE
Voici l’interface de SAS Management Console :
Nous pouvons décomposer cette console en différentes parties :
Page 4 sur 22






La barre de menus contient les menus suivants : File, Edit, Actions, View, Roadmaps, Help.
Le menu Actions apparaît seulement s’il y a des actions possibles en fonctions du plug-in
sélectionné.
La barre d’outils inclut des boutons permettant les actions suivantes : Up (Dossier Parent,), Open,
Copy, Paste, et Delete. Le plug-in sélectionné peut désactiver certains de ces boutons ou en
ajouter selon le cas.
La barre du référentiel permet à l’utilisateur de choisir le référentiel qu’il souhaite afficher.
L’arbre de navigation affiche des nœuds correspondants aux différents plug-ins disponibles dans
votre SAS Management Console. Il supporte l’agrandissement et la réduction des nœuds selon le
plug-in sélectionné.
La zone d’affichage correspond au lieu où apparaissent les informations relatives au nœud
sélectionné.
Les plug-ins installés par défaut dans SAS Management Console sont les suivants :
Authorization
Manager
Définition des droits sur les métadonnées en fonctions des différents groupes et/ou
utilisateurs.
Data Library
Manager
Création des bibliothèques et des schémas de base de données.
Metadata Manager
Définition d’un référentiel de métadonnées, réalisation des actions de réplication ou
de promotion.
Schedule Manager
Planification de l’exécution de traitements créés dans SAS ETL Studio.
Server Manager
Définition des différents serveurs SAS.
User Manager
Création des utilisateurs et des groupes.
License Manager
Visualisation des informations relatives à vos licences SAS
XMLMap Manager
Importation et création des XMLMaps qui sont des interpréteurs de fichiers XML.
®
Maintenant intéressons-nous au développement de notre propre plug-in.
Page 5 sur 22
3 LA CONSTRUCTION DE PLUG-IN
Tout dépend en fait du type de plug-in que vous souhaitez développer. Dans tous les cas il vous faudra
implémenter une interface correspondant à un ensemble de classes et de méthodes Java utilisables.
Disponibilité du plug-in
dans…
L’arbre de navigation
Type de
plug-in
Navigation
Classe à implémenter
PluginNavigationInterface
Un plug-in de navigation apparaît dans l’arbre de
navigation et offre des fonctionnalités dans la zone
d’affichage, la barrer de menus, et la barre d’outils.
Une fenêtre séparée
En collaboration avec un
autre plug-in
Tool
PluginToolInterface
Extension
Un plug-in Tool est listé dans le menu « Tools » et
apparaît lors de son activation dans une fenêtre
séparée.
PluginExtensionInterface
Un plug-in d’extension fonctionne en collaboration avec
d’autres plug-ins, en permettant l’ajout d’actions dans
leur menu, barre d’outils, ou en ajoutant des onglets à
leur fenêtre de « propriétés ».
Le développement de plug-in requiert des connaissances en programmation Java, mais grâce à la suite de
®
développement Java de SAS : SAS AppDev Studio, la démarche est simplifiée.
En effet, avec WebAF 3.0 vous pouvez, directement en créant un nouveau projet, spécifier que vous
souhaiter développer un plug-in pour la SAS Management Console, le produit prépare alors les fichiers et
les implémentations nécessaires à sa réalisation.
3.1
DEVELOPPEMENT D’UN PLUG-IN TOOL
Pour la création d’un tel plug-in, lancez WebAF, puis créez un nouveau projet.
Choisissez comme type de projet « SASMC Plug-in Project ».
Définissez un nom, un package (prenez « sas.smc » qui est le package par défaut des plug-ins pour SAS
Management Console).
Page 6 sur 22
Page 7 sur 22
Choisissez ensuite le type de plug-in, dans notre cas « Tool », puis cliquez sur « Finish ».
Page 8 sur 22
WebAF génère automatiquement un fichier Java, et un fichier de propriétés.
Vous pouvez alors commencer le développement de votre plug-in.
A partir de ce moment, vous pouvez compiler votre projet, créer un fichier Jar, et le déployer dans votre
SAS Management Console. Il en résultera l’ajout d’un objet dans le menu « Tools » de la console.
Mais lorsqu’on active notre plug-in, nous souhaitons que les informations relatives aux modes de contact
du Support Clients SAS France s’affichent.
Intéressons-nous donc au fichier Java généré (dans notre cas fabricePlugin.java) et personnalisons-le avec
notre code.
Nous voulons créer un événement au moment de l’activation de notre plug-in, rajoutons-donc notre code au
niveau de la définition de la méthode « actionPerformed » qui correspond à l’action déclenchée lorsque
l’utilisateur cliquera sur notre objet.
public void actionPerformed(java.awt.event.ActionEvent event)
{
javax.swing.JFrame
frame
=
new
JFrame
("Support
France") ;
javax.swing.JPanel panel = new JPanel() ;
frame.setSize(500,150) ;
Container container = frame.getContentPane();
container.setLayout(new BorderLayout());
JPanel topPanel = new JPanel();
Page 9 sur 22
Clients
SAS
topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.X_AXIS));
JPanel infoPanel = new JPanel();
infoPanel.setBorder(new EmptyBorder(10, 10, 0, 10));
infoPanel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 1;
c.gridwidth = 3;
c.weightx = 0.0;
c.weighty = 0.0;
c.fill = GridBagConstraints.BOTH;
c.anchor = GridBagConstraints.WEST;
c.insets = new Insets(10, 0, 2, 15);
JLabel supportTel = new JLabel("Par téléphone : 01 60 62 12 12" );
supportTel.setForeground(Color.black);
infoPanel.add(supportTel, c);
c.gridy = GridBagConstraints.RELATIVE;
c.insets = new Insets(2, 0, 15, 5);
JLabel
supportWeb
=
new
JLabel("Par
Internet
http://www.sas.com/offices/europe/france/services/support/submit_emits3.html"
);
supportWeb.setForeground(Color.black);
infoPanel.add(supportWeb, c);
container.add(BorderLayout.NORTH, infoPanel);
:
frame.show() ;
}
}
Dans ce code nous créons simplement une « frame » qui contiendra le numéro de téléphone pour joindre le
Support Clients SAS France, ainsi que l’adresse internet pour ouvrir un dossier en ligne.
Page 10 sur 22
Nous allons maintenant compiler et construire le fichier Java archive (JAR) qui va nous permettre le
déploiement.
Pour ce faire cliquer sur « Build », puis « Project Tasks », et enfin sur « package-smcPlugin » :
Page 11 sur 22
WebAF compile et construit l’archive à l’endroit où vous avez créé votre projet.
Ensuite pour que votre plug-in soit visible dans SAS Management Console, il vous faut copier ce fichier Jar
dans le répertoire dédié à l’installation de plug-in pour SAS Management Console.
Sous Windows ce répertoire est par défaut :
C:\Program Files\SAS\SASManagementConsole\9.1\plugins
Page 12 sur 22
Relancez ensuite votre console d’administration pour bénéficier du nouveau plug-in, actionnez-le en
utilisant le menu « Tool », puis le nom que vous avez donné à votre nouvel objet :
Page 13 sur 22
Vous venez donc de créer votre premier plug-in dans SAS Management Console.
Nous allons maintenant nous intéresser à un deuxième type de plug-in, qui permet un affichage dans l’arbre
de navigation.
Page 14 sur 22
3.2
DEVELOPPEMENT D’UN PLUG-IN NAVIGATION
Nous allons créer ici un exemple qui vous permettra de consulter l’arborescence de votre configuration SAS
9 depuis la console d’administration.
Tout d’abord il faut savoir qu’il existe différentes catégories de plug-in de navigation dans SAS Management
Console.
Vous devez choisir à quel endroit vous souhaiter voir apparaître votre plug-in.
Environment Management
Monitoring
Maintenance
Application Management
De la même manière que pour le plug-in Tool, il est nécessaire de créer un nouveau projet dans WebAF de
type « SASMC Plug-in » en prenant soin de définir un nom, et un package.
Page 15 sur 22
Choisissez ensuite le type de plug-in, dans notre cas « Navigation», puis cliquez sur « Finish ».
Remarquez ici que vous pouvez cocher des cases afin que WebAF crée des fichiers correspondants aux
attentes particulières de votre plug-in, notamment si celui-ci requiert une connexion à un serveur de
métadonnées.
Page 16 sur 22
La fenêtre suivante nous invite à choisir la catégorie dans laquelle on souhaite afficher notre plug-in, l’image
qui lui servira d’icône, le texte affiché lorsque le pointeur de la souris le survolera, son type d’affichage, et
enfin s’il supporte le « glisser-lâcher ».
Page 17 sur 22
Une fois toutes ces informations saisies, WebAF se charge de créer les fichiers correspondants dans le
projet.
Vous pouvez désormais procéder au développement.
Vous avez la possibilité d’interagir ici avec toutes les actions disponibles pour un plug-in de navigation
standard. C'est-à-dire que vous pouvez créer des nœuds sous votre plug-in en spécifiant quel affichage doit
en découler dans la zone d’affichage.
Ici nous avons décidé d’afficher les fichiers présents dans le répertoire où vous avez créé votre
configuration, au moment où l’utilisateur clique sur notre plug-in.
Pour ce faire nous avons personnalisé la classe correspondant au nœud principal de notre plug-in :
Cette classe se nomme : nom_de_votre_pluginRootNode :
[…]
public
fabriceNavigationPluginRootNode(
String strName )
{
super( plugin, strName );
PluginNavigationInterface
m_childNodesList = new Vector();
m_itemList = new Vector();
//to be overwritten by your own code
File rootDirectory = new File("C:\\SAS9\\Config\\");
File[] contentOfRoot = rootDirectory.listFiles();
for(int counter=0; counter<contentOfRoot.length; ++counter)
Page 18 sur 22
plugin,
{
m_itemList.add(new
fabriceNavigationPluginItem(this,
contentOfRoot[counter].getPath()));
}
m_tableModel = new fabriceNavigationPluginTableModel(this, m_itemList);
}
[…]
Puis nous devons modifier la classe nom_de_votre_pluginTableModel qui correspond aux méthodes
relatives à l’affichage du résultat dans la zone d’affichage :
[…]
/*
* Gets the number of columns in the table
*
* return: Iinteger representing the number of columns in the table
*/
public int getColumnCount()
{
//overwrite the following line to return the number of columns
return 1;
}
/*
* Gets the column name of the column at the given index in the table
*
* param: columnIndex Index of the column in the table
* return: Name of the column at the given index
*/
public String getColumnName( int columnIndex )
{
String strColumnName = "";
//overwrite the following lines to
//determine the colum name based on the column index
strColumnName
=
fabriceNavigationPlugin.m_rb.getString("fabriceNavigationPluginTableModel.Colum
nHeader.1.txt");
return strColumnName ;
}
[…]
Une fois ces étapes réalisées, comme pour le plug-in Tool, il vous faut copier ce fichier Jar dans le
répertoire dédié à l’installation de plug-in pour SAS Management Console afin qu’il soit visible dans la
console d’administration.
Sous Windows ce répertoire est par défaut :
C:\Program Files\SAS\SASManagementConsole\9.1\plugins
Relancer ensuite votre console d’administration pour bénéficier du nouveau plug-in, en cliquant dessus à
travers l’arbre de navigation.
Page 19 sur 22
Vous venez donc de créer un nouveau plug-in de navigation. A travers WebAF vous avez la possibilité
d’exécuter toutes les actions que vous souhaitez (menu contextuel, fenêtre propriété, double clique en zone
d’affichage,…), néanmoins une certaine connaissance du langage Java est un atout majeur dans ce cas là.
Page 20 sur 22
3.3
DEVELOPPEMENT D’UN PLUG-IN D’EXTENSION
Les plug-ins d’extension sont quant à eux des plug-ins permettant d’interagir avec des plug-ins déjà
existants en ajoutant des actions lors de l’activation d’entrée du menu contextuel, ou de la barre d’outils.
De la même manière que les autres plug-ins, WebAF simplifie la création de ce type de plug-in.
Finalement, la construction de plug-in peut s’avérer très utile dans le cas d’une réponse à un besoin
particulier dans une entreprise. La technologie de développement de SAS Management Console permet de
personnaliser cette dernière, et SAS AppDev Studio propose à travers WebAF une assistance au
développement qui s’avère précieuse.
En effet, le développement ne semble pas aisé au départ mais une fois que WebAF a généré les fichiers
nécessaires, on appréhende la façon dont SAS Management Console fonctionne, et la tâche se simplifie
grandement.
Page 21 sur 22
Téléchargement