Why we are using Ruby on Rails
Ruby on Rails is WEB application framework for the Ruby programming language.
Ruby on Rails based on two core principles:
- Convention over Configuration (CoC)
- Don't repeat yourself (DRY)
Don't repeat yourself(DRY)
↓If column name "mail" is change to "mail_address"
CoC and DRY
Thanks to CoC
- You don't have to write configuration files
- To less source coding
Thanks to DRY
- The information in one place
- So, DRY will shorten the time needed for maintenance
These are the reasons why we chose Ruby on Rails.
Learning cost of Ruby on Rails
The things that you will have to learn to be able to use Ruby on Rails:
- Database schema design
- Programming of Ruby
- Ruby on Rails How-to
- To gain knowledge of naming convention
- To gain knowledge of how to write the actual coding
Development case in OCC(1)
We trained our new employee with the following training program.
- 4 days for Database schema designin
- 8 days for Programming of Ruby
- 3 days for Ruby on Rails How-to
A total of 15 days.
Development case in OCC(2)
After the training program, we let them form a group of 4 to 5, and let them make the actual program.
This on hand training period was one week.
They were able to develop softwares using Ruby on Rails.
- Programming of Ruby was smooth
- But, DB design did not too good
- If the experienced developer takes charge of the DB design, development becomes more smooth
>
Development case in OCC(3)
Now, let me introduce the applications that we have developed using Ruby on Rails.
These are the applications actually on business used.
Also, I am goig to explain the cost for these software development.
Development case in OCC(4)
SFA : Sales Force Automation
Number of developers | 2 |
Period of Development | 6 months |
SX : Internet Service Provider Member Management System
Number of developers | 2 |
Period of Development | 6 months |
Development case in OCC(5)
Employee Management System
Number of developers | 1 |
Period of Development | 1 week |
Equipment Management System
Number of developers | 1 |
Period of Development | 1 day |
Development case in OCC(6)
Why we were able to development the Equipment management system in just one day?
The reason is we have used the Ruby on Rails Scaffold feature.
Demonstration of Scaffold feature
Ruby on Rails Scaffold feature automatically generates CRUD application.
(* CRUD stands for Create, Read, Update, Delete)
I am going to demonstrate Scaffold feature.
I will create a address book.
Scaffold
With this command, Scaffold will automatically create an address book.
./script/generate scaffold address_book name:string age:integer e_mail:string address:string
ext_scaffold
One more thing, let's look at ext_scaffold, which is the extended version of Scaffold.
ext_scaffold adds a Search and Sort feature to Scaffold.
With this command, Scaffold will automatically create an address book.
./script/generate ext_scaffold address_book name:string age:integer e_mail:string address:string
Scaffold and ext_scaffold
- Application that uses only CRUD will be completed in a blink!
- Of ccourse, we cannot fulfill the customer's requirements only by using Scaffold
- But, developing under the CRUD's environment will make it much easier than development from scratch
- All we have to do is cutomize the CRUD application according to the customer's requirements
- What is SFA?
- Why we chose Ruby on Rails and its learning cost
- SFA Business Model
SFA Business Model
We feel that the followings are the SFA's business models:
- The Proposal of SFA
- The Configulation of SFA
- Customizing of SFA
- Cooperative use of SFA with other OSS
I'm goin to talk about one example of cooperative use with other OSS.
This will be the Pentaho collaboration.
Collaborate with SFA and Pentaho
Pentaho is an open source Business Intelligence (BI) Suite.
Pentaho BI Suite provides:
- Comprehensive Reporting
- OLAP Analysis
- Dashboards
- Data Integration
- Data Mining
BIs used for business purposes is very expensive.
So, being able to use Pentaho for free is a great advantage.
Collaborate with SFA and Pentaho
Here, I will show you an example of how SFA and Employment Cost Management System can be collaborated using Pentaho's data integration feature.
Collaboration with SFA and other OSS
- Employment Cost Management System differs from customer to customer
- Some customers might want to collabrate with other systems and with the SFA
- What the customers want to analyze may differ from customer to customer
- Our business model is to combine SFA with other systems and to provide the analysis that fits the customer's business
Summary of my presentation
- The point of business model that uses OSS is the coraboration of OSS and OSS
- Only the use of one OSS is pretty hard to business
- By combining several OSS and if we can think of adding more values to the system, this will lead to business
- We intend to expand our business by collaborating our SFA with other OSS
This is all of my presentaion.
Thank you very much for your attension!