Upload
bary
View
56
Download
1
Embed Size (px)
DESCRIPTION
The ruby-oci8 gem and legacy Oracle database. Oracle!!!!. EZ DC Application. Existing Java application with Oracle 11gR2 data store Collect data about peer reviews Number of attendees Length of meeting Number of defects found Action items - PowerPoint PPT Presentation
Citation preview
The ruby-oci8 gem and legacy Oracle
database
Oracle!!!!
EZ DC ApplicationExisting Java application with Oracle 11gR2 data store
Collect data about peer reviewsNumber of attendeesLength of meetingNumber of defects foundAction items
Replaces individual Word document for each review
Provides the ability to create and publish reports
EZDC Admin ApplicationMissing admin functionality
Adding, deleting, updating usersAdding new contractsImplementing changes to peer reviewsDelete tickets from releases
Reasons for creating a separate applicationNo budget for expanding the EZ DC appSimpler to implement securityThe Geniuses In Disguise™ need practice with Rails
Hey kids! Let’s put on a show!
build a Rails app!
Architecture
Oracle DB
EZ DC AdminEZ DC
Project User
Admin User
Ch-ch-changesAdjustments to “The Rails Way” to use the legacy Oracle database
Communicating with Oracle
We’ll be back
The Rails Partis the Easy Part
Gemsruby-oci8 (http://ruby-oci8.rubyforge.org/en/)activerecord-oracle_enhanced-adapter (https://github.com/rsim/oracle-enhanced)
database.yml
user.rb (for example)
Gemfilesource 'https://rubygems.org'
gem 'rails', '3.2.13'gem 'bootstrap-sass'
# To use ActiveModel has_secure_password# gem 'bcrypt-ruby'
group :development, :test do gem 'ruby-oci8', '2.1.5' gem 'activerecord-oracle_enhanced-adapter', '1.4.1’end
database.yml# Oracle/OCI 8i, 9, 10g# Requires Ruby/OCI8:# http://rubyforge.org/projects/ruby-oci8/## for database running in localhost with application# database: 127.0.0.1/xe# for database running in a separate VM from application# << IP address >> / xe
development: adapter: oracle_enhanced database: 192.168.195.58:1521/xe username: <<user_name>> password: <<password>>
user.rb# == Schema Information# Table name: cmmi_user# cmmi_user_id :integer not null, primary key
class User < ActiveRecord::Base
# specify schema and table name self.table_name = 'cmmi_user' # specify primary key name self.primary_key = 'cmmi_user_id' # specify sequence name self.sequence_name = 'cmmi_user_id_seq'
Rails to Oracle Comm Path
ruby-oci8
activerecord-oracle_enhanced-
adapter
Oracle Instant Client
Oracle 11gR2Database
Oracle Instant ClientDownload and unzip the required packages:
Oracle Instant Client Package – Basic LiteOracle Instant Client Package – SQL*PlusOracle Instant Client Package – SDK (optional)
Create a symbolic link to the instant client library:
$ sudo ln -s libclntsh.so.11.1 libclntsh.so
Set the library search path:LD_Library_Path on LinuxDYLD_Library_Path on Mac OS X
VM Static IPUsing a virtual machine with IP address assigned dynamically by DHCP at startup
Fix a static IP address by modifying VM config file:/Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
host Windows_8_x64_100GB { hardware ethernet 00:0C:29:D4:60:40; fixed-address 192.168.195.58;}
Referencesruby-oci8
http://ruby-oci8.rubyforge.org/
activerecord-oracle_enhanced-adapterhttps://github.com/rsim/oracle-enhanced
DHCP on VMware Fusionhttp://www.thirdbit.net/articles/2008/03/04/dhcp-on-vmware-fusion/
Oracle Instant Clienthttp://ruby-oci8.rubyforge.org/en/file.install-instant-client.htmlhttp://www.oracle.com/technetwork/database/features/instant-client/index-100365.html?ssSourceSiteId=ocomen
Environment Variableshttps://help.ubuntu.com/community/EnvironmentVariableshttps://bugs.launchpad.net/ubuntu/+source/xorg/+bug/366728
Questions?