Contenu connexe
Similaire à Connecting PHP to SAP
Similaire à Connecting PHP to SAP (20)
Plus de webhostingguy (20)
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
- 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