Pharo @ Beta Nine

Sven VC
Sven VC
Jun 1, 2015 · 5 min read

Beta Nine is a software engineering company from Hasselt, Belgium. Founded in 1996, our main activity is advanced software development and consultancy in object, inter/intranet and Java technology.

Since a couple of years we became a product company. We build, operate and commercialise the T3 Platform, a vehicle track & trace and fleet management SaaS solution, sold internationally through a number of partners.

Today, there are about 10.000 paying subscriptions to the platform, accessed by hundreds of customers and users via a number of web applications and services — 24/7/365.

Technology

The customer does not care what technology is used to build a product. That is a good thing, because it allows the developers to choose those technologies that help them to deliver a good product.

Since 2010, Pharo is an important part of our technology stack.

Pharo’s pure dynamic object oriented language and immersive live environment focused on simplicity and feedback makes it ideal for both development and deployment of web applications and web services.

Here are a number of success stories of Pharo at Beta Nine.

T3 Easy REST Back End

Zinc HTTP Components with the Zinc-REST and NeoJSON frameworks are used to offer a robust, secure standard REST API for the JavaScript client web app to use. The application is deployed on a headless Linux server using 4 stateless images load balanced by Apache. T3 Easy has been part of our commercial portfolio since 2011.

T3 Protocol Proxies

Developing and deploying low level binary protocols over UDP and TCP using a high level interactive live environment is very efficient and infinitely more pleasant than any of the classic approaches. The different proxies are deployed in a single image on a headless Linux server. The image is serving about one thousand connections and hundreds of thousands of messages a day with an uptime of several weeks. Pharo based protocol proxies have been in production use since 2012.

T3 Mobile
Web Application

T3 Mobile is a responsive mobile first web application written completely using the excellent Seaside/Bootstrap framework in Pharo. It is using Zinc HTTP Components as the server adaptor for Seaside and as the client to talk to the REST back end. It is deployed as 2 stateful images behind Nginx, which does static resource serving, sticky session proxying and HTTPS termination. Memcached is used to handle some shared session info. T3 Mobile is in production use since April 2014.

T3 Data Mining

T3 exposes its functionality as a REST API that can easily be accessed using Zinc HTTP Components’ client and NeoJSON. We modelled part of the domain, but leave a large part as just Dictionaries and Arrays. Scripting, calculating usage and generating reports is much easier and fun in Pharo. Since 2010, every single monthly invoice for T3 was based on numbers computed in Pharo.

T3 Product Development

Given a codebase that already supports the applications above and effectively models the domain, Pharo is an ideal environment for explorative product development and has been used succesfully for this purpose many times over.

Supporting Pharo

That is why we give back: first and foremost by developing and maintaining a number of open source libraries (Zinc HTTP Components, Zinc-WebSockets, Zinc-SSO, Zinc-REST, Zinc-AWS, Zodiac TLS/SSL Streams, NeoJSON, NeoCSV, STON, ZTimestamp and Stamp), but also by being a Pharo Consortium and Pharo Association member and by serving on the Pharo Board.

Concerning Pharo

Articles about software development using a pure dynamic…

Concerning Pharo

Articles about software development using a pure dynamic object oriented language in an immersive live environment focused on simplicity and feedback

Sven VC

Written by

Sven VC

loves high-level, dynamic and interactive object-oriented systems

Concerning Pharo

Articles about software development using a pure dynamic object oriented language in an immersive live environment focused on simplicity and feedback