php in enterprise : mahasak pijittum

Post on 01-Sep-2014

1.356 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slide for pOrt80BKK

TRANSCRIPT

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

top related