3. def initialize
@who = {
:org => 'Office of the CTO',
:group => 'Platforms Research'
:palo_alto => [
'Anne Hardy', # fairy godmother
'Juergen Schmerder', # project lead, presenter
'Daniel Vocke', # architect and developer
'Murray Sporck', # inventor and evangelist
'Rainer Brendle' # inventor and evangelist
],
:shanghai => [
'Su Yu', # developer & ruby guru
'Joseph Wang' # developer & ruby guru
] }
@what = 'An Enterprise-ready Ruby dynamic language environment'
@why = self.motivation()
end
4. def motivation
abap_pros = [
:robustness, # try to break the server
:work_process_isolation, # come on, try it!
:scalability, # one customer > salesforce.com
:software_logistics, # transport mgmt, lcm
:enterprise_applications ]# SAP Business Suite
ruby_pros = [
:developer_efficiency, # watch out for demo…
:agile_development, # TDD / BDD
:community, # > 1 Mio and growing
:dsl_readiness, # because it’s dynamic…
:beauty ] # well, *we* love it
# now combine the best of both worlds
blue_ruby = abap_pros + ruby_pros
end
5. def use_cases( main = true )
# main rationale: speed of development and flexibility more
# valued than runtime performance, lifecycle mgmt, governance
if main then
[ quot;Enable timeless softwarequot;,
quot;Rapid Prototyping of ABAP Extensionsquot;,
quot;Web 2.0 apps (e.g. twitter, feeds, etc.)quot;,
quot;Simple extensionsquot;,
quot;Unit tests / specifications for ABAP codequot; ]
else
discussion = Discussion.new :long
End
end