Ruby and RPG talking at last

Size: px
Start display at page:

Download "Ruby and RPG talking at last"

Transcription

1 Ruby and RPG talking at last Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell

2 This session brought to you by... Consulting - Jumpstart your open source pursuit. Small and big projects. Free Educational Content on everything open source for IBM i at litmis.com spaces.litmis.com provides open source development via browser on IBM i machine in the cloud. albartell@krengeltech.com

3 What are YiPs? YiPs = Young i Professionals Began as a group within COMMON USA as a way for young people to find each other at the COMMON USA annual conference. Goals: educate, advocate, and get involved! Wiki is very active IBM has been using YiPs as a way to share open source that originates from within their walls (i.e. xmlservice, Ruby gems, PHP code, many tutorials on git, PASE, ssh, FastCGI, etc) Top contributor to YiPs wiki is IBM'er Tony Cairns. "Join" YiPs by via LinkedIn YiPs group: linkd.in/1ig3oiv Only need to be young at heart! :-) YoungiProfessionals.com - Home site YoungiProfessionals.com/wiki - Wiki (a lot of content) linkd.in/1ig3oiv - LinkedIn YiPs group

4 What is XMLSERVICE? a single library of Open Source RPG code that enables XML scripting calls of IBM i resources using most any language available on your platform. Delivered with OS as of IBM i 7.1: TR5 and also included with PowerRuby Similar to IBM ToolBox for Java, but better in many ways Great for re-use of existing RPG code from ANY language in your enterprise Can be invoked via DB2 stored procedure or HTTP REST connection Author: Tony Cairns, IBM Rochester Make use of all these from Ruby DB2 for i SQL and Native *PGM call *SRVPGM sub procedure call Data Area Data Queue Message Queue Commands System values Spool files YoungiProfessionals.com/wiki/XMLSERVICE - Home site YoungiProfessionals.com/wiki/index.php/XMLSERVICE/XMLSERVICERuby - Ruby Gem

5 Flow and 10k foot view XML input from IBMi / Linux / Windows Ruby, PHP, Java, etc. DB2 connection REST GET/POST XML <myscript> <pgm>...</pgm> <cmd>...</cmd> <sh>...</sh> <sql>...</sql> </myscript> XML IBM i XMLSERVICE DB2 PGM SRVPGM PASE System API User Space WRKACTJOB

6 Setup xmlservice in Rails app RubyGems are a mechanism to wrapper Ruby code for easy sharing (downloading, installing, updating, etc). IBM has developed a RubyGem named 'xmlservice' to wrapper the RPG XMLSERVICE code. xmlservice Gem is included with PowerRuby install First, add gem 'xmlservice' to Gemfile Second, run bundle install --local <app_root>/gemfile source ' gem 'rails', '4.0.0' gem 'ibm_db' gem 'jquery-rails' gem 'turbolinks' gem 'jbuilder', '~> 1.2' gem 'thin' gem 'xmlservice' $ cd /www/my_apache/htdocs/rails_app $ bundle install --local Resolving dependencies... Using rake (10.1.0) Using i18n (0.6.5) Using minitest (4.7.5) Using multi_json (1.8.0) Using atomic (1.1.14)... Using xmlservice (1.0.1) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

7 Setup xmlservice in plain Ruby scenario Simply add require 'xmlservice' to the top of any program. This will search the default paths** for the Gem. test.rb require 'xmlservice' ActiveXMLService::Base.establish_connection connection: 'ActiveRecord'... **Default IFS paths searched for Gems /PowerRuby/prV2R1M0/lib/ruby/site_ruby /PowerRuby/prV2R1M0/lib/ruby/vendor_ruby /PowerRuby/prV2R1M0/lib/ruby/gems

8 Call *PGM MYLIB/PGM1 NOTE: This is 100% free-form RPG, available in IBM i v7.1 dcl-pr pgm1 extpgm; char1 char(1); dec1 packed(7:4); end-pr; dcl-pi pgm1; char1 char(1); dec1 packed(7:4); end-pi; char1 = 'C'; dec1 = ; return; Supports much more complex program calls and even go beyond the PCML/Java Toolbox limitations with data structures, sub-procedure return values, and date/time data types. *

9 Invoke via DB2 stored proc require 'xmlservice' ActiveXMLService::Base.establish_connection connection: 'ActiveRecord' pgm1 = XMLService::I_PGM.new("PGM1", 'MYLIB') << XMLService::I_a.new('inchara',1,'a') << XMLService::I_p.new('indec1',7,4, ) pgm1.call puts "inchara: #{pgm1.parm0.inchara}" puts " indec1: #{pgm1.parm1.indec1}" $ ruby /ifs/path/xmlservice_rest.rb # inchara: C # indec1: * The call to Ruby method establish_connection omits the use of parentheses - another feature of Ruby to lessen the amount of code and make it easier/quicker to visually scan code. The same is true for puts Ruby s left shift operator (i.e. << ) is used to append parameters to the call. Line pgm1.call makes the call to RPG

10 Under the covers XML Response (obtained with pgm1.to_xml) <myscript> <pgm error='fast' lib='aaronlib' name='pgm1'> <parm io='io' var='parm0'> <data type='1a' var='inchara'><![cdata[c]]></data> </parm> <parm io='io' var='parm1'> <data type='7p4' var='indec1'><![cdata[ ]]></data> </parm> <success><![cdata[+++ success AARONLIB PGM1 ]]></success> </pgm> </myscript> XML Request (obtained with pgm1.out_xml) * <pgm name='pgm1' lib='aaronlib' error='fast'> <parm var='parm0' io='io'> <data var='inchara' type='1a'>a</data> </parm> <parm var='parm1' io='io'> <data var='indec1' type='7p4'> </data> </parm> </pgm>

11 Invoking via HTTP REST The Ruby code could be on another machine or on the same machine. HTTP REST is less common usage (slower) and more common is DB2 stored proc approach require 'xmlservice' ActiveXMLService::Base.establish_connection( connection: " username: 'A2222', password: 'A2222' ) pgm1 = XMLService::I_PGM.new("PGM1", 'MYLIB') << XMLService::I_a.new('inchara',1,'a') << XMLService::I_p.new('indec1',7,4, ) pgm1.call puts "inchara: #{pgm1.parm0.inchara}" puts " indec1: #{pgm1.parm1.indec1}" Future version will store connection information in xmlservice.yml file with full environment capabilities (i. e. development, test, production, custom)

12 Data Types Short Form Long Form Parameters I_a I_String name, len, value I_a_varying_2 I_VarChar2 name, len, value I_a_varying_4 I_VarChar4 name, len, value I_3i0 I_Int8 name, value I_5i0 I_Int16 name, value I_10i0 I_Int32 name, value I_20i0 I_Int64 name, value I_3u0 I_Uint8 name, value I_5u0 I_Uint16 name, value I_10u0 I_Uint32 name, value I_20u0 I_Uint64 name, value I_4f I_Float4 or I_Real name, precision, value I_8f I_Float8 or I_Double name, precision, value I_b I_Binary name, len, value I_p I_PackedDecimal name, len, precision, value I_z I_ZonedDecimal name, len, precision, value Create a parameter by invoking new with the parameter name, total length, and initial value. Short vs. long form: XMLService::I_String.new('last_name', 15, 'Denoncourt') XMLService::I_a.new('last_name', 15, 'Denoncourt')

13 Call *SRVPGM example P simple B export D simple PI 9P 3 D my_char 10A D my_int 10i 0 /free my_char = 'back to you'; my_int = 100; return ; /end-free P E Note the return parameter. Non-integer return parameters are something the JavaToolbox has struggled with for over a decade.

14 Invoking *SRVPGM Note addition of I_SRVPGM and.setreturn require 'xmlservice' ActiveXMLService::Base.establish_connection( connection: " username: 'A2222', password: 'mypassword' ) srvpgm1 = XMLService::I_SRVPGM.new("SRVPGM1","SIMPLE", "MYLIB") << XMLService::I_a.new('my_char', 10, 'a') << XMLService::I_Int32.new('my_int', 200) srvpgm1.setreturn("passback", XMLService::I_p.new('my_out',9,3, 0.0) ) srvpgm1.call puts " my_out: #{srvpgm1.passback.my_out}" puts "my_char: #{srvpgm1.parm0.my_char}" puts " my_int: #{srvpgm1.parm1.my_int}" # my_out: # my_char: back to yo # my_int: 100

15 Invoke *CMD from PASE shell Subsequent parsing (i.e regular expression) could obtain the QMODEL number. require 'xmlservice' ActiveXMLService::Base.establish_connection( connection: " username: 'A2222', password: 'mypassword' ) cmd = "system -i 'DSPSYSVAL SYSVAL(QMODEL) OUTPUT(*PRINT)'" dspsysval = XMLService::I_SH.new(cmd) dspsysval.call puts dspsysval.out_xml Output: <myscript> <sh error='fast'> <![CDATA[ System Values Page SS1 V7R1M RORSERV2 02/11/14 02:39:30 UTC Current Shipped Name value value Description QMODEL 70Y ' ' System model number Note: > means current value is different from the shipped value * * * * * E N D O F L I S T I N G * * * * *

16 Wrap it in Ruby Encapsulate the call to the RPG program so it is easy to use for other Ruby developers on your staff require 'xmlservice' module RPG def self.srvpgm1(my_char, my_int) ActiveXMLService::Base.establish_connection( connection: " username: 'A2222', password: 'mypassword' ) srvpgm1 = XMLService::I_SRVPGM.new("SRVPGM1","SIMPLE", "AARONLIB") << XMLService::I_a.new('my_char', 10, my_char) << XMLService::I_Int32.new('my_int', my_int) srvpgm1.setreturn("passback", XMLService::I_p.new('my_out',9,3, 0.0) ) srvpgm1.call return srvpgm1.passback.my_out end end puts RPG.srvpgm1('something', 222) #

17 Future, "2.0" What we are working towards for syntax - Have separate class for simple encapsulation and reuse - Have generator to create class (i.e. xmlservice generate <pgm> <lib> <parm1:type> <parm2:type> ) class MyPgm1 < ActiveXmlService::Base self.program_name = self.class.name.capitalize self.library = 'MYLIB' input_parms do char :inchara, 1 dec :indec1, 7.4 ds :inds1,1 do char :dschara, 1 dec :indec1, 7.4 end end end # How to invoke MyPgm1.call('aa', 222, ['bb', 222])

18 Stateful and Private Used when IBM i resource will be called many times by the same user profile Lasting persistent data needed by the IBM i resource (RPG vars, open files, etc.)

19 Call XMLSERVICE from anywhere Web apps with Rails - rubyonrails.org ios with RubyMotion - rubymotion.com Android with Ruboto - ruboto.org Desktop (Mac, Linux, Windows) with Shoes - shoesrb.com ShoesRB.com

20 On the web Home site: youngiprofessionals.com/wiki/index.php/xmlservice youngiprofessionals.com/wiki/index.php/xmlservice/xmlserviceruby Article by Don Denoncourt which includes XMLSERVICE example: iprodeveloper.com/application-development/discover-power-rails-ibm-i Article by Jon Paris and Susan Gantner: ibmsystemsmag.com/ibmi/developer/rpg/xmlservice_new_life/ ibmsystemsmag.blogs.com/idevelop/xmlservice/ Blog by Tim Rowe (IBM): iprodeveloper.com/blog/getting-your-data-xml-service Article by Brian May: iprodeveloper.com/development/unleash-your-ibm-i-xmlservice

21 We Have Reached The End! Now...Get Engaged! 1. Visit litmis.com regularly for new content 2. on Twitter 3. Contact me directly for assistance jumpstarting any open source development projects on IBM i at albartell@krengeltech.com

"Instant" Web Services and Stored Procedures

Instant Web Services and Stored Procedures "Instant" Web Services and Stored Procedures Jon Paris Jon.Paris @ Partner400.com www.partner400.com www.systemideveloper.com Notes Jon Paris is co-founder of Partner400, a firm specializing in customized

More information

Boldface numbers indicate illustrations, code listings, and tables.

Boldface numbers indicate illustrations, code listings, and tables. Index Boldface numbers indicate illustrations, code listings, and tables. A ActiveRecord, class in Ruby, 80-82, 84, 86, 88, 90 ActiveXMLService, class in Ruby, 80-82, 84, 90 Agile development, 109-110

More information

Using XMLSERVICE with.net

Using XMLSERVICE with.net Using XMLSERVICE with.net Communicating with IBM i from.net Presented by : Richard Schoen President/Chief Technical Officer RJS Software Systems richard@rjssoftware.com What Is XMLSERVICE? XMLSERVICE is

More information

Aaron Bartell Director of IBM i Innovation

Aaron Bartell Director of IBM i Innovation Watson IBM i WebSockets Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell This session brought to you by... Consulting - Jumpstart your open source pursuit.

More information

Why Ruby On Rails? Aaron Bartell Copyright 2014 PowerRuby, Inc.

Why Ruby On Rails? Aaron Bartell Copyright 2014 PowerRuby, Inc. Why Ruby On Rails? + Aaron Bartell aaron@powerruby.com Copyright 2014 PowerRuby, Inc. There's something special going on with Ruby and Rails. Never before has there been such coordinated community efforts

More information

The Intro. Aaron Bartell Director of IBM i Innovation. Copyright 2015 Aaron Bartell

The Intro. Aaron Bartell Director of IBM i Innovation. Copyright 2015 Aaron Bartell The Intro Aaron Bartell Director of IBM i Innovation albartell@krengeltech.com Copyright 2015 Aaron Bartell This session brought to you by... Consulting - Jumpstart your open source pursuit. Small and

More information

First Step Into Cloud

First Step Into Cloud First Step Into Cloud Aaron Bartell Director of IBM i Innovation Copyright 2015 Aaron Bartell albartell@krengeltech.com Solutions for the Modern IBM i Developer RPG, XML, & Web Services Featured Product:

More information

Zend Server for IBM i Open Source Toolkit

Zend Server for IBM i Open Source Toolkit Zend Server for IBM i Open Source Toolkit Mike Pavlak Solution Consultant Mike.p@zend.com Agenda Open Source Toolkit Compatibility Wrapper Command processing and *libl Miscellaneous points Q&A 2 Zend Server

More information

Charles Guarino. About The Speaker

Charles Guarino. About The Speaker Get With The Program! It s Not Your Grandma s RPG Anymore Charles Guarino Twitter @charlieguarino Central Park Data Systems, Inc. About The Speaker With an IT career spanning over 30 years, Charles Guarino

More information

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Software Engineering II WS 2016/17 Arian Treffer arian.treffer@hpi.de Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby

More information

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Keven Richly keven.richly@hpi.de Software Engineering II WS 2017/18 Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby on

More information

PHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase

PHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase PHP for PL/SQL Developers Lewis Cunningham JP Morgan Chase 1 What is PHP? PHP is a HTML pre-processor PHP allows you to generate HTML dynamically PHP is a scripting language usable on the web, the server

More information

Introduction to Ruby on Rails

Introduction to Ruby on Rails Introduction to Ruby on Rails Ralf Teusner ralf.teusner@hpi.de Software Engineering II WS 2018/19 Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Introduction to Ruby on

More information

Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i

Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i Improving Application Performance by Submitting Scripts to Batch using Zend Server for IBM i Mike Pavlak Solution Consultant mike.p@zend.com Insert->Header 1 & Footer Agenda Overview of Zend Server Advantages

More information

looksoftware support for IBM Open Access for RPG Todd Ferguson & Nick Hampson

looksoftware support for IBM Open Access for RPG Todd Ferguson & Nick Hampson looksoftware support for IBM Open Access for RPG Todd Ferguson & Nick Hampson 2 ROA natively supports multi-channel green handler OA lnterface mobile Business Logic thin DB Access smart Web Services About

More information

Database Driven Web 2.0 for the Enterprise

Database Driven Web 2.0 for the Enterprise May 19, 2008 1:30 p.m. 2:30 p.m. Platform: Linux, UNIX, Windows Session: H03 Database Driven Web 2.0 for the Enterprise Rav Ahuja IBM Agenda What is Web 2.0 Web 2.0 in the Enterprise Web 2.0 Examples and

More information

Bitnami Ruby for Huawei Enterprise Cloud

Bitnami Ruby for Huawei Enterprise Cloud Bitnami Ruby for Huawei Enterprise Cloud Description Bitnami Ruby Stack provides a complete development environment for Ruby on Rails that can be deployed in one click. It includes most popular components

More information

New.Net track at COMMON Let COMMON know if you want more.net classes. VB.Net and iseries for Dummies An Introduction to VB.Net for iseries Developers

New.Net track at COMMON Let COMMON know if you want more.net classes. VB.Net and iseries for Dummies An Introduction to VB.Net for iseries Developers Handouts Will be Available on COMMON Web Site VB.Net and iseries for Dummies An Introduction to VB.Net for iseries Developers Presented by Richard Schoen Email: richard@rjssoftware.com Phone: 888-RJSSOFT

More information

Mobile Web from the RPG and Dojo Perspectives

Mobile Web from the RPG and Dojo Perspectives Mobile Web from the RPG and Dojo Perspectives IBM has adopted the open-source Dojo toolkit as its internal standard! Is Open Source relevant to the IBM ILE community? How does Open Source Web and ILE work

More information

Contents in Detail. Foreword by Xavier Noria

Contents in Detail. Foreword by Xavier Noria Contents in Detail Foreword by Xavier Noria Acknowledgments xv xvii Introduction xix Who This Book Is For................................................ xx Overview...xx Installation.... xxi Ruby, Rails,

More information

Using Scala for building DSL s

Using Scala for building DSL s Using Scala for building DSL s Abhijit Sharma Innovation Lab, BMC Software 1 What is a DSL? Domain Specific Language Appropriate abstraction level for domain - uses precise concepts and semantics of domain

More information

Bitnami JRuby for Huawei Enterprise Cloud

Bitnami JRuby for Huawei Enterprise Cloud Bitnami JRuby for Huawei Enterprise Cloud Description JRuby is a 100% Java implementation of the Ruby programming language. It is Ruby for the JVM. JRuby provides a complete set of core built-in classes

More information

Jim Buck Phone Twitter

Jim Buck Phone Twitter Jim Buck Phone 262-705-2832 Email jbuck@impowertechnologies.com Twitter - @jbuck_impower www.impowertechnologies.com Presentation Copyright 2017 impowertechnologies.com 5250 & SEU Doesn t work anymore!

More information

RPG & PHP REST SERVICES WITH APIGILITY. Chuk Shirley Sabel Steel Service Club Seiden

RPG & PHP REST SERVICES WITH APIGILITY. Chuk Shirley Sabel Steel Service Club Seiden RPG & PHP REST SERVICES WITH APIGILITY Chuk Shirley Sabel Steel Service Club Seiden Senior Software Engineer Founder and Owner Subject Matter Expert 2015 Innovation Award Winner @ChukShirley chukshirley@gmail.com

More information

Charles Guarino

Charles Guarino Looking Inside the Developer s Toolkit: REST Web Services for Everyday RPG and SQL Consumption Charles Guarino REST SERVICES Charles Guarino Twitter @charlieguarino Central Park Data Systems, Inc. About

More information

Charles Guarino

Charles Guarino Raising the Bar: A Jumpstart to Using SOAP Web Services in RPG Charles Guarino SOAP SERVICES Charles Guarino Twitter @charlieguarino Central Park Data Systems, Inc. About The Speaker With an IT career

More information

Advanced Functions with DB2 and PHP for IBM i

Advanced Functions with DB2 and PHP for IBM i Advanced Functions with DB2 and PHP for IBM i Mike Pavlak Solution Consultant Agenda DB2 features in i6.1 and i7.1 Review DB2 functions in PHP Explore the possibilities Q&A 2 Three primary ingredients

More information

Session Abstracts for Friday, July 20, 2018

Session Abstracts for Friday, July 20, 2018 Session Abstracts for Friday, July 20, 2018 CSS: Adding Style to Your Content Patrick Behr Make your web pages look stunning using CSS. We ll start with the basics of CSS including the cascade, rule precedence,

More information

Are you covered? New tooling for Quality Assurance

Are you covered? New tooling for Quality Assurance Are you covered? New tooling for Quality Assurance Edmund Reinhardt IBM i Application Development Tooling Edmund.Reinhardt@ca.ibm.com TUG TEC Agenda Key: 23C Agenda What is code coverage Code Coverage

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

IBMi in the IT infrastructure of tomorrow

IBMi in the IT infrastructure of tomorrow IBMi in the IT infrastructure of tomorrow This is a two day workshop squeezed into 60 minutes!! For: itour - Common Denmark By: Niels Liisberg IBMi in the IT infrastructure of tomorrow Introduction to

More information

ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile

ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile ChiliProject - Bug # 529: builder is not part of the bundle. Add it to Gemfile Status: Closed Priority: Normal Author: Enno Grà per Category: Created: 2011-07-17 Assignee: Updated: 2012-06-23 Due date:

More information

Software Engineering 2 (SWT2) Chapter 2: Introduction into Ruby on Rails

Software Engineering 2 (SWT2) Chapter 2: Introduction into Ruby on Rails Software Engineering 2 (SWT2) Chapter 2: Introduction into Ruby on Rails Agenda 2 Ruby & Ruby on Rails What is Ruby on Rails? A few words about Ruby Core components RESTful architecture Active Record Your

More information

Introduction and first application. Luigi De Russis. Rails 101

Introduction and first application. Luigi De Russis. Rails 101 Introduction and first application Luigi De Russis 2 About Rails Ruby on Rails 3 Framework for making dynamic web applications created in 2003 Open Source (MIT License) for the Ruby programming language

More information

Programming The Mobile Web Ebooks Free

Programming The Mobile Web Ebooks Free Programming The Mobile Web Ebooks Free With the second edition of this popular book, youâ ll learn how to build HTML5 and CSS3-based apps that access geolocation, accelerometer, multi-touch screens, offline

More information

Overview of the Ruby Language. By Ron Haley

Overview of the Ruby Language. By Ron Haley Overview of the Ruby Language By Ron Haley Outline Ruby About Ruby Installation Basics Ruby Conventions Arrays and Hashes Symbols Control Structures Regular Expressions Class vs. Module Blocks, Procs,

More information

Looking Inside the Developer s Toolkit: Introduction to Processing XML with RPG and SQL Too! Charles Guarino

Looking Inside the Developer s Toolkit: Introduction to Processing XML with RPG and SQL Too! Charles Guarino Looking Inside the Developer s Toolkit: Introduction to Processing XML with RPG and SQL Too! Charles Guarino Central Park Data Systems, Inc. @charlieguarino About The Speaker With an IT career spanning

More information

Take a Load Off with U2 RESTful Web Services. Nik Kesic, Lead Technical Support for Rocket U2

Take a Load Off with U2 RESTful Web Services. Nik Kesic, Lead Technical Support for Rocket U2 Take a Load Off with U2 RESTful Web Services Nik Kesic, Lead Technical Support for Rocket U2 Webinar Opening Procedure Orange arrow = control GoTo Webinar control panel This webinar will be recorded and

More information

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic Profound.js Future of open source development on IBM i Alex Roytman Profound Logic What is Node.js? The most exciting technology ever to be brought over to IBM i Brings the platform forward in a way like

More information

IBM Application Runtime Expert for i

IBM Application Runtime Expert for i IBM Application Runtime Expert for i Tim Rowe timmr@us.ibm.com Problem Application not working/starting How do you check everything that can affect your application? Backup File Owner & file size User

More information

A Modern Programmers Tool Set: CODE

A Modern Programmers Tool Set: CODE A Modern Programmers Tool Set: CODE OCEAN Technical Conference Catch the Wave Susan M. Gantner Partner400 susan.gantner @ partner400.com www.partner400.com Your partner in AS/400 and iseries Education

More information

Bitnami MEAN for Huawei Enterprise Cloud

Bitnami MEAN for Huawei Enterprise Cloud Bitnami MEAN for Huawei Enterprise Cloud Description Bitnami MEAN Stack provides a complete development environment for mongodb and Node.js that can be deployed in one click. It includes the latest stable

More information

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc.

purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc. purequery Deep Dive Part 2: Data Access Development Dan Galvin Galvin Consulting, Inc. Agenda The Problem Data Access in Java What is purequery? How Could purequery Help within My Data Access Architecture?

More information

Invasion of APIs and the BLOB,

Invasion of APIs and the BLOB, Invasion of APIs and the BLOB, or how I learned to stop worrying and love the acronym. By Eamonn Foley Senior Programmer Analyst Who I Am 15+ Years in Synon/2e DBA, Architect, Developer, Instructor, Consultant,

More information

Rails Engines. Use Case. The Implementation

Rails Engines. Use Case. The Implementation Rails Engines Rails engines range from simple plugins to powerful micro-applications. The discussions we ve had so far about Railties are closely related to the function of a Rails engine. One interesting

More information

Web Hosting. Important features to consider

Web Hosting. Important features to consider Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,

More information

IBM i Debugger. Overview Service Entry Points Debugger Functions Attach to an IBM i Job Launch Configurations and Settings

IBM i Debugger. Overview Service Entry Points Debugger Functions Attach to an IBM i Job Launch Configurations and Settings 1 IBM i Debugger IBM i Debugger Overview Service Entry Points Debugger Functions Attach to an IBM i Job Launch Configurations and Settings 2 Integrated Debugger - Overview RPG, COBOL, CL, C, and C++ IBM

More information

From RPG OA to PHP: IBM i Modernization and Mobile Approaches

From RPG OA to PHP: IBM i Modernization and Mobile Approaches From RPG OA to PHP: IBM i Modernization and Mobile Approaches Presented by: Greg Patterson Senior Sales Engineer Quadrant and BCD Software Agenda Brief History of Modernization 5250 Refacing RPG OA PHP

More information

레드마인 설치 작성일 : 작성자 : 김종열

레드마인 설치 작성일 : 작성자 : 김종열 레드마인 2.3.3 설치 작성일 : 2013-11-2 작성자 : 김종열 기준문서 : http://www.redmine.or.kr/projects/community/wiki/%eb%a0%88%eb%93%9c%eb%a7%88%ec%9d %B8_%EC%84%A4%EC%B9%98(Windows) 설치홖경 OS: Windows 7 64 DB: Mysql 5.5 이상

More information

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016

DATABASE SYSTEMS. Introduction to MySQL. Database System Course, 2016 DATABASE SYSTEMS Introduction to MySQL Database System Course, 2016 AGENDA FOR TODAY Administration Database Architecture on the web Database history in a brief Databases today MySQL What is it How to

More information

OAR. Open Access for RPG. of KrengelTech. by Aaron Bartell. Copyright Aaron Bartell 2011

OAR. Open Access for RPG. of KrengelTech. by Aaron Bartell. Copyright Aaron Bartell 2011 OAR Open Access for RPG Copyright Aaron Bartell 2011 by Aaron Bartell of KrengelTech aaronbartell@mowyourlawn.com Abstract Open Access for RPG (OAR) has now been out for more than a couple years and is

More information

Manual Visual Studio 2010 Web Developer Tools 2012 Professional

Manual Visual Studio 2010 Web Developer Tools 2012 Professional Manual Visual Studio 2010 Web Developer Tools 2012 Professional 2015, 2013, 2012, 2010 PHP Tools for Visual Studio transparently integrate into Microsoft Visual The extension is focused on developer productivity

More information

Oracle Forms and Oracle APEX The Odd Couple

Oracle Forms and Oracle APEX The Odd Couple Oracle Forms and Oracle APEX The Odd Couple About me 2 Francis Mignault CTO and Co-founder, Insum Solutions 30+ years with Oracle DB, 14+ years with APEX. (Forms 2.3 / Oracle 5) Books: Expert Oracle Application

More information

How to Pick the Right PI Developer Technology for your Project

How to Pick the Right PI Developer Technology for your Project How to Pick the Right PI Developer Technology for your Project Presented by Ray Verhoeff Product Manager Topics What Problems are you trying to solve? Where are you solving them? About PI Developer Technologies

More information

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017

Ruby on Rails. SITC Workshop Series American University of Nigeria FALL 2017 Ruby on Rails SITC Workshop Series American University of Nigeria FALL 2017 1 Evolution of Web Web 1.x Web 1.0: user interaction == server roundtrip Other than filling out form fields Every user interaction

More information

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already. 2 3 4 The point here is that for real business applications, there is a connected back-end for services. The mobile part of the app is just a presentation layer that is unique for the mobile environment.

More information

IBM i: JOURNEY TO THE CENTER OF THE CLOUD

IBM i: JOURNEY TO THE CENTER OF THE CLOUD IBM i: JOURNEY TO THE CENTER OF THE CLOUD Prepared by Matt Shannon, Sr. Solutions Specialist and Jeffrey Whicker, Sr. Solutions Specialist Sirius Computer Solutions, Inc. July 2017 Contents Executive Summary...

More information

C++Builder - Frequently Asked Questions

C++Builder - Frequently Asked Questions C++Builder 2010 FAQ C++Builder - Frequently Asked Questions GENERAL QUESTIONS What is Embarcadero C++Builder? C++Builder is the only true RAD C++ environment and framework designed for ultra-fast development

More information

Equinox Project Update

Equinox Project Update Equinox Project Update Jeff McAffer, Senior Technical Staff Member Eclipse RCP and Equinox Lead 2007 by IBM Corp; made available under the Creative Commons Att. Nc Nd 2.5 license October 2007 What is Equinox?

More information

Unleashing Your Marketing Collateral and Tools

Unleashing Your Marketing Collateral and Tools Unleashing Your Marketing Collateral and Tools on Desktops, Tablets and Phones michael@webvanta.com 888.670.6793 www.webvanta.com 888.670.6793 About the Presenter, Michael Slater President & CEO of Webvanta

More information

How Application Modernization is Helping to Transform Business. Alison Butterill WW IBM i Offering Manager

How Application Modernization is Helping to Transform Business. Alison Butterill WW IBM i Offering Manager How Application Modernization is Helping to Transform Business Alison Butterill WW IBM i Offering Manager akbutter@us.ibm.com The Evolution of IT IBM i Architecture DB2 for i & Single Level Store Object

More information

CONTENTS. INTRODUCTION xvii

CONTENTS. INTRODUCTION xvii INTRODUCTION xvii SECTION I: AN INTRODUCTION TO JAVA FOR RPG PROGRAMMERS 1 CHAPTER 1: JAVA FOR RPG PROGRAMMERS 3 AS/400 LIBRARIES AND JAVA PACKAGES 3 IMPORT 6 A PROGRAM WITH CLASS 7 LET S START HERE 7

More information

Using the Computer Programming Environment

Using the Computer Programming Environment Information sheet EN064 Overview C2k has developed an environment to allow GCSE and A-Level students to undertake computer programming from within the C2k Managed Service. This environment will deliver

More information

SQL Stored Procedures and the SQL Procedure Language

SQL Stored Procedures and the SQL Procedure Language SQL Stored Procedures and the SQL Procedure Language John Valance Division 1 Systems johnv@div1sys.com www.div1sys.com 2017 Division 1 Systems About John Valance 30+ years IBM midrange experience

More information

Deployment Is Not A Four Letter Word. Chris Hartjes PHP Quebec 2009 Conference

Deployment Is Not A Four Letter Word. Chris Hartjes PHP Quebec 2009 Conference Deployment Is Not A Four Letter Word Chris Hartjes PHP Quebec 2009 Conference WARNING: This presentation may contain language that is offensive to some. I ll try not to swear but sometimes it just comes

More information

Richard Dolewski DR Confessions the Movie: Conducting a Best Practices Audit of Your System i and i5/os Installing a New IBM i Release to Your System

Richard Dolewski DR Confessions the Movie: Conducting a Best Practices Audit of Your System i and i5/os Installing a New IBM i Release to Your System Speaker Excellence Awards 2009 Annual Meeting and Exposition Gold Medal Sessions Richard Dolewski Disaster Recovery Primer - Ready, Set, Plan John Earl IBM i Security by Object Type Randall Munson Success

More information

Professional Edition User Guide

Professional Edition User Guide Professional Edition User Guide Pronto, Visualizer, and Dashboards 2.0 Birst Software Version 5.28.6 Documentation Release Thursday, October 19, 2017 i Copyright 2015-2017 Birst, Inc. Copyright 2015-2017

More information

glu deployment automation platform July 2011 Yan Pujante in: blog:

glu deployment automation platform July 2011 Yan Pujante in:   blog: glu deployment automation platform July 2011 Yan Pujante in: http://www.linkedin.com/in/yan blog: http://pongasoft.com/blog/yan @yanpujante * To see a video of this presentation given at Chicago devops,

More information

SUSE Linux Enterprise Server 12 Modules

SUSE Linux Enterprise Server 12 Modules White Paper Server SUSE Linux Enterprise Server 12 Modules Server White Paper SUSE Linux Enterprise Server 12 Modules What Can Modular Packaging Do for You? What if you could use a reliable operating system

More information

Microsoft Access 2010 VBA Programming Inside Out Free Ebooks PDF

Microsoft Access 2010 VBA Programming Inside Out Free Ebooks PDF Microsoft Access 2010 VBA Programming Inside Out Free Ebooks PDF You're beyond the basics, so dive right in and customize, automate, and extend Accessâ using Visual Basic for Applications (VBA). This supremely

More information

CS 155 Project 2. Overview & Part A

CS 155 Project 2. Overview & Part A CS 155 Project 2 Overview & Part A Project 2 Web application security Composed of two parts Part A: Attack Part B: Defense Due date: Part A: May 5th (Thu) Part B: May 12th (Thu) Project 2 Ruby-on-Rails

More information

6/16/2015. Mobile on IBM i. Wayne Bowers Evolution of User Interface. rich client or browser. Traditional in-house

6/16/2015. Mobile on IBM i. Wayne Bowers Evolution of User Interface. rich client or browser. Traditional in-house Mobile on IBM i Wayne Bowers wbowers@us.ibm.com Evolution of User Interface rich client or browser Traditional in-house mobile 2 1 Mobile services are now a must-have 10B+ mobile devices in the world by

More information

31CM From RPG OA to Node.js Modernization and Mobile. Presented by: Greg Patterson Senior Sales Engineer Fresche Solutions May 9, 2017

31CM From RPG OA to Node.js Modernization and Mobile. Presented by: Greg Patterson Senior Sales Engineer Fresche Solutions May 9, 2017 31CM From RPG OA to Node.js Modernization and Mobile Presented by: Greg Patterson Senior Sales Engineer Fresche Solutions May 9, 2017 Agenda Brief History of Modernization 5250 Refacing RPG Open Access

More information

Graphical Access to IU's Supercomputers with Karst Desktop Beta

Graphical Access to IU's Supercomputers with Karst Desktop Beta Graphical Access to IU's Supercomputers with Karst Desktop Beta A Thota, R Henschel, C Dennis, J Rinkovsky, D Hancock Research Technologies Indiana University 1 Show of hands Who here has Run statistical

More information

Think Small to Scale Big

Think Small to Scale Big Think Small to Scale Big Intro to Containers for the Datacenter Admin Pete Zerger Principal Program Manager, MVP pete.zerger@cireson.com Cireson Lee Berg Blog, e-mail address, title Company Pete Zerger

More information

Developer Internship Opportunity at I-CC

Developer Internship Opportunity at I-CC Developer Internship Opportunity at I-CC Who We Are: Technology company building next generation publishing and e-commerce solutions Aiming to become a leading European Internet technology company by 2015

More information

Promote Your Knowledge with the Power of Your Community & Oracle APEX

Promote Your Knowledge with the Power of Your Community & Oracle APEX Promote Your Knowledge with the Power of Your Community & Oracle APEX 8:30am MAY 16, 2018 CLEVELAND PUBLIC AUDITORIUM, CLEVELAND, OHIO WWW.NEOOUG.ORG/GLOC Promoting Your Knowledge with the Power of your

More information

Migrating InfoPath Forms to Nintex Forms

Migrating InfoPath Forms to Nintex Forms Migrating InfoPath Forms to Nintex Forms Gary Devendorf Director of Product Development FORMTREK Agenda Quick demo InfoPath form to Nintex form Value of form migration Migrating the InfoPath Form process

More information

Vb Net Tutorial For Beginners Visual Studio 2010 Create Web Service

Vb Net Tutorial For Beginners Visual Studio 2010 Create Web Service Vb Net Tutorial For Beginners Visual Studio 2010 Create Web Service In this article I will explain a tutorial to create a simple Windows Service with sample Net Web Application using Visual Studio 2010

More information

Practical C Programming (Nutshell Handbooks) Ebooks Free

Practical C Programming (Nutshell Handbooks) Ebooks Free Practical C Programming (Nutshell Handbooks) Ebooks Free There are lots of introductory C books, but this is the first one that has the no-nonsense, practical approach that has made Nutshell HandbooksÂ

More information

IBM i. Fertile ground for PHP developers. Alan Seiden Consulting alanseiden.com. Thursday, February 6, 14

IBM i. Fertile ground for PHP developers. Alan Seiden Consulting alanseiden.com. Thursday, February 6, 14 IBM i Fertile ground for PHP developers alanseiden.com My focus Advancing PHP on IBM i PHP project leader, Zend/IBM Toolkit Contributor, Zend Framework DB2/i enhancements Developer, Best Web Solution,

More information

Bitnami OSQA for Huawei Enterprise Cloud

Bitnami OSQA for Huawei Enterprise Cloud Bitnami OSQA for Huawei Enterprise Cloud Description OSQA is a question and answer system that helps manage and grow online communities similar to Stack Overflow. First steps with the Bitnami OSQA Stack

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies Database Systems: Design, Implementation, and Management Tenth Edition Chapter 14 Database Connectivity and Web Technologies Database Connectivity Mechanisms by which application programs connect and communicate

More information

(C) Global Journal of Engineering Science and Research Management

(C) Global Journal of Engineering Science and Research Management ANDROID BASED SECURED PHOTO IDENTIFICATION SYSTEM USING DIGITAL WATERMARKING Prof.Abhijeet A.Chincholkar *1, Ms.Najuka B.Todekar 2, Ms.Sunita V.Ghai 3 *1 M.E. Digital Electronics, JCOET Yavatmal, India.

More information

Vendor: IBM. Exam Code: Exam Name: ILE RPG Programmer. Version: Demo

Vendor: IBM. Exam Code: Exam Name: ILE RPG Programmer. Version: Demo Vendor: IBM Exam Code: 000-972 Exam Name: ILE RPG Programmer Version: Demo Questions: 1 Which of the following operation codes is supported in both fixed form and /Free form? A. CALL B. EVALR C. ALLOC

More information

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred Using Data Science to deliver Workforce & Labour Market Insights Gary Gan Co-Founder, JobKred Collection of Data Online Sources Skills, Education, Experience AI-powered Career Development Platform Cloud-based

More information

MediaWiki Tutorial. Step 1:Install MediaWiki. Download files

MediaWiki Tutorial. Step 1:Install MediaWiki. Download files MediaWiki Tutorial Step 1:Install MediaWiki Download files MediaWiki requires that a web server and a MySQL DBMS and PHP scripted are installed prior to use. It is recommended for first time users to install

More information

Manual Of Virtualbox Additions Ubuntu Server 12.04

Manual Of Virtualbox Additions Ubuntu Server 12.04 Manual Of Virtualbox Additions Ubuntu Server 12.04 On the server I have Ubuntu 12.04.2. LTS I have Found on How do I install Guest Additions in a VirtualBox VM? now I repeat doing so. In both situation

More information

Prototyping Data Intensive Apps: TrendingTopics.org

Prototyping Data Intensive Apps: TrendingTopics.org Prototyping Data Intensive Apps: TrendingTopics.org Pete Skomoroch Research Scientist at LinkedIn Consultant at Data Wrangling @peteskomoroch 09/29/09 1 Talk Outline TrendingTopics Overview Wikipedia Page

More information

welcome to BOILERCAMP HOW TO WEB DEV

welcome to BOILERCAMP HOW TO WEB DEV welcome to BOILERCAMP HOW TO WEB DEV Introduction / Project Overview The Plan Personal Website/Blog Schedule Introduction / Project Overview HTML / CSS Client-side JavaScript Lunch Node.js / Express.js

More information

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

AD406: What s New in Digital Experience Development with IBM Web Experience Factory AD406: What s New in Digital Experience Development with IBM Web Experience Factory Jonathan Booth, Senior Architect, Digital Experience Tooling, IBM Adam Ginsburg, Product Manager, Digital Experience

More information

Securing Production Applications & Data at Runtime. Prevoty

Securing Production Applications & Data at Runtime. Prevoty Securing Production Applications & Data at Runtime Prevoty Introducing Prevoty Scalable visibility and protection for all applications and services 20+ 3 Over Verticals: Awards & Recognitions Years in

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

Externally Described SQL -- An SQL iquery API

Externally Described SQL -- An SQL iquery API Externally Described SQL -- An SQL iquery API Introduced as a beta test API in SQL iquery v4r7, Externally Described SQL is a simple set of APIs that provide the ability for RPG programmers to leverage

More information

Lab 2: Setting up secure access

Lab 2: Setting up secure access Lab 2: Setting up secure access Oracle Database Cloud Service Hands On Lab This lab is divided into 3 parts 1. Securely Connecting to DBCS instance using Putty 2. Configuring SQL Developer for Secure Access

More information

Bitnami DokuWiki for Huawei Enterprise Cloud

Bitnami DokuWiki for Huawei Enterprise Cloud Bitnami DokuWiki for Huawei Enterprise Cloud Description DokuWiki is a standards-compliant, simple to use wiki optimized for creating documentation. It is targeted at developer teams, workgroups, and small

More information

Frustrated by all the hype?

Frustrated by all the hype? Fundamentals of Software Architecture Looking beyond the hype Markus Völter (voelter@acm.org) Introduction Frustrated by all the hype? If so this presentation is for you. Otherwise you should leave People

More information

How To Get Database Schema In Java Using >>>CLICK HERE<<<

How To Get Database Schema In Java Using >>>CLICK HERE<<< How To Get Database Schema In Java Using Eclipse Pdf Go To Table Of Contents Search, PDF, Comments EclipseLink is suitable for use with a wide range of Java Enterprise Edition (Java to a relational database

More information

Free Downloads The C++ Programming Language: Special Edition (3rd Edition)

Free Downloads The C++ Programming Language: Special Edition (3rd Edition) Free Downloads The C++ Programming Language: Special Edition (3rd Edition) More than three-quarters of a million programmers have benefited from this book in all of its editions Written by Bjarne Stroustrup,

More information

Perceptive Nolij Web. Administrator Guide. Version: 6.8.x

Perceptive Nolij Web. Administrator Guide. Version: 6.8.x Perceptive Nolij Web Administrator Guide Version: 6.8.x Written by: Product Knowledge, R&D Date: June 2018 Copyright 2014-2018 Hyland Software, Inc. and its affiliates.. Table of Contents Introduction...

More information