Enterprise-инфраструктура менеджмента php-пакетов в рамках компании
Php in enterprise : Mahasak Pijittum
-
Upload
mahasak-pijittum -
Category
Documents
-
view
1.356 -
download
0
description
Transcript of Php in enterprise : Mahasak Pijittum
Mahasak Pijittum[Narisa.com : Zelda]
แล้วคนพูดเน่ีย..ใครหวา่?Mahasak Pijittum
Present• Zend Certified Engineer• Managing Director IGENCO• Product Research & Development IGENCO
Past• PHP Consult @ SLC1998• Developer @ SLC1998• E-Office Product Manager @ SLC1998
หัวขอ้ : PHP in Enterprise What is Enterprise … ? PHP Capabilities Why PHP doesn’t consider in Enterprise? How to go Enterprise ? PHP in Enterprise : The missing puzzle Practical sample for PHP in Thais Enterprise
Private Sector : Insurance Business Government State Enterprise
Q&A
What is Enterprise ?
What is Enterprise ?
What is Enterprise ?An enterprise application is a business
application, obviously. As most people use the term, it is a big business application.
MSDN(http://msdn.microsoft.com/en-us/library/aa267045%28VS.60%29.aspx)
What is Enterprise ? Software that performs business functions
such as order processing, procurement, production scheduling, customer information management, accounting, etc. It is typically hosted on servers and provides simultaneous services to a large number of users, typically over a computer network. This is in contrast to single-user application that execute on a user's personal computer and serve only one user at a time. Wikipedia (http://en.wikipedia.org/wiki/Enterprise_application/ )
PHP CapabilitiesDesktop Application
PHP GTK Web Application
PHP Server Application
Nanoweb Others
WebServices AJAX
Programming Language Index
Trends.google.com
Why PHP doesn’t consider in Enterprise?
Take a closer look…on these problem.Mindset
IT manager / Stakeholder ,They comparing a features of PHP/.Net/J2EE for their projects.
You cannot compare PHP to .Net / J2EE. It should be WAMP/LAMP to .Net to J2EE
Why PHP doesn’t consider in Enterprise?
Why PHP doesn’t consider in Enterprise?
They’re missing some point. They compare open source product to commercial product.
Zend Server and Zend Studio can help on Management and Supporting Developers.
Zend’s Commercial Products
Why PHP doesn’t consider in Enterprise?
Why PHP doesn’t consider in Enterprise?
Deployment .Net
• MSI • EXE
J2EE• (.war) Web Application Archived• (.ear) Enterprise Application Archived• Maven repository• Etc.
PHP Deployment Solution?Softlink (Symlink)
Softlink / Hardlink Shell Extension win32 http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html
PHP Deployment Solution?Phing + dbdeploy + ftp
http://www.buildmeister.com/articles/automating_the_php_deployment_process_with_phing,_dbdeploy_and_ftp
Phing• Apache Ant for PHP• http://phing.info/trac/
Dbdeploy • Database Change Management tool• http://dbdeploy.com/
PHP Deployment Solution?CruiseControl +phpUndercontrol
http://cruisecontrol.sourceforge.net/ http://phpundercontrol.org/
CruiseControl• Continuous Integration Tools written in Java
PHP Deployment Solution?Maven for PHP
http://www.php-maven.org/deploy.html
Just use • mvn deploy
PHP Deployment Solution?Capistrano
http://www.jonmaddox.com/2006/08/16/automated-php-deployment-with-capistrano/
Capistrano + Webistrano http://wiki.github.com/peritor/webistrano/
Hudson
How to go Enterprise ?Maintainability
Clients always needs maintainability for their products.
How to keep maintainability level ? It’s depends on your development process. Generally, focused on
• Standards• Framework• Testing• Code Coverage
How to go Enterprise ?Standards
Define coding conventional• Zend Framework Sample Coding Standard
Define environmental configuration
How to go Enterprise ?Framework
Zend Framework http://framework.zend.com/
CodeIgniter http://codeigniter.com/
Symfony http://www.symfony-project.org/
CakePHP http://cakephp.org/
How to choose?• Features• Maturity• Support / Communities• Sponsor• Trends
How to go Enterprise ?Testing
phpUnit• http://www.phpunit.de/• Integrated in ZF
simpleTest • http://www.simpletest.org/
เขยีนโปรแกรมไมท่ำา UnitTest บาปหนักนะครบั
How to go Enterprise ?Code Coverage
a measure used in software testing. It describes the degree to which the source code of a program has been tested. It is a form of testing that inspects the code directly and is therefore a form of white box testing[1]. In time, the use of code coverage has been extended to the field of digital hardware, the contemporary design methodology of which relies on hardware description languages (HDLs).
PHPUnit http://phpunit.de
PHP_CodeCoverage http://github.com/sebastianbergmann/php-code-coverage
Debugger xDebug + firefox + easy xDebug(extension)
• http://xdebug.org/• http://www.mozilla.com/ • https://addons.mozilla.org/en-US/firefox/addon/58688/
Zend-Studio Debugger• http://www.zend.com
Missing Puzzle : Stairway to Heaven
Missing Puzzle : Stairway to Heaven
IDM/SSO SimpleSAMLphp
• http://simplesamlphp.org/
OpenASelect• http://www.openaselect.org/trac/openaselect/
OpenSSO• https://opensso.dev.java.net/
JOSSO• http://www.josso.org/
Missing Puzzle : Stairway to Heaven
Message Queue Apache ActiveMQ
• http://activemq.apache.org/
RabbitMQ• http://www.rabbitmq.com/
Missing Puzzle : Stairway to Heaven
Java-.Net Bridge http://php-java-bridge.sourceforge.net
Missing Puzzle : Stairway to Heaven
Batch Processing/Job Scheduling Zend Server Job Queue
• http://www.zend.com
Gearman• http://gearman.org/
Missing Puzzle : Stairway to Heaven
Reporting Tools Eclipse BIRT via HTTP
• http://www.eclipse.org/birt/phoenix/
iReport (JasperReport) via JavaBridge API / Web Service• http://jasperforge.org/projects/ireport
CrystalClear (i-Net Crystal Clear) via PHP Proxy• http://www.inetsoftware.de/products/crystal-clear
Missing Puzzle : Stairway to Heaven
Load balance/Clustering Zend Server Apache mod_proxy Varnish
Missing Puzzle : Stairway to Heaven
Caching Memcached Varnish
Success Story : State Enterprise
Profile No. of users : 400 – 600 depends Application : Workflow 1 Application Language Uses : PHP + Java Current Status : Active
Success Story : State Enterprise
Success Story : Insurance Business
Profile No. of users : 600-800 depends Application : Document Management 1
Application ,Workflow 1 Application Interface :
• Insure90 AS/400 Application server• Oracle Financial
Language Uses : PHP + Java Current Status : Active
Success Story : State Enterprise
On-GStory : GovernmentProfile
No. of user : around 40,000 Application : 6 Application + SSO Interface :
• Build On top Of Microsoft Office / OpenOffice as Platform
• PHP Backend Application server with JCR Stores• Oracle Financial
Language Uses : PHP + Java Current Status : Testing