SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
PHP in the Enterprise – connecting to SAP
17.10.2006 | SDN Day TechEd 06 | Björn Schotte
Björn Schotte - „PHP Pioneer“

❙ 1998/1999: PHP-Center.de

❙ 2000: world‘s first PHP Conference

❙ 2001: editor-in-chief PHP Magazin

❙ 2001: International PHP Conference

❙ 2001: co-founder of ThinkPHP

❙ 2004: refounding Mayflower GmbH




                                       „PHP and SAP“
                                       © MAYFLOWER GmbH 2006 2
ThinkPHP – The LAMP Experts
❙ high-level software development since 2001
❙ PHP trainings for more than 300 people from Top50
  companies
❙ PHP Support
   ❙ Enterprise PHP Support
   ❙ Guaranteed reaction times up to 2 hours
   ❙ Basic, Professional, Gold – 24/7 available on request
❙ Fostering the PHP community and PHP itself in Germany
❙ „ThinkPHP by Mayflower“ – a division of Mayflower GmbH


❙ See http://www.mayflower.biz/


                                                             „PHP and SAP“
                                                             © MAYFLOWER GmbH 2006 3
Mayflower GmbH

❙ ~ 35 employees              ❙ 4 managing partners
                                (founders of ThinkPHP)
❙ „ThinkPHP – by Mayflower“   ❙ well-known in the PHP
                                community
❙ Customers include:
                              ❙ Know How is more than PHP-
   ❙ Siemens COM
                                only (High Performance web
   ❙ Vaillant Group
                                architecture, .NET, …)
   ❙ Telefónica Germany
   ❙ O2 Germany               ❙ Big projects in the range of
   ❙ Government of Munich       man-years with PHP (HVB,
   ❙ HypoVereinsbank            Vaillant, Sixt, Telefónica)
   ❙ Sixt AG                  ❙ OpenSource Software vendor
   ❙ Bundeskriminalamt          (i.e. PHProjekt, Outlook Sync,
   ❙ Plus (Discounter)          …)
   ❙ sourceforge.net



                                                                 „PHP and SAP“
                                                                 © MAYFLOWER GmbH 2006 4
PHP – a scripting language and its history

❙ „PHP: Hypertext Preprocessor“
❙ 1994/1995 first version by Rasmus Lerdorf (PHP/FI)
❙ two Israelis, Zeev Suraski and Andi Gutmans, mainly
  supported writing a new engine, ZendEngine. Foundation
  of PHP3
❙ PHP4 in 2000
❙ PHP5 in 2004
❙ PHP6 heading up
❙ more than 1,000 contributors to PHP and its
  subprojects



                                                           „PHP and SAP“
                                                           © MAYFLOWER GmbH 2006 5
PHP adoption

❙ PHP is found on 34,30% of public websites worldwide
  (source: nexen.net PHP adoption statistics)
❙ PHP is the most used technology on the internet
❙ about 4,5 million PHP developers worldwide




                                                        „PHP and SAP“
                                                        © MAYFLOWER GmbH 2006 6
The LAMP Stack

❙   Linux
❙   Apache (or: lighttpd)
❙   MySQL (Oracle, DB2, …)
❙   PHP

❙ … the star of the web
❙ … OpenSource, licensing & infrastructure for free
❙ … small and fast




                                                      „PHP and SAP“
                                                      © MAYFLOWER GmbH 2006 7
Why is PHP so popular? (I)

❙ easy to learn
❙ easy to install, mostly preinstalled on many distros, shared
  hosts etc.
❙ packages like XAMPP give you
  Webserver+Database+Scripting language in an instant
❙ get results from the first second (no complicated OO
  candy to achieve results)
❙ write your PHP code inside HTML
   ❙ advanced developers will use templates




                                                                 „PHP and SAP“
                                                                 © MAYFLOWER GmbH 2006 8
Why is PHP so popular? (II)

❙ good for projects with rapid requirements changes
❙ also good for large projects and high performance web
  applications (Yahoo, billions of PVs per day with PHP)
❙ often architecture of application will change throughout
  the whole project

❙ „solve the web problem quickly“




                                                             „PHP and SAP“
                                                             © MAYFLOWER GmbH 2006 9
PHP - the glue language

❙ more than 100 extensions are available (PHP = Borg)
❙ many 3rd party libraries are supported by a extension

❙ many integration extensions/APIs
   ❙ RPC (XML-RPCi, SOAP, WDDX, …)
   ❙ SAPRFC
   ❙ Corba
   ❙ COM/DCOM            // parse a RSS file

   ❙ XML, SimpleXML      $s = simplexml_load_file('rss-0.91.xml');
                         foreach ($s->item as $item) {

   ❙ Cobol
                             print $item->title . "n";
                         }

   ❙ …

❙ every library on every OS is a potential PHP extension
  (OpenOffice UNO, anyone?)
                                                                     „PHP and SAP“
                                                                     © MAYFLOWER GmbH 2006 10
Suited for „Enterprise“?

❙ mission critical web applications (Basel II rating
  applications for HypoVereinsbank, booking systems for
  Lufthansa)
❙ supported every major database for years
❙ broad XML/WebService support
❙ Java connectivity (http://php-java-bridge.sourceforge.net/)
❙ highly scalable (shared nothing architecture)
   ❙ use www.lighttpd.net instead of Apache to speed things
     up
❙ possibility for short time-to-market through RAD



                                                                „PHP and SAP“
                                                                © MAYFLOWER GmbH 2006 11
Broad industry support

❙ Oracle – supporting ext/oci8
❙ IBM
   ❙ supporting DB2 extension
   ❙ porting SDO (Service Data Objects) to PHP
   ❙ enhancing SOAP extension (for Websphere comp.)
   ❙ evangelising PHP in the Enterprise
❙ Filemaker, Adobe, …
   ❙ providing SDKs/APIs for their products to PHP
❙ SAP
   ❙ … we will see ☺


                                                      „PHP and SAP“
                                                      © MAYFLOWER GmbH 2006 12
Saving money with PHP/LAMP

❙ „more functionality per Dollar“
   ❙ agile methodology (thanks to Scrum, XP)
   ❙ fast results
   ❙ first prototype is available in days instead of weeks or
     month



❙ short, iterative development cycles
    ❙ can adopt extremely fast to changing markets
    ❙ short time-to-market
    ❙ aligned at the customer and his business processes




                                                                „PHP and SAP“
                                                                © MAYFLOWER GmbH 2006 13
Rapid prototyping – coming from hell?




                                        „PHP and SAP“
                                        © MAYFLOWER GmbH 2006 14
Rapid Prototyping gives you …

❙ results in days instead of weeks and months
❙ continouus development alongside the prototype
❙ customer can give feedback, application can be changed
 directly according to his feedback
❙ works at every time during the development
❙ PHP enables you to do quick changes in complex
 environments




                                                           „PHP and SAP“
                                                           © MAYFLOWER GmbH 2006 15
PHP connecting to SAP (I)

❙ ext/saprfc
   ❙ direct calling RFCs
   ❙ not so stable
   ❙ hopefully will change in the future

❙ using SOAP through ext/soap, connecting to Netweaver XI

❙ Prefer PHP5, not PHP4 based packages (userland
  implementations not very good in supporting other client
  languages, PHP5 ext/soap is the future)

❙ Netweaver XI delivers appropriate WSDL files
  (unfortunately, one per command)


                                                             „PHP and SAP“
                                                             © MAYFLOWER GmbH 2006 16
PHP connecting to SAP (II)

❙ BAPI mapping to WSDL on Netweaver/XI side
❙ connecting to it by using the standard commands from
  ext/soap


$this->gettasks = CATS_WSDL_PATH . 'GetTasks.wsdl';
$this->client = new SOAPClient($this->gettasks,array('trace' => 1, 'exceptions' => 1,
                 'login' => ‚foo', 'password' => ‚bar'));

$caller_array = array(
    'DATE' => date('Y-m-d'),   GetTasks.wsdl was
    'PERNR' => $pernr,         delivered by Netweaver/XI and
    'PROJID' => $projectid     saved locally.
);

try {
    $tasks = $this->client->GetTasks($caller_array);
} catch (SoapFault $f) {
    return array(false, $f);
}

...

                                                                         „PHP and SAP“
                                                                        © MAYFLOWER GmbH 2006 17
Case Study: Vaillant Group

❙ Vaillant Group offers tailored solutions for domestic
  comfort
❙ Turnover (2005): 1,791 billion Euro
❙ Total sales: >2,7 million heating appliances
❙ Employees: 8,616




                                                          „PHP and SAP“
                                                          © MAYFLOWER GmbH 2006 18
CS: SAP integration projects with PHP




❙ vrnetDIALOG: direct billing for specific functions
❙ Group Intranet: Web2.0-style application for connecting to
  CATS/PS for 300 employees from R&D
❙ Spare Parts Shop: direct selling through SAP




                                                               „PHP and SAP“
                                                               © MAYFLOWER GmbH 2006 19
vrnetDIALOG

❙ more than 1,200 PHP classes, >300,000 loc
❙ European self-service platform for customers and service
  organisations
❙ remote parametrisation of heating appliances, intelligent
  systems
❙ SAP connectivity for direct billing of different service
  functions




                                                              „PHP and SAP“
                                                              © MAYFLOWER GmbH 2006 20
vrnetDIALOG – SAP connectivity

   Internet                       Internal net




vrnetDIALOG         SOAP Proxy               SAP/
   (LAMP)             (LAMP)                  XI




                                                    „PHP and SAP“
                                                    © MAYFLOWER GmbH 2006 21
Vaillant Group Intranet: Project Bookings

❙ 300 R&D developers used SAP CATS/PS on their own
❙ no integration into Intranet
❙ not so comfortable UI
❙ searching for a better solution




                                                     „PHP and SAP“
                                                     © MAYFLOWER GmbH 2006 22
Vaillant Group Intranet: Solution

❙ small application inside Intranet system (LAMP based)
❙ with SAP connectivity to Netweaver XI (PHP5 SOAP)
❙ saved also licensing costs
❙ modern Web GUI in „Web 2.0“ style (Drag&Drop, AJAX)
❙ tightly integrated into the Intranet system (with
  authentication against 7 ADs european-wide)


❙ first functional prototype after 2 mandays of work
❙ whole application finished after 2 weeks




                                                          „PHP and SAP“
                                                          © MAYFLOWER GmbH 2006 23
Spare Parts Webshop

❙ LAMP powered solution on the web
❙ creates CD version (more than
  100,000 installations europe-wide)
  by converting MySQL->SQLite and
  using InstallAnywhere to create
  Windows installer package
❙ uses OCR technology
❙ SAP direct selling of spare parts
  (normally only through wholesalers
  in some markets)
❙ check for real-time availability of
  spare parts and buy them


                                        „PHP and SAP“
                                        © MAYFLOWER GmbH 2006 24
Architecture Spare Parts Webshop

     Internet                      Internal net




Spare Part Shop       SOAP Proxy
    (LAMP)              (LAMP)               SAP/XI




                                                      „PHP and SAP“
                                                      © MAYFLOWER GmbH 2006 25
Q&A
      „PHP and SAP“
      © MAYFLOWER GmbH 2006 26
Thank you!

Björn Schotte
Mayflower GmbH
Pleichertorstr. 2
97070 Würzburg
+49 (931) 35 9 65 - 0
schotte@mayflower.de
http://www.mayflower.biz/

Weitere ähnliche Inhalte

Ähnlich wie Connecting PHP to SAP

Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIvo Jansch
 
Two Years with SAP HANA Express
Two Years with SAP HANA ExpressTwo Years with SAP HANA Express
Two Years with SAP HANA ExpressHP Seitz
 
LINFORGE Public Presentation
LINFORGE Public PresentationLINFORGE Public Presentation
LINFORGE Public PresentationAlexandre Huynh
 
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...OpenNebula Project
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)Eric Johnson
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHPEric Johnson
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real WorldIvo Jansch
 
Open Hybrid Cloud - Erik Geensen
Open Hybrid Cloud - Erik GeensenOpen Hybrid Cloud - Erik Geensen
Open Hybrid Cloud - Erik GeensenKangaroot
 
Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Francesco Fullone
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: OverviewTarun Telang
 
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...valcker
 
HP Helion OpenStack step by step
HP Helion OpenStack step by stepHP Helion OpenStack step by step
HP Helion OpenStack step by stepBruno Cornec
 

Ähnlich wie Connecting PHP to SAP (20)

Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
lamp.pptx
lamp.pptxlamp.pptx
lamp.pptx
 
Wc13
Wc13Wc13
Wc13
 
Two Years with SAP HANA Express
Two Years with SAP HANA ExpressTwo Years with SAP HANA Express
Two Years with SAP HANA Express
 
LINFORGE Public Presentation
LINFORGE Public PresentationLINFORGE Public Presentation
LINFORGE Public Presentation
 
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
OpenNebulaConf2017US: Welcome and project update by Ignacio M. Llorente and R...
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Introduction to PHP (SDPHP)
Introduction to PHP   (SDPHP)Introduction to PHP   (SDPHP)
Introduction to PHP (SDPHP)
 
PHP Classes in Pune
PHP Classes in PunePHP Classes in Pune
PHP Classes in Pune
 
Openerp Rise Web
Openerp Rise WebOpenerp Rise Web
Openerp Rise Web
 
Introduction to PHP - SDPHP
Introduction to PHP - SDPHPIntroduction to PHP - SDPHP
Introduction to PHP - SDPHP
 
PHP in the Real World
PHP in the Real WorldPHP in the Real World
PHP in the Real World
 
Php
PhpPhp
Php
 
Open Hybrid Cloud - Erik Geensen
Open Hybrid Cloud - Erik GeensenOpen Hybrid Cloud - Erik Geensen
Open Hybrid Cloud - Erik Geensen
 
Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!Federico Feroldi: PHP in Yahoo!
Federico Feroldi: PHP in Yahoo!
 
Federico Feroldi Php In Yahoo
Federico Feroldi Php In YahooFederico Feroldi Php In Yahoo
Federico Feroldi Php In Yahoo
 
Apache Flex: Overview
Apache Flex: OverviewApache Flex: Overview
Apache Flex: Overview
 
24307183 php
24307183 php24307183 php
24307183 php
 
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...
Building a multilingual & multi-country e-commerce site with Drupal 7 @ NYC C...
 
HP Helion OpenStack step by step
HP Helion OpenStack step by stepHP Helion OpenStack step by step
HP Helion OpenStack step by step
 

Mehr von webhostingguy

Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Frameworkwebhostingguy
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guidewebhostingguy
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3webhostingguy
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serverswebhostingguy
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidationwebhostingguy
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreementwebhostingguy
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...webhostingguy
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...webhostingguy
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructurewebhostingguy
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.pptwebhostingguy
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy webhostingguy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandiserswebhostingguy
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Productswebhostingguy
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mbwebhostingguy
 

Mehr von webhostingguy (20)

File Upload
File UploadFile Upload
File Upload
 
Running and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test FrameworkRunning and Developing Tests with the Apache::Test Framework
Running and Developing Tests with the Apache::Test Framework
 
MySQL and memcached Guide
MySQL and memcached GuideMySQL and memcached Guide
MySQL and memcached Guide
 
Novell® iChain® 2.3
Novell® iChain® 2.3Novell® iChain® 2.3
Novell® iChain® 2.3
 
Load-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web serversLoad-balancing web servers Load-balancing web servers
Load-balancing web servers Load-balancing web servers
 
SQL Server 2008 Consolidation
SQL Server 2008 ConsolidationSQL Server 2008 Consolidation
SQL Server 2008 Consolidation
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
What is mod_perl?
What is mod_perl?What is mod_perl?
What is mod_perl?
 
Master Service Agreement
Master Service AgreementMaster Service Agreement
Master Service Agreement
 
Notes8
Notes8Notes8
Notes8
 
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...PHP and MySQL PHP Written as a set of CGI binaries in C in ...
PHP and MySQL PHP Written as a set of CGI binaries in C in ...
 
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...Dell Reference Architecture Guide Deploying Microsoft® SQL ...
Dell Reference Architecture Guide Deploying Microsoft® SQL ...
 
Managing Diverse IT Infrastructure
Managing Diverse IT InfrastructureManaging Diverse IT Infrastructure
Managing Diverse IT Infrastructure
 
Web design for business.ppt
Web design for business.pptWeb design for business.ppt
Web design for business.ppt
 
IT Power Management Strategy
IT Power Management Strategy IT Power Management Strategy
IT Power Management Strategy
 
Excel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for MerchandisersExcel and SQL Quick Tricks for Merchandisers
Excel and SQL Quick Tricks for Merchandisers
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
Parallels Hosting Products
Parallels Hosting ProductsParallels Hosting Products
Parallels Hosting Products
 
Microsoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 MbMicrosoft PowerPoint presentation 2.175 Mb
Microsoft PowerPoint presentation 2.175 Mb
 
Reseller's Guide
Reseller's GuideReseller's Guide
Reseller's Guide
 

Connecting PHP to SAP

  • 1. PHP in the Enterprise – connecting to SAP 17.10.2006 | SDN Day TechEd 06 | Björn Schotte
  • 2. Björn Schotte - „PHP Pioneer“ ❙ 1998/1999: PHP-Center.de ❙ 2000: world‘s first PHP Conference ❙ 2001: editor-in-chief PHP Magazin ❙ 2001: International PHP Conference ❙ 2001: co-founder of ThinkPHP ❙ 2004: refounding Mayflower GmbH „PHP and SAP“ © MAYFLOWER GmbH 2006 2
  • 3. ThinkPHP – The LAMP Experts ❙ high-level software development since 2001 ❙ PHP trainings for more than 300 people from Top50 companies ❙ PHP Support ❙ Enterprise PHP Support ❙ Guaranteed reaction times up to 2 hours ❙ Basic, Professional, Gold – 24/7 available on request ❙ Fostering the PHP community and PHP itself in Germany ❙ „ThinkPHP by Mayflower“ – a division of Mayflower GmbH ❙ See http://www.mayflower.biz/ „PHP and SAP“ © MAYFLOWER GmbH 2006 3
  • 4. Mayflower GmbH ❙ ~ 35 employees ❙ 4 managing partners (founders of ThinkPHP) ❙ „ThinkPHP – by Mayflower“ ❙ well-known in the PHP community ❙ Customers include: ❙ Know How is more than PHP- ❙ Siemens COM only (High Performance web ❙ Vaillant Group architecture, .NET, …) ❙ Telefónica Germany ❙ O2 Germany ❙ Big projects in the range of ❙ Government of Munich man-years with PHP (HVB, ❙ HypoVereinsbank Vaillant, Sixt, Telefónica) ❙ Sixt AG ❙ OpenSource Software vendor ❙ Bundeskriminalamt (i.e. PHProjekt, Outlook Sync, ❙ Plus (Discounter) …) ❙ sourceforge.net „PHP and SAP“ © MAYFLOWER GmbH 2006 4
  • 5. PHP – a scripting language and its history ❙ „PHP: Hypertext Preprocessor“ ❙ 1994/1995 first version by Rasmus Lerdorf (PHP/FI) ❙ two Israelis, Zeev Suraski and Andi Gutmans, mainly supported writing a new engine, ZendEngine. Foundation of PHP3 ❙ PHP4 in 2000 ❙ PHP5 in 2004 ❙ PHP6 heading up ❙ more than 1,000 contributors to PHP and its subprojects „PHP and SAP“ © MAYFLOWER GmbH 2006 5
  • 6. PHP adoption ❙ PHP is found on 34,30% of public websites worldwide (source: nexen.net PHP adoption statistics) ❙ PHP is the most used technology on the internet ❙ about 4,5 million PHP developers worldwide „PHP and SAP“ © MAYFLOWER GmbH 2006 6
  • 7. The LAMP Stack ❙ Linux ❙ Apache (or: lighttpd) ❙ MySQL (Oracle, DB2, …) ❙ PHP ❙ … the star of the web ❙ … OpenSource, licensing & infrastructure for free ❙ … small and fast „PHP and SAP“ © MAYFLOWER GmbH 2006 7
  • 8. Why is PHP so popular? (I) ❙ easy to learn ❙ easy to install, mostly preinstalled on many distros, shared hosts etc. ❙ packages like XAMPP give you Webserver+Database+Scripting language in an instant ❙ get results from the first second (no complicated OO candy to achieve results) ❙ write your PHP code inside HTML ❙ advanced developers will use templates „PHP and SAP“ © MAYFLOWER GmbH 2006 8
  • 9. Why is PHP so popular? (II) ❙ good for projects with rapid requirements changes ❙ also good for large projects and high performance web applications (Yahoo, billions of PVs per day with PHP) ❙ often architecture of application will change throughout the whole project ❙ „solve the web problem quickly“ „PHP and SAP“ © MAYFLOWER GmbH 2006 9
  • 10. PHP - the glue language ❙ more than 100 extensions are available (PHP = Borg) ❙ many 3rd party libraries are supported by a extension ❙ many integration extensions/APIs ❙ RPC (XML-RPCi, SOAP, WDDX, …) ❙ SAPRFC ❙ Corba ❙ COM/DCOM // parse a RSS file ❙ XML, SimpleXML $s = simplexml_load_file('rss-0.91.xml'); foreach ($s->item as $item) { ❙ Cobol print $item->title . "n"; } ❙ … ❙ every library on every OS is a potential PHP extension (OpenOffice UNO, anyone?) „PHP and SAP“ © MAYFLOWER GmbH 2006 10
  • 11. Suited for „Enterprise“? ❙ mission critical web applications (Basel II rating applications for HypoVereinsbank, booking systems for Lufthansa) ❙ supported every major database for years ❙ broad XML/WebService support ❙ Java connectivity (http://php-java-bridge.sourceforge.net/) ❙ highly scalable (shared nothing architecture) ❙ use www.lighttpd.net instead of Apache to speed things up ❙ possibility for short time-to-market through RAD „PHP and SAP“ © MAYFLOWER GmbH 2006 11
  • 12. Broad industry support ❙ Oracle – supporting ext/oci8 ❙ IBM ❙ supporting DB2 extension ❙ porting SDO (Service Data Objects) to PHP ❙ enhancing SOAP extension (for Websphere comp.) ❙ evangelising PHP in the Enterprise ❙ Filemaker, Adobe, … ❙ providing SDKs/APIs for their products to PHP ❙ SAP ❙ … we will see ☺ „PHP and SAP“ © MAYFLOWER GmbH 2006 12
  • 13. Saving money with PHP/LAMP ❙ „more functionality per Dollar“ ❙ agile methodology (thanks to Scrum, XP) ❙ fast results ❙ first prototype is available in days instead of weeks or month ❙ short, iterative development cycles ❙ can adopt extremely fast to changing markets ❙ short time-to-market ❙ aligned at the customer and his business processes „PHP and SAP“ © MAYFLOWER GmbH 2006 13
  • 14. Rapid prototyping – coming from hell? „PHP and SAP“ © MAYFLOWER GmbH 2006 14
  • 15. Rapid Prototyping gives you … ❙ results in days instead of weeks and months ❙ continouus development alongside the prototype ❙ customer can give feedback, application can be changed directly according to his feedback ❙ works at every time during the development ❙ PHP enables you to do quick changes in complex environments „PHP and SAP“ © MAYFLOWER GmbH 2006 15
  • 16. PHP connecting to SAP (I) ❙ ext/saprfc ❙ direct calling RFCs ❙ not so stable ❙ hopefully will change in the future ❙ using SOAP through ext/soap, connecting to Netweaver XI ❙ Prefer PHP5, not PHP4 based packages (userland implementations not very good in supporting other client languages, PHP5 ext/soap is the future) ❙ Netweaver XI delivers appropriate WSDL files (unfortunately, one per command) „PHP and SAP“ © MAYFLOWER GmbH 2006 16
  • 17. PHP connecting to SAP (II) ❙ BAPI mapping to WSDL on Netweaver/XI side ❙ connecting to it by using the standard commands from ext/soap $this->gettasks = CATS_WSDL_PATH . 'GetTasks.wsdl'; $this->client = new SOAPClient($this->gettasks,array('trace' => 1, 'exceptions' => 1, 'login' => ‚foo', 'password' => ‚bar')); $caller_array = array( 'DATE' => date('Y-m-d'), GetTasks.wsdl was 'PERNR' => $pernr, delivered by Netweaver/XI and 'PROJID' => $projectid saved locally. ); try { $tasks = $this->client->GetTasks($caller_array); } catch (SoapFault $f) { return array(false, $f); } ... „PHP and SAP“ © MAYFLOWER GmbH 2006 17
  • 18. Case Study: Vaillant Group ❙ Vaillant Group offers tailored solutions for domestic comfort ❙ Turnover (2005): 1,791 billion Euro ❙ Total sales: >2,7 million heating appliances ❙ Employees: 8,616 „PHP and SAP“ © MAYFLOWER GmbH 2006 18
  • 19. CS: SAP integration projects with PHP ❙ vrnetDIALOG: direct billing for specific functions ❙ Group Intranet: Web2.0-style application for connecting to CATS/PS for 300 employees from R&D ❙ Spare Parts Shop: direct selling through SAP „PHP and SAP“ © MAYFLOWER GmbH 2006 19
  • 20. vrnetDIALOG ❙ more than 1,200 PHP classes, >300,000 loc ❙ European self-service platform for customers and service organisations ❙ remote parametrisation of heating appliances, intelligent systems ❙ SAP connectivity for direct billing of different service functions „PHP and SAP“ © MAYFLOWER GmbH 2006 20
  • 21. vrnetDIALOG – SAP connectivity Internet Internal net vrnetDIALOG SOAP Proxy SAP/ (LAMP) (LAMP) XI „PHP and SAP“ © MAYFLOWER GmbH 2006 21
  • 22. Vaillant Group Intranet: Project Bookings ❙ 300 R&D developers used SAP CATS/PS on their own ❙ no integration into Intranet ❙ not so comfortable UI ❙ searching for a better solution „PHP and SAP“ © MAYFLOWER GmbH 2006 22
  • 23. Vaillant Group Intranet: Solution ❙ small application inside Intranet system (LAMP based) ❙ with SAP connectivity to Netweaver XI (PHP5 SOAP) ❙ saved also licensing costs ❙ modern Web GUI in „Web 2.0“ style (Drag&Drop, AJAX) ❙ tightly integrated into the Intranet system (with authentication against 7 ADs european-wide) ❙ first functional prototype after 2 mandays of work ❙ whole application finished after 2 weeks „PHP and SAP“ © MAYFLOWER GmbH 2006 23
  • 24. Spare Parts Webshop ❙ LAMP powered solution on the web ❙ creates CD version (more than 100,000 installations europe-wide) by converting MySQL->SQLite and using InstallAnywhere to create Windows installer package ❙ uses OCR technology ❙ SAP direct selling of spare parts (normally only through wholesalers in some markets) ❙ check for real-time availability of spare parts and buy them „PHP and SAP“ © MAYFLOWER GmbH 2006 24
  • 25. Architecture Spare Parts Webshop Internet Internal net Spare Part Shop SOAP Proxy (LAMP) (LAMP) SAP/XI „PHP and SAP“ © MAYFLOWER GmbH 2006 25
  • 26. Q&A „PHP and SAP“ © MAYFLOWER GmbH 2006 26
  • 27. Thank you! Björn Schotte Mayflower GmbH Pleichertorstr. 2 97070 Würzburg +49 (931) 35 9 65 - 0 schotte@mayflower.de http://www.mayflower.biz/