Upload
marceau-michel
View
108
Download
2
Embed Size (px)
Citation preview
Introduction
Gestion des technologies de l’information – GEST310
Pascale Vande Velde
|2
Objectifs du cours
• Ce cours devrait pouvoir vous permettre d’appréhender les aspects suivants :
• Acquérir des connaissances de base sur les évolutions technologiques, l’importance des technologies dans la vie économique ;
• Evaluer le bon fonctionnement d’un département informatique plus particulièrement en matière de coûts, qualité de services, sécurité et gouvernance ;
• Acquérir des connaissances de base sur les principales activités informatiques ; à savoir les processus de développement et d’exploitation.
|3
Contenu du cours
• Section 1 – Introduction– Importance de l’IT dans l’économie– Historique et évolution des technologies
• Section 2 – Départements informatiques– Description d’un département informatique– Etude de cas
• Section 3 – Activités de développement– Gestion de projet IT– Tendances futures
• Section 4 – Activités d’exploitation– Processus, cas– Tendances futures
• Section 5 – Guest speakers– Callataÿ & Wouters – une société de software – Odyssey – une société de software– Accenture (offshore development, outsourcing)– Conception de systèmes informatiques
• 7/2; 14/2
• 21/2; 28/2
• 7/3; 14/3
• 21/3; 11/4
• 18/4; 25/4; 2/5; 9/5
|4
Agenda
• Introduction • Importance de l’IT dans l’économie• Evolutions technologiques
– Hardware– Operating systems (OS)– Graphical User Interface (GUI)– Langages de programmation– Architecture
|5
Introduction – Importance de l’IT dans une entreprise
• Le rôle des systèmes informatiques– Les systèmes informatiques doivent supporter la gestion de
l’entreprise– Mais ceci n’est pas suffisant :
• Un système informatique doit permettre à une entreprise de réduire ses coûts grâce à des gains de productivité significatifs
– Exemple : State Street
• Un système informatique doit permettre à une entreprise d’augmenter ses revenus grâce à une amélioration significative du service clients
– Exemple : Ferrier Lullin
|6
L’IT supporte la stratégie de l’entreprise
Ap
plicatio
ns
Provides services to
Manages
Builds
Builds Manages
DevelopmentArchitecture
Operations Architecture
Builds
Provides services to
Provides services to
Manages
ArchitectureExecution
Technical Architecture
Vision Model
Processes
FO
DD
MO
FO
DD
MO
FO
DD
MO
Provides services to
Manages
Builds
Builds Manages
DevelopmentArchitecture
Operations Architecture
Builds
Provides services to
Provides services to
Manages
ArchitectureExecution
Technical Architecture
Provides services to
Manages
Builds
Builds Manages
DevelopmentArchitecture
Operations Architecture
Builds
Provides services to
Provides services to
Manages
ArchitectureExecution
ArchitectureExecution Technical Architecture
Besoins business
Processus
Stratégie corporate
Applications/Bases de données
Déclinaison opérationnelle de la stratégie
• Services à proposer et niveau de services
• Productivité
• Qualité des opérations
• Etc.....
• Les processus supportent les besoins métiers et sont conditionnés par les applications sous-jacentes (workflow)
• Les applications doivent rendre possible les besoins métiers tout en permettant l’implémentation de processus simples et cohérents
• Une revue des processus et de l’organisation est parfois nécessaire pour garder une logique de déroulement de programme optimale (workflow)
• L’infrastructure technique doit avoir les caractéristiques de disponibilité, de performance et de sécurité nécessaires pour rencontrer les besoins métiers
|7
DAB
• L’Allemagne a une structure de conseil en investissements particulière. Il existe de nombreux conseillers financiers opérant comme indépendants
|8
DAB
• DAB se positionne comme une société de services – offrant aux conseillers financiers une structure :– des systèmes front office (systèmes de gestion de portefeuille, passages
d’ordres, CRM, ...)– Des systèmes back office (traitement des titres, circuits de paiements,
gestion des comptes, reporting, comptabilité....)– Une organisation IT pour la maintenance, le développement et
l’exploitation des systèmes informatiques– Une organisation back office pour le traitement des opérations bancaires– Une organisation de support pour les demandes et problèmes journaliers
des conseillers financiers– Une équipe d’intégration pour les nouveaux conseillers financiers
(intégration technique, fonctionnelle, migration de données, trainings, etc...)
• DAB facture ses services par conseiller, principalement, en fonction du volume de clients et d’opérations.
|9
DAB
|10
DAB
• Avantages pour le conseiller financier– Meilleur service client– Investissements et coûts fixes partagés– Efficacité des opérations bancaires
• Inconvénients pour le conseiller financier– Customisation limitée– Prioritisation des investissements commune
|11
Capital One
• Capital One fut créée en 1995 aux Etats Unis (Virginie). Capital One devint en 5 ans, un des principaux distributeurs de cartes de crédit aux Etats-Unis et compte aujourd’hui environ 50 millions de clients.
• Capital One a aujourd’hui une offre produits basée sur les cartes de crédits, les prêts (hypothécaires, personnels, à la consommation), les assurances crédits et certains produits d’investissements. Capital One a également des opérations en GB.
• La stratégie de Capital One est centrée sur la compréhension et l’analyse de données clients. Cette stratégie est supportée par des investissements lourds en systèmes de data warehousing, business intelligence et data mining.
• La plupart des banques ont un business model et l’automatisent. Capital One a placé la technologie au centre de son business model.
• Bénéfices retirés de cette stratégie :– Couvrir une clientèle plus large que ses concurrents tout en ayant un taux de défaillance
extrêmement bas. La plupart des concurrents de Capital One se limitent à prêter aux clients qui ont une assise financière suffisante. Capital One tend à prêter à des clients présentant un risque plus élevé. Ce risque est “calculé” grâce à des méthodes de credit scoring extrêment poussées.
– Attirer des clients sur base de techniques de one to one marketing sophistiquées. Capital One offre une palette de produits large, produits customisés en fonction des préférences des clients (la carte des golfeurs, des amateurs de jardinage, etc....). Forte segmentation des produits et prix.
|12
Data mining
Fir
ewal
l
Back offices
Inte
grat
ion
Lay
er
Bus
ines
s L
ogic
Blo
c 2
Data cleaning
CRM, data mining
App
lica
tion
Ser
ver
Channel Management Tier
ContentContent
Businesslogic
SessionApp. Server
Marketingdata
field
field
dyna
mic
Page
SecurityPackage
Users
LDAP
Fir
ewal
l
Presentation Tier
Mortgage Loans
Consumer Loans
Credit card
InsuranceProducts
Call
Call
Cent
Centrere W
eb W
eb B
rowB
rowserser
Voice
Voice
Respon
Responsese
Unit
Unit
Voice
Pho
Pho
nene
Voic
Voice e
LogLoggerger
Voice
Voice
Respon
Responsese
Server
Server
Web
Web
Brow
Browserser
BTS
Wireless
Wireless
Brow
serB
rowser
(WA
P, J2M
E)
(WA
P, J2M
E)
InternIntern
etet
Intran
etWeb
Web
Brow
Browserser
Bran
Branchch
Third party info sources
|13
Capital One
• Moyens mis en oeuvre– Recours à de très nombreuses sources de données (les sources de
données sont mieux organisées aux Etats-Unis qu’ en Europe – par ex des bases de données sur le risque crédit, etc...)
– Recours à des enquêtes clients (préférences, habitudes de consommation) et intégration de ces données dans les développements et offres produits
– Organisation de collections systèmatiques de feedback (réactions de clients via le call centre, l’internet,...)
– Accompagnement systématique des mises sur le marché de nouveaux produits (tests, collecte des réactions clients, modifications d’hypothèses produits, retest, etc...)
– Des systèmes extrêmement puissants de datawarehousing, data mining, data cleaning,...)
– Des canaux de vente directes : call centre, internet
|14
Introduction – Typologie des systèmes informatiques
• Systémes de calculs– Nombreuses applications dans des domaines scientifiques, médicaux,
industriels • Exemple : calcul de la composition de produits pétroliers à l’entrée d’une
colonne de distillation
• Systèmes de monitoring de processus– Nombreuses applications industrielles
• Systèmes de gestion– Bureautiques (applications email, word, excel, powerpoint, etc...)– Gestion documentaire (stockage, restition, gestion de documents)– Applications de gestion (ERP, core banking system, etc....)– Intelligence artificielle (outils d’aide à la décision)
• Exemple : credit scoring pour l’attribution d’une police assurance auto
|15
Introduction – qu’entend-on par système informatique ?
• Une infrastructure composée de serveurs, de capacités de stockage (disques, ...), d’un réseau (WAN, LAN, intranet, extranet). Les paramètres principaux sont la robustesse, la performance et la sécurité d’une infrastructure. Tendance croissante à la réduction des coûts d’infrastructure (rationalisation des activités de gestion des opérations, sous-traitance à des tiers – outsourcing/hosting)
• Des bases de données , le plus souvent relationnelles (Oracle, IBM/DB2, Sybase). Complexité croissante lié à des besoins de stockage de différents types de media (texte, images, video,...)
• Un operating system (unix, linus, windows,DOS,...). Tendance à la miniaturisation, augmentation significative de la vitesse de processing, adpotion de systèmes ouverts (linux)
• Des programmes - mono ou multiprocesseurs en fonction du nombre et de la complexité des calculs à effectuer. La puissance de programmes est mesurée en MIPS (nombre d’instructions machine par seconde).
• GUI/WUI (graphical user interface/web user interface) – écrans de visualisation et de saisie de données. Progression graphique très significative, parfois au détriment de la performance (windows). Tendance croissante à une migration vers des écrans web (WUI)
• Integration – l’intégration d’un système informatique avec le monde extérieur. Tendance croissante à l’utilisation d’EAI (enterprise application integration)
|16
L’importance de l’IT dans l’économie (1)
• L’IT a été considéré au cours des 15 dernières années comme un des facteurs majeurs de la croissance économique et des mutations sociales.
• Dans ce cadre, l’OCDE a mesuré la production et la consommation IT dans les pays OCDE.
• Le rapport de l’OCDE a couvert les investissements et consommation des entreprises et des ménages. Nous nous concentrerons ici sur les entreprises.
• Les chiffres de l’OCDE démontrent une très forte croissance des investissements IT (montants investis, brevets, dépenses R&D). Par contre, la part du secteur IT dans le PIB total reste relativement faible (environ 10% du PIB OCDE).
• Last but not least, le secteur IT est caractérisé par une chute continue des prix (semiconducteurs, télécoms, software, PC, etc....). Aux Etats-Unis, l’index des prix a baissé de 250 en 1986 à 30 en 2000 (base 100 en 1995).
• La robuste croissance des investissements IT est liée au développement des télécommunications, de l’internet, une automatisation croissante des processus de gestion, des changements technologiques nécessitant une restructuration des architectures informatiques (4PL, unix, web based applications, etc....).
|17
L’importance de l’IT dans l’économie (2)
• La proportion des investissements IT dans les investissements totaux de l’industrie a fortement crû entre 1980 et 2000 et atteint plus de 30% des investissements dans certains pays (USA, Finlande)
Source : OECD 2002 Measuring the Information Economy
|18
L’importance de l’IT dans l’économie (3)
• Parmi les différentes catégories d’investissements IT (software, télécoms, hardware), les investissements en software ont augmenté le plus rapidement.
• On assiste effectivement à un remplacement progressif des applications mainframe par des applications client server, voire plus récemment des applications web.
• Quelques exemples : les applications ERP (SAP, Oracle/Peoplesoft), les applications CRM, les applications orientées objets pour remplacer des core processing systems basés sur des mainframes (banques, assurances,....)
Source : OECD 2002 Measuring the Information Economy
|19
L’importance de l’IT dans l’économie (4)
• Le nombre de brevets introduits par an est également une indication de mesure de l’importance de l’IT dans l’économie. Les brevets IT, en 1998, ont représentés 20 à 40% de tous les brevets introduits dans les pays les plus IT capital intensive. Les brevets IT ont représentés 17% des brevets totaux pour les pays OCDE.
Source : OECD 2002 Measuring the Information Economy
|20
L’importance de l’IT dans l’économie (5)
• Le secteur IT est un des plus exigeants en matière de R&D. Une société de software doit investir 30 à 50% de son chiffre d’affaires en R&D pour rester à la pointe des évolutions technologiques. Les pays les plus sophistiqués sur le plan IT consacrent 30 à 60% de leurs dépenses R&D nationales au secteur IT.
Source : OECD 2002 Measuring the Information Economy
|21
L’importance de l’IT dans l’économie (6)
• La part de la valeur ajoutée des activités IT dans la valeur ajoutée de l’industrie (PIB) s’élève à 10% pour l’ensemble des pays OCDE en 2000 (plus de 15% en Irlande et en Finlande); ce qui reste relativement faible. Il est à noter que la dépréciation des biens IT est extrêment rapide.
Source : OECD 2002 Measuring the Information Economy
|22
L’importance de l’IT dans l’économie (7)
• Le secteur IT est caractérisé par des améliorations technologiques continues couplées à une drastique réduction de prix (par exemple, les semiconducteurs, les PC, etc...). Ces réductions de prix ont été plus ou moins fortes de pays en pays (les Etats-Unis et la France ont vécu les chutes de prix les plus fortes).
|23
L’importance de l’IT dans l’économie (8)
3,57%
6,67%
3,22%
1,27%
2,16%
1,40%0,56%
0,66%
1,85%
0%
2%
4%
6%
8%
10%
12%
All Industries Financial Services Health Providers
Hidden IT Spend
IT Capital Budget as a Percent of Revenue
IT Budget as a Percent of Revenue
6.04%
10.68%
5.18%
% o
f R
even
ue
Source: © Copyright Gartner Group Inc. Source: Gartner 2001 IT Spending and Staffing Survey, 2001. Data 2002
• Les investissements IT varient également de secteur en secteur. L’industrie financière est l’industrie la plus IT capital intensive.
|24
L’importance de l’IT dans l’économie (9)
• IT spend = IT budget + IT capital budget + IT hidden spend
• IT budget : budget IT refacturé aux utilisateurs/business. Ce budget inclut les coûts de hardware, software, personnel, services externes, télécommunications, réseaux et d’occupation
• IT capital budget : budget IT propre au département informatique et non refacturé. Il inclut également des coûts de hardware, software, personnet et services externes.
• IT hidden spend : coûts informatiques supportés par le business (par exemple, développement d’une application par des utilisateurs en excel, access, lotus notes, etc....)
|25
L’importance de l’IT dans l’économie (10)
6,67%
10,95%
7,98%9,21%
4,94% 4,40%
2,16%
3,21%
2,61%1,75%
1,07% 1,13%
1,85%
2,74%
2,84% 1,36%
1,90%1,00%
10,68%
16,90%
13,43%12,32%
7,91%6,53%
0%
2%
4%
6%
8%
10%
12%
14%
16%
18%
20%
FinancialServices
Security/Commodity/Exchange/
Trust
DepositoryInsitutions/
Banks
Diversified Non-Depository
Credit
Insurance - All
Hidden IT Spend
IT Capital Budget as a Percent of Revenue
IT Budget as a Percent of Revenue
% o
f R
ev
en
ue
• Les sociétés actives dans le traitement des titres sont de loin l’industrie la plus IT intensive
Source: © Copyright Gartner Group Inc. Source: Gartner 2001 IT Spending and Staffing Survey, 2001
|26
Evolutions technologiques - Hardware
• Cartes perforées – Herman Hollerith• Première génération d’ordinateurs digitaux (’40)
– Le stockage des programmes– La vitesse de traitement
• Seconde génération d’ordinateurs digitaux (1947-1960)– Les transistors
• Troisième génération d’ordinateurs digitaux (post 1958)– Le circuit intégré
• Quatrième génération d’ordinateurs digitaux (post 1970)– Les microprocesseurs
|27
Cartes perforées – Herman Hollerith
• Dans les années 1880, Herman Hollerith développa un système à processer des données basé sur des cartes perforées.
• Les cartes perforées étaient faites en carton (187 mm sur 82,55 mm) et avaient en colonne des points perforés ou non. Chaque point représentait un chiffre binaire (ou bit). La carte standard IBM avait 80 colonnes et 12 points perforables.
• Herman Hollerith fonda une société fabriquant des systèmes de cartes perforées mais également des machines à couper de la viande, des balances, etc.... La société, plus tard, en 1924, deviendra IBM.
• Dans un premier temps, les cartes étaient perforées à la main (avec une sorte de machine à écrire, keypunch). Plus tard, elles furent perforées électroniquement. Ces cartes étaient lues en batch et les données étaient stockées dans des bases de données séquentielles. Au fil du temps, ces cartes ne contenaient plus seulement des données mais également des règles de calculs, voire des lignes de programmes. Le contenu était lu, compilé et exécuté en batch.
• Début des années ’50, la carte perforée standard IBM était devenue la technologie principale pour stocker, manipuler, consulter des données. Les cartes perforées furent utilisées jusqu’ à la fin des années ’70.
|28
Première génération d’ordinateurs digitaux (1)
• Il y a eu 3 grands courants de développement durant la seconde guerre mondiale : une initiative britannique (Colossus), Konrad Zuse et une initiative américaine.
– Colossus fut développé par Tommy Flowers dans le cadre d’un projet visant à cracker les programmes d’encryption utilisés dans les communications allemandes. Colossus fut le permier ordinateur digital, utilisant des cartes perforées. Aucun détail sur la conception de cet ordinateur n’a filtré avant les années ’70. Il a été détruit après la guerre à la demande de W. Churchill.
– ENIAC (Electronic Numerical Integrator and Computer) fut développé en 1945. Il était déjà 1,000 fois plus rapide que d’autres modèles déjà existants. Il était également basé sur des cartes perforées (avec plusieurs lectures possibles en paralléle). Il avait toujours le grand inconvénient de ne pas stocker des programmes en vue de les réutiliser par la suite.
– Z3 fut développé par Konrad Zuse en Allemagne en 1941. Cet ordinateur utilisait des films perforés. Konred Zuse, en 1937, anticipa la possibilité de stocker des données et des programmes dans la même base de données. Konrad Zuse inventa également le premier langage de programmation en 1946, Plankalkül.
|29
Première génération d’ordinateurs digitaux (2)
• Von Neumann, après guerre, inventa les registres indexés, qui permirent de stocker des programmes lus sur cartes perforées et donc de les réutiliser par après.
• Les ordinateurs mis au point après von Neumann étaient composés d’un nombre croissant de tubes cathodiques et purent réaliser un nombre croissant de transactions à la seconde.– MESM, développé en 1950, contenait 6,000 tubes cathodiques et
pouvait traiter 3,000 opérations par seconde.– Pour la première fois, en 1951, IBM vendut 46 exemplaires de UNIVAC
1 à 1 MUSD par machine au US Census Bureau. UNIVAC 1 pouvait traiter 1,900 opérations par seconde.
|30
Seconde génération d’ordinateurs digitaux (1947-1960)• La prochaine grande invention fut le transistor en 1947. Les tubes
étaient beaucoup plus fragiles et grands consommateurs en électricité. • Les ordinateurs basés sur des transistors et des circuits imprimés
dominèrent les années ’50 et ’60. Malheureusement, ces ordinateurs étaient toujours très lourds et principalement utilisés par des universités.
– Par exemple, IBM650 en 1954 pesait 900 kg et le générateur de courant attaché pesait 1,350 kg (dimensions : 1,5mx0,9mx1,8m). Son prix était de 0,5 MUSD.
– La mémoire vive ne pouvait pas contenir plus de 2,000 mots de 10 chiffres; ce qui était très contraignant en termes de programmation.
• En 1956, IBM vendu les premiers disques de stockage. Ils pouvaient contenir 5 MB de données et coûtaient 10,000 USD par MB.
• Le premier langage évolué de programmation, Fortran, fut également conçu à la même époque par IBM.
• Evolutions suivantes :
Date Ordinateur Unités vendues
1959 IBM 1401 12,000
1960 IBM 1620 2,000
1964 IBM S/360 14,000
|31
Troisième génération d’ordinateurs (post 1958)
• L’invention clé est le circuit intégré qui combine plusieurs centaines de transistors. Le circuit intégré peut être considéré comme le prédécesseur du microprocesseur.
• Le circuit intégré a mené à la mise au point de CPU (Central Processing Unit) électroniques; qui sont constitués de plusieurs circuits intégrés séparés.
|32
Quatrième génération d’ordinateurs (post 1970)
• Les microprocesseurs ont permis le développement des microcomputers. Les premiers sont apparus dans les années ’70 et devinrent populaires à partir des années ’80.
• Les microprocesseurs sont des CPU (Central Processing Unit) composés de transistors miniaturisés placés sur un circuit intégré semiconducteur.
• L’évolution des microprocesseurs a suivi la loi de Moore – augmentation significative de la performance des microprocesseurs chaque année. La puissance de calcul est doublée tous les 18 mois; ceci depuis 1970.
• Les principaux producteurs de microprocesseurs sont Intel, Texas Instruments, Motorola, AT&T, et différents producteurs asiatiques. Il y a actuellement une forte surcapacité dans l’industrie des microprocesseurs; et donc de très fortes pressions sur les prix.
|33
Evolution future - Croissance du nombre de transistors par microprocesseur
•8-bit (8080)
•16-bit (8086, 80286)
•32-bit (i386)
•RISC (i860, i960)
•Pentium
|34
Evolutions technologiques - OS
• L’OS est le software système en charge du contrôle direct et de la gestion du hardware et des opérations systèmes de base. Il fait également tourner les softwares applicatifs (par exemple, excel, word, powerpoint, web brower,....).
• On peut regrouper les OS en deux grandes familles : Unix et Windows.• La famille windows a d’abord été basée sur MS DOS et puis sur Windows NT.
Aujourd’hui, Windows est le principal OS pour les applications bureautiques. Windows est également utilisé sur de petits serveurs, supportant notamment des applications web ou des databases.
• La famille Unix inclut System V, BSD et Linux. Unix est une marque donnée en licence par le Open Group aux systèmes conformes à ses spécifications. Les OS Unix sont surtout utilisés dans des applications professionnelles (secteur bancaire, engineering, monde académique, etc...). Les systèmes unix tournent sur tous types de machines. Un OS comme Linux devient de plus en plus populaire dans le domaine bureautique. Le Mac OS X de Apple (variante BSD) a remplacé le Mac OS et devient un des systèmes unix les plus populaires.
• Les OS mainframes (par exemple, z/OS de IBM) ne sont pas apparentés aux familles Unix et Windows.
|35
MS DOS/OS2/Windows (1)
• Evolution MS DOS– MS DOS– Windows 1.0, Windows 2.0– Windows 3.0– Windows 95– Windows 98
• Evolution OS/2– 16-bit– 32-bit
• Evolution NT– Windows NT 3.1, 3.5, 3.51– Windows 95– Windows NT 4.0– Windows 2000 (Windows NT 5.0)– Windows XP (Windows NT 5.1)– Windows server 2003 (Windows NT 5.2)
|36
MS DOS/OS2 (2)
• Microsoft (microcomputer software) a été créé en 1975 par Bill Gates et Paul Allen pour développer et vendre un interpréteur, appelé BASIC.
• IBM, qui planifiait la mise sur le marché d’un PC en 1981, contacta Microsoft fin des années ’70 et leur demanda, sur base de BASIC, de fournir un OS. Microsoft conseilla à IBM de contacter Digital Research pour obtenir une version de leur OS CP/M. Digital Research refusa de collaborer avec IBM. IBM revint vers Microsoft, qui pris en licence un clône de CP/M, QDOS (Quick Design OS). Microsoft racheta tous les droits de licence sur QDOS et le renomma MS DOS (Microsoft Disk OS).
• Microsoft garda le droit de vendre MS DOS à d’autres sociétés que IBM. Assez rapidement, MS DOS devint l’ OS de référence sur le marché.
• Fin des années ’80, IBM et Microsoft mirent un partenariat en place pour développer un nouvel OS, OS/2. Microsoft décida, début des années ’90, de ne pas poursuivre ce partenariat avec IBM et se concentra sur le développement d’un nouvel OS, Windows.
• MS DOS, à l’origine, ne fut pas conçu comme un OS multi-tâches et multi utilisateurs. Néanmoins, il fut revu de nombreuses fois pour atteindre ces objectifs.
• MS DOS n’ avait pas de GUI (utilisation d’une ligne de commande - basé sur un langage interprété). Certains programmes créèrent leur propre GUI (par ex Microsoft Windows pour MS DOS). Néanmoins, ces essais ne furent pas performants.
• Les premières versions de Windows tournaient au-dessus de MS DOS. Les versions suivantes pouvaient tourner indépendamment de MS DOS mais utilisaient toujours des morceaux de code MS DOS. Les versions les plus récentes font de moins en moins appel à MS DOS et sont basées sur Windows NT.
|37
Windows (3)
• Les premières versions de Windows consistaient en MS DOS avec une couche graphique (GUI).
• Microsoft Windows, version 1.0, mise sur le marché en 1985, était peu conviviale, Windows était plutôt une extension de MS DOS. Cette version avait 1MB de mémoire vive.
• La version 2, mise sur le marché en 1987, fut également peu populaire.• La première grande version fut la version 3.0.(16-bit), mise sur le marché en 1990. Ce fut la
première version multi-tâches avec un GUI de qualité, réellement concurrentielle par rapport au MacIntosh de Apple.
• Microsoft débaucha Dave Cutler de DEC pour développer Windows NT 3.1. (mis sur le marché en 1992). Microsoft dû payer 150 MUSD d’amendes à DEC et placa la puce DEC Alpha dans NT. La version Windows NT 3.1 était considérée comme beaucoup plus performante que la version 3.0 mais était très consommatrice en ressources machines, et donc destinée au marché professionnel.
• En 1995, Windows sortit Windows 95, principalement codé en 32-bit, multi–tâches et très stable. Cette version avait 2 GB de mémoire vive. La sortie de Windows 95 marqua un tournant dans la concurrence avec OS/2 - OS/2 perdit des parts de marché significatives.
• Windows est, de loin, le principal OS utilisé sur des ordinateurs personnels (quoique concurrencé de manière croissante par linux). Windows est également utilisé comme OS pour différentes applications professionnelles. Néanmoins, de telles applications sont très conviviales (GUI windows) mais ont tendance à être peu performantes. Windows, en tant que OS, consomme beaucoup de ressources machines
|38
MacIntosh OS
• On peut distinguer deux catégories d’OS : Mac OS et Mac OS X.• Le premier Mac OS (1984) fut le premier OS commercialisé avec un
GUI. – Il n’y avait pas de ligne de commande. L’OS était totalement graphique. – Cet OS fut particulièrement apprécié pour sa convivialité.– Par contre, la gestion de la mémoire était loin d’être optimale et les
extensions d’OS (permettant d’ajouter de nouvelles fonctionnalités) ne fonctionnaient pas correctement ensemble avec l’OS de base ou lorsque ces extensions étaient chargées dans un certain ordre plutôt qu’un autre.
– Mac OS introduisit également une structure de fichiers hiérarchique, stockant séparément les données des données structurées (menus, graphiques, ....). Ceci rendit le transfert de fichiers entre MacIntosh et d’autres systèmes (basés sur MS DOS ou unix) peu aisé.
• Le Mac OS X est basé sur un OS Unix.– La problématique de gestion de mémoire est drastiquement améliorée.– Le Mac OS X est considéré comme moins convivial que le Mac OS
|39
Unix – Historique (1)
• Unix est un OS portable, multi tâches développé à l’origine par AT&T Bell Labs début des années ‘70. Il est codé en langage C. Suite à l’utilisation du langage C dans unix, ce langage fut utilisé de manière croissante dans de nombreuses applications.
• Unix fut le premier OS écrit en langage compilé. Unix fournit un des premiers accès au protocole de communication TCP/IP.
• Unix ne fut largement utilisé qu’à partir des années ’90. • A côté des versions développées par AT&T Bell Labs, de nouvelles versions
“open source” furent mises sur le marché; ce qui créa des incompatibilités entre versions Unix.
• En 1984, un groupe de fournisseurs inventa le concept de “systèmes ouverts”. Ces systèmes ouverts doivent adhérer à certaines spécifications et standards définis par X/Open Company (actuellement Open Group).
• En 1993, AT&T Bell Labs vendit ses laboratoires Unix à Novell. En 1995, l’Open Group racheta les systèmes unix de Novell.
• Depuis lors, tous les OS Unix adhèrent aux spécifications et standards de l’Open Group.
|40
Unix – Avantages (2)
• Scalability – un OS unix peut tourner sur de petis systèmes comme sur de très gros serveurs.
– Unix offre une alternative aux gros systèmes mainframes (le remplacement de mainframes par Unix pour des applications bancaires peut faire économiser 30 à 40% d’investissements (Hardware + licences))
• Robustesse – un OS unix peut rester performant et disponible dans un très grands nombres de situations de test.
• Performance – unix est considéré aujourd’hui comme l’OS le plus performant après les mainframes.
– Une application tournant sur unix présente un GUI peu convivial comparé à un GUI Windows mais offre de meilleurs temps de réponse en cas de processing de masse
– Par exemple, des applications de gestion de portefeuilles peuvent traiter avec Windows jusqu’à +/- 20.000 portefeuilles avec des temps de réponse acceptables. Des applications basées sur unix peuvent traiter beaucoup plus de portefeuilles (> 1.000.000).
• Principaux avantages des systèmes ouverts – Flexibilité– Possibilité d’ acheter des applications chez différents vendors tout en maintenant une
compatibilité– Portabilité – Pas de switching costs
|41
Unix - Certification (3)
• La certification Unix et la marque Unix sont propriété de l’Open Group.• Caractéristiques d’un système ouvert :
– Avoir des spécifications largement acceptées et disponibles décrivant les interfaces entre les différents composants du système (OS, réseau, applications, écran desktop)
– Systèmes développés de façon à rencontrer les spécifications de l’Open Group et commercialisés par des vendors
– Garantie, via des tests exécutés par l’Open Group, que les produits sont conformes aux spécifications
• Les utilisateurs peuvent apporter des améliorations au produit mais doivent les communiquer à l’Open Group.
• Avantages pour les hardware vendors – Peu d’investissements marketing– Compatibilité des versions
• Avantages pour les software vendors– Intégration très aisée de la couche applicative avec l’OS unix– Meilleur time to market
|42
Linux
• Linux est un OS ouvert et gratuit (chargeable depuis l’internet). Il est principalement utilisé dans le domaine bureautique, sur des ordinateurs de jeux, des téléphones mobiles, des video recorders, des PDAs. Linux est devenu une des plate-formes les plus répandues pour les serveurs internet. Linux, étant gratuit, est également installé sur des ordinateurs bon marché, notamment dans les pays en voie de développement.
• Linux fut développé par un Finnois, Linus Torvalds, en 1991 à l’Université d’Helsinki. Linus Torvalds est propriétaire de la marque Linux. Le Linux Mark Institute gère et octroie les licences Linux.
• La plupart du code (71%) fut écrit en C; d’autres parties furent écrites en C++, Lisp, Perl, Fortran....
• Linux est un système extrêmement sûr sur le plan de la sécurité (“virus proof”).• La part de marché de Linux est en forte progression. Selon IDC, 25% des serveurs et
2,8% des desktops tournaient sur Linux en 2002.• Il faut un émulateur pour pouvoir faire tourner des applications Windows sans
équivalent Linux sous Linux. VMware le permet avec néanmoins besoin de plus de CPU (fait tourner un client OS sur un host OS).
• A l’origine, les difficultés d’installation constituaient une barrière à l’adoption de Linux. De plus en plus d’ordinateurs peuvent être achetés aujourd’hui avec Linux plutôt qu’avec Windows. Par ailleurs, les packs d’installation sont aujourd’hui plus simples à installer. Ils sont le plus souvent disponibles sur CD.
• Le support technique est fourni par des fournisseurs et par les users groups Linux.
|43
Linux - Applications
Zona Research “The New Religion: Linux and Open Source” Octobre 2000
|44
Linux - Applications
• Les systèmes Linux sont fortement utilisés pour des serveurs de back office. Principalement, ils sont utilisés comme web servers, file servers, print servers, DNS servers, and mail servers etc.
• Les systèmes Linux ont trouvé une niche dans ce domaine pour les raisons suivantes:
– Ils sont très fiables et robustes – Le code source est accessible pour fixer les problèmes.– Les problèmes sont réglés rapidement et partagés avec la Communauté– Les systèmes Linux sont très similaires aux systèmes Unix; ce qui facilite le
transfert de connaissances.– Les coûts d’acquisition sont faibles.– Sécurité élevée (“virus proof”)
• Les principaux fournisseurs de serveurs (IBM, HP, Sun, etc….) supportent aujourd’hui Linux sur la plupart de leurs serveurs, y compris mainframes, reconnaissant Linux comme un Tier 1 OS. Les applications principales sont aujourd’hui portables sur Linux.
|45
Evolution future des OS (entreprises)
Desktop/handheld computers/ Applications infrastructure
Applications critiques
Windows Linux
Mainframe Unix Linux
Avantages :
• Coûts
• Sécurité
Avantages :
• Coûts
Avantages :
• Coûts
Inconvénients :
• Disponibilité, robustesse
Inconvénients :
• Clustering
|46
Evolution future des OS (entreprises) – applications critiques
• Une migration vers Linux prendra encore de nombreuses années
13%
38%
17%
4%
22%
6%No plan to use
Not sure but w ill probably "kickthe tires"
Yes, planning forinfrastructure applications(print/f ile, mail, w eb serving)
Yes, planning for majorbusiness critical applications
Yes, using it now forinfrastructure applications
Yes, using it now for majorbusiness critical applications
7%
10%
8%
4%
8%
11%
52%
2003
2004
2005
2006
2007 or +
Never
Don't know
En quelle année migrerez-vous vers Linux ?
Utilisez-vous ou avez-vous des plans pour utiliser Linux ?
Source : Gartner, survey at Gartner Data Center Conference 2003 (950 invités)
|47
Evolution future des OS (entreprises) – applications non critiques
• Une migration vers Linux prendra ici également encore de nombreuses années. Linux tend à être utilisé pour de nouvelles applications principalement.
Quel OS remplacera Linux dans les 24 prochains mois ?
Utilisez-vous ou avez-vous des plans pour utiliser Linux ?
Source : Gartner, survey at Gartner Data Center Conference 2003 (950 invités)
8%
10%
19%
3%32%
28%
Windows NT
Windows 2000
Unix
Proprietary (z/OS,OS/400,...)
Not displacing any,additive
Not applicable
15%
34%38%
8%
5% No interest
Interested but no active plans
Niche roles only in 2003
Large scale use for specif icapplications in 2003
Large scale use for manyapplications in 2003
|48
Evolution future des OS – Réduction de coût liée à une migration d’un mainframe vers Unix (cas)• Contexte
• Utilisation d’un système propriétaire mainframe IBM OS/390 2064 116 pour une application de datawarehouse
• Calcul de l’impact financier en cas de migration de l’application de datawarehouse sur un serveur Sun avec OS Unix
• Le système propriétaire et le système cible doivent avoir la même puissance machine exprimée en MIPS (nombre d’instructions machine par seconde)
# CPU # MIPS (capacité
totale)
# MIPS utilisés
IBM OS/390 2064 116
16 2694 943
Sun Fire 6800 11 943 943
|49
Evolution future des OS – Réduction de coût liée à une migration d’un mainframe vers Unix (cas)
Year1 2 3 4 5
Yearly inflation 3% 3% 3% 3% 3% 3%
HW purchase € 672.745 3 € 224.248 € 224.248 € 224.248 € 0 € 0€ 672.745
Yearly maint 10% € 67.275 € 67.275 € 69.293 € 71.372 € 73.513SW purchase € 200.000 3 € 66.667 € 66.667 € 66.667 € 0 € 0yearly maint 15% € 30.000 € 30.000 € 30.900 € 31.827 € 32.782Total HW/SW costs € 290.915 € 388.190 € 391.108 € 103.199 € 106.294FTE (ops + maint) 8,0 € 400.000 € 400.000 € 412.000 € 424.360 € 437.091 € 450.204
Total costs € 690.915 € 800.190 € 815.468 € 540.289 € 556.498
Business case Unix downsizingK€ Year 1 Year 2 Year 3 Year 4 Year 5Investment 1.319Annual mainframe savings 2.489 2.489 2.489 2.489Run costs Unix 691 800 815 540 556Yearly cash flows -2.010 1.689 1.674 1.949 1.933
NPV 15% 2.704
Total Cost of Ownership (TCO) IBM : 2640 EUR/an/MIPS
Coût annuel d’exploitation 3 fois moins élevé chez ce client
|50
Evolutions technologiques - GUI
• Un GUI (Graphical User Interface) est une manière d’interagir avec un ordinateur basée sur une manipulation directe de texte et d’images graphiques.
• Les premiers GUI furent mis au point par MacIntosh en 1983 (projet nommé Lisa). Le GUI Windows reprit plus tard de nombreuses caractéristiques du GUI MacIntosh.
• D’autres types de GUI sont les écrans tactiles, les écrans de handheld computers, les écrans d’ordinateurs de jeux, les écrans d’ATMs, les écrans de mobiles,.... Le premier écran tactile fut mis au point en 1986.
• L’alternative et prédécesseur au GUI est la ligne de commande (Command Line Interface), une interface uniquement basée sur du texte (par exemple, MS DOS).
|51
GUI - Apple versus Microsoft
• Apple avait conclu un accord de licence avec Microsoft lors de la mise au point de Windows 1.0 pour utiliser certains élements de Lisa. Néanmoins, quand Microsoft apporta beaucoup d’améliorations de type GUI Apple dans Windows 2.0, Apple intenta un procès.
• En 1988, Apple intenta une action en justice contre Microsoft et HP afin d’éviter que Microsoft et HP n’utilisent des éléments du GUI Lisa et de l’OS MacIntosh.Ce fut le plus long procès dans l’histoire informatique à ce jour.
• Ce procès dura jusqu’en 1994. Apple perdit le procès. Apple fournit une liste de tous les éléments GUI (189). La Cour analysa ces différents éléments et conclut que de ces 189 éléments 179 éléments avaient déjà été donnés en licence à Microsoft pour Windows 1.0.
• La Cour n’accepta donc pas des droits d’auteurs sur un ensemble global GUI. La Cour décomposa ce GUI en éléments et analysa les droits d’auteur sur chaque élément. Apple n’avait, par ailleurs, pas déposé de brevet sur son GUI global.Il est difficile d’apprécier quelle aurait pu être l’issue du procès dans ce cas de figure.
• Finalement, Microsoft investit 150 MUSD en 1997 dans Apple. L’accord incluait un règlement final du litige entre les deux sociétés.
|52
Evolutions technologiques – langages de programmation
• Les langages de programmation furent postérieurs aux premiers ordinateurs.
• Il existe plusieurs familles de langages de programmation (Fortran, Cobol/PL1/Pascal, LISP, C/C++/Java, etc...) et de nombreuses influences, points communs entre ces langages de programmation.
• Implémentation des langages : Les langages peuvent être compilés ou interprétés. Certains langages tendent à être toujours compilés (ex. famille C, Fortran, Pascal, Algol). D’autres tendent à être toujours interprétés (ex. Basic, Perl, etc...). Les compilateurs générent le code machine au départ du code source. Les interpréteurs exécutent le code source par bloc sans traduction en code machine.
• Les langages ont évolué et les techniques de programmation également. On distingue les phases suivantes :
– Programmation non structurée– Programmation procédurale – Programmation modulaire– Programmation orientée objet
|53
|54
Techniques de programmation – programmation non structurée
• On parle ici d’un seul programme, contenant toutes les instructions placée dans une certaine séquence.
• Cette manière de programmer devient très inefficace pour de larges programmes : si une séquence est répétée plusieurs fois, elle doit réapparaître plusieurs fois dans le programme. Si un élément doit être modifié dans une de ces séquences, il faut modifier chacun des blocs du programme.
|55
Techniques de programmation – programmation procédurale
• Le programme est ici constitué d’un programme principal et de procédures. Ces procédures sont appelées au moyen de procedure calls.
• On peut avoir des hiérarchies de procédures (procédures, sous procédures, etc...).
• Le programme peut être vu comme une séquence de procedure calls. Le programme principal fournit des données aux calls individuels. Les données sont traitées par les procedure calls. Les résultats sont fournis au programme principal.
• Pour pouvoir réutiliser des procédures ou des groupes de procédures dans un autre programme, il faut pouvoir les séparer et les faire tourner indépendemment du programme principal. On parle alors de programmation modulaire.
|56
Techniques de programmation – programmation modulaire
• Les procédures appartenant à une fonctionnalité commune sont groupées ensemble dans un module. Un programme est donc divisé en plusieurs parties qui interagissent via des procedures calls.
• La structure des module est orientée sur les opérations plutôt que sur les données. Les opérations définissent les données à utiliser.
• Un curseur définit dans quel ordre les éléments de la structure de données doivent être visités.
• Plus la structure de données est complexe, plus il faudra définir de “traversing strategy”. Pire, la stratégie d’appel des données peut aussi dépendre du contexte.
• D’où l’idée de bâtir des modules orientés sur les données et non sur les opérations. On parle alors de programmes orientés objets.
|57
Techniques de programmation – programmation orientée objet
• Un programme est constitué de différents objets. Dans chaque objet est défini les types de données, la structure des données et les fonctions qui s’appliquent sur ces données.
• Un des principaux avantages est de pouvoir créer des modules qui ne doivent pas être adaptés quand un nouvel objet est ajouté.
• Chaque objet communique avec les autres objets via des interfaces. Ces interfaces spécifient comment un objet peut interagir avec un autre objet. Un objet ne peut pas affecter un autre objet. On parle d’encapsulation.
• Les programmes orientés objets sont le plus souvent écrit en java, C++, Perl et SmallTalk et sont apparus dans les années ‘80.
|58
Avantages des langages orientés objets
• Les programmes non structurés sont les plus efficaces en termes de vitesse de traitement. Plus il y a d’interfaces, plus la vitesse de traitement est impactée.
• Néanmoins, les systèmes orientés objets fournissent des avantages non négligables :– Cycle de développement produits court– Réduction des coûts de maintenance– Facilité de constitution de nouveaux objets– Flexibilité dans la création de nouveaux produits (assemblage de
composants)– Peu de duplication de la logique business (en cas d’offres déclinées par
canaux de distribution, etc....)
|59
Illustration d’une application orientée objets – Insurance Product Development
A rule based architecture is an approach to system design that allows certain aspects of core system behaviour to be manipulated by enabled users without changing the system code.
Specifically for product development and contract administration systems (e.g. Insurance, Banking, Investment Management) this means that the “product designer” is able to define product features and develop new products by selecting options and specifying parameters within a framework of “product rules”.
RuleOption
Parameter
Data
Application
Presentation
Rules Access
Product Rule Framework
Rule Manipulator(Product Development Workbench)
System Architecture
|60
Company Level
Product Bundle Level
Product Level
Benefit level
Fund Level
Investment ComponentRules
Income Component Rules
Risk ComponentRules
DocumentRules
Family Group, Multiple Contract product and Contract Integration Rules
Company Rules Define rules for each company
Defines cross product
rule (e.g. Shared charges, bulk discounts etc..)
System Level Overall legislative Rules
Define overall legislative
rules, (e.g. LOA projection rates)
Product Rules Technical Rules ProductRules Workflow
Rules
Fund Rules
ParagraphRules
DataElementRules
Illustration d’une application orientée objets – Insurance Product Development
|61
Within the product rule framework there is a common set of mechanics on which all product development and contract administration is based. All products (regardless of type) must conform to the same basic structure and adopt the same product mechanics. This structure enables consistency. It is also modular which enables flexibility (e.g ability to extend the range of available benefits over the life of a contract)
Product
Investment Component
Risk Compone
nt
Income Component
Premiums are always allocated to investment components and buy units
Income components provide regular income.They are usually funded by the deduction of units from an investment component.Only a small number of products use Income Components.
Investment components receive contributions and purchase units. All products must have at least one Investment Component. Pure risk contracts will have a “Dummy” Investment Component. Multiple investment components are used to separate different contributions where necessary (e.g protected and non-protected rights for pensions).
Risk Components provide cover against contingent events (e.g. death, illness, disability), They are always funded by deducting units from an investment component.A pure investment product normally has a “Return of Fund” benefit to return the value of the policy on death. A product might have multiple risk benefits if it provides cover against multiple contingent events.
Investment Components Risk Components Income Components
Illustration d’une application orientée objets – Insurance Product Development
|62
At a lower level, the product rule structure comprises a set of reusable components (parts). These product building blocks (parts) are modeled to represent parts of a product that a product designer will “naturally understand”. The building block structure removes a lot of the system “configuration” complexity from the product designer, and enables efficient and controlled product development in a sustainable configuration.
Rules are either at the “part” level (and therefore are part of the reusable component) or are “context” rules which describe the way in which the part behaves in a specific
product/component.
Context RulesChannel assignmentCommission Styles
Part rulesLegislative typeArrears periods & actionsPolicy Fee
Product
InvestmentPart rulesComponent TermLoyalty bonusPartial surrender rules
Context RulesDates availableComponent combinationsAccounting fund type
RiskContext RulesDates availableOptionalityAccounting fund type
Part rulesMin/max age & termContingent EventIndexationSum Assured Definition
Part rulesLegislative typeArrears periods & actionsPolicy Fee
Income
Part rulesMortality ratesMultiplicative loading factorPremium frequency factor
Risk Rates
Part rulesOccupation rating codes
Occupation Details
Contribution StylePart rules
IndexationMinimum contributionContribution FrequencyCollection methods
Context RulesAllocation scalesCommission scales
Part rulesFunds Available & Inv Strategy
Fund Group
Part rulesContribution source rule
Pension Contributors
Part rulesSurrender penalties
Surrender penalty
This diagram shows the reusable components and provides some examples of the parameters (rules) which are defined at each level.
Context RulesDates availableAccounting fund type
Illustration d’une application orientée objets – Insurance Product Development
|63
Product 1
Benefit 1
Rule 1 = ARule 2 = BRule 3 = TableX
Product 2
Rule 1 = CRule 2 = DRule 3 = Table y
Benefit 2
Product
Benefit
Rule Parameter
Detail tables
Get Rule
Next action
Product IDBenefit IDRule ID
Rules access
Transaction Processing Module
Rule MappingInterface
Logical Rules in business object form
Physical System Rules
Rule ValueRequired Parameters
1) The Product designer selects combinations of components, rules options and parameters, and specifies their values for the specific product. 2) These values are ‘released’ into a set of lookup tables3) These values are accessed by the application code via a standard API.
132
Illustration d’une application orientée objets – Insurance Product Development
|64
Fortran
• Le Fortran, développé en 1954, fut le 1er langage de programmation mûr. Il fut inventé par John Backus pour IBM. Il est toujours aujourd’hui utilisé, principalement pour des applications scientifiques de calcul (physique, météorologie, etc...).
• Le Fortran fut le premier langage compilé. • Le compilateur transforme un langage high level d’abord dans un langage
d’assemblage et ensuite en code machine. • Le Fortran fut très apprécié grâce à l’efficacité de la compilation. Le
traitement était aussi rapide que lorsque du code machine était fourni à un ordinateur.
• Fortran était une abbréviation pour FORmula TRANslating system.
|65
Fortran – exemple de compilation
• Exemple d’un petit programme de conversion de températures Farenheit en températures Celsius.• Programme high level :
WRITE (*,*) “Please enter Fahrenheit temperature:”READ (*,*) FARENCELSIUS = (FAREN – 32) / 1.8WRITE (*,*) “The Celsius equivalent is: ”, CELSIUSSTOPEND
fld 32real [0001BEC8]fchsfadd 32real [0001E000]fdiv 32real [0001BEC0]fstp 32real [ebp-08]
• Instructions en langage assemblé :
|66
• Instructions en code machine :
Fortran – exemple de compilation
110110010000010111001000101111100000000100000000110010011110000110110000000010100000000111000000000000100000000110110000011010111000000101111000000000100000000110110010101110111111000
|67
Java
• Java est un langage orienté objets développé par James Gosling et ses collègues chez Sun Microsystems. Ce langage s’appelait au départ Oak (1991). Java fut commercialisé en 1994. C’est un langage dérivé en bonne partie de C++, mais plus intuitif que le C++.
• Java est indépendent de la plate-forme sur laquelle il tourne, d’ où son succès comme application internet. Il a été conçu pour supporter des applications mises en réseau :
– Le look and feel d’un GUI java est indépendent du hardware/OS– Un programme java peut être lancé sur n’importe quel OS/Hardware; ceci grâce à un
compilateur particulier et une machine virtuelle (VM) :• Le compilateur transforme le langage java en un langage code à mi-chemin avec un code machine• Ce code est traité sur une machine virtuelle (programme écrit en code natif sur la plate-forme
hardware) qui traduit le code générique java en un code utilisable par le hardware
• Sun a créé la société JavaSoft, responsable pour le design et la distribution du langage java. La licence octroyée par Sun exige que toutes les implémentations soient compatibles.
– Microsoft fut condamné à payer 20 MUSD à Sun pour avoir ajouté des éléments spécifiques à la plate-forme Windows dans le langage java dans sa version de InternetExplorer.
|68
Java
• Java n’est pas un programme open source bien que ceci a été demandé par plusieurs sociétés (ex IBM). Il existe des APIs Java, pour intégrer un programme java dans un environnement de programmes). Des sociétés peuvent influencer le design d’APIs mais Sun retient la propriété et le contrôle de ces APIs.
• Sécurité – les programmes java doivent être fiables et utilisés dans un environnement ouvert/distribué, ceci grâce à de nombreux contrôles en amont et pendant l’exécution du code
– La machine virtuelle java applique une hiérarchie de contrôles de sécurité sur la machine sur laquelle le code java sera exécuté
– Le compilateur java applique également de nombreux contrôles sur le code source.• Facilité d’interaction avec les protocoles TCP/IP grâce à une librairie de routines. Ceci rend la
création de connections réseau beaucoup plus aisée qu’avec un programme écrit en C++. • Usages fréquents de java :
– Web browsers– Applications intranet/internet– Web user interface (java beans appelant d’autres programmes, par ex en C++) – GSM– Smart cards– TV set boxes– Programmes d’interfaces
|69
Evolutions futures – Langages de programmation
• Moins de clarté sur les tendances futures que pour les OS et les architectures
• Importance croissante des langages orientés objets• Dominance de java pour les programmes de communication.
Dominance de C++ et langages associés pour les programmes de calcul, traitement
• Disparition progressive du cobol, aujourdhui encore largement répandu dans les systèmes propriétaires
• Croissance des applications “web based” utilisant donc un web user interface basé sur java
|70
Architectures techniques - Introduction
IBM PSeries 650 12 Gb RAM
2*36 Gb mirrored disks 8 Power4 1.45 GHz
2*IBM PSeries 650 12 Gb RAM 2*36 Gb mirrored disks 8 Power4+ 1.45 GHz
IBM Fast600 Disk Array 1TB usable space with 2x 7x 174GB disks
Client Workstations
24/08/04 JDS OAMS
ABN - DPM ABM Proposition 2
Production
IBM Fast600 Disk Array 1TB usable space with 2x 7x 174GB disks
Cluster : cold standby
3* IBM Pseries 520 2 CPU Power5 * 1.65 GHz 4 GB RAM 4*72 GB disks
Actuate Server
3* Intel PC 2 Xeon 3 GHz 2 GB memory
45 Gb SCSI
2 * Intel PC 1 Xeon 3 GHz 1 GB memory
45 Gb SCSI
Actuate Development and
Test1 & Test2
Software 1 Development and
Test1 & Test2
BETA
IBM Pseries 530 4 CPU Power4 * 1.45 GHz 4 GB RAM 4*72 GB disks
DR
|71
Architectures techniques - Caractéristiques
• Un système informatique est composé d’un ensemble d’environnements (développement, test, acceptance, production). Chaque environnement est une entité logique distincte. Une ou plusieurs entités logiques peuvent cohabiter sur une seule machine.
• Répartition des différents environnements sur différents serveurs ou machines• Load balancing : mise en place d’un cluster de plusieurs serveurs ayant chacun un
environnement de production. Les deux environnements de production sont à tout moment identiques grâce à une technique de mirroring. Cette approche est de plus en plus souvent adoptée, en particulier pour les sites internet. L’objectif de cette méthode est d’arriver à une disponibilité proche de 100% (99,9%)
• Disaster recovery : full back up du système de production sur un autre site physique. Ll’environnement de production est le plus souvent recopié en batch la nuit sur l’environnement de back up. L’objectif de cette méthode est d’arriver à une disponibilité proche de 100% (99,9%). En cas d’accident grave (ex : incendie dans le bâtiment principal, les activités sont redémarrées sur le back up qui a l’image de la veille au soir.
• Trade off coûts-fiabilité : l’infrastructure présentée est coûteuse (coût machine, coûts de license, opérations IT)
|72
Evolution technologiques - Architecture
• “Dans le passé, on n’avait pas besoin d’une architecture technique”• L’infrastructure/architecture était de facto inclue dans le mainframe (ex.
IBM)• L’automatisation de processus était réalisée au moyen d’applications
stand alone• Il n’y avait pas de PASSE – (et donc pas de systèmes “legacy” à
intégrer)
• Aujourd’hui, • Les applications sont mises en réseau, distribuées• On doit tenir compte du passé :
• intégration de nouvelles applications avec des applications legacy• Maintenance d’applications legacy en parallèle avec de nouveaux
développements (web, wireless, B2B)
Les architectures ont connu plusieurs générations, appelées “tiers”
|73
Une architecture mainframe est une architecture one-tier : le processing est réalisé sur le serveur central. Il n’y a pas de séparation entre les données, la présentation et la logique business.
Batch On-Line MFDesktop
Computing
Pre
sen
tatio
n
Business Logic
Da
ta
Pre
sen
tatio
n
Business Logic
Da
ta
Pre
sen
tatio
n
Business Logic
Da
ta
Pre
sen
tatio
n
Business Logic
Da
ta
Pre
sen
tatio
n
Business Logic
Da
ta
Mainframe
Evolution technologiques – Architectures “one-tier”
|74
client server
communication
Les systèmes client/server sont caractérisés par une distribution des programmes (business logic) sur différentes machines. Le client et le serveur communiquent via des messages : le « client » envoye des requêtes au serveur à travers des interfaces de services et le serveur répond.Trigger historique : MS Windows et Graphical User InterfaceRaisonnement : C/S réduit les coûts IT
Pre
sent
atio
nP
rese
ntat
ion
BusinessLogic
BusinessLogic
BusinessLogic
BusinessLogic
Pre
sent
atio
nD
ata
Communication
Evolution technologiques – Architectures “2-tier”
|75
• Les architectures « 3-tier » sont devenues nécessaires avec l’internet. L’internet nécessite de pouvoir partager des données, des applications entre utilisateurs et entre applications.
• Raisonnement : Le web demande un front end spécifique qui permet de traiter des milliers, voire des millions de connections.
Evolution technologiques – Architectures “3-tier”
|77
Business Logic Bloc 3
Fir
ew
all
External
Inte
gra
tion L
ayer
Services&
OperationsData
Busi
ness
Log
ic B
loc
2
Business LogicBloc 1
Pla
tfor
Pla
tfor
mm
Cross Channel Applications Tier
Ap
plic
ati
on S
erv
er
Channel Management Tier
ContentContent
Businesslogic
SessionApp. Server
Marketingdata
field
field
dynam
ic
Page
SecurityPackage
Users
LDAP
Fir
ew
all
Presentation Tier
HR/Payroll systems
CRM system
Accounting system
Reference data systems
Invoicing, billingand collection systemExternal partysystemRegulatory reportingsystemInformation deliverysystem
Business intelligence systems
Product
Product
Product
OtherProducts
Call
Call
Cen
tC
en
trere W
eb
Web
Bro
ws
Bro
ws
er
er
Voice
V
oice
R
esp
on
Resp
on
seseU
nit
Unit
Voice
Ph
oPh
on
en
e
CR
CRMM
Voic
Voic
e
e
Logg
Logg
er
er
Voice
V
oice
R
esp
on
Resp
on
seseS
erv
er
Serv
er
Web
Web
Bro
ws
Bro
ws
er
er
BTS
Wire
less
Wire
less
Bro
wse
rB
row
ser
(WA
P, J2
ME)
(WA
P, J2
ME)
Inte
rnIn
tern
et
et
Intra
netW
eb
Web
Bro
ws
Bro
ws
er
er
Clie
Clien
tn
t
|78
Evolutions technologiques – Avantages des architectures de type “n tier”
• Offrent une cohérence cross canaux aux clients• Facilitent l’intégration d’information répartie dur différents
systèmes• Maintenance d’une application unique offerte au travers de
différents canaux• Réduction du coût d’addition d’un nouveau canal• Facilitent l’intégration avec des systèmes back offices• Meilleure réutilisation des composents mid tier