Ruby - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Ruby

Description:

Ruby on Rails has been used since September, 2006 ... They are accessible in the team's eRoom. There's a lot of documentation, written ... – PowerPoint PPT presentation

Number of Views:288
Avg rating:3.0/5.0
Slides: 31
Provided by: desratgui
Category:
Tags: eroom | ruby

less

Transcript and Presenter's Notes

Title: Ruby


1
Ruby Ruby on Rails trainingday three Ruby
on Rails _at_ RBC Dexia Investor Services
  • RBC Dexia Investor Services

2
_at_ RBC Dexia Investor Services
  • Ruby on Rails has been used since September,
    2006
  • By the Tactical Development team (formerly
    IT2ndLvl)
  • By the Data WareHouse team
  • By the IT Web team
  • RBC Dexia Investor Services use of Ruby on
    Rails
  • The technology and the tools
  • The methods
  • The teams

3
_at_ RBC Dexia Investor Services
  • The technology
  • We use given versions of Ruby and Ruby on Rails
  • We use a given database engine
  • We use plug-ins
  • We created /lib/rdis
  • We use some advanced techniques (presenters)
  • We have our own interpretation of DEV / TEST /
    PROD

4
Why Ruby on Rails ?
4
5
Why Ruby on Rails ?
  • Ruby on Rails is been used, at RBC Dexia
    Investor Services,
  • since September, 2006
  • It has been chosen because
  • It provides a simple and powerful open source web
    framework
  • It reduces time for programming
  • Its world-wide community
  • It emphasizes convention over configuration
  • It provides a standard architecture
  • Ruby is a powerful object oriented programming
    language
  • Developers can make plugins to extend the
    existing packages

6
Why Ruby on Rails ?
Business needs
Attributes
Development patterns
Core architecture
  • Very highly critical
  • All data sources
  • Strong link with other systems
  • Deployment slow

7
Technology tools
7
8
Technology Ruby
  • Ruby 1.8.4-p20
  • ruby 1.8.4 (2006-04-14) i386-mswin32

9
Technology Ruby gems
  • Standard gems
  • fastercsv (1.2.0)
  • parseexcel (0.5.2)
  • pdf-writer (1.1.3)
  • color-tools (1.3.0) (dependency)
  • transaction-simple (1.3.0) (dependency)
  • ruby-net-ldap (0.0.4)
  • rubywmq (0.3.0)
  • rubyzip (0.9.1)
  • spreadsheet-excel (0.3.5)

10
Technology Ruby on Rails
  • Ruby on Rails 1.1.6
  • actionmailer (1.2.5)
  • actionpack (1.12.5)
  • actionwebservice (1.1.6)
  • activerecord (1.14.4)
  • activesupport (1.3.1)
  • rails (1.1.6)
  • rake (0.7.1)

11
Technology Ruby on Rails plug-ins
  • Standard plug-ins
  • acts_as_authenticated
  • authorization
  • calendar_date_select
  • deprecated

12
Technology database
  • The databases used are Oracle ones
  • Version 8
  • Version 9
  • Version 10
  • A patched Ruby OCI connector handles the
    connection
  • ruby-oci8 (0.1.16)

13
Tools application template
  • rails ltappgt creates an empty Rails application
  • All RDIS Ruby on Rails applications share
  • A layout (pages, images, styles)
  • Standard plug-ins
  • Configuration (log level, password hiding, )
  • Functionalities (RPI, authentication system,
    error management, )
  • An application template includes all these
  • It is available in the CVS

14
Tools RadRails
  • The standard IDE is RadRails
  • Its Eclipse
  • Its bundled with the Ruby Development Tools
    plug-in
  • Its bundled with the RadRails plug-in

15
Tools /lib/rdis
  • /lib/rdis hosts security fixes and shared
    extensions
  • To the Ruby language (CGISession, )
  • To the Ruby on Rails framework (error management,
    )
  • It also contains application-specific extensions
  • To the Ruby language (Fixnum, String, Array, )
  • To the Ruby on Rails framework (pagination, )
  • These are automatically loaded at startup

16
Methods
16
17
Methods source versioning
  • Ruby on Rails applications are stored in a CVS
    server
  • Tags conform to the CMMi recommendation

18
Methods database environments
  • Rails relies on development, test and production
  • environments
  • Two test schemas are defined for Rails
    applications
  • One for the users tests
  • One for the developers unit tests
  • The three main environments are attached to the
    project
  • The unit tests one is attributed to a given
    developer
  • It must be cleared when switching from projects
    to others

19
Methods database environments
TEST (USER)
PROD
DEV
TEST (UNIT)
20
Methods development best practices
  • While working, developers often raise problems
  • They also solve them
  • The Tactical Development team set up meetings
  • To review which problems the developers
    encountered
  • To find solutions to these problems
  • To propose new common developments

21
Methods four-eyes peer review
  • Four-eyes peer review is the review process of
    your code
  • At least once in the development of your
    application, ask
  • one of your team mates to make a review
  • It increases the quality of your application
  • Other people are eager to notice whats wrong in
    your code
  • It leverages the skills of the whole team
  • Its the opportunity to learn or review Ruby
    techniques

22
Methods documentation
  • Theres a lot of documentation, online
  • The Tactical Development team selects and gathers
    them
  • They are accessible in the teams eRoom
  • Theres a lot of documentation, written
  • The four-eyes peer review process is documented
  • The use of the controller and model templates is
    documented
  • The creation of a Rails-compliant database is
    documented
  • Document the software and techniques you use!

23
Methods TDD
  • TDD stands for Test-Driven Development
  • Its another way to think the development
    process
  • You write your test code first
  • You write your application code then
  • When your code passes the tests, the jobs done
  • Relying on TDD ensure you to have test code
  • Youre highly encouraged to use TDD

24
Teams
24
25
Teams who use Ruby on Rails?
  • The Tactical Development team does it leads
  • The development practices
  • The tools used
  • Other teams (you!) use it or start using it
  • Applications have been developed for several
    domains
  • Tax
  • Employee share plan
  • For the IT teams

26
Teams who deploy applications?
  • The Service Integration team does it handles
  • Applications test releases
  • 2nd level applications production releases
    incidents correction
  • The Service Management team does it handles
  • 1st level applications production releases
    incidents correction

27
Teams who bring help and advises?
  • The Service Architecture team does it handles
  • Applications architecture issues and validation
    requests
  • Ruby Rails evolutions

28
Back to our application
28
29
RBC Dexia application template
  • Use our template to re-create our application
  • A COMPLETER

30
_END_
30
Write a Comment
User Comments (0)
About PowerShow.com