A quelques jours de l'arrivée de Mac OS X, il était bon de faire le point sur ce que nous apporte ce système dont on a vanté, dans les différents forums, tous les mérites. Pour nous développeurs il est surtout bon de savoir quelles sont les possibilités qui nous sont offertes pour développer des applications de tout genre.
Apple a, depuis le lancement de la beta publique, mis sur son site des outils de développement en téléchargement.
Certains d'entre vous ont commencé à les utiliser et à découvrir la puissance de développement que ces outils procurent.
On sait que mac OS X, au contraire de Mac OS 9 et précédent est un système ouvert et réputé pour sa puissance et sa stabilité. Il place désormais le mac dans le cercle fermé des systèmes dits industriels tant prisés par les Entreprises qui s'en servent pour batir des applications critiques pour leur Business.
Le mac nous le savons a beaucoup souffert du fait de ne jamais (à quelques exceptions près) avoir été considéré comme système sur le quel une entreprise pouvait confier ses applications critiques. Avec Mac OS X cela va changer profondément.
Comme cette suite d'articles va le montrer, mac OS X avec le lot d'éléments de développement qu'il apporte permet comme cela n'a jamais été le cas auparavant de développer de puissantes applications tant prisées par les Entreprises.
Mieux encore, ces applications utilisent des concepts inédits que l'on ne trouve sous aucune autre plate forme.
D'ailleurs vous aurez l'occasion de vous en appercevoir en comparant le comportement des applications cocoa par rapport aux applications carbon.
Les premières utilisent des apis conçues dès l'origine pour tirer pleinement partie des possibilité de l'OS alors que les apis carbon ont été modifiées pour le faire.
Aujourd'hui quand on parle d'applications puissantes on parle souvent d'architecture 3-tier ou muti-tier comprenant généralement un client, un serveur web, un serveur d'applications des serveurs connexes et des serveurs de bases de données. Les serveurs connexes pouvant être des serveurs d'authentification, ou autres.
Le développement de ce type d'applications se fait aujourd'hui quasi exclusivement en utilisant la technologie orientée objet.
Si l'orientée objet a certes apporté beaucoup dans le développement d'applications, celles-ci doivent également s'accomoder de technologies qui malheureusement n'utilisent pas les mêmes concepts objet. C'est le cas des bases de données qui uilisent le langage SQL.
Pire encore, l'utilisation de SQL varie considérablement d'un éditeur à un autre. On sait également que les contraintes engendrées par la féroce concurrence entre éditeurs est souvent en désaccord avec une standardisation exclusive.
Certes il existe des tentatives de standardisation comme les ODBC,JDBC, et autres qui ne résolvent pas de façon efficace le problème.
On doit alors faire face à la situation suivante :
- Lutilisation dun langage orienté objet, le plus souvent C++ ou Java.
- Lutilisation également de SQL un langage non orienté objet .
- Lexigence dune bonne connaissance du type de la base de données utilisée.
Tout ceci implique alors :
- Le besoin dune double compétence objet et base de données.
- Limportance du code généré le rendant difficilement réutilisable.
- Le manque dindépendance de lapplication vis à vis de la source de données.
- La perte de lavantage acquise par le mécanisme de lencapsulation apporté par la programmation objet.
- La difficulté de produire des objets métiers plus facilement.
Cest justement pour palier à ces difficultés que les ingénieurs de NeXT hier et dApple aujourdhui ont mis au point une technologie qui apporte une solution non seulement efficace et puissante, mais également très élégante.
Cette solution est implémentée sous la forme dun Framework qui regroupe un certain nombre de classes développées à lorigine dans le langage objective_C et prochainement disponibles en Java.
Ce Framework a pour nom EOF pour ENTERPRISE OBJECT FRAMEWORK.
Il comprent un outil de modélisation EOModeler et un ensemble de classes qui forment un middleware extrêmement puissant permettant de développer des aplications muti niveaux assez facilement.
Ils permettent au développeur, ainsi déchargé de la plomberie, de se consacrer entièrement à la logique de son application.
Sans EOF, webObjects n'aurait jamais connu le succès qu'il a aujourd'hui.
Avant de rentrer dans les profondeurs d'EOF, certains principes doivent être signalés, car ils permettent non seulement de comprendre la suite mais surtout de comprendre comment développer des applications sous cocoa de façon générale.
Comme je l'ai à maintes reprises signalé dans certains de mes articles sur les différents forums, le développement d'application sous cocoa obeit à un principe simple mais eficace le MVC ou Modèle-Vue-Contolleur.
Sous le qualificatif Modèle on regroupe généralement les éléments de base d'une application. Pour une application graphiques par exemple, ce sont des éléments graphiques comme le cercle, le carré, la couleur, etc.
Lorque ces éléments sont définis en utilisant les concepts objets, on les appelle des objets métiers.
Leur définition est éminemment importante dans un projet de développement. C'est d'ailleurs souvent la première phase qui est également la plus délicate et la plus longue.
Cette phase exige généralement la participation des personnalités qui connaissent très bien le métier et qui ne doivent pas être des informaticiens.
La seconde phase est la définition de l'élément par lequel l'utilisateur interagit avec l'application. On l'appelle souvent interface homme/machine ou simplement l'interface graphique de l'application.
Son éllaboration met souvent en collaboration, les utilisateurs, les ergonomes, les personnes chargées de l'organnisation de l'Entreprise, et d'autres. C'est généralement la phase où tout le monde contribue car tout le monde est censé utiliser cette application.
C'est une phase délicate qui demandent de faire beaucoup de compromis. En effet une mauvaise interface et votre appli même si elle a des qualités peut être rejetée.
La dernière phase, le Controlleur est de loin la moins contraignante. Outre le fait de faire le pont entre le Modèle et la vue, elle renferme ce qu'on appelle souvent la logique métier.
EOF permet justement de simplifier les choses et de les faire de manière élégante et extrèmement puissante.
Le principe sur le quel il est basé est que les éléments de base de l'Entreprise, sont stockés dans des bases de données. On peut donc s'en servir comme des objets 'Modèle'.
En fait EOF permet à l'aide de l'outil EOModeler et à partir de la table d'une base de données, de créer un Modèle sur lequel se base une application.
La base de données devenant ainsi le lieu ou ces objets persistent. En fait il y a dans une table autant d'objets que de lignes.
EOF fournit également des classes qui constituent la fondation sur laquelle s'appuie une application.
Ces classes permettent entre autre :
- Laccès aux données dans la base
- Lencapsulation de ces données en Objet.
- La gestion des objets et leur synchronisation avec la base de données.
- La gestion des accès concurrents
- La gestion des modifications faites par lutilisateur.
- La gestion de laffichage des données.
Dans la suite nous parleront plus longuement de cette curueuse bête qu'est EOF.
A+
[Ce message a été modifié par Manu (edited 18 Mars 2001).]
Apple a, depuis le lancement de la beta publique, mis sur son site des outils de développement en téléchargement.
Certains d'entre vous ont commencé à les utiliser et à découvrir la puissance de développement que ces outils procurent.
On sait que mac OS X, au contraire de Mac OS 9 et précédent est un système ouvert et réputé pour sa puissance et sa stabilité. Il place désormais le mac dans le cercle fermé des systèmes dits industriels tant prisés par les Entreprises qui s'en servent pour batir des applications critiques pour leur Business.
Le mac nous le savons a beaucoup souffert du fait de ne jamais (à quelques exceptions près) avoir été considéré comme système sur le quel une entreprise pouvait confier ses applications critiques. Avec Mac OS X cela va changer profondément.
Comme cette suite d'articles va le montrer, mac OS X avec le lot d'éléments de développement qu'il apporte permet comme cela n'a jamais été le cas auparavant de développer de puissantes applications tant prisées par les Entreprises.
Mieux encore, ces applications utilisent des concepts inédits que l'on ne trouve sous aucune autre plate forme.
D'ailleurs vous aurez l'occasion de vous en appercevoir en comparant le comportement des applications cocoa par rapport aux applications carbon.
Les premières utilisent des apis conçues dès l'origine pour tirer pleinement partie des possibilité de l'OS alors que les apis carbon ont été modifiées pour le faire.
Aujourd'hui quand on parle d'applications puissantes on parle souvent d'architecture 3-tier ou muti-tier comprenant généralement un client, un serveur web, un serveur d'applications des serveurs connexes et des serveurs de bases de données. Les serveurs connexes pouvant être des serveurs d'authentification, ou autres.
Le développement de ce type d'applications se fait aujourd'hui quasi exclusivement en utilisant la technologie orientée objet.
Si l'orientée objet a certes apporté beaucoup dans le développement d'applications, celles-ci doivent également s'accomoder de technologies qui malheureusement n'utilisent pas les mêmes concepts objet. C'est le cas des bases de données qui uilisent le langage SQL.
Pire encore, l'utilisation de SQL varie considérablement d'un éditeur à un autre. On sait également que les contraintes engendrées par la féroce concurrence entre éditeurs est souvent en désaccord avec une standardisation exclusive.
Certes il existe des tentatives de standardisation comme les ODBC,JDBC, et autres qui ne résolvent pas de façon efficace le problème.
On doit alors faire face à la situation suivante :
- Lutilisation dun langage orienté objet, le plus souvent C++ ou Java.
- Lutilisation également de SQL un langage non orienté objet .
- Lexigence dune bonne connaissance du type de la base de données utilisée.
Tout ceci implique alors :
- Le besoin dune double compétence objet et base de données.
- Limportance du code généré le rendant difficilement réutilisable.
- Le manque dindépendance de lapplication vis à vis de la source de données.
- La perte de lavantage acquise par le mécanisme de lencapsulation apporté par la programmation objet.
- La difficulté de produire des objets métiers plus facilement.
Cest justement pour palier à ces difficultés que les ingénieurs de NeXT hier et dApple aujourdhui ont mis au point une technologie qui apporte une solution non seulement efficace et puissante, mais également très élégante.
Cette solution est implémentée sous la forme dun Framework qui regroupe un certain nombre de classes développées à lorigine dans le langage objective_C et prochainement disponibles en Java.
Ce Framework a pour nom EOF pour ENTERPRISE OBJECT FRAMEWORK.
Il comprent un outil de modélisation EOModeler et un ensemble de classes qui forment un middleware extrêmement puissant permettant de développer des aplications muti niveaux assez facilement.
Ils permettent au développeur, ainsi déchargé de la plomberie, de se consacrer entièrement à la logique de son application.
Sans EOF, webObjects n'aurait jamais connu le succès qu'il a aujourd'hui.
Avant de rentrer dans les profondeurs d'EOF, certains principes doivent être signalés, car ils permettent non seulement de comprendre la suite mais surtout de comprendre comment développer des applications sous cocoa de façon générale.
Comme je l'ai à maintes reprises signalé dans certains de mes articles sur les différents forums, le développement d'application sous cocoa obeit à un principe simple mais eficace le MVC ou Modèle-Vue-Contolleur.
Sous le qualificatif Modèle on regroupe généralement les éléments de base d'une application. Pour une application graphiques par exemple, ce sont des éléments graphiques comme le cercle, le carré, la couleur, etc.
Lorque ces éléments sont définis en utilisant les concepts objets, on les appelle des objets métiers.
Leur définition est éminemment importante dans un projet de développement. C'est d'ailleurs souvent la première phase qui est également la plus délicate et la plus longue.
Cette phase exige généralement la participation des personnalités qui connaissent très bien le métier et qui ne doivent pas être des informaticiens.
La seconde phase est la définition de l'élément par lequel l'utilisateur interagit avec l'application. On l'appelle souvent interface homme/machine ou simplement l'interface graphique de l'application.
Son éllaboration met souvent en collaboration, les utilisateurs, les ergonomes, les personnes chargées de l'organnisation de l'Entreprise, et d'autres. C'est généralement la phase où tout le monde contribue car tout le monde est censé utiliser cette application.
C'est une phase délicate qui demandent de faire beaucoup de compromis. En effet une mauvaise interface et votre appli même si elle a des qualités peut être rejetée.
La dernière phase, le Controlleur est de loin la moins contraignante. Outre le fait de faire le pont entre le Modèle et la vue, elle renferme ce qu'on appelle souvent la logique métier.
EOF permet justement de simplifier les choses et de les faire de manière élégante et extrèmement puissante.
Le principe sur le quel il est basé est que les éléments de base de l'Entreprise, sont stockés dans des bases de données. On peut donc s'en servir comme des objets 'Modèle'.
En fait EOF permet à l'aide de l'outil EOModeler et à partir de la table d'une base de données, de créer un Modèle sur lequel se base une application.
La base de données devenant ainsi le lieu ou ces objets persistent. En fait il y a dans une table autant d'objets que de lignes.
EOF fournit également des classes qui constituent la fondation sur laquelle s'appuie une application.
Ces classes permettent entre autre :
- Laccès aux données dans la base
- Lencapsulation de ces données en Objet.
- La gestion des objets et leur synchronisation avec la base de données.
- La gestion des accès concurrents
- La gestion des modifications faites par lutilisateur.
- La gestion de laffichage des données.
Dans la suite nous parleront plus longuement de cette curueuse bête qu'est EOF.
A+
[Ce message a été modifié par Manu (edited 18 Mars 2001).]