What you need to know about an IT experience - Talk given at the "Université de Lille 1 Sciences et Technologies USTL, 59650 Villeneuve-d'Ascq" (http://www.univ-lille1.fr)
Alt f1-rpt-2012-11-29 universite-lille
The 3rd Intl. Workshop on NL-based Software Engineering
What you need to know about an IT experience - 2012-11-29 - universite-lille
1. Contact details
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
Managing Partner
ALT-F1 SPRL/BVBA
Abdelkrim BOUJRAF
@: abo@alt-f1.be
W: www.alt-f1.be
M: +32 (0)497 480.970
1
29 November 2012
Twitter: @abdelkrim
2. Où suis-je?
Université de Lille 1 – MA Informatique
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
¨ Le Master informatique est composé de plusieurs
spécialités :
¤ E-services (Conception d'applications Web et Mobile),
¤ IAGL (Conception et architecture logiciel),
¤ TIIR (Systèmes, Réseaux, Sécurité),
¤ MOCAD (IA et Analyse des grands volumes de
données)
¤ et IVI (Imagerie, 3D)
2
29 November 2012
3. Experiences
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
3
¨ ALTI International S.A. (1998)
¨ Mediagenix S.A. (Feb 2001) – Bulle internet
¨ Digital Age Design S.A. (Sept 2001) -> LBi Group
¨ Unisys Belgium S.A. (2007) – Crise bancaire
¨ ALT-F1SPRL (Oct. 2010)
29 November 2012
4. Alt-f1.be
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
4
¨ Group of entrepreneurs
¨ Business Intelligence
¨ Project – Program – Portfolio management
¨ Coaching
¨ Marketing & Web Marketing Strategy
¨ Quality Assurance
¨ R&D
¤ Cloud computing
¤ Lean manufacturing (Optimisation)
29 November 2012
5. Expectations
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
¨ …le sujet puisse dans la mesure du possible parler de
problématiques intéressant le plus grand nombre de
nos étudiants, mais nous aimerions avant tout profiter
de votre longue et diverse expérience
professionnelle…
¨ Vous écouter
5
29 November 2012
6. Paran Yo, the place where we can share the
world!
Case study
29 November 2012
6
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
7. Paran Yo, the place where you can
share the world!
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
7
8. Where do I start?
The methods
Paran Yo
29 November 2012
8
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
11. technical & non tech. requirements
¨ Legal requirements
¤ Data privacy, SOX
¨ Regulatory reqs
¤ Solvency II, Basel III
¨ Policy
¤ Computer security
¨ Recommandations
¤ W3C, IETF (RFC,
Internet Standards)
¨ Standards
¤ HTML, UNICODE, ISO,
ECMA, IANA, Java
Specification Requests
¨ Non-standards
¤ Silverlight, Flash, XUL
29 November 2012
11
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
12. Methods – Naming convention
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
12
13. Methods - Enterprise architecture
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
13
Dataarchitecture
Securityarchitecture
Strategy
architecture
Business
architecture
Application
architecture
Technical / Infra
architecture
14. IAGL (Conception et architecture
logiciel)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
14
¨ Software engineering
¤ Architecture
n Service Oriented Architecture (SOA)
n Web Services using SOAP / REST
¤ Programming paradigm
n Aspect-Oriented programming
n XP Extreme Programming
¤ Software development process
n Test-Driven Development
n Continuous integration
¤ Code generation
15. IAGL (Conception et architecture
logiciel)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
15
¨ App server – middleware
¤ Java EE
¤ .NET
¨ Architecture
¤ SCA (isn't dead?)
¤ Enterprise Service Bus
¨ Frameworks
¤ Hibernate
¤ Spring
¤ Struts
¤ Java Server Faces (JSF)
16. IAGL (Conception et architecture
logiciel)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
16
¨ Programming language
¤ C++ / Objective-C / C#
¤ Java, ADA, Cobol, VB
¤ HTML, CSS, JavaScript
¤ WSDL, XML, Json
¨ Framework - platform
¤ Django
¤ Microsoft .NET – J(2)EE
¤ Bootstrap Twitter – jQuery
¤ Application Server – Enterprise Service Bus - Cloud
17. IAGL (Conception et architecture
logiciel)
¨ Database design
¤ Backus-Naur Form
¤ 1st-2nd-3rd Normal
Form
¨ Database engine
¤ Oracle, MySQL
¤ NoSQL: MongoDB
¨ Security
¤ See next slides
29 November 2012
17
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
18. Methods - Enterprise architecture
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
18
Dataarchitecture
Securityarchitecture
Strategy
architecture
Business
architecture
Application
architecture
Technical / Infra
architecture
19. TIIR (Systèmes, Réseaux, Sécurité)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
19
¨ Network and system security through crypto, VPN,
IPSec, OWASP-10
¨ Infrastructure and Frameworks
¨ Distributed algorithms (MongoDB)
¨ Architecture and Network technologies like Wi-Fi,
TCP/IP, ATM
20. Security analysis
R4eGov project
20
Security and Organisational
Control Requirements
- Collaboration
- Transactions
- Basic Security Services
- Rights Management
- Privacy
Cross-Organisational
Workflow
privatepublic
publicprivate
private
public
A
A
A B
B
B
21. Security analysis
R4eGov project
21
Security and Organisational
Control Requirements
Coordination
ACID-Properties
Advanced Transaction Models
Pivot, Compensate, Retry
Mixed/Atomic Outcome
Time constraints
Enforcement (of steps)
- Collaboration
- Transactions
- Basic Security Services
- Rights Management
- Privacy
22. Security analysis
R4eGov project
22
Security and Organisational
Control Requirements
- Collaboration
- Transactions
- Basic Security Services
- Rights Management
- Privacy
Data Integrity
Non-Repudiation
Time Stamping
Authentication
Confidentiality
Traceability / ‘Structured Proof’
Assurance
23. Security analysis
R4eGov project
23
Security and Organisational
Control Requirements
Access Control
Revocation
Delegation
Separation of Duties
Obligation of Duties
- Collaboration
- Transactions
- Basic Security Services
- Rights Management
- Privacy
24. Security analysis
R4eGov project
24
Security and Organisational
Control Requirements
Unlinkability / Unobservability
Anonymity / Pseudonymity
Data Control / Obligation Management
- Collaboration
- Transactions
- Basic Security Services
- Rights Management
- Privacy
25. MOCAD (Modèles complexes,
algorithmes et données)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
25
¨ Design methodologies
¤ Multi-criteria Decision Aid method: PROMETHEE
¤ Forecast: Moving Average, Winters Exponential
smoothing
26. MOCAD (Modèles complexes,
algorithmes et données)
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
26
¨ Big Data analysis
¤ Web pages
¤ Social networks
¤ Domain based information
n Justice
¤ Geolocation
¤ Electronic documents
28. Web & Mobile application design
E-services28
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
29. Evolution: unified communications &
technology29
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
10 years ago, different devices for
almost every type of interaction
Now, all interaction types
integrated in one device
29 November 2012
30. E-services (Web & Mobile app design)
¨ Chrome (34%)
¨ IExplorer (32%)
¨ Firefox (24%)
¨ Safari (7%)
¨ Opera (2%)
¨ Mobile (8%)
Source: http://bit.ly/O8o25M (July 2012)
¨ Android (23%)
¨ iPhone (21%)
¨ Opera (20%)
¨ Nokia (10%)
¨ BlackBerry (5%)
¨ iPod touch (4%)
Source: http://bit.ly/O8o25M (July 2012)
30
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
Web browser Mobile browser
29 November 2012
31. Android Dashboard
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
31
29 November 2012
Source: http://developer.android.com/about/dashboards/index.html
32. 32
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
Vocal interfaces Multi-touch interfaces
29 November 2012
33. Cloud computing or disguised Application
Service Provider?
use of computing resources delivered
as a Service over a network
33
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
34. Infrastructure as a Service (IaaS)
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
34
¨ …to provision processing, storage, networks, and
other fundamental computing resources where
the consumer is able to deploy and run arbitrary
software…
¨ …consumer DOES NOT manage or control the
underlying cloud infrastructure but has control over
[it]…
¨ … possibly limited control of select networking
components (e.g., host firewalls)
Source: Mell, P., & Grance, T. (2011, September). The NIST Definition of Cloud Computing. Gaithersburg, Maryland, U.S.A.: National Institute of Standards and Technology.
29 November 2012
35. Platform-as-a-Service (PaaS)
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
35
¨ …to deploy onto the cloud infrastructure
consumer-created or acquired applications
created using programming languages and tools
supported by the provider
¨ … The consumer DOES NOT manage or control the
underlying cloud infrastructure…
¨ … [but consumer] but has control over the deployed
applications and possibly application hosting
environment configurations
Source: Mell, P., & Grance, T. (2011, September). The NIST Definition of Cloud Computing. Gaithersburg, Maryland, U.S.A.: National Institute of Standards and Technology.
29 November 2012
36. Software-as-a-Service (SaaS)
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
36
¨ …to use the provider’s applications running on a
cloud infrastructure…
¨ The applications are accessible from various client
devices through a thin client interface such as a web
browser (e.g., web-based e-mail)
¨ The consumer DOES NOT manage or control the
underlying cloud infrastructure … with the possible
exception of limited user-specific application
configuration settings
Source: Mell, P., & Grance, T. (2011, September). The NIST Definition of Cloud Computing. Gaithersburg, Maryland, U.S.A.: National Institute of Standards and Technology.
29 November 2012
37. IaaS
• Amazon Elastic Compute
Cloud
• Google infrastructure
• Microsoft Cloud infrastructure
• Rackspace
• Computer Sciences
Corporation
• Terremark
• Bluelock
• Savvis
PaaS
• Google App Engine
• Heroku
• Engine Yard
• AppScale
SaaS
• Google Apps
• Salesforces
• Zoho
• Office365 - Hotmail
Cloud-as-a-Service (I/P/SaaS)
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
37
processing, storage,
networks
Consumer created or
acquired applications
processing, storage,
networks
Provider’s applications
Consumer created or
acquired applications
processing, storage,
networks
29 November 2012
38. How much does it cost to deliver value to your
customer?
Paran Yo
29 November 2012
38
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
39. 15$/1 million views without
business complexity
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
39
40. Architecture -15$/1 million views
without business complexity
User
Internet
Services: TaskQueue, Mail, Image, Fetch, Users
Python 2.5
Memcached API
Memcache transient
GQL – Query Object
DataStore persistent
40
41. Architecture -15$/1 million views
without business complexity
GAE SDK 1.6.5
Webapp1 APIs libraries
Google
analytics
Google
charts
OpenId
2.0
Users api
41
42. Architecture -15$/1 million views
without business complexity
Model
Datastore
View
Bootstrap
Twitter
2.0.3
CSS 3 HTML 5
Controller
Django
1.2 (MTC)
10/05/2012ydo@alt-f1.be
42
43. Architecture -600$/1 million views
without business complexity
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
43
44. GAE Application: How to budget the
deletion of 5000 records in a table?
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
44
how to compute the cost of deleting 5000 records from a table containing five
columns of string type. We assume that each column is indexed and there is no
composite index.
45. 60$/1 million views with business
complexity
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
45
46. 60$/1 million views with business
complexity
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
46
47. Architecture - 60$/1 million views
with business complexity
Model
Datastore
View
Bootstrap
Twitter
2.0.3
jQuery
1.7.2
CSS 3 HTML 5
Controller
Django
1.2 (MTC)
10/05/2012ydo@alt-f1.be
47
48. Legal, regulations, investigations and compliance
The importance of the standards
29 November 2012
48
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
49. I used to be blind, now I see!
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
49
50. Architecture - 7$/1 million views
with business complexity
GAE SDK 1.7.3
Webapp2 APIs libraries
Google
analytics
Google
charts
OpenId
2.0
Users api
10/05/2012ydo@alt-f1.be
50
51. Technical summary
Paran Yo
29 November 2012
51
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
52. Case study: Paran Yo
¨ Cloud computing
¨ Platform-as-a-Server (PaaS)
¤ High availability
¤ Scalability
¤ Google App Engine
¨ NoSQL
¨ Creational design patterns
¤ Abstract factory
¤ Lazy initialisation (jQuery)
¨ Structural design patterns
¤ Decorator (Python)
¤ Front controller (app.yaml)
¨ Behavioral pattern
¤ Chain of responsibility (url
patterns)
¤ Iterator
¤ Mediator (middleware
django)
¨ Architectural pattern
¤ Model-View-Controller
52
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
53. Technical specifications
¨ Webapp2
¨ python2.7
¨ WTForms
¨ Tech spec
¤ GAE SDK 1.6.5
¤ datastore
¤ Bootstrap Twitter 2.0.3
¤ Google analytics
¤ Google charts
¤ Python Image Library
(PIL)
¤ Memcache
¤ TaskQueues
¤ OpenId 2.0
¤ Django 1.2
¤ jQuery 1.7.2
¤ Users api
53
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
54. Be carefull, « walking in my shoes »
¨ All previous slides are
useless if you don’t know
what your customer
wants!
¤ Public/Private company
¤ Individuals
¤ Handicap
¤ Culture
54
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
55. We have talked about the costs, now let’s see
how to make money?
Incomes - Earnings
29 November 2012
55
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
56. On internet, how to earn money?
¨ Subscription fees
¤ Free + Advertising
¤ Freemium
¤ Premium
¨ Open Source model
¤ Free software but
support is invoiced
¨ Brokerage fees
Affiliates
¤ Amazon associates
¤ iTunes Connect
¤ Google AdSense
¤ eBay affiliates
¤ Online advertising
¤ Ancillary revenues
56
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi 29 November 2012
57. Tips
Almost the end
29 November 2012
57
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
58. Performance best practices
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
58
¨ Optimizing caching (leverage browser caching)
¨ Minimizing round-trip times (parallelise downloads
across hostnames)
¨ Minimizing request overhead (Cookies)
¨ Minimizing payload size (minify the code)
¨ Optimizing browser rendering (specify everything)
¨ Optimizing for mobile (Defer JavaScript loading)
Source: https://developers.google.com/speed
59. Tips
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
59
¨ Have you developed a proof of concept
¨ ... using a complex use case
¨ ... running under the selected software architecture?
29 November 2012
60. Tips
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
60
¨ Read the financial reports
¤ investor.google.com - investor.fb.com
¤ www.coca-colacompany.com/investors
¨ Check slideshare.net
¨ Find valuable documents with Google with
¤ filetype:pdf pptx xlsx etc.
¨ Register to (but expensive)
¤ safaribooksonline.com
¤ books24x7.com
¤ getabstract.com
61. Tips
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
61
¨ Develop a mindset, adapt to change, work in team
¨ Speak like a business man, code like a geek
¨ Put in place an Escrow, Backup strategy & Source
Control first
¨ Do not set the “automatic updates”
¨ Document briefly your code but extensively your
architecture and processes
¨ Focus on innovation and how to bring value to the
business using your IT knowledge
62. Tips
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
62
¨ Integration projects are key
¨ Be bold in technologies applicable in multiple
domains
¨ Don’t try to become a project manager nor a
business analyst (it’s boring)
¨ Facilitate the life of your users, they are always
right!
63. Project manager
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
63
¨ Run Forest, Run! (after the others)
¨ Value and report on Risk, EAC, ETC, Actuals, delays,
changes
¨ Learn what is important for the business (P&L)
64. Break the stereotypes
Who want to be a millionaire
29 November
2012
64
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
65. Apple and its closed architectureDataarchitecture
Securityarchitecture
Strategy
architecture
Business
architecture
Application
architecture
Technical / Infra
architecture
¨ Impact of the App
store for the
developer?
29 November 2012
65
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
66. Questions
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
66
What is the minimum daily rate you should be sold just
after your graduation (in Belgium)?
Who earns the best salary (5 years experience)
A. Software developer (Java, .NET, etc.)
B. Visual Basic developer for Soft architecture
67. Questions
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
67
¨ in 2006, for a net salary of 25.000 EUR, you cost
¤ 62.000 EUR in Belgium
¤ 49.000 EUR in the Netherlands
¤ 37.000 EUR in UK
¤ 35.000 EUR in Luxembourg
68. Questions
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
68
¨ in 2006, for 1.000 EUR net increase, you cost
¤ 3.300 EUR in Belgium
¤ 1.700 EUR in the Netherlands
¤ 1.500 EUR in UK
¤ 2.100 EUR in Luxembourg
69. Keep this in mind
29 November 2012alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
69
¨ How can IT capabilities support business strategy?
¨ How can business strategy be created/transformed
through IT?
70. Q&A
alt-f1 sprl - Université de Lille1 Master informatique - Les conférences du Jeudi
Managing Partner
ALT-F1 SPRL/BVBA
Abdelkrim BOUJRAF
@: abo@alt-f1.be
W: www.alt-f1.be
M: +32 (0)497 480.970
70
29 November 2012
Twitter: @abdelkrim