java one presentation - ruby on rails meets enterprise
DESCRIPTION
A talk I gave at JavaOne '07, basically talking about my experiences integrating a Ruby on Rails application with SAPTRANSCRIPT
![Page 1: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/1.jpg)
2007 JavaOneSM Conference | Session TS-91440 |
TS-91440
Ruby on Rails Meets the World of Enterprise Applications
dan mcweeney
Solution ArchitectColgate-Palmolive
![Page 2: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/2.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 2
GOOOOOOOOOOOAAAAAAAAALL!
Learn how and why we attached Ruby on Rails to a SAP system. Find out the pros and cons and learn where you can help.
![Page 3: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/3.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 3
Stuff I will talk about
What the heck is SAPWho uses itOur problemWhy RailsArchitectureCode and Demos
![Page 4: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/4.jpg)
• Big• Does lots• A bit dreary• Enterprisey
![Page 5: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/5.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 5
Transaction
Codes
Toolbar
Keyboard
Interaction
![Page 6: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/6.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 6
Who uses it
Anheuser-Busch Co.
The Boston Beer Company
General Mills
Tyson Foods Inc
De' Longhi
H.J. Heinz Company
Nabisco
Nestlé
Starbucks Corp.
Bose Corp.
Burton Snowboards
Oakley
JBL-Professional
Mercedes-Benz
Peugeot
DaimlerChrysler
Delta Air Lines
Air France
Ryanair
Lufthansa
Global Electric
Adidas
Sony
Whirlpool
Cole Haan
Adaptec
Microsoft
HP
Nvidia
Adobe
7-Eleven
J.Crew
![Page 7: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/7.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 7
![Page 8: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/8.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 8
• People• Projects• Timing• Visual
![Page 9: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/9.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 9
• Development Speed• UI• Learn• Web 2.0!
![Page 10: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/10.jpg)
SAP4Rails
![Page 11: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/11.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 11
• Iteration 1• 2 Weeks• 1 Programmer• No Graphics People• No Rails or Ruby
![Page 12: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/12.jpg)
2007 JavaOneSM Conference | Session XXXX | 12
Iteration 1http://danmcweeney.com/static/railsDemo/rails.html
![Page 13: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/13.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 13
• Iteration 2• 2 weeks• 1 Programmer• Still no Graphics• Some Rails / Ruby!
![Page 14: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/14.jpg)
2007 JavaOneSM Conference | Session XXXX | 14
Iteration 2
![Page 15: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/15.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 15
def addUser
newResource = ProjectResource.add_resource(
params[:id], params[:resourceType], params[:user].split('_')[1],
params[:requirementID] )
render(:update){|page|
page.insert_html :bottom,
"resources_#{params[:requirementID]}",
:partial => "resource",
:locals => { :resource => newResource }
}
end
![Page 16: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/16.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 16
def self.add_resource(projectID, resourceType, userName, uuid)
ProjectResource.Z_RP_ADD_RESOURCE.reset()
ProjectResource.Z_RP_ADD_RESOURCE.FLEX_PROJ = projectID
ProjectResource.Z_RP_ADD_RESOURCE.FLEX_TYPE = resourceType
ProjectResource.Z_RP_ADD_RESOURCE.FLEX_USER = userName
ProjectResource.Z_RP_ADD_RESOURCE.ID = uuid
ProjectResource.Z_RP_ADD_RESOURCE.call()
table = []
ProjectResource.Z_RP_ADD_RESOURCE.NEWREQ.rows().each{|row|
table.push(ProjectResource.new(row['ID'].strip,
row['FLEX_PROJ'].strip,
row['FLEX_TYPE'].strip,
row['STARTWEEK'][4,2].to_i,
row['ENDWEEK'][4,2].to_i,
row['FLEX_USER'].strip,
row['PARENTID'].strip))
}
ProjectResource.Z_RP_ADD_RESOURCE.rfc.close()
table[0]
end
![Page 17: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/17.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 17
require_gem "sap4rails"
class ProjectResource < SAP4Rails::Base
function_module :Z_RP_GET_RESOURCE_DETAILS, :Z_RP_ADD_RESOURCE, :Z_RP_DELETE, :Z_RP_CHANGE_RESOURCE
end
![Page 18: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/18.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 18
Useful info
• SDN SAP Developer Network ( http://sdn.sap.com )
• Ruby on Rails ( http://www.rubyonrails.org )
• SAP for Rails (http://raa.ruby-lang.org/project/sap4rails )
![Page 19: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/19.jpg)
2007 JavaOneSM Conference | Session TS-91440 | 19
Great Photos
jasoncartwright - http://www.flickr.com/photos/jasoncartwright/138205239/
danielgreene - http://www.flickr.com/photos/danielgreene/319689254/
swirlingthoughts - http://www.flickr.com/photos/swirlingthoughts/235667768/
kd5ftn - http://www.flickr.com/photos/kd5ftn/194248784/
kb35 - http://www.flickr.com/photos/kb35/361901328/
mikehunter - http://www.flickr.com/photos/mikehunter/433302528/
birdjsb - http://www.flickr.com/photos/birdjsb/422765102/
michaelsarver - http://www.flickr.com/photos/michaelsarver/108557419/
![Page 20: Java One Presentation - Ruby on Rails meets Enterprise](https://reader033.vdocuments.site/reader033/viewer/2022052522/54c77b9b4a79590c788b45b7/html5/thumbnails/20.jpg)
2007 JavaOneSM Conference | Session XXXX | 20
Q&A