ruby on rail and oracle


Published on

programming is the key for clever student of computer science

Published in: Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

ruby on rail and oracle

  1. 1. RUBY ON RAILOriginRuby on Rails, often shortened to Rails and sometimes known as "RoR", is an open source full-stackweb application framework for the Ruby programming language. Ruby on Rails is not to be confusedwith Ruby, which is a general-purpose programming language, on which Ruby on Rails runs. Ruby itselfexisted for more than 10 years before the first release of Ruby on Rails. Rails is a full-stack framework,meaning that it gives the Web developer the full ability to gather information from the web server, talkingto or querying the database, and template rendering out of the box. As a result, Rails features a routingsystem that is independent of the Web server.David Heinemeier Hansson extracted Ruby on Rails from his work on Basecamp, a project managementtool by 37signals (now a web application company). Hansson first released Rails as open source in July2004, but did not share commit rights to the project until February 2005. In August 2006, the frameworkreached a milestone when Apple announced that it would ship Ruby on Rails with Mac OS X v10.5"Leopard",which was released in October 2007.Rails version 2.3 was released on March 15, 2009. Major new developments in Rails include templates,engines, Rack and nested model forms. Templates enable the developer to generate a skeleton applicationwith custom gems and configurations. Engines let one reuse application pieces complete with routes, viewpaths and models. The Rack web server interface and Metal allow one to write optimized pieces of codethat route around ActionController.On December 23, 2008, Merb, another web application framework, was launched, and Ruby on Railsannounced it would work with the Merb project to bring "the best ideas of Merb" into Rails 3, ending the"unnecessary duplication" across both communities. Merb was merged with Rails as part of the Rails 3.0release. Rails 3.1 were released on August 31, 2011, featuring reversible database migrations, and theasset pipeline.Today, Rails is one of the leading agile languages used for web development, rivaling PHP as the leadingweb programming language.Version historyVersion Date December 13, 2005 January 19, 2007 December 7, 2007 June 1, 2008 November 21, 2008 March 16, 2009 August 29, 2010 August 31, 2011Framework structureRuby on Rails is separated into various packages, namely
  2. 2.  ActiveRecord (an object-relational mapping system for database access),  ActiveResource (provides web services),  ActionPack: Action Pack is a single gem that contains Action Controller, Action View and Action Dispatch. The “VC” part of “MVC”.  ActiveSupport: Active Support is an extensive collection of utility classes and standard Ruby library extensions that are used in Rails, both by the core code and by your applications.  ActionMailer: Action Mailer is a framework for building e-mail services. You can use Action Mailer to receive and process incoming email and send simple plain text or complex multipart emails based on flexible templates.Prior to version 2.0, Ruby on Rails also included the Action Web Service package that is now replaced byActive Resource. Apart from standard packages, developers can make plugins to extend existingpackages.Basic Ruby Language Elements  Structure of statements and comments.  Variables and constants.  Operators. Assignments, calculations, etc. Integer, float and string formats.  Single and double quotes, here documents, general strings.Control Structures  Blocks and the if statement.  Writing conditions.  Comparative, boolean and range operators.  Conditionals - if, unless, case, etc. Loops - while, for in, until, etc. break, next,retry and redo. defined? and ternary operators.Rails structures -  WEBrick servers,  URLs and embedded code.  Directory structure.  Database connections.
  3. 3. AREA OF APPLICATIONRuby on rail has been used for ten thousands of application around the world. This is a short over view ofmost prolific.Basecamp: The original Rails Shopify: E-commerce made Twitter: Stay easy. Livingsocial: Online localYellow Pages: Find it locally. Github: Git repo hosting. commerce.Sortfolio: Find a web designer. Hulu: Stream TV & Movies. Groupon: Daily deals. Backpack: PersonalGeni: Find your ancestors. Ravelry: Knitting community. organization.
  4. 4. 43things: Your goals in life. Justin TV: Live video. Scribd: Books, presentations, more. Streeteasy: Find a place iniLike: Find more music. Chow: Food, drink, fun. NYC.Harvest: Tracking time since Inkling Markets: Trade the A List Apart: zine for web devs.06. future.Revolution Health: Get New York Jets: Play ball! Mingle2: Get a date.healthy.
  5. 5. Advantages and DisadvantagesAdvantages:  Less code needed (Dont Repeat Yourself)  No configuration Files required  Open source project  Changes visible instantly  Forgiving code Documentation is not extensive  Scalability is often a problem interpretationDisadvantages:  Documentation is not extensive  Scalability is often a problem  "Newness" makes potential users wary  Undocumented behaviors  Difficulty in finding experienced RoR programmers OracleHistoryFor more than three and a half decades, Oracle has been the leader in database software. And as it hasfurther developed technologies and acquired best-in-class companies over the years, that leadership hasexpanded to the entire technology stack, from servers and storage, to database and middleware, throughapplications and into the cloud.It all began when Larry Ellison saw an opportunity other companies missed: a description of a workingprototype for a relational database. No company had committed to commercializing the technology, butEllison and co-founders Bob Miner and Ed Oates realized the tremendous business potential of therelational database model. None of them realized at the time that the company they formed would changethe face of business computing.Throughout its history Oracle has proved it can build for the future on the foundation of its innovationsand its knowledge of customer challenges and successes analyzed by the best technical and businessminds in the world.Physical and logical structuresAn Oracle database system—identified by an alphanumeric system identifier or SID—comprises at leastone instance of the application, along with data storage. An instance—identified persistently by aninstantiation number (or activation id: SYS.V_$DATABASE.ACTIVATION#)—comprises a set ofoperating-system processes and memory-structures that interact with the storage. (Typical processes
  6. 6. include PMON (the process monitor) and SMON (the system monitor).) Oracle documentation can referto an active database instance as a "shared memory realm".Users of Oracle databases refer to the server-side memory-structure as the SGA (System Global Area).The SGA typically holds cache information such as data-buffers, SQL commands, and user information.In addition to storage, the database consists of online redo logs (or logs), which hold transactional history.Processes can in turn archive the online redo logs into archive logs (offline redo logs), which provide thebasis (if necessary) for data recovery and for the physical-standby forms of data replication using OracleData Guard.If the Oracle database administrator has implemented Oracle RAC (Real Application Clusters), thenmultiple instances, usually on different servers, attach to a central storage array. This scenario offersadvantages such as better performance, scalability and redundancy. However, support becomes morecomplex, and many sites do not use RAC. In version 10g, grid computing introduced shared resourceswhere an instance can use (for example) CPU resources from another node (computer) in the grid.The Oracle DBMS can store and execute stored procedures and functions within itself. PL/SQL (OracleCorporations proprietary procedural extension to SQL), or the object-oriented language Java can invokesuch code objects and/or provide the programming structures for writing them.The basic memory structures associated with an Oracle instance include the following:  System Global Area (SGA): Shared by all server and background processes  Program Global Area (PGA): Private to each server and background process. There is one PGA for each process.The SGA is a memory area that contains data and control information for the instance.The SGA includes the following data structures:  Database buffer cache: Caches blocks of data retrieved from the database  Redo log buffer: Caches redo information (used for instance recovery) until it can be written to the physical redo log files stored on the disk  Shared pool: Caches various constructs that can be shared among users  Large pool: Is an optional area that provides large memory allocations for certain large processes, such as Oracle backup and recovery operations, and I/O server processes  Java pool: Is used for all session-specific Java code and data within the Java Virtual Machine (JVM)  Streams pool: Is used by Oracle StreamsWhen you start the instance by using Enterprise Manager or SQL*Plus, the amount of memory allocatedfor the SGA is displayed.
  7. 7. A Program Global Area (PGA) is a memory region that contains data and control information for eachserver process. An Oracle server process services a client’s requests. Each server process has its ownprivate PGA that is created when the server process is started. Access to the PGA is exclusive to thatserver process, and the PGA is read and written only by the Oracle code acting on its behalf.With the dynamic SGA infrastructure, the size of the database buffer cache, the shared pool, the largepool, the Java pool, and the Streams pool changes without shutting down the instance.The Oracle database uses initialization parameters to create and configure memory structures. Forexample, the SGA_TARGET parameter specifies the total size of the SGA. If you set SGA_TARGET to0, Automatic Shared Memory Management is disabled.When you invoke an application program or an Oracle tool, such as Enterprise Manager, the Oracle servercreates a server process to execute the commands issued by the application. The Oracle server also createsa set of background processes for an instance that interact with each other and with the operating systemto manage the memory structures, asynchronously perform I/O to write data to disk, and perform otherrequired tasks. Which background processes are present depends on the features that are being used in thedatabase.
  8. 8. An Oracle database server consists of an Oracle database and an Oracle instance. An Oracle instance ismade up of memory structures, known as the System Global Area (SGA), and background processes thathandle much of the behind-the-scenes work involved in running an instance. The most commonbackground processes are the following:  System Monitor (SMON): Performs crash recovery when the instance is started following a failure  Process Monitor (PMON): Performs process cleanup when a user process fails  Database Writer (DBWn): Writes modified blocks from the database buffer cache to the data files on the disk  Checkpoint (CKPT): Updates all the data files and control files of the database to indicate the most recent checkpoint  LogWriter (LGWR): Writes redo log entries to the disk  Archiver (ARCn): Copies redo log files to the archival storage when a log switch occursOracle ApplicationsOracle Applications comprise the applications software or business software of Oracle Corporation. Theterm refers to the non-database and non-middleware parts of Oracles software portfolio.Oracle sells many functional modules which use the Oracle RDBMS as a back-end, notably OracleFinancials, Oracle HRMS, Oracle Projects,[1] Oracle CRM, Oracle Procurement, etc.Oracle initially launched its application suite with financials software in the late 1980s. The offering as of2009 extends to supply-chain management, human-resource management, warehouse-management,customer-relationship management, call-center services, product-lifecycle management, and many otherareas. Both in-house expansion and the acquisition of other companies have vastly expanded Oraclesapplication software business.Oracle released Oracle E-Business Suite (EBS/ e-BS) Release 12 (R12) — a bundling of several OracleApplications applications — in February 2007. The release date coincided with new releases of otherOracle-owned products: JD Edwards EnterpriseOne, Siebel Systems and PeopleSoft. As of 2012 Oracle
  9. 9. supports Release, Release 12.0.X, and Release 12.1.X of the Oracle E-Business Suite. The latestrelease of the software is called Oracle EBS R12.Advantages:  It supports very large size databases  Security  Consistency  High level availability  Lower downtime  Good performance  Oracle runs faster Disadvantages:  Expensive  Complex to maintain  are few advantages and disadvantage of oracle.