6. Pourquoi moderniser pour le Cloud?
Adaptez -vous rapidement au changement
Institute of Social Security Services for Civil Servants
Serving 10 million Mexican civil servants health needs
www.issste.gob.mx
700 applications, 5-10,000 concurrent users
Observed productivity using CMM* Level 5
Language Productivity LOC/hr Error Rate
11,98 3,03 %
6,72 12,15 %
5,68 18,73 %
5,14 26,59 %
(LOC/Hr - Lines of code per hour)
* Carnegie Mellon University - Capability Maturity Model – Guidelines fo Improving the Software Process www.sei.cmu.edu/cmm
Page | 7
7. Genero - une architecture faite pour le Cloud
‘Server centric’ et ‘thin-client’
Avec https
Serveur de base de données
Serveur d’applications
Genero
Desktop
Client Pare feu
Serveur Web GAS
Genero
Web GAS
Client
Page | 8
14. Your Ticket to the Cloud
Definitions – what Cloud is not
Cloud is not just hosting
Page | 15
15. Un grand saut en avant dans le Cloud…
i4GL et le Cloud
Habituellement, chaque éditeur de logiciel
avance par petites touches pour rester en
tête de la competition. Afin de nous
demarquer et avec pour but de faire un
grand saut en avant, nous avons choisi
Genero pour nous positionner dans le Cloud.
John Driscoll,
PdG,
Bodyshop Management Systems.
Page | 16
16. La stratégie de l’Europe
”Stimulez le potential du Cloud en Europe”
Le Vice-President européen (Digital Agenda) Neelie Kroes:
Le Cloud computing change la donne
pour notre économie…
… afin d’arriver à la masse critique,
les lois doivent être unifiées en
Europe. En premier lieu, il est
important de changer les idées reçues
sur les risques liés au Cloud
computing.
Page | 17
17. La stratégie de l’Europe
”Stimulez le potential du Cloud en Europe”
Les problèmes clés
• Les lois nationales fragmentent le marché unique
• La jungle des standards
• Des problèmes contractuels freinent l’adoption du Cloud
• Résponsabilité des interruptions de service, indisponibilité, perte de données…
• Proprieté des données
Les solutions
• Un ‘label de confiance’ Européen pour les fournisseurs de
services Cloud
• Definir des standards pour l’interoperabilité, portabilité (2013)
• Des termes contractuels sécurisants et ‘fair-play’ pour les SLAs
Page | 18
18. La stratégie de l’Europe
”Stimulez le potential du Cloud en Europe”
Le Vice-President européen Neelie Kroes:
Devant faire partie de la stratégie
européenne, les gouvernements et les
industriels devraient investir 45 milliards
d’euros dans le Cloud computing jusqu’à
l’horizon 2020, afin de génerer 900 milliards
d’euros de PIB et 3,8 millions d’emplois à la
fin de la décade.
Page | 19
19. Votre passeport pour le Cloud
Definitions – ce qui n’est pas du Cloud
Cloud n’est pas simplement l’hébergement
Page | 20
20. Votre passeport pour le Cloud
Definitions – ce qui n’est pas du Cloud
Le Cloud c’est
l’hébergement plus:
• La virtualisation
• L’élasticité
• Le ‘self-service’
• La facturation en
temps-réel des
services
Page | 21
21. Votre passeport pour le Cloud
Les défis
Une tarification simple et prédictable
Gestion des utilisateurs
Disponibilité
Gestion de la base de données
La sécurité
Page | 22
22. Le Cloud vu par les grands
Microsoft Azure, SkyDrive SLA
La sécurité de vos données
We strive to keep the services up and running; however,
all online services suffer occasional disruptions and
outages, and Microsoft isn’t liable for any disruption or
loss you may suffer as a result. You should regularly
backup the content that you store on the services.
Having a regular backup plan and following it can help
you prevent loss of your content.
La confidentialité de vos données
We do not rent or sell personal information to third
parties, but we do communicate this information to
companies working on our behalf.
Page | 23
23. Le Cloud vu par les grands
Apple iCloud SLA
La sécurité de vos données
Apple shall use reasonable skill and due care in providing the Service, but,
TO THE GREATEST EXTENT PERMISSIBLE BY APPLICABLE LAW,
APPLE DOES NOT GUARANTEE OR WARRANT THAT ANY CONTENT
YOU MAY STORE OR ACCESS THROUGH THE SERVICE WILL NOT BE
SUBJECT TO INADVERTENT DAMAGE, CORRUPTION, LOSS, OR
REMOVAL IN ACCORDANCE WITH THE TERMS OF THIS
AGREEMENT, AND APPLE SHALL NOT BE RESPONSIBLE SHOULD
SUCH DAMAGE, CORRUPTION, LOSS, OR REMOVAL OCCUR. It is
your responsibility to maintain appropriate alternate backup of your
information and data.
La confidentialité de vos données
You further understand and agree that this information may be transferred
to the United States and/or other countries for storage, processing and use
by Apple, its affiliates, and/or their service providers.
Page | 24
25. Les atouts de Genero
Adaptez–vous rapidement au changement
Pas de risque
Faible coût
Protection de l’investissement , amélioration de l’image
Rapidité de dévéloppement et mise en oeuvre
Déploiement progressif
Agilité
Page | 26
27. Your Ticket to the Cloud
Definitions – architecture
SaaS
Software as a Service
Is: On-line applications execution by end-users
Was: On-premise applications
Platform as a Service
PaaS
PaaS Is: On-line applications development and deployment
Was: Development tool vendor
Software Infrastructure as a Service
SIaaS
Is: The Cloud – Virtualisation, elastic provisioning, utility billing
Infrastructure as a Service
IaaS Is: The Datacenter – Outsourced IT for applications
Was: In-house ‘IT shop’
Page | 28
28. Language Enhancements
Multiple dialogs
A wizard with multiple dialogs
• New dialog clause
• All dialogs are active
• User clicks on any dialog
• More intuitive for user
• Widgets now superfluous
• Code shorter, faster
• Total code 33% shorter
• dialog logic > 50%
shorter
Page | 29
29. Language Enhancements
Multiple dialogs
A wizard with multiple dialogs – code snippet
FUNCTION wizard()
... defines
OPEN WINDOW formwizard WITH FORM "formwizard"
... init arrays
DIALOG ATTRIBUTES(UNBUFFERED)
INPUT BY NAME currtable
DISPLAY ARRAY afields TO a.*
DISPLAY ARRAY cfields TO c.*
ON CHANGE currtable CALL on_change_currtable()
ON ACTION right CALL right(DIALOG)
ON ACTION allright CALL allright(DIALOG)
ON ACTION left CALL left(DIALOG)
ON ACTION allleft CALL allleft(DIALOG)
ON ACTION prevwiz DISPLAY "prevwiz" EXIT DIALOG
ON ACTION nextwiz DISPLAY "nextwiz" EXIT DIALOG
ON ACTION cancel EXIT DIALOG
AFTER DIALOG
--we just show all chosen columns in the terminal
FOR i=1 TO cfields.getLength()
DISPLAY sfmt("table:%1,column:%2",cfields[i].ctable,cfields[i].ccol)
END FOR
END DIALOG
CLOSE WINDOW formwizard
END FUNCTION
Page | 30
37. Language enhancements
Drag & drop
Order dispatch app with drag‘n’drop
– code snippet
DEFINE dnd ui.DragDrop
...
DIALOG ...
DISPLAY ARRAY arr_source TO sr1.* ...
...
-- Detect start drag
ON DRAG_START(dnd) -- dnd is the D&D handler object
CALL dnd.setOperation("move") -- Move is the default operation
CALL dnd.addPossibleOperation("copy") -- User can toggle to copy if needed
CALL dnd.setMimeType("text/plain")
CALL dnd.setBuffer(arr_source[arr_curr()].ident)
...
END DISPLAY
...
DISPLAY ARRAY arr_target TO sr2.* ...
...
-- Detect mouse entering this list
ON DRAG_ENTER(dnd)
IF ok_to_drop THEN
CALL dnd.setOperation("move") -- allow drop here
ELSE
CALL dnd.setOperation(NULL) -- deny drop here
END IF
...
-- Detect drop event
ON DROP(dnd)
LET arr_target[dnd.getLocationRow()].ident == dnd.getBuffer()
...
END DISPLAY
…
Page | 38