You are on page 1of 7

Careers

The Work

Web App Estimator

Comentum 360

Client Center

Development

Creative

Products

Mobile Apps

Marketing

Consulting & Strategy

Web Application Development


Custom Database Software

Corporate Web Design


Brand Development

Enterprise eCommerce
Enterprise CMS

Mobile App Development


iPhone App Development

SEO and SEM


Social Media Marketing

Web Application Consulting


Internet Business Strategy

Views about

enterprise web application development research and reports

Web Application Frameworks, Comparison and


Benchmarks
Mobile Apps Platform
Mobile App / Android, iPhone App
Development Cost
Native App Development vs Hybrid /
PhoneGap App Development

Web Apps Platform


Web Application Planning
PHP vs ASP.net Comparison
Ruby on Rails vs PHP Comparison

Glue Framework vs Full Stack Framework, Performance and Benchmark


Comparison of PHP MVC Frameworks: Comentum Framework, CodeIgniter,
Zend Framework, CakePHP, Yii, Kohana, DooPHP
What is a Web Application Framework
A Web Application Framework is a patterned code system consisting of common program libraries and tools providing
an organized environment for developers to program and help to create structured, maintainable code. Using a Web
Application Framework provides the following advantages:
Organized and structured programming environment creates maintainable code it will be easier to make updates
or changes to the code or have new programmer(s) or programming team(s) take over the Web Application project
maintenance.

Web Application Framework


Comparison

Promotes writing a function (or class) once and reusing it in different parts of the Web Application instead of
repeating the same function in different places. So, if there is a need to change the function, it can be done in one
place instead of having to change it in several places.

Web Application Development Process

Provides a better environment for multiple programmers to work on the Web Application Project.

Guide to Web Application Development

By separating the HTML and CSS from the PHP code, HTML and CSS designers can work on the design (refereed
to "view") folder without having to deal or tinker with the PHP code.

Internet Database Development


PHP & MySQL Development

Online Business
e-Business Strategy and Process
Internet / Online Business Ideas and
Strategies for Entrepreneurs
Hiring a Web Application Company
Considerations
How to Hire a Good Web Application
Development Company
Challanges for hiring Offshore Web
Development Company
Web Development Cost Comparison

Server and Hosting


Amazon EC2 vs Rackspace Cloud vs
Linode
Cloud vs Dedicated Servers vs
Colocation Comparison
Dedicated / Managed Hosting
Comparison
Shared Hosting vs Managed Hosting
Domains, DNS, Web Hosting, Email

Most frameworks come with the common functionalities (classes, helpers, and libraries), such as database access,
form input security checks, validating forms, uploading photos, sending emails, etc. those common libraries
provide an streamlined and fast method of coding without having to rewrite code for common functions.
Provides better beta testing and bug fixing environment it promotes testing one functionality at a time, instead of
testing the whole Web Application which usually causes programmers to miss programming bugs.

Bernard Kohan is a mobile app and web


application development and technology
analyst expert. He is available to discuss an
issues or questions you have about web
development and the best choices for your
company or project.
Bernard can be reached at
858-410-1500

Contact Us

What is Model View Controller (MVC)


Web Application Frameworks are organized in a structural pattern this promotes better code organization and code
reuse.
In a Model View Controller (MVC) pattern, the code is organized in three different sections:
Model data interfacing this is where the data updates are occurring the developer writes the function in
the Controller referencing a function in the Model telling it to save the user's submitted information to the database.
View user interface this is where the application interface such as HTML and CSS exist and are managed.
For example a Contact Us form.
Controller application interaction this is where the application actions are occurring such as a function that
takes the user's submitted information and processes it. s

Different types of MVC Framework


Glue Framework More Flexible
Glue frameworks provide an environment with a wide variety of components and libraries, and the programmers have
the control of the structure and flow of the program actions, and can pick and choose any library or component at their
own discretion.
In my opinion, Glue Frameworks provide a better environment for custom Web Applications with complex business
logic. In most of today's custom business Web Applications, there are a lot of complex business logic requirements
and many exceptions to the rules functions it is much easier to implement custom, complex logic into a Glue
Framework.
Below are some examples of Glue Frameworks:
Comentum Framework
Zend Framework

Domain Name System and DNS


Servers

Joseph Montanez is a senior web applicat


developer, team manager, and technology
analyst expert at Comentum.

Codeigniter Framework

Web App Estimator

Select and unselect modules such CMS o


eCommerce for your web application and
watch the cost update in real time.

Try It

All About Domain Name Registration


Email Services Comparison
Who is winning the spam war?
Email Services

CMS Applications
What is Content Management System
(CMS)

Full Stack Framework Strict and Less Control


Full Stack Frameworks provide an environment with libraries and components that are integrated, forcing
programmers to use most of the libraries and components based on the framework's structural flow and guidelines.
In my opinion, Full Stack Frameworks provide a better environment for common Web Applications that do not need
much customization and do not have lots of complex business logic.
Below are some examples of Full Stack Frameworks:
CakePHP
Symfony

Performance

Drupal vs Joomla vs WordPress CMS


Comparison

Comentum used Apache Bench to test the performance of different PHP Frameworks and below are the results (this
test was run on November 9, 2012).

Enterprise CMS Comparison - Summary

Hardware:
CPU: Xeon Quad Core X3220 (2.4 Ghz)
RAM: 4GB

Enterprise Content Management


System vs Open Source CMS - Detailed
Guide, Security, Performance Statistics
Pros and Cons of Wordpress, Joomla,
Drupal

Marketing
Google Mobile Friendly Deadline

OS and Server:
CentOS 6.2 x86_64
Apache 2.2.15

Request Per Second - More is Better

Search Engine Optimization SEO tips

Design
Web Design San Diego

PHP Framework

Requests per second

Comentum Framework

1449.87

DooPHP Framework

762.95

CodeIgniter Framework

468.21

Yii Framework

302.99

Kohana Framework

301.46

CakePHP Framework

133.94

Zend Framework

70.50

Requests Completed - More is Better

PHP Framework

Requests Completed

Comentum Framework

43515

DooPHP Framework

22890

CodeIgniter Framework

14048

Yii Framework

9090

Kohana Framework

9045

CakePHP Framework

4020

Zend Framework

2115

------------------- Comentum Framework -----------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/ComentumFramework/


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Completed 25000 requests
Completed 30000 requests
Completed 35000 requests
Completed 40000 requests
Finished 43515 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/ComentumFramework/
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.013 seconds
43515
0
0
25326250 bytes
478665 bytes

Requests per second:

1449.87 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

6.897 [ms] (mean)


0.690 [ms] (mean, across all concurrent requests)
824.07 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.1
0
Processing:
2
7
5.3
6
Waiting:
1
6
5.3
6
Total:
2
7
5.3
6

max
3
291
291
291

Percentage of the requests served within a certain time (ms)


50%
6
66%
7
75%
7
80%
8
90%
9
95%
10
98%
12
99%
13
100%
291 (longest request)

------------------------------ DooPHP -------------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/DooPHP/app/index.php


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Completed 5000 requests
Completed 10000 requests
Completed 15000 requests
Completed 20000 requests
Finished 22890 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/DooPHP/app/index.php
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.002 seconds
22890
0
0
3684920 bytes
251790 bytes

Requests per second:

762.95 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

13.107 [ms] (mean)


1.311 [ms] (mean, across all concurrent requests)
119.94 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.1
0
Processing:
5
13
4.4
12
Waiting:
0
12
4.2
11
Total:
5
13
4.4
12

max
6
46
46
46

Percentage of the requests served within a certain time (ms)


50%
12
66%
14
75%
15
80%
16
90%
19
95%
21
98%
25
99%
28
100%
46 (longest request)
--------------------------- CodeIgniter ------------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/CodeIgniter/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Completed 5000 requests
Completed 10000 requests
Finished 14048 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/CodeIgniter/
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.003 seconds
14048
0
0
2075216 bytes
154528 bytes

Requests per second:

468.21 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

21.358 [ms] (mean)


2.136 [ms] (mean, across all concurrent requests)
67.54 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.0
0
Processing:
8
21
7.9
20
Waiting:
7
19
7.6
18
Total:
8
21
7.9
20

max
0
76
75
76

Percentage of the requests served within a certain time (ms)


50%
20
66%
23
75%
25
80%
27
90%
32

95%
98%
99%
100%

36
42
46
76 (longest request)

-------------------------------- Yii ----------------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/yii/demos/helloworld/


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Completed 5000 requests
Finished 9090 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/yii/demos/helloworld/
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.001 seconds
9090
0
0
1463460 bytes
99990 bytes

Requests per second:

302.99 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

33.004 [ms] (mean)


3.300 [ms] (mean, across all concurrent requests)
47.64 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.1
0
Processing:
12
33 13.5
31
Waiting:
11
31 13.1
29
Total:
12
33 13.5
31

max
4
114
112
114

Percentage of the requests served within a certain time (ms)


50%
31
66%
37
75%
41
80%
44
90%
52
95%
58
98%
66
99%
71
100%
114 (longest request)

------------------------------- Kohana --------------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/Kohana/index.php


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Completed 5000 requests
Finished 9045 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/Kohana/index.php
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.004 seconds
9045
0
0
1387332 bytes
99506 bytes

Requests per second:

301.46 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

33.172 [ms] (mean)


3.317 [ms] (mean, across all concurrent requests)
45.15 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.4
0
Processing:
12
33 12.9
31
Waiting:
7
30 12.2
29
Total:
13
33 12.9
31

max
18
115
114
115

Percentage of the requests served within a certain time (ms)


50%
31
66%
37
75%
41
80%
43
90%
51
95%
57
98%
63
99%
69
100%
115 (longest request)

-------------------------------- CakePHP ------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/CakePHP/


This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Finished 4020 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/CakePHP/
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.013 seconds
4020
0
0
602180 bytes
44220 bytes

Requests per second:

133.94 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

74.659 [ms] (mean)


7.466 [ms] (mean, across all concurrent requests)
19.59 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.1
0
Processing:
27
74 22.3
75
Waiting:
25
69 21.7
70
Total:
27
74 22.3
75

max
2
173
173
173

Percentage of the requests served within a certain time (ms)


50%
75
66%
84
75%
89
80%
93
90%
103
95%
110
98%
120
99%
128
100%
173 (longest request)
----------------------------------- Zend Framework ---------------------------------------# ab -t30S -c10 http://ecommercesoftwareinfo.com/frameworkbenchmarks/ZendFramework/public/
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking ecommercesoftwareinfo.com (be patient)
Finished 2115 requests

Server Software:
Server Hostname:
Server Port:

Apache
ecommercesoftwareinfo.com
80

Document Path:
Document Length:

/frameworkbenchmarks/ZendFramework/public/
11 bytes

Concurrency Level:
Time taken for tests:
Complete requests:
Failed requests:
Write errors:
Total transferred:
HTML transferred:

10
30.000 seconds
2115
0
0
340914 bytes
23287 bytes

Requests per second:

70.50 [#/sec] (mean)

Time per request:


Time per request:
Transfer rate:

141.846 [ms] (mean)


14.185 [ms] (mean, across all concurrent requests)
11.10 [Kbytes/sec] received

Connection Times (ms)


min mean[+/-sd] median
Connect:
0
0
0.0
0
Processing:
52 141 39.0
147
Waiting:
49 138 38.5
144
Total:
52 141 39.0
147

max
0
251
251
251

Percentage of the requests served within a certain time (ms)


50%
147
66%
161
75%
169
80%
173
90%
187
95%
196
98%
211
99%
220
100%
251 (longest request)

----------------------------------------------------------------------------------

Research for this article was completed November 9, 2012; pricing and other information may change.

Company Careers Technical Resources News & Press Terms of Service Colocation Dedicated Servers Contact
San Diego Web Design San Diego Web Development San Diego Mobile App Development

Comentum San Diego Office 800-387-1920


Copyright 1996 - 2015 Comentum Corp.

You might also like