PHP in the Enterprise connecting to SAP
-
Upload
webhostingguy -
Category
Documents
-
view
2.106 -
download
5
description
Transcript of PHP in the Enterprise connecting to SAP
PHP in the Enterprise – connecting to SAP17.10.2006 | SDN Day TechEd 06 | Björn Schotte
© MAYFLOWER GmbH 2006 2
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 3
„PHP and SAP“
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/
© MAYFLOWER GmbH 2006 4
„PHP and SAP“
Mayflower GmbH
❙ ~ 35 employees
❙ „ThinkPHP – by Mayflower“
❙ Customers include:❙ Siemens COM❙ Vaillant Group❙ Telefónica Germany❙ O2 Germany❙ Government of Munich❙ HypoVereinsbank❙ Sixt AG❙ Bundeskriminalamt❙ Plus (Discounter)❙ sourceforge.net
❙ 4 managing partners(founders of ThinkPHP)
❙ well-known in the PHP community
❙ Know How is more than PHP-only (High Performance web architecture, .NET, …)
❙ Big projects in the range of man-years with PHP (HVB, Vaillant, Sixt, Telefónica)
❙ OpenSource Software vendor(i.e. PHProjekt, Outlook Sync, …)
© MAYFLOWER GmbH 2006 5
„PHP and SAP“
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, mainlysupported writing a new engine, ZendEngine. Foundationof PHP3
❙ PHP4 in 2000
❙ PHP5 in 2004
❙ PHP6 heading up
❙ more than 1,000 contributors to PHP and itssubprojects
© MAYFLOWER GmbH 2006 6
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 7
„PHP and SAP“
The LAMP Stack
❙ Linux❙ Apache (or: lighttpd)❙ MySQL (Oracle, DB2, …)❙ PHP
❙ … the star of the web❙ … OpenSource, licensing & infrastructure for free❙ … small and fast
© MAYFLOWER GmbH 2006 8
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 9
„PHP and SAP“
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“
© MAYFLOWER GmbH 2006 10
„PHP and SAP“
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❙ XML, SimpleXML❙ Cobol❙ …
❙ every library on every OS is a potential PHP extension(OpenOffice UNO, anyone?)
// parse a RSS file$s = simplexml_load_file('rss-0.91.xml');foreach ($s->item as $item) {
print $item->title . "\n";}
© MAYFLOWER GmbH 2006 11
„PHP and SAP“
Suited for „Enterprise“?
❙ mission critical web applications (Basel II ratingapplications for HypoVereinsbank, booking systems forLufthansa)
❙ 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 thingsup
❙ possibility for short time-to-market through RAD
© MAYFLOWER GmbH 2006 12
„PHP and SAP“
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 ☺
© MAYFLOWER GmbH 2006 13
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 14
„PHP and SAP“
Rapid prototyping – coming from hell?
© MAYFLOWER GmbH 2006 15
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 16
„PHP and SAP“
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 (userlandimplementations not very good in supporting other clientlanguages, PHP5 ext/soap is the future)
❙ Netweaver XI delivers appropriate WSDL files(unfortunately, one per command)
© MAYFLOWER GmbH 2006 17
„PHP and SAP“
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'),'PERNR' => $pernr,'PROJID' => $projectid
);
try {$tasks = $this->client->GetTasks($caller_array);
} catch (SoapFault $f) {return array(false, $f);
}
...
GetTasks.wsdl wasdelivered by Netweaver/XI andsaved locally.
© MAYFLOWER GmbH 2006 18
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 19
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 20
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 21
„PHP and SAP“
vrnetDIALOG – SAP connectivity
vrnetDIALOG(LAMP)
SOAP Proxy(LAMP)
SAP/XI
Internal netInternet
© MAYFLOWER GmbH 2006 22
„PHP and SAP“
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
© MAYFLOWER GmbH 2006 23
„PHP and SAP“
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 (withauthentication against 7 ADs european-wide)
❙ first functional prototype after 2 mandays of work
❙ whole application finished after 2 weeks
© MAYFLOWER GmbH 2006 24
„PHP and SAP“
Spare Parts Webshop
❙ LAMP powered solution on the web
❙ creates CD version (more than100,000 installations europe-wide) by converting MySQL->SQLite and using InstallAnywhere to createWindows installer package
❙ uses OCR technology
❙ SAP direct selling of spare parts(normally only through wholesalersin some markets)
❙ check for real-time availability ofspare parts and buy them
© MAYFLOWER GmbH 2006 25
„PHP and SAP“
Architecture Spare Parts Webshop
Spare Part Shop(LAMP)
SOAP Proxy(LAMP) SAP/XI
Internal netInternet
© MAYFLOWER GmbH 2006 26
„PHP and SAP“
Q&A
Thank you!
Björn SchotteMayflower GmbHPleichertorstr. 297070 Würzburg+49 (931) 35 9 65 - [email protected]://www.mayflower.biz/