September 18, 2011

"ERP - Ruby On Rails Build It to Believe It"

ERP with Ruby On Rails

ERP  which means Enterprise Resource Planning is a heavy advantage of computational power. Enterprise level resources & their appropriate planning is the first goal of any ERP system. The most amazing thing about any system, is its just not one piece of software bundle to directly integrate with any other system. ERP means a large package of mutiple softwares each responsible of achieving its core capabilities and also ensuring the out come is safely & securely passes to other bridging system. The power of enterprise collaboration lies specifically in systems like ERP/MRP/MRPII Etc. Lets first understand what is a common behavior of ERP like systems. 

They can consist of following modules
1. Resourcing  - commonly understood as Human Resource or People Management
2. Attendance/Payroll/Leaves/Deputation/Appraisal/Primary/Secondary Information
3. Finance
4. MIS(Management Information System) or High Level Decision Making system
5.  Recruitment System
6. Procurement System
7. Sales Modules

This list can go on and one depending upon the operational and functional areas in your organization. But the scenario is again different when you assist a manufacturing kind of process oriented system because majorly an Manufacturing or assembly/Demand & Supply system will work based on external demands and internal supplies. So their is a lot of information on WIKI how these system typically operate; while this is not the mantra for this discussion I am trying to explain how we can build such systems using Ruby On Rails.

Rails has been the latest cutting edge technology in the market, since twitter added scala and ruby was again in mainstream. So now their are less people complaining about the slowness and less optimizing factor of ruby on rails. Likewise I can list some typical features that will help us understand how this technology can be very well used to build a ERP like minded system.

1. Security
 Security is the major concern when we try building such complex web based systems, so rails 3 has all major support related to security I guess with rails 3 you can also afford to build a banking website. so MD5/SHA1/Kerberos everything is possible; Top of this Rails 3 also addresses a major bundle of client server model based concerns like cookie hacking/session hijacking/CSRF cross site request forgery/javascript injection/SQL injection Etc. So you can pretty much make sure all your transactions are SSL based and highly secured. this also has password and sensitive data filtering which allows encryption is texts like passwords inside log files.

2. Interchange & Data Exchange
Ruby On Rails primitively supports REST based URL's which means all your resources are suddenly acting as restful resources. so the best way is to modular the code and allow people to access based on request their required resources. so data interchange is feasible and secondly all controller methods can expose your data or objects in XML/JSON formats which means data interchange is really inbuilt. The time that it takes to convert a rails object into XML is like 10 seconds - 1 minute, which means no technology in world can primitively achieve this. So data interchange and security on restful is also solved in Rails 3. 

3. Beautiful Look and Dynamic Updating Information
Majorly ERP's or any other real time systems needs a good support like PUSH systems. If I post a tweet on twitter and my followers can only see when they refresh the page, which means its not real time. So twitter would had been never so dramatic in terms of WEB2.0, so they used the PUSH server approach which means I will get any post as soon as my following posts it. for this in Rails 3 their is unobtrusive JavaScript so you can use JQuery, Prototype or any other JavaScript  styling engine(DOJO/YUI/Ext.js/Closures/Node.JS) to beautify you page. and on the other hand rails 3 has observing models scheme where the model callback pushes the data whenever its created. this is an amazing part in terms of rails 3.

Other than this, their are around 100 such reasons, which if required I can asnwer through comments, you can say this could a very devilish way to increase comments on my post. Buts friends and fellow readers believe me I bet rails is a elixir  or Mirage which can solve many complex problems only if we are able to make necessary adjustments and tweaks in real time in sense to make sure, that we identify the cause of problem.


Celso_ said...

Can you explain further about the push service in Rails 3?

Raghavendra said...

send an email to me at, we can discuss further about it.

NC Gorin said...

For building a custom ERP with Ruby (and Rails), I would suggest to have a look into Its modular and consistent approach to GUI allows it to build very complex web apps that look familiar to business people.

Juan Jose Molina said...

i sended to u a email ... not working

Juan Jose Molina said...

i sended a email to u
not working
do you have another email adress