- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Scala in the Enterprise
Created by admin on 2009-06-12.
Updated: 2012-01-19, 21:34
The Scala programming language is used by many companies to develop commercial software and production systems; please find below some notable examples. Your company can also benefit from using Scala, just like LinkedIn, EDFT, Twitter, Novell, the Guardian, Xebia, Xerox, FourSquare, Sony, Siemens, Thatcham, OPower, GridGain, AppJet, Reaktor and many others.
Scala is being used by many more organisations and steadily moving into mainstream business critical applications. Scala's use has grown by a factor of 10 over the last year and it has matured into a solid production language.
Scala long term support both in research and commercial terms is now assured. EPFL will continue to fund programming language research that so often results in features for Scala and the Scala team recently won an ERC 5 year grant for 2.3 million Euros, nearly doubling the group size, to tackle the multi-core "Parallel Programming Challenge" using Scala as the basis. On the commercial front Scala Solutions, a well financed company, has been founded to provide essential commercial support service directly and through a world-wide network of Partners. This covers such things as Scala Training Courses, consulting, Scala development tools and Certified Builds for old versions of Scala.
The LinkedIn Web site was launched in 2003 and is now the largest professional networking site in the world with more than 65 million members, representing 200 countries and executives from every Fortune 500 company.
Chris Conrad, Engineering Manager, a part of the Search, Network and Analytics team at LinkedIn presented Scala based Norbert at ScalaDays 2010. Chris works on the LinkedIn Social Graph represented by some 65+ million nodes, 680+ million edges and 250+ million request per day and he describes LinkedIns experiences with Scala here. In this interview by InfoQ Alejandro Crosa, Chris Conrad and Jay Kreps describe the overall architecture and how they benefit from Scala.
Électricité de France (EDF) is the largest French energy company. EDF Trading (EDFT) is the subsidiary of EDF that operates on the energy market: when the energy markets were liberalized, power became a tradable commodity, and it became possible to buy and sell future capacity just like other financial instruments. More in general, EDFT operates "to source, supply, transport, store, blend, and convert physical commodities across the wholesale energy markets".
Over the past few years their development team, including Alex McGuire, and Lee Momtahan have replaced a substancial part of their 300,000 lines of Java code for energy derivatives trading and pricing with Scala code. EDFT has seen a significant increase in development productivity and much improved interfaces for their users, the Power traders.
In an interview with Alex McGuire he says, that in this mission critical business application, Scala plays an important part in the implementation and is impressed by Scala. Alex, a mathematician and former options trader, has over 15 years of development experience creating financial trading applications. Alex has left EDFT and is now running his own company providing scala consulting to financial and trading organisations.
Lee Momtahan says, "We're using Scala for real work in a business critical situation and there is a lot of money at stake if we get it wrong. There are risks, but we have had no problems [with Scala]. For me, a developer working at the coal face, the productivity improvements are massive." Lee presented at the Commercial Users of Functional Programming meeting, CUFP 2009 in Edinburgh, You can find a summary of his talk here, his slides here and a video of the actual presentation here.
Twitter provides an extremely popular real-time messaging service, which allows friends, family, and co-workers to stay in touch. Some 70 million people tweet worldwide.
Alex Payne, API Lead at Twitter, gave a fascinating presentation at Web 2.0 Expo San Francisco, 01 April 2009 about why Twitter uses Scala. He explains why they like the language, how they have gained performance with it and the difficulties they encountered on the way. You may like to take a look at his presentation slides or read reports on the talk by: Kate Greene from Technology Review, Nicole Ferraro from Internet Evolution, or Cade Metz from The Register.
Robey Pointer at Twitter has moved their main message queue from Ruby to Scala for improved performance. He explains the concepts behind the Twitter Kestrel project on his live journal and the more concise 1500 lines of Scala code can be seen as open source project here.
Bill Venners from Artima, had the opportunity to talk to three of the Twitter developers, Steve Jenson, Alex Payne and Robey Pointer. They have created and upgraded one of the fastest growing social messaging services in the world. You can learn what they think of Scala, how they use it, and understand about some of the benefits they have gained from their move.
Novell recently announced Pulse, an exciting and much anticipated cloud-based, real-time collaboration platform for the enterprise. It provides a collaboration environment that is secure and draws on the best of instant messaging, document sharing, social connections, real-time co-editing and enterprise controls. At Pulses heart beats Lift 1.0, a Scala based WebFramework that has been used to provide all of the web services for the project.
Daniel Spiewak,Developer and member of the "breakout" team that developed Pulse, talks about the project here.
A very professional Pulse demo was given at Novell BrainShare 2010 or more can be learnt about the product and service on the Pulse web pages.
On the 20th May the Guardian announced that their "Open Platform", an API to access the vast repository of Guardian media with over a million articles, video clips, photographs and audio tracks, was "open for business". With 36 million people making regular use of the repository, the Open Platform was created to service the rapidly growing demand and provide a high performance interface for media application developers. Over 2000 of them registered to use the API and 200 application products built to use it during the Beta evaluation phase. This exciting API was implemented in Scala using Lucene/Solr for media storage.
Graham Tackley, the Web Platform Development Team Lead for the guardian.co.uk explains here, how they were able to cut indexing times from 20 hours to one and the presentation here describes the success they had moving from Java to Scala.
Xebia, a highly successful international IT consultancy and project development organization, sees a bright future in Scala. With an annual turnover exceeding 20M$, Xebia now has an organisation of over 180 professionals focussed on Enterprise Java technology, Agile development methods and outsourcing services. They are often regarded as the defacto standard for Scrum and are seen as a leader in the Agile methodology. Guido Schoonheim, CTO talked at QCon London 2009 on how Xebia achieves "hyperperformance", 5 times the industry average, with Fully Distributed Scrum.
Urs Peter, senior consultant at Xebia says: "More and more companies are looking for simple and concise solutions. Scala not only offers them an improvement in productivity but is also cost effective as companies can still use their existing middle-ware and infrastructure," and that "Scala enables developers to stay very close to the business logic and thus omit various meta blocks. This results in neatness and a structure that is easy to maintain."
XMPie is a business unit of Xerox Corporation offering a full range of software solutions for variable-data publishing including the award-winning product PersonalEffect. The Xerox ICE project, used XMPie and Scala to improve the Xerox (UK) customer experience. The ICE project provides a full cross-media invitation experience for visitors to the Xerox UK showrooms.
In an interview, Timothy Perrett, Technical Specialist for XMPie Europe, Middle East and Africa, the project leader, explains the background to the project, its benefits and his impressions of using Scala at Xerox.
Foursquare is a fast growing service that back in July 2009 both the Washington Post and Mashable were tipping as a potential "breakout hit" or "next Twitter". Foursquare provides a cross between a friend-finder, a social city-guide and a game that rewards you for doing interesting things. It aims to keep you up with the places your friends go, and encourage you to discover new places and explore your neighborhood. Ever more people are enjoying the discovery experience.
With a rapidly growing base of hundreds of thousands of users Harry Heymann at Foursquare decided to move all the services to Scala/Lift based servers.
Recently he announced to the Lift community that this high profile, heavy duty web server application had successfully ported to the Scala/Lift web framework. He explained that the conversion took a surprisingly short time, just 3 months. The Foursquare website, a mobile website (m.foursquare.com) and a simple(but growing!) REST api (api.foursquare.com) all now run on Lift. Harry says that they found Lift's view-first architecture well suited to interactive, AJAX-infused pages and an easy transition to make.
He say of the Scala/Lift community, "they've built a really great framework, and I look forward to using it and seeing it grow for many years to come."
Sony Pictures Imageworks is a proven industry leader in the creation of award-winning character animation and is renowned for expertise in the highly specialized work of creating photo-real CG characters. Imageworks is also where Sony Pictures Animation has made its all-CG animated features.
Recognizing the value of the Open Source Software products that they have used, are entering into the same spirit by releasing five of their own projects as Open Source. One of these, Scala Migrations, is a library that manages updates, rollbacks and changes to data base schemas.
"The Scala Migrations library is written in Scala and makes use of the clean Scala language to write easy to understand migrations, which are also written in Scala. Scala Migrations provides a database abstraction layer that allows migrations to target any supported database vendor."
The source code is available here.
Siemens boosts productivity with ESME. On March 4, 2009, Siemens announced the availability of Enterprise Social Messaging Experiment (ESME), an application based on the Lift WebFramework and Scala. ESME is an Open Source tool designed by Siemens IT Solutions and Services together with SAP Community specialists. The product is aimed at boosting productivity in enterprises with efficient social networks. Richard Hirsch, project manager for ESME at Siemens says "ESME helps to build communities and thus fosters efficient, company-wide communication between employees".
Darren Hague, SAP Mentor and ESME team lead briefly explains here why the team chose Lift and Scala as the basis of this application. You can learn more about the project background and the teams technical architectural decisions here. You may like to try a version of the ESME user interface here or see the Siemens desktop implementation here.
In an interview Vassil Dichev, one of the community of programmers dedicated to developing ESME, talks about his experiences with Scala.
Thatcham Motor Insurance Repair Research Centre provides data to vehicle manufacturers with the aim of containing or reducing the cost of motor insurance claims, whilst maintaining safety and quality standards. They research efficient, safe, cost effective repair of vehicles, and work with manufacturers to influence the design of new vehicles.
Ross McDonald, Web Technologies Lead Architect, explains in his article why the company moved to Scala for both their research work and their Web site. He summarises their experience by saying "With Scala we can simply do more with less code, and we can do it better."
OPOWER is an energy efficiency and Smart Grid software company that helps utilities meet their efficiency goals through effective customer engagement. OPOWER uses cutting edge software, combined with behavioral science and patent-pending energy usage algorithms to deliver actionable insights about energy usage to millions of homes across the country.
Dave Copeland, an engineering lead at OPOWER, recognised the efficiency benefits Scala could bring to the company.
However, the OPOWER developers are a very successful JAVA shop and rightfully cautious about adopting a new language. In his presentation at ScalaDays 2010 he explained how he chose to introduced Scala in a controlled low risk way by simplifying the creation of the company's Web site test suite using Scala. Based on their experience he suggests ways in which development groups can reduce their learning curve to more rapidly reap the benefits of bringing Scala into the development culture.
GridGain, founder and CEO - Nikita Ivanov, has the vision of making a product that will make grid computing an everyday tool for the enterprise application developer. GridGain has already become popular among many commercial users and this capability to use it so simply with Scala will make it even more accessible.
You can see a short, get you started, example in Nikita's tutorial article "A Scala-based DSL for Cloud Computing" on his blog. Or you may like to see his presentation on GridGain or see how it can be used, for example, with the JBOSS cache for map-reduce applications. Gridgain has shown how easy Cloud computing in Scala has become.
Appjet was recently acquired by Google to boost the development of Wave. AppJet developed the highly successful EtherPad and its underlying AppJet web framework using Scala. EtherPad is the only web-based word processor that allows people to work together in really real-time. You can see how Scala has contributed to the project by looking at the source code now made available as an Open Source Project. The acquistition recognizes their success, much deserved by the design and delivery of a product their customers enjoy. See their customer testimonials here.
Reaktor is a Finnish software company, employing 150 people, providing software development and software development consulting services to many of the large Finnish companies. Their software services are mostly targeted at Finnish market although the products are often deployed around the world and used by millions of people.
The cornerstones of the company are unparalleled technological expertise, the best experts in the field, high quality products and services and the drive to always succeed. Reaktor, an exciting and progressive company, was ranked the best workplace in Finland and number two in Europe in 2009. At Reaktor, people always come first.
In the last two years developers at Reaktor have become enthusiastic about Scala, started introducing the language into new development projects and now recommend the technology to their customers.
In one case, Scala was chosen as a solution for a mobile game logic DSL, in a system now deployed around the world. The top level Scala script bundled together more fundamental elements. The resulting package has been used more extensively since.
In another, Scala was used to implement a Web based home security system. Scala's xml API was particularly effective for interacting with a third party provided xml-over-http service.
According to Hannu Terävä, Chief Technology Officer, "Ultimately the client decides what technologies we use; I believe that we will see more and more Scala projects in the future."
We have received many reports about Scala in the enterprise, in particular we heard news about EBay, LinkedIn and Office Depot adopting Scala as well; we are in the process of obtaining more information.
Meanwhile, please find below some of the Scala deployments we heard about; we are unable to verify all of them at this time, but we will update the list as we receive more precise information.
- Scala is also being used in the scientific publishing group Nature, for building various restful APIs. The contact is Peter Kovac, who also reports that some of their new online products are also going to be Scala-based. http://www.nature.com/
- Scala is reportedly used in Managed Gaming Solutions Plc's high-availability system for national lotteries, the Jetbet™ Platform. Developed in collaboration with Reaktor. Their website: http://www.mgscorporation.com/. (Reported by Jakub Järvenpää)
- Triental, a wealth management company, based in Uppsala, Sweden, also uses Scala. Contact: Jonas Bonér, Triental AB, http://www.triental.com/
- Scala is in use at Sygneca; it was used on a number of projects, including several for the UK government over the last three years. They reportedly have further Scala use cases in the private sector. Contact: Jon Pretty, Sygneca, http://www.sygneca.com/
- AD Holdings (CCTV systems) also uses Scala. Contact: Ricky Clarkson. http://www.ad-group.co.uk/
- The company SAIC (government contracting in the USA) is using Scala on a project to provide a RESTful and XML-RPC API. Contact: Michael Fogus, SAIC, http://www.saic.com/
- A French company based in Paris, Mimesis Republic, is using Scala to develop a new MMO. Contact: Stephane Le Dorze, Technical Director, Mimesic Republic, http://www.mimesis-republic.com
- WattzOn, http://www.wattzon.com/, a social energy auditing site, is entirely coded in Scala. WattzOn is a joint effort of Synthesis Studios, a technology design firm in Boston, Massachusetts, US, http://www.synthesisstudios.com/, and Makani Power, Alameda, California, http://www.makanipower.com/home.html. Contact: Raffi Krikorian
You can use Scala to make software development more efficient in your company, just like Twitter, Siemens, and the other companies above have done. If you have already started developing Scala software for your company, and you would like to let us know more, please just send us a quick message.
Introduction | Learn Scala | In the Enterprise | Research | Community | Compiler |