Welcome!

Open Source Cloud Authors: Zakia Bouachraoui, Pat Romanski, Elizabeth White, Liz McMillan, Yeshim Deniz

Press Release

Save Time and Money with Open ERP Web Client

Open ERP Web - What's Going On?

Most of you, if following the latest development on Launchpad project area, might be aware of the big changes with Open ERP Web Client. We migrated the web client to CherryPy3 droping the TurboGears completely and migrated Kid templates by faster Mako templates as a major step to make the Web Client much more faster and easier to deploy.

All the Kid templates are converted to faster Mako templates, i18n/l18n features have been partially reimplemented using Python Babel, CherryPy2 (TG is built on top of CP2) was replaced with CherryPy3, the latest, much better version of CherryPy Server.

This greatly reduced the pain of getting started with and deploying of Open ERP Web client. Now the number of third party dependencies are reduced to 3-4 pure Python libraries which you can install within the local lib dir with the help of `populate.sh` script, found under the same lib directory. Just get the source from Launchpad, run the populate.sh and launch the web client...

The initial test results are very impressive. We have seen almost 3-5 time speed improvement. Here are the benchmark results of the latest trunk version against the stable 5.0 branch which is running over TurboGears.

The benchmark test was done using Apache Benchmark Tool against relatively bigger Customer Invoice Form view. The command was used like this:

$ ab -C session_id=$session -n 100 "http://localhost:8080/form/edit?model=account.invoice&id=1"

where $session should be replaced with session id (you can use firebug to see the session id).

Here is the comparison between before and after improvements in Open ERP web client

 

Result of Open ERP Web 5.0 (TurboGears + Kid)

Result of Open ERP Web Trunk (CherryPy3 + Mako)

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 localhost (be patient).....done


Server Software: CherryPy/2.3.0
Server Hostname: localhost
Server Port: 8081

Document Path: /form/edit?model=account.invoice&id=1
Document Length: 79965 bytes

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 localhost (be patient).....done


Server Software: CherryPy/3.1.2
Server Hostname: localhost
Server Port: 8080

Document Path: /form/edit?model=account.invoice&id=1
Document Length: 90394 bytes

Concurrency Level: 1

Concurrency Level: 1

Time taken for tests: 166.323 seconds

Time taken for tests: 42.054 seconds

Complete requests: 100

Complete requests: 100

Failed requests: 0

Failed requests: 0

Write errors: 0

Write errors: 0

Total transferred: 8022000 bytes

Total transferred: 9063400 bytes

HTML transferred: 7996500 bytes

HTML transferred: 9039400 bytes

Requests per second: 0.60 [#/sec] (mean)

Requests per second: 2.38 [#/sec] (mean)

Time per request: 1663.228 [ms] (mean)

Time per request: 420.543 [ms] (mean)

Time per request: 1663.228 [ms] (mean, across all concurrent requests)

Time per request: 420.543 [ms] (mean, across all concurrent requests)

Transfer rate: 47.10 [Kbytes/sec] received

Transfer rate: 210.47 [Kbytes/sec] received

Connection Times (ms)

Connection Times (ms)

min mean[+/-sd] median max

min mean[+/-sd] median max

Connect: 0 0 0.0 0 0

Connect: 0 0 0.0 0 0

Processing: 1556 1663 71.3 1663 1856

Processing: 382 420 27.7 415 523

Waiting: 1555 1662 71.3 1662 1855

Waiting: 381 420 27.7 415 522

Total: 1556 1663 71.3 1663 1856

Total: 382 420 27.7 416 523

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

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

50% 1663

50% 416

66% 1681

66% 418

75% 1695

75% 420

80% 1715

80% 424

90% 1775

90% 436

95% 1801

95% 512

98% 1829

98% 520

99% 1856

99% 523

100% 1856 (longest request)

100% 523 (longest request)


Conclusion

You can see significant performance boost in second test result. We observed 3-5 time speedup. There are still room to improve the performance further. Like reducing RPC calls, catching results of some computationally heavy functions. Implementing a way to directly call server methods if web client and server are installed on the same system (completely eliminating TCP layer).

What's next?

Besides this, we also planned to make web client modular implementing plugin system which let you create your own plugins to extend the functionality of the web client. We appreciate your ideas and suggestions in this regards.

Also, we have planned for a better main menu & tabified interface (similar to GTK client) where you always have access to the main menu and all views will be opened in tabs inside the same html page instead of utilising browser tabs. We had discussion about such interface previously, you can search the forum for a very good mockup implementation.

We are also thinking of writing some automated unit tests using CP3 testing API. We already wrote some basic tests to check how to proceed. You can run all tests by launching `run-tests.py` script...

We greatly appreciate you ideas, suggestions in this regards...

 

Thanks and regards

 

Open ERP Team

More Stories By Christophe So

Christophe So is in charge of promotional activities for Open ERP, and its community. Open ERP has been specifically designed to help businesses improve their performances. Its functional coverage expands to all kinds of different areas.

IoT & Smart Cities Stories
Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (November 12-13, 2018, New York City) today announced the outline and schedule of the track. "The track has been designed in experience/degree order," said Schmarzo. "So, that folks who attend the entire track can leave the conference with some of the skills necessary to get their work done when they get back to their offices. It actually ties back to some work that I'm doing at the University of San...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: Driving Business Strategies with Data Science," is responsible for setting the strategy and defining the Big Data service offerings and capabilities for EMC Global Services Big Data Practice. As the CTO for the Big Data Practice, he is responsible for working with organizations to help them identify where and how to start their big data journeys. He's written several white papers, is an avid blogge...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
If a machine can invent, does this mean the end of the patent system as we know it? The patent system, both in the US and Europe, allows companies to protect their inventions and helps foster innovation. However, Artificial Intelligence (AI) could be set to disrupt the patent system as we know it. This talk will examine how AI may change the patent landscape in the years to come. Furthermore, ways in which companies can best protect their AI related inventions will be examined from both a US and...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities - ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups.
Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in development and launches of disruptive technologies to create new market opportunities as well as enhance enterprise product portfolios with emerging technologies. His most recent venture was Octoblu, a cross-protocol Internet of Things (IoT) mesh network platform, acquired by Citrix. Prior to co-founding Octoblu, Chris was founder of Nodester, an open-source Node.JS PaaS which was acquired by AppFog and ...
The deluge of IoT sensor data collected from connected devices and the powerful AI required to make that data actionable are giving rise to a hybrid ecosystem in which cloud, on-prem and edge processes become interweaved. Attendees will learn how emerging composable infrastructure solutions deliver the adaptive architecture needed to manage this new data reality. Machine learning algorithms can better anticipate data storms and automate resources to support surges, including fully scalable GPU-c...
Cloud-enabled transformation has evolved from cost saving measure to business innovation strategy -- one that combines the cloud with cognitive capabilities to drive market disruption. Learn how you can achieve the insight and agility you need to gain a competitive advantage. Industry-acclaimed CTO and cloud expert, Shankar Kalyana presents. Only the most exceptional IBMers are appointed with the rare distinction of IBM Fellow, the highest technical honor in the company. Shankar has also receive...