Case study of connecting to Windows-based SOAP server (UPS Roadnet) with a client running on IBM i with PHP and Zend Framework. Lots of tips and help to get started.
Create a welcoming development environment on IBM iAlan Seiden
Thanks to languages such as PHP, young developers are entering the IBM i world, but may be unprepared for their new environment. They may not realize that IBM i has an SSH shell environment that can have them feeling at home and productive.
This talk will offer tools and tips to allow developers to work from a UNIX command line in the manner they may be used to (with minor adjustments) on IBM i. Improve job satisfaction with the tips presented here.
Topics will include:
* create a chroot environment for safe experimentation on IBM i
* install bash shell with tab autocomplete and other familar features
* access DB2 and IBM i operations from the command line
* use familiar editing tools such as vi
* use php-cli efficiently
IBM i: Fertile Ground for PHP DevelopersAlan Seiden
The IBM i platform, which evolved from System i, i5, iSeries, and AS/400, is a highly reliable, secure, self-managing, and integrated operating environment with a loyal, devoted following among thousands of businesses. A PHP developer who knows how to speak "IBM i" will be differentiated in the job market, gaining interesting employment and consulting opportunities.
In this talk, Alan Seiden will introduce you to the world of IBM i, covering the basics of this unique platform.
From Zero to ZF: Your first zend framework project on ibm iAlan Seiden
Step by step, I'll demonstrate the creation of a Zend Framework (ZF) project, with special attention to configuring the db2 adapter so it works well with IBM i.
PHP Toolkit from Zend and IBM: Open Source on IBM iAlan Seiden
PHP developers on IBM i have a new way to access resources such as RPG and COBOL programs, system commands, data areas, and more, using a new, free, flexible, open source toolkit, supported by Zend. Using IBM's XMLSERVICE toolkit on the back end, it's all open source, enabling a high level of quality and functionality delivered by Zend, IBM, and IBM i community members who take the initiative.
You will learn:
• How your older PHP applications can use the new toolkit with minimal changes, thanks to the Compatibility Wrapper (CW), developed for Zend by Alan
And how to:
• Optimize performance
• Develop PHP on your laptop (Windows, Linux) or in the "cloud" and deploy to the IBM i
With suggestions for:
• Security
• Troubleshooting
• Tips and tricks to work with your IBM i in new ways
Browser tools that make web development easierAlan Seiden
A departure from my usual PHP talks, I discussed browser-based tools that help with client-side tasks such as performance diagnostics, page analysis, HTTP flow analysis, the ability to step through javascript, and much more. Developers can work smarter with downloadable browser tools.
Strategic Modernization with PHP on IBM iAlan Seiden
You know you need to modernize your IBM i applications, but where to start? In this talk, Alan will inspire you with creative examples of modernization on IBM i that provided a strong return on investment while controlling risk. Learn how to choose projects with the best return on investment, and then complete them with confidence. We will lead an honest discussion of the most effective strategies. Can RPG programmers learn PHP? Yes. Can new PHP developers be integrated into an existing IT department? Yes. Both approaches have merit. See creative ways to use PHP, not only to create new GUI front-ends, but to enhance existing interactive RPG programs. Please your users and business people by incorporating PHP into your shop.
PHP is famous for its ability to build web-based front ends, but it's also a flexible tool within batch processes--that is, as a utility language. Alan will show how to accomplish marvelous tasks by calling PHP from ordinary CL programs and with Job Queue functionality in Zend Server.
This document provides an overview of connecting to and working with DB2 for IBM i from PHP applications. It discusses using Zend Server, which includes the ibm_db2 driver for connecting to DB2. The document reviews parameters for db2_connect() such as database name, username, password and optional options. It also covers topics like setting a default library, using library lists, and strategies for user profiles. An included sample script demonstrates prepared statements, binding parameters, and retrieving result sets from DB2 using ibm_db2.
If your web application runs slowly, your reputation and business could suffer. To restore confidence, you must improve performance immediately, because frustrated users might not return to give you a second chance. You need “Web Performance First Aid.”
In this talk, Alan will share "first aid" techniques that can improve web performance within minutes.
Once your site starts to run faster, positive word of mouth may be generated among users, restoring confidence in your efforts and giving you breathing room to examine your application for further improvements.
Particular focus will be given to free tools that help diagnose performance bottlenecks, how to configure the Apache web server for speed, and making best use of the unique characteristics of IBM i.
Zend Products and PHP for IBMi provides an overview of Zend technologies for the IBM i platform, including:
1) Zend Server which is a PHP application server that improves performance, reliability, and security of PHP applications on IBMi.
2) The Zend Framework which is installed automatically with Zend Server and provides a set of PHP components and libraries.
3) The new open source PHP toolkit which provides a set of classes that allow PHP applications to access IBMi functions through a compatibility wrapper.
A a sneak peek into PHP 7, Zend Server 9, Zend Studio 13.5, and what the combination brings to IBM i users. Available in Q3, sporting a new DB2 extension and lots of new goodies, Zend Server 9 will prove to be the biggest open source story to hit IBM i this year. Once you add the latest Zend Studio release (13.5), you’ll be well on your way to full web enablement.
How to measure and optimize performance of applications that use Zend Framework 1.x. A talk presented at the New York City Zend Framework Meetup (http://www.meetup.com/ZendFramework-NYCmetro/) on August 23, 2011.
This document provides an overview of IBM i tutorial events occurring at ZendCon '09, including PHP sessions on Tuesday and an IBM i networking reception. It introduces Mike Pavlak, the Solution Consultant giving the tutorial, and reviews tools for developing PHP applications on IBM i like Zend Core, Studio, and Server. The tutorial agenda includes using toolkit functions, debugging with Zend Platform, and integrating procedural PHP with the Zend Framework.
This presentation reviews of the many aspects of PHP performance that can impact day-to-day living. It explores basic concepts for resolution when PHP performance has got you down. The focus is on Zend Server configuration options including, but not limited to: caching, Apache settings, PHP syntax fundamentals, diagnosing bottlenecks, and DB2/SQL optimization.
Running open source PHP applications on you IBM iProximity Group
At International i-Power 2015, Pete Samways presented a hands-on workshop entitled 'Running open source products on your IBM i'.
As the IBM i is a more open platform than it has ever been, it has become an excellent platform for running and developing web and mobile applications. In this practical workshop, attendees were guided through the process of installing and running open source PHP applications on their IBM i such as Drupal, Magento, WordPress, Mantis Bug Tracker and Sugar CRM. The session included live and guided demonstrations of installing Zend Server, Zend DBi and the applications themselves from a .zpk or from source.
Download the slides from the workshop to find out about more about Zend Server, some top tips for configuring Zend Server, what open source is, why PHP for open source and the advantages of PHP on the IBM i.
Ralph Schindler gives an overview of extending the Zend Framework tool Zend_Tool. He describes Zend_Tool's purpose for rapid application development of Zend Framework projects. The talk outlines Zend_Tool's architecture including the Zend_Tool_Framework component for dispatching tool requests and the Zend_Tool_Project component for exposing project-specific capabilities. Schindler discusses various extension points for Zend_Tool like implementing providers, metadata, and interactivity. He provides examples of extending Zend_Tool to load profiles, create resources, and regenerate code.
This is the slide deck of the "Performance Tuning PHP on IBM i" given by Mike Pavlak and Alan Seiden in Feb 2012. They discuss some of the more fundamental areas that reveal performance bottlenecks. They explore hardware, software and configuration options that will help your PHP applications fly. The discussion reviews features for both Zend Server and Zend Server CE.
To watch the recording, visit http://bit.ly/A4NjYM
This document discusses the history and concepts of Representational State Transfer (REST). It provides context on how REST began in the 1990s alongside the growth of the World Wide Web. It discusses three perspectives on the web - as an information space, computational space, and hypermedia system. It also discusses Roy Fielding's dissertation which defined REST and the constraints that make it applicable to large-scale distributed hypermedia systems like the Web.
The document discusses PHP and platform independence in the cloud. It describes different definitions of the cloud and benefits like scalability. It notes that applications should be written for the cloud using cloud services. Moving applications between cloud providers is difficult due to API differences. The PHPilosophy is presented as using abstraction to create common interfaces for cloud services like storage, documents, and queues to provide platform independence when using different cloud providers.
This is the slide deck of the Zend webinar "A tale of two toolkits".
Have you heard of the exciting new open source XML Toolkit currently being developed in collaboration between IBM and Zend? Are you curious about how it works and what you need to get started? Are you aware that it is available in Zend Server 5.1 as a beta and soon to be released as GA? Well rest assured, Mike Pavlak will fill you in on the details and a little bit more.
You can watch the webinar at http://bit.ly/q9byHS, after a short registration.
This is a low-level, and philosophical discussion on the act of compiling data out of your PHP applications using Zend\Code: Scanning, Generating, Annotating code in PHP.
The document introduces the Zend Framework, which is a modular PHP library that aims to simplify common tasks. It provides best practices for PHP 5 development and serves as a starting point for applications. The framework uses a Model-View-Controller pattern and includes features like input filtering, email sending, searching, and more. It has a goal of being industry-leading, high-quality, and modular while also having an extremely simple interface.
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
IBM Connections administration – keep your systems running the right wayLetsConnect
You have IBM Connections installed but now you are unsure what you need to do to keep the lights on the servers running smoothly.
User account synchronization, Database maintenance, reviewing the log files for errors, …
There are many of tasks for an IBM Connections admin – let us tell you how to schedule them into daily, weekly, monthly or even quarterly tasks.
Learn what you need to deal with immediately and which tasks you can schedule for later.
Take home some useful scripts, life saving settings and a sample schedule for your admin work
IBM Connections Adminblast - Connect17 (DEV 1268)Nico Meisenzahl
Buckle up, join Christoph and Nico and get ready to learn 50 tips and tricks you can implement right away to improve your IBM Connections environment. Your users will thank you as they too benefit from this best practice list gathered from real-world projects while deploying and administering IBM Connections On-premises. Walk away with knowledge covering anything from Cognos integration, docs, CCM and Forms Experience Builder to the back end and DB2, TDI and SSO.
Code for Startup MVP (Ruby on Rails) Session 1Henry S
First Session on Learning to Code for Startup MVP's using Ruby on Rails.
This session covers the web architecture, Git/GitHub and makes a real rails app that is deployed to Heroku at the end.
Thanks,
Henry
IBM Connect 2016 - 60+ in 60 - Admin Tips Power HourChris Miller
See the full slides at http://idonot.es/60in60for2016
With a guaranteed minimum of 60 administration tips in 60 minutes you will walk out with a list of items to immediately help you tune your collaboration environment. Covering IBM Domino, Sametime, Connections, Traveler and more will have you eager to get back and implement some of the ideas. We will take best practices from the my SocialBizUg Admin Tips newsletter, customer case stories and other best practices. Have no fear, we will move faster that you can write so everything will be available for you to download. This is an ode to the hundreds of tips brought to you by the letters M and G (Mooney and Gab) over the years.
This document provides an overview of quality assurance for PHP projects. It discusses the importance of revision control, documentation, testing, and automation in QA. Revision control systems like SVN and Git are recommended for team development and tracking code versions. PHP Lint is introduced for syntax checking files from the command line. Documenting code with PHPDoc is suggested. Unit testing forms and models is demonstrated using PHPUnit. Validation, filtering, and sanitizing user input is important for protection against exploits. Overall the document promotes establishing strong quality practices like testing, revision control, and documentation for PHP projects.
If your web application runs slowly, your reputation and business could suffer. To restore confidence, you must improve performance immediately, because frustrated users might not return to give you a second chance. You need “Web Performance First Aid.”
In this talk, Alan will share "first aid" techniques that can improve web performance within minutes.
Once your site starts to run faster, positive word of mouth may be generated among users, restoring confidence in your efforts and giving you breathing room to examine your application for further improvements.
Particular focus will be given to free tools that help diagnose performance bottlenecks, how to configure the Apache web server for speed, and making best use of the unique characteristics of IBM i.
Zend Products and PHP for IBMi provides an overview of Zend technologies for the IBM i platform, including:
1) Zend Server which is a PHP application server that improves performance, reliability, and security of PHP applications on IBMi.
2) The Zend Framework which is installed automatically with Zend Server and provides a set of PHP components and libraries.
3) The new open source PHP toolkit which provides a set of classes that allow PHP applications to access IBMi functions through a compatibility wrapper.
A a sneak peek into PHP 7, Zend Server 9, Zend Studio 13.5, and what the combination brings to IBM i users. Available in Q3, sporting a new DB2 extension and lots of new goodies, Zend Server 9 will prove to be the biggest open source story to hit IBM i this year. Once you add the latest Zend Studio release (13.5), you’ll be well on your way to full web enablement.
How to measure and optimize performance of applications that use Zend Framework 1.x. A talk presented at the New York City Zend Framework Meetup (http://www.meetup.com/ZendFramework-NYCmetro/) on August 23, 2011.
This document provides an overview of IBM i tutorial events occurring at ZendCon '09, including PHP sessions on Tuesday and an IBM i networking reception. It introduces Mike Pavlak, the Solution Consultant giving the tutorial, and reviews tools for developing PHP applications on IBM i like Zend Core, Studio, and Server. The tutorial agenda includes using toolkit functions, debugging with Zend Platform, and integrating procedural PHP with the Zend Framework.
This presentation reviews of the many aspects of PHP performance that can impact day-to-day living. It explores basic concepts for resolution when PHP performance has got you down. The focus is on Zend Server configuration options including, but not limited to: caching, Apache settings, PHP syntax fundamentals, diagnosing bottlenecks, and DB2/SQL optimization.
Running open source PHP applications on you IBM iProximity Group
At International i-Power 2015, Pete Samways presented a hands-on workshop entitled 'Running open source products on your IBM i'.
As the IBM i is a more open platform than it has ever been, it has become an excellent platform for running and developing web and mobile applications. In this practical workshop, attendees were guided through the process of installing and running open source PHP applications on their IBM i such as Drupal, Magento, WordPress, Mantis Bug Tracker and Sugar CRM. The session included live and guided demonstrations of installing Zend Server, Zend DBi and the applications themselves from a .zpk or from source.
Download the slides from the workshop to find out about more about Zend Server, some top tips for configuring Zend Server, what open source is, why PHP for open source and the advantages of PHP on the IBM i.
Ralph Schindler gives an overview of extending the Zend Framework tool Zend_Tool. He describes Zend_Tool's purpose for rapid application development of Zend Framework projects. The talk outlines Zend_Tool's architecture including the Zend_Tool_Framework component for dispatching tool requests and the Zend_Tool_Project component for exposing project-specific capabilities. Schindler discusses various extension points for Zend_Tool like implementing providers, metadata, and interactivity. He provides examples of extending Zend_Tool to load profiles, create resources, and regenerate code.
This is the slide deck of the "Performance Tuning PHP on IBM i" given by Mike Pavlak and Alan Seiden in Feb 2012. They discuss some of the more fundamental areas that reveal performance bottlenecks. They explore hardware, software and configuration options that will help your PHP applications fly. The discussion reviews features for both Zend Server and Zend Server CE.
To watch the recording, visit http://bit.ly/A4NjYM
This document discusses the history and concepts of Representational State Transfer (REST). It provides context on how REST began in the 1990s alongside the growth of the World Wide Web. It discusses three perspectives on the web - as an information space, computational space, and hypermedia system. It also discusses Roy Fielding's dissertation which defined REST and the constraints that make it applicable to large-scale distributed hypermedia systems like the Web.
The document discusses PHP and platform independence in the cloud. It describes different definitions of the cloud and benefits like scalability. It notes that applications should be written for the cloud using cloud services. Moving applications between cloud providers is difficult due to API differences. The PHPilosophy is presented as using abstraction to create common interfaces for cloud services like storage, documents, and queues to provide platform independence when using different cloud providers.
This is the slide deck of the Zend webinar "A tale of two toolkits".
Have you heard of the exciting new open source XML Toolkit currently being developed in collaboration between IBM and Zend? Are you curious about how it works and what you need to get started? Are you aware that it is available in Zend Server 5.1 as a beta and soon to be released as GA? Well rest assured, Mike Pavlak will fill you in on the details and a little bit more.
You can watch the webinar at http://bit.ly/q9byHS, after a short registration.
This is a low-level, and philosophical discussion on the act of compiling data out of your PHP applications using Zend\Code: Scanning, Generating, Annotating code in PHP.
The document introduces the Zend Framework, which is a modular PHP library that aims to simplify common tasks. It provides best practices for PHP 5 development and serves as a starting point for applications. The framework uses a Model-View-Controller pattern and includes features like input filtering, email sending, searching, and more. It has a goal of being industry-leading, high-quality, and modular while also having an extremely simple interface.
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
IBM Connections administration – keep your systems running the right wayLetsConnect
You have IBM Connections installed but now you are unsure what you need to do to keep the lights on the servers running smoothly.
User account synchronization, Database maintenance, reviewing the log files for errors, …
There are many of tasks for an IBM Connections admin – let us tell you how to schedule them into daily, weekly, monthly or even quarterly tasks.
Learn what you need to deal with immediately and which tasks you can schedule for later.
Take home some useful scripts, life saving settings and a sample schedule for your admin work
IBM Connections Adminblast - Connect17 (DEV 1268)Nico Meisenzahl
Buckle up, join Christoph and Nico and get ready to learn 50 tips and tricks you can implement right away to improve your IBM Connections environment. Your users will thank you as they too benefit from this best practice list gathered from real-world projects while deploying and administering IBM Connections On-premises. Walk away with knowledge covering anything from Cognos integration, docs, CCM and Forms Experience Builder to the back end and DB2, TDI and SSO.
Code for Startup MVP (Ruby on Rails) Session 1Henry S
First Session on Learning to Code for Startup MVP's using Ruby on Rails.
This session covers the web architecture, Git/GitHub and makes a real rails app that is deployed to Heroku at the end.
Thanks,
Henry
IBM Connect 2016 - 60+ in 60 - Admin Tips Power HourChris Miller
See the full slides at http://idonot.es/60in60for2016
With a guaranteed minimum of 60 administration tips in 60 minutes you will walk out with a list of items to immediately help you tune your collaboration environment. Covering IBM Domino, Sametime, Connections, Traveler and more will have you eager to get back and implement some of the ideas. We will take best practices from the my SocialBizUg Admin Tips newsletter, customer case stories and other best practices. Have no fear, we will move faster that you can write so everything will be available for you to download. This is an ode to the hundreds of tips brought to you by the letters M and G (Mooney and Gab) over the years.
This document provides an overview of quality assurance for PHP projects. It discusses the importance of revision control, documentation, testing, and automation in QA. Revision control systems like SVN and Git are recommended for team development and tracking code versions. PHP Lint is introduced for syntax checking files from the command line. Documenting code with PHPDoc is suggested. Unit testing forms and models is demonstrated using PHPUnit. Validation, filtering, and sanitizing user input is important for protection against exploits. Overall the document promotes establishing strong quality practices like testing, revision control, and documentation for PHP projects.
Diagnosing Technical Issues With Search Engine OptimizationNine By Blue
If your site is having trouble ranking well in search engines such as Google, you've lost ranking, or you've having trouble with a site move or migration, the trouble could be with the site's technical architecture.
View checklists to help diagnose issues with crawling, indexing, and ranking your site's content.
Node.js is a lightweight JavaScript runtime environment that allows building scalable network applications. It uses Google's V8 JavaScript engine and is commonly used for real-time, event-driven applications due to its asynchronous and event-driven nature. Node.js executes I/O operations asynchronously using callbacks without blocking and is well-suited for data-intensive real-time applications that run across distributed devices. The Express.js framework builds on Node.js to help create web applications and APIs in a more structured way.
These are the slides of a small lightning talk I gave at yesterday's Amsterdam.js meetup. It mainly shows the tools I use in my projects and some examples on how to use them.
It also includes a sneak-preview of a NLP (Natural Language Processing) library I'm writing in Javascript, called Sponge.
The document discusses unit testing Zend Framework applications. It begins by explaining the importance of testing and some common excuses for not testing. It then provides examples of setting up PHPUnit configuration and bootstrap files for testing Zend Framework applications. The document demonstrates how to write tests for Zend Forms and models, including testing with both valid and invalid data. It shows how to modify models to add validation filters and validators.
Facebook Development with Zend FrameworkBrett Harris
The document discusses developing Facebook applications using the Zend Framework. It covers challenges like publicly accessible development environments and differences from normal web development. It also describes using a proxy pattern to mock Facebook APIs locally and parsing FBML tags. The document advocates using an active record pattern to access Facebook data and building UI components to wrap AJAX libraries for multi-application interfaces.
Node.js is a JavaScript runtime built on Chrome's JavaScript engine for building fast and scalable network applications. It uses non-blocking I/O and event-driven architecture, making it suitable for real-time applications with many simultaneous connections. The document provides an example of an HTTP server in Node.js and discusses key aspects of the platform like the event loop, modules, and package management with npm. It also introduces Express.js as a popular web framework built on Node.js that simplifies building web servers.
This document discusses using jQuery for theming in Drupal. It provides prerequisites for using jQuery including Firefox, Firebug, JQuerify bookmarklet, and a Drupal 5 install. It discusses jQuery philosophy of progressive enhancement, unobtrusive code, and being lightweight. It also discusses using jQuery to enhance browser support and integrate jQuery into Drupal through the core jQuery version and jQuery Update module. It demonstrates using Firebug and JQuerify to experiment with jQuery commands and adding jQuery code to Drupal through the ready function and drupal_add_js().
This document provides an overview of Node.js and Express. It discusses that Node.js is a JavaScript runtime for building asynchronous and event-driven servers. It allows JavaScript to run outside browsers for IO operations. The document also covers key aspects of the Node.js ecosystem like NPM, Connect middleware, and the popular web framework Express. It includes demos of building asynchronous servers, routing, templates, and integrating data models in Express apps.
Devdays Seattle jQuery Intro for Developerscody lindley
This document provides an introduction and overview of jQuery for developers. It discusses that jQuery is a JavaScript library used on 35% of sites that use JavaScript and 1 in 5 of all sites, to simplify DOM manipulation, events, animations and Ajax interactions. It then covers 5 core jQuery concepts including finding elements and performing actions on them, creating elements, chaining methods, implicit iteration, and building plugins. The document provides examples of each concept and encourages questions at the end.
Node.js is a JavaScript runtime built on Chrome's V8 engine that allows JavaScript to run outside of the browser. It has an event-driven, non-blocking I/O model that makes it suitable for building fast and scalable network applications. The document provides an introduction and overview of Node.js, including its uses, installation process, core features like modules and event-driven architecture, and popular frameworks like Express.js.
Intro to Laravel PHP Framework touching on Composer, Eloquent ORM, Blade, MVC, Migration, Seeding, Artisan, Forms, Generators
Ven
Presented by:
Christopher A. Moore
[email protected]
Koder at http://kareer.me
This document discusses different aspects of JavaScript including backend frameworks like MongoDB, ExpressJS, AngularJS and NodeJS. It also covers bundling tools like Browserify and Webpack for ES6 JavaScript as well as transpiling with Babel. Finally, it mentions frontend component libraries like ReactJS, Polymer and Web Components for building user interfaces with nested and reusable components.
This document provides an introduction to jQuery. It discusses the jQuery project, including how to include jQuery on a page. It also covers selecting elements with jQuery selectors, common jQuery methods like show(), hide(), and bind(), and manipulating CSS styles. The document is intended to introduce basic jQuery concepts.
This document discusses using Node.js and Express.js in the backend of an Epsilon mobile application. It outlines how Node.js provides a non-blocking event-driven architecture and how Express.js adds routing, static file serving, authentication, and body parsing middleware capabilities. It also summarizes Epsilon's choices to use Node.js, Express.js, CoffeeScript, Jade, Mocha, Superagent and Should for the backend and Backbone, Jquery, Mocha, Sinon and Require for the frontend. Testing is done with Mocha, Superagent and Should for the backend and Mocha, Require and Sinon for the frontend. The application is integrated with Jenkins for continuous
With Composer as an integral part of Laravel 4 PHP framework, PHP programmers finaly have a way to break the complex projects into smaller independent units (Laravel Packages) that can later easily be used in any other project. This brings code reusibilty to a completely new level. Lecture describes the proccess of creating a simple Laravel package with Facade and Artisan CLI support. Detailed walkthorugh is available as a github project as well: https://github.com/orangehill/Laravel-Workbench-Walkthrough
San Francisco PHP Meetup Presentation on Zend Frameworkzend
The document discusses the Zend Framework 1.5 release and its latest features. It provides an overview of Zend Framework, highlighting its advantages and facts about usage. It also summarizes new features in 1.5 like improvements to Zend_Form, Zend_Layout, and authentication methods. The document concludes by discussing the future of Zend Framework and how users can get more information.
The document provides an overview of Zend Server 5 for IBM i. It discusses Zend's relationship with IBM, the technical overview of Zend Server, the installation process, features of the community edition including the toolkit and optimizer, and features of the commercial edition such as application monitoring, code tracing, and job queue capabilities. The document is intended for an audience that uses PHP somewhere else, is new to Zend PHP, or wants to understand Zend's strategic direction with IBM i.
Application development using Zend FrameworkMahmud Ahsan
Zend Framework provides rich and flexible MVC components built using PHP 5's object-oriented features. It includes over 150,000 lines of code across components for caching, configuration, controllers, views, forms, validation, and more. Major companies like IBM, Microsoft, and Fox Interactive Media use Zend Framework for web development.
This document provides an overview of getting started with PHP on IBM i. It discusses understanding the PHP universe and stack, installing Zend Server and Zend Studio, and getting productive with PHP on IBM i through sample scripts. The key steps are installing Zend Server, configuring it, installing Zend Studio, connecting to databases and files on IBM i, and writing simple PHP scripts to output "Hello World" and retrieve data from a database.
CodeIgniter is one of the popular
powerful PHP Framework that provides
cost effective solutions, Satisnet is one of
the pioneering web and mobile
application development companies ,
We provide error-free and appropriate
implementation of Codelgniter in the
web application
This session will showcase two speakers: HarrisData’s Lane Nelson. Lane will discuss why HarrisData chose PHP and present examples of where they are leveraging PHP
The document discusses the Zend Framework, an open-source PHP framework. It provides the following key points:
1. The Zend Framework provides a high-quality PHP framework for developing web applications and web services, following principles of extreme simplicity and best practices.
2. It is developed by the PHP community led by Zend and is open-source under a BSD license.
3. Major companies like IBM and Google use the Zend Framework for various projects.
MWLUG 2017: Workshop "IBM Domino Application Transformation" by panagendapanagenda
Our workshop at MWLUG 2017 aimed to teach a cohesive way to get started with application landscape transformation! Participants were able to take advantage of the momentum IBM and panagenda have started through their collaboration on ApplicationInsights.
From RPG OA to Node.js: Approaches to Application Modernization - Greg PattersonFresche Solutions
From RPG OA to Node.js: Approaches to Application Modernization, a presentation by Greg Patterson, IBM i modernization specialist at Fresche at iBelieve Dallas, November 3, 2016.
Presentation covers:
• Brief History of Modernization Brief History of Modernization
• 5250 Refacing Refacing Refacing
• RPG OA
• PHP
• Node.js
• Mobile
BP209 doctors have scalpels, carpenters have hammers, ibm sametime develope...Carl Tyler
Often the hidden power of a platform lies in its Software Development Kits (SDKs) and IBM Sametime is no exception. IBM Sametime has one of the richest SDKs of any UC platform, and knowing about its capabilities can allow companies to understand further how they can fully exploit all of the capabilities Sametime offers. Come to this session to learn about the different SDK components and to see examples of how customers are using the SDK to integrate Sametime into their Communication Enabled Business Processes (CEBP)
The document discusses Zend Enterprise PHP on Windows. It provides an overview of PHP and its growth, Microsoft and Zend's strategic partnership to improve PHP performance on Windows, and a demo of building a high-performance PHP stack using Windows IIS and Zend Server. Key features of Zend Server like page caching, data caching, monitoring, and integration with development tools are also highlighted.
High performance PHP: Scaling and getting the most out of your infrastructuremkherlakian
This document discusses various techniques for optimizing PHP application performance, including network optimization using load balancers, database scaling using replication and caching, application optimization using profiling and caching, and server optimization using clustering. It recommends using tools like Xdebug and Zend Server's code tracing and profiling to identify bottlenecks and optimize applications. The overall message is that a holistic approach considering the network, databases, applications and servers is needed to achieve high performance PHP applications.
This document provides instructions for setting up a development environment for creating Zend framework projects. It outlines the requirements including Apache, PHP 5.2+, and a database server. It describes downloading the Zend framework library and setting up an IDE like NetBeans. It provides steps for installing Zend, creating a demo project, and basic commands. It also covers configuring NetBeans for PHP and Zend development, creating a project, and debugging with Xdebug.
The Zend Framework is a PHP web application framework that provides modular code libraries and follows an MVC design pattern. It aims to help developers focus on functionality rather than code by standardizing PHP and providing pre-built components. Major companies like IBM and media sites like IGN use the Zend Framework. The document discusses how to get started with Zend, compares its date and mail handling to native PHP, and introduces the Zend IDE.
The document introduces the i7 Framework, an open source PHP application framework for developing web applications on IBM i (formerly AS/400) systems. The i7 Framework was created by Ibuildings to provide a full-featured MVC framework that simplifies application development and allows developers to focus on business logic with only small amounts of code. Key features of i7 include database abstraction, internationalization support, AJAX capabilities, and reuse of existing IBM i resources and APIs. Ibuildings offers support and services for the i7 Framework.
The document discusses web application development and provides an overview of key concepts including:
- Client-side engineering focuses on browsers and front-end development while server-side engineering deals with backend servers.
- Web application architecture typically involves a client-server model with layers for the presentation, application processing, and data management tiers.
- Common web technologies discussed include PHP, frameworks like Zend and CakePHP, and caching with Zend_Cache to improve performance.
The document discusses application deployment on IBM i environments. It covers the architecture of IBM i environments including using separate logical partitions (LPARs) for development, testing, and production. It also discusses change management options and how to package up applications for deployment. The presentation encourages separating environments for security and stability. It also promotes working with resellers, consultants, or IBM to properly configure environments rather than trying to do it alone.
Webfest 2011 PHP on Windows by Rama YurindraSpiffy
This document discusses PHP on Windows and the strategic partnership between Microsoft and Zend to improve PHP performance on Windows. It provides an overview of PHP's growth and adoption over time. The partnership aims to make PHP a first-class citizen on Windows by enhancing its performance, reliability, and integration with Windows applications and services. The document demonstrates installing Zend Server on Windows to build a high-performance PHP stack with Windows IIS.
Get Connected – Using Open Source Technologies on FacebookBinesh Gummadi
This document summarizes a presentation given by Deb Woods and Binesh Gummadi at Red Hat Summit 2009 about using open source technologies at Facebook. It discusses Ingres' mission and products, how open standards and open source can reduce costs and increase flexibility. It also outlines how the Wedding Planning application for Facebook was developed using JBoss, Ingres, Alfresco, and other open source technologies to provide benefits like reduced costs, performance, and time to market. The presentation covers architecture details and APIs for technologies like JBoss Seam, Facebook, Alfresco, and Crafter.
Solit 2012, Salesforce.com: 10 причин стать "облачным" программистом, Бондаре...solit
The document lists 11 reasons to be a cloud developer including that cloud development provides a free development environment that only requires a web browser, vibrant developer communities exist online, and cloud platforms offer detailed documentation and courses for learning. Additional reasons highlighted are the ability to develop without writing code using declarative frameworks, the availability of programming languages like Apex and tools for unit testing, and the ease of deployment across platforms including mobile.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-und-verwaltung-von-multiuser-umgebungen/
HCL Nomad Web wird als die nächste Generation des HCL Notes-Clients gefeiert und bietet zahlreiche Vorteile, wie die Beseitigung des Bedarfs an Paketierung, Verteilung und Installation. Nomad Web-Client-Updates werden “automatisch” im Hintergrund installiert, was den administrativen Aufwand im Vergleich zu traditionellen HCL Notes-Clients erheblich reduziert. Allerdings stellt die Fehlerbehebung in Nomad Web im Vergleich zum Notes-Client einzigartige Herausforderungen dar.
Begleiten Sie Christoph und Marc, während sie demonstrieren, wie der Fehlerbehebungsprozess in HCL Nomad Web vereinfacht werden kann, um eine reibungslose und effiziente Benutzererfahrung zu gewährleisten.
In diesem Webinar werden wir effektive Strategien zur Diagnose und Lösung häufiger Probleme in HCL Nomad Web untersuchen, einschließlich
- Zugriff auf die Konsole
- Auffinden und Interpretieren von Protokolldateien
- Zugriff auf den Datenordner im Cache des Browsers (unter Verwendung von OPFS)
- Verständnis der Unterschiede zwischen Einzel- und Mehrbenutzerszenarien
- Nutzung der Client Clocking-Funktion
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungenpanagenda
Web services on IBM i with PHP and Zend Framework
1. Web Services on IBM i with
PHP and Zend Framework
Alan Seiden Consulting
alanseiden.com
2. My focus
Advancing PHP on IBM i
• PHP project leader, Zend/IBM Toolkit
• Contributor, Zend Framework DB2/i enhancements
• Developer, Best Web Solution, IBM/Common
• Authority, web performance on IBM i/iSeries
Alan Seiden Consulting 2 Web services on IBM i with PHP and Zend Framework
3. Contact information
Alan Seiden
[email protected]
201-447-2437
alanseiden.com
twitter: @alanseiden
Alan Seiden Consulting 3 Web services on IBM i with PHP and Zend Framework
4. Where to download these slides
From my site
http://alanseiden.com/presentations
On SlideShare
http://slideshare.net/aseiden
The latest version will be available on both sites
Alan Seiden Consulting 4 Web services on IBM i with PHP and Zend Framework
5. What we’ll discuss
• How web services can help you
• Quick overview on Zend Framework
(ZF makes services easier)
• Web services case study with PHP on IBM i
Focus on the CLIENT side with SOAP
• Tips and techniques
• Questions
Alan Seiden Consulting 5 Web services on IBM i with PHP and Zend Framework
6. PHP on IBM i
Alan Seiden Consulting 6 Web services on IBM i with PHP and Zend Framework
7. Zend Server for IBM i
• Current PHP stack for IBM i
• Two license levels
Zend Server for IBM i Community Edition (CE)
• Available at no charge per IBM partnership
• Includes “Optimizer+” that speeds up code
• One year silver (email) support
Zend Server for IBM i, a.k.a. Professional Edition (PE)
• Subscription-based license
• High value extra features, higher Support SLAs
• Details of differences:
http://mikepavlak.blogspot.com/2010/08/i-want-to-do-php-on-
ibm-i-so-what-do-i.html
Alan Seiden Consulting 7 Web services on IBM i with PHP and Zend Framework
8. Installation
• http://www.zend.com/products/server/downloads
Click on the “IBM i” tab
Get version 5.6.0 or higher
• Prerequisites
v5r4 or higher and:
• http://files.zend.com/help/Zend-Server-IBMi/i5_installing_zend_server.htm
• IBM’s FastCGI PTF (free)
• Try Zend Studio’s IDE (no charge, courtesy of IBM)
“Zend Studio for Eclipse, IBM i Edition”
http://zend.com/en/products/studio/downloads
Look for “IBM i Edition”
Alan Seiden Consulting 8 Web services on IBM i with PHP and Zend Framework
9. Cheat sheet for upgrade
http://alanseiden.com/2010/04/21/differences-
between-zend-core-and-zend-server-on-ibm-i/
Alan Seiden Consulting 9 Web services on IBM i with PHP and Zend Framework
11. Zend Framework
• A free, open source, cross-platform
collection of components written in PHP
Simplifies over 70 common needs, including:
• Web form creation
• Database access
• Web services
• Multi-language (English, French, Spanish…)
• Included with Zend Server for IBM i and at http://
framework.zend.com
Alan Seiden Consulting 11 Web services on IBM i with PHP and Zend Framework
12. More than components
• Optionally, a starting point for your
applications, providing modular
design
• It provides standards and
functionality but does not limit you
• “Use at will” philosophy
Alan Seiden Consulting 12 Web services on IBM i with PHP and Zend Framework
13. More benefits of ZF
• Safe license for corporate use
Use ZF’s code however you like
http://framework.zend.com/license
• High quality, unit tested
• It keeps up with trends and APIs
Databases, authentication standards
(Windows AD) and APIs (Twitter)
Alan Seiden Consulting 13 Web services on IBM i with PHP and Zend Framework
14. Zend Framework Community
• Contributors include individuals and companies.
Companies include:
Zend (of course)
IBM
OmniTI
• Technology partners:
Adobe, Google, IBM, Microsoft, nirvanix, StrikeIron
• Individuals:
Me! Improvements for IBM i developers
Alan Seiden Consulting 14 Web services on IBM i with PHP and Zend Framework
16. Web services help computers talk
• No middleware needed
• HTTP transport is used
Firewall-friendly
Many tools available to analyze
• Popular and well documented
Alan Seiden Consulting 16 Web services on IBM i with PHP and Zend Framework
17. Web Services are mainstream, growing
• Once you understand web services,
they start solving problems for you
• Examples:
Vendors or suppliers may require them
Teams in your organization can cooperate and share data or
application functionality
Alan Seiden Consulting 17 Web services on IBM i with PHP and Zend Framework
18. Your IBM i can be a server or client
• As server:
Selectively make your resources available to the
outside
Define the service you want to offer and who is
allowed to “consume” it.
• As client: “consume” services provided by
others
But IBM i is a server! It can be a client too?
Alan Seiden Consulting 18 Web services on IBM i with PHP and Zend Framework
19. Your server can be a client!
• Analogy: Your browser is a web client
It makes a request to a web server
It receives a response
It interprets the response and shows you the result
• Web services do the same thing
But your IBM i is the web client
It makes a request to a web server
It receives a response
It interprets the reponse and returns the results to
your PHP application
Alan Seiden Consulting 19 Web services on IBM i with PHP and Zend Framework
20. Three situations that call for web services
1. You need access to public web services
Document conversions, search results from the web, databases,
geolocators, stock quotes
2. Your organization’s departments need to work
together, yet not have to compromise on their
favorite technology
3. Your customers, vendors, or service providers offer
their web services, or require you to create a web
service for them to use
Alan Seiden Consulting 20 Web services on IBM i with PHP and Zend Framework
21. Sharing within one
organization
Alan Seiden Consulting 21 Web services on IBM i with PHP and Zend Framework
22. Web services for sharing within an org
• I helped Waitsfield Valley Telecom in Vermont set up a server & client
Their IBM i and Linux servers both run PHP
IBM i is for internal users, Linux for external
IBM i uses db2, Linux uses MySql
Different teams, wishing to keep doing what they do well
But the systems need to share data and functionality
• Till now they’ve been copying files to synchonize. Messy and not
timely
• They want real-time data sharing, and the ability to trigger actions on
the other server, without mucking in the other’s database
• Web services to the rescue!
• One phone call was sufficient to set up server/client with a few
functions to expose needed data, using Zend Framework’s SOAP
classes
Alan Seiden Consulting 22 Web services on IBM i with PHP and Zend Framework
23. Public web
services
Alan Seiden Consulting 23 Web services on IBM i with PHP and Zend Framework
24. Many PUBLIC web services are available
• Some require a subscription
• Others are free
• Most need registration of some kind
• Let’s take a look at a few
Zend Framework has built-in support
Alan Seiden Consulting 24 Web services on IBM i with PHP and Zend Framework
25. Zend Framework supports these services
You are not limited to these, but ZF has BUILT-IN support to make these especially
easy to use. Some are SOAP-based, some are REST-based.
http://framework.zend.com/manual/en/zend.service.htm
• Zend_Service_Akismet
• Zend_Service_Amazon, Ec2, and S3
• Zend_Service_Flickr
• Zend_Service_LiveDocx
• Zend_Service_Nirvanix
• Zend_Service_ReCaptcha
• Zend_Service_ShortUrl
• Zend_Service_Simpy
• Zend_Service_SlideShare
• Zend_Service_StrikeIron
• Zend_Service_Technorati
• Zend_Service_Twitter
• Zend_Service_WindowsAzure
• Zend_Service_Yahoo
Alan Seiden Consulting 25 Web services on IBM i with PHP and Zend Framework
26. Zend_Service_Yahoo
Search the web with Yahoo
Get your application ID from http://developer.yahoo.com/
wsregapp/
Class uses Zend_Rest_Client under the covers
Sample search: IBM PHP
$yahoo = new Zend_Service_Yahoo("YAHOO_APPLICATION_ID");
$results = $yahoo->webSearch('IBM PHP',
array('results' => ‘10',
'start' => 1));
foreach ($results as $result) {
echo '<b>' . $result->Title . '</b> ' . $result->Url .
'<br />';
}
Alan Seiden Consulting 26 Web services on IBM i with PHP and Zend Framework
27. Results from $yahoo->webSearch
Search: IBM PHP (these results are from early 2009)
Alan Seiden Consulting 27 Web services on IBM i with PHP and Zend Framework
28. Now try Yahoo local search
require_once('Zend/Service/Yahoo.php');
// type of business and zip code are the GET parameters
$bizType = $_GET['type'];
$zip = $_GET['zip'];
// Anaheim zip near conference = 92802
// The few lines below do all the work
$yahoo = new Zend_Service_Yahoo(‘YAHOO_APPLICATION_ID’);
$results = $yahoo->localSearch($bizType, array('zip' => $zip));
foreach ($results as $result) {
echo $result->Title .'<br />';
}
Alan Seiden Consulting 28 Web services on IBM i with PHP and Zend Framework
29. Results from $yahoo->localSearch
URL: http://myIBMi.com/yahoolocal.php?type=pizza&zip=92802
Starbucks
Deli-Icious Cafe
Coco's Bakery Restaurant
McCormick & Schmick's Seafood - Anaheim
California Pizza Kitchen
Starbucks
Starbucks
J W's Steakhouse
Starbucks Coffee
Starbucks
Alan Seiden Consulting 29 Web services on IBM i with PHP and Zend Framework
30. LiveDocx service
LiveDocx is a SOAP service that allows developers to generate word
processing documents by combining structured data from PHP
with a template, created in a word processor. The resulting
document can be saved as a PDF, DOCX, DOC, HTML or RTF file.
LiveDocx implements mail merge in PHP.
$phpLiveDocx = new
Zend_Service_LiveDocx_MailMerge();
$phpLiveDocx-
>setLocalTemplate('template.docx');
$phpLiveDocx->assign('software', 'Magic
Graphical Compression Suite v1.9')
->assign('licensee', 'Henry
Döner-Meyer')
->assign('company', 'Co-
Operation');
$phpLiveDocx->createDocument();
$document = $phpLiveDocx-
>retrieveDocument('pdf');
file_put_contents('document.pdf',
$document);
Alan Seiden Consulting 30 Web services on IBM i with PHP and Zend Framework
31. Case study
problem and
solution
Alan Seiden Consulting 31 Web services on IBM i with PHP and Zend Framework
32. The Challenge
• Allied Beverage Group, NJ’s largest wine and spirits
wholesaler, needed an online delivery tracker
• Their customers ask: “Where is my wine?”
• Real-time delivery data was available in a UPS RoadNet
system on a Windows server
• How to get that data and bring it into the IBM i-based
website built with PHP and Zend Framework?
Alan Seiden Consulting 32 Web services on IBM i with PHP and Zend Framework
33. How it was done before
• A previous attempt by an earlier consultant accessed the
RoadNet server’s Oracle database directly (it was a .NET
site)
• This worked fine until UPS upgraded their software and
database structures changed
• “BOOM”
• I didn’t want that to happen to us
Alan Seiden Consulting 33 Web services on IBM i with PHP and Zend Framework
34. RoadNet defined a Web Services API
• Vendors support their APIs (unlike database structures)
UPS can upgrade database and their API will still work
They will answer questions and support their product
• IBM i can “consume” RoadNet’s service
We are the web services “client”
We make function calls and receive data from the service
• APIs can do some of the work
Example: RoadNet calculated time zones on dates/times
Alan Seiden Consulting 34 Web services on IBM i with PHP and Zend Framework
35. What the final page looks like on “i”
(pardon the blurring):
Alan Seiden Consulting 35 Web services on IBM i with PHP and Zend Framework
36. Now for more details…
• REST vs. SOAP
• How it’s done
• What’s WSDL?????
• Tips and more
Alan Seiden Consulting 36 Web services on IBM i with PHP and Zend Framework
38. Two main philosophies of web services
• REST: Representational State Transfer
More of an architecture or philosophy than a protocol
URL-based, could make requests from browser address bar
CRUD-oriented with GET/POST/PUT/DELETE
Not limited to XML. JSON or other formats OK
Various implementations, including Zend Framework’s
Zend_Rest_Server and _Client
• SOAP: (Not an acronym any more…see next slides)
Popular Web Services protocol, been around a long time
Uses XML to send and receive
Specific implementation, rules, strict data types
Not ‘hip’ anymore but is well documented and solid
• We will be focusing on SOAP today for our case study
Alan Seiden Consulting 38 Web services on IBM i with PHP and Zend Framework
40. SOAP is no longer an acronym
• Used to be:
“Simple Object Access Protocol”
• Now it’s just SOAP
Alan Seiden Consulting 40 Web services on IBM i with PHP and Zend Framework
41. SOAP is language-independent
• PHP-.NET
• PHP-PHP
• .NET-PHP
• RPG-LISP (someone here probably
knows how to do that)
• more
Alan Seiden Consulting 41 Web services on IBM i with PHP and Zend Framework
42. It’s like being there
• Use functions/methods as if the server
were local
• Leverage your existing PHP skills
• Example from RoadNet:
retrieveLocationsByCriteria()
Alan Seiden Consulting 42 Web services on IBM i with PHP and Zend Framework
43. WSDL defines it
Alan Seiden Consulting 43 Web services on IBM i with PHP and Zend Framework
44. WSDL defines the transactions and data
• Web Services Description Language
Defined at http://www.w3.org/TR/wsdl
• WSDL is fairly readable once you get the
hang of it
• Even if the service provider does not give
you a manual, WSDL tells the story
Alan Seiden Consulting 44 Web services on IBM i with PHP and Zend Framework
45. Web service provider will give you the
WSDL
• If not, you’ll have to define all the
classes and data types manually
• Ask nicely for WSDL
WSDL makes your life easy
Alan Seiden Consulting 45 Web services on IBM i with PHP and Zend Framework
46. WSDL defines the server to access
<service name="TransportationWebService">
<documentation>UPS Logistics Technologies
Transportation Web Service</documentation>
<port name="TransportationWebService"
binding="tns:TransportationWebService">
<SOAP:address location="http://192.168.99.223:82"/
>
</port>
</service>
Alan Seiden Consulting 46 Web services on IBM i with PHP and Zend Framework
47. More from the WSDL file
<!-- “function/method” definition -->
<element name="RetrieveLocationsByCriteria">
<complexType>
<sequence>
<element name="criteria“
type="ns1:LocationCriteria" minOccurs="0“
maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
</element>
Alan Seiden Consulting 47 Web services on IBM i with PHP and Zend Framework
48. More from WSDL: complex type defined
<!-- Complex data type defined of simpler types that
will translate to objects in your PHP -->
<complexType name="LocationCriteria">
<sequence>
<element name="regionID" type="xsd:string"
minOccurs="0" maxOccurs="1"/>
<element name="locationType" type="xsd:string"
minOccurs="0" maxOccurs="1"/>
<element name="locationID" type="xsd:string"
minOccurs="0" maxOccurs="1"/>
<element name="description" type="xsd:string"
minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
Alan Seiden Consulting 48 Web services on IBM i with PHP and Zend Framework
49. SOAP and PHP
Alan Seiden Consulting 49 Web services on IBM i with PHP and Zend Framework
50. PHP has SOAP client extension built in
• http://www.php.net/manual/en/class.soapclient.php
• Excellent tutorial
http://devzone.zend.com/article/689
by Dmitry Stogov, one of the authors of PHP's SOAP extension
• Example use of PHP’s SOAP client:
• <?php
$client = new SoapClient(
"http://services.xmethods.net/soap/urn:xmethods-delayed-
quotes.wsdl");
print($client->getQuote("ibm"));
?>
Alan Seiden Consulting 50 Web services on IBM i with PHP and Zend Framework
51. ZF’s SOAP Client
Alan Seiden Consulting 51 Web services on IBM i with PHP and Zend Framework
52. Zend Framework has a SOAP client class
• It’s called Zend_Soap_Client
http://framework.zend.com/manual/en/zend.soap.client.html
• Wraps around PHP SOAP extension
More foolproof than ordinary PHP SOAP
• Checks that the SOAP extension is loaded
• Validates URLs before passing to SOAP
• Better error/exception handling if incorrect params passed
Caching of WSDL handled directly rather than needing set_ini
• Provides additional functionality
Example: getLastMethod()
Alan Seiden Consulting 52 Web services on IBM i with PHP and Zend Framework
53. Subtle difference when using ZF
• Creating instance of regular PHP SOAP object:
$client = new SoapClient($wsdl);
Connects immediately, interprets WSDL; generates exceptions if
errors found, or if OK, returns SOAP client object
• Creating instance of ZF’s SOAP object:
$client = new Zend_Soap_Client($wsdl);
Does not connect until first remote method/function is executed
To connect and get SOAP client object immediately, add:
$soapClient = $client->getSoapClient();
ZF’s “lazy loading” technique gives developer more control
Alan Seiden Consulting 53 Web services on IBM i with PHP and Zend Framework
54. Other reasons I use ZF’s SOAP client
• It fixes some glitches connecting to .NET
• Easy to customize if you need to
Extend Zend_Soap_Client with logging, performance metrics, or
pre- and post-processing for unique situations
Method definitions provided for you:
• _preProcessArguments($arguments)
• _preProcessResult($result)
• I use ZF for everything anyway!
Alan Seiden Consulting 54 Web services on IBM i with PHP and Zend Framework
55. How to use ZF
SOAP Client
Alan Seiden Consulting 55 Web services on IBM i with PHP and Zend Framework
56. Include/Require the class
• This “include/require” is not needed if you use ZF
and its Auto-Loader
• Do it if you use Zend_Soap_Client from a regular
PHP script
require 'Zend/Soap/Client.php';
Alan Seiden Consulting 56 Web services on IBM i with PHP and Zend Framework
57. Connect with WSDL
$wsdl = ‘/mypath/FileTheyGaveYou.wsdl’;
$soapClient = new Zend_Soap_Client($wsdl);
Then use your methods to retrieve data
$locCrit = new stdClass(); // generic class in PHP
$locCrit->criteria->regionID = $region;
$locCrit->criteria->locationID = $locationId;
$locCrit->criteria->locationType = 'SIT'; // site
// try it with our first choice of location id.
$locations = $soapClient->RetrieveLocationsByCriteria($locCrit);
// Now, $locations is an object containing a list of matching
locations. Use foreach() to loop through
Alan Seiden Consulting 57 Web services on IBM i with PHP and Zend Framework
58. Tricks and Traps
Alan Seiden Consulting 58 Web services on IBM i with PHP and Zend Framework
59. WSDL is cached locally by default
• Caching improves performance but can be confusing
• “I changed the WSDL file but I’m getting the same results”
• Look in the /tmp folder by default
• Configured in PHP.INI (see below)
[soap]
soap.wsdl_cache_enabled = "1"
; enables or disables WSDL caching feature
soap.wsdl_cache_dir = "/tmp"
; sets the directory name where SOAP extension will cache files
; SUGGESTION: use "/tmp/wsdlcache“ so you can find it
soap.wsdl_cache_ttl = "86400"
; (time to live) sets the number of seconds while cached file will be used
instead of original one
---------------------------------------------------------------------------
<?php
// or handle in PHP: disable caching while testing different WSDL variations
ini_set('soap.wsdl_cache_enabled', '0'); // disable WSDL cache while in dev
?>
Alan Seiden Consulting 59 Web services on IBM i with PHP and Zend Framework
60. The “optional” parameter that wasn’t
• I thought I was following the spec
• But there was an “optional” parameter that I needed
to specify
• It caused an error on the server
• Chain reaction:
Service crashed and restarted
But there wasn’t enough virtual memory on the Windows server
to restart
• The UPS support team researched this, admitted a
bug, and suggested I add the optional param
Alan Seiden Consulting 60 Web services on IBM i with PHP and Zend Framework
62. Quick notes on SOAP Server with ZF
• This presentation is mostly about the client
side but I wanted to encourage you to try the
server part, too.
Alan Seiden Consulting 62 Web services on IBM i with PHP and Zend Framework
63. AutoDiscover generates WSDL for you
• It’s free and included in Zend Framework
Class name: Zend_Soap_AutoDiscover
http://framework.zend.com/manual/en/zend.soap.autodiscovery.html
function function1() {
}
….
require_once(‘Zend/Soap/AutoDiscover.php’);
$autodiscover = new Zend_Soap_AutoDiscover();
$autodiscover->setUri('http://myIBMi.com/url-of-service');
$autodiscover->addFunction('function1');
$autodiscover->addFunction('function2');
$autodiscover->addFunction('function3');
$autodiscover->handle(); // outputs WSDL
// Note: Use “PHPDoc” comments on your PHP functions so that
autodiscover can map your input params and return types into the
WSDL (see documentation link above for examples)
Alan Seiden Consulting 63 Web services on IBM i with PHP and Zend Framework
64. Serving the SOAP service is similar
• http://framework.zend.com/manual/en/zend.soap.server.html
require_once(‘Zend/Soap/Server’);
// $wsdlLocation can be a local file or remote URL
$server = new Zend_Soap_Server($wsdlLocation, $options);
$server->addFunction('function1');
$server->addFunction('function2');
$server->addFunction('function3');
$server->handle(); // outputs the SOAP response
Alan Seiden Consulting 64 Web services on IBM i with PHP and Zend Framework
66. Generic client makes testing painless
• “STORM”: a free, generic SOAP Client
• http://storm.codeplex.com
• Uses:
Check validity of WSDL
Test server output
Verify your client’s results
View raw XML if desired
Runs on Windows only
• Some prefer soapUI
http://www.soapui.org/
Cross-platform
(OK on Mac)
Alan Seiden Consulting 66 Web services on IBM i with PHP and Zend Framework
67. Or get raw XML via your PHP code
• If you get unexpected results but can’t duplicate
them with a generic tool such as STORM, you can
collect and log the XML from within your application
• Four functions/methods give you the XML
$client->getLastRequestHeaders()
$client->getLastRequest()
$client->getLastResponseHeaders()
$client->getLastResponse()
Alan Seiden Consulting 67 Web services on IBM i with PHP and Zend Framework
68. Useful tools are Firefox + Firebug +
FirePHP
• Free tools
• Firebug (http://getfirebug.com) lets you analyze web
pages in Firefox
• FirePHP (http://firephp.org) plugs into Firebug.
Lets you see server-side data, for testing purposes, that you
provide to it in your PHP code.
Alan Seiden Consulting 68 Web services on IBM i with PHP and Zend Framework
69. Logging XML with Firebug/FirePHP
Alan Seiden Consulting 69 Web services on IBM i with PHP and Zend Framework
70. You won’t normally need to examine XML
• But good to know you can
• Try it once as a learning experience
Seeing the XML demystifies the process of SOAP
Alan Seiden Consulting 70 Web services on IBM i with PHP and Zend Framework
71. Demo or recording
Alan Seiden Consulting 71 Web services on IBM i with PHP and Zend Framework
72. Now it’s your turn
Alan Seiden Consulting 72 Web services on IBM i with PHP and Zend Framework
73. Questions? How will you use web
services?
• Need to share data or functionality
between two systems on different
servers?
• Want your teams to work together?
• Or access remote content?
• This could be a job for web services!
Alan Seiden Consulting 73 Web services on IBM i with PHP and Zend Framework
74. Contact
Alan Seiden
Alan Seiden Consulting
Ho-Ho-Kus, NJ
alanseiden.com
[email protected] ● 201-447-2437 ● twitter: @alanseiden
Alan Seiden Consulting 74 Web services on IBM i with PHP and Zend Framework