Upload
friprogsenteret
View
2.356
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Use of Open Source in critical business
applications
BBS use of Open Source
David Elboth
Version 1.10
Date: 20.04.10
Tekst endres i Topp- og Bunntekst 07.05.2010
s.2s.2
Abstract
Abstract. We have identified BBS use of Open
Source over the last 5 years conducting field
studies with employees and collecting data from
14 large developments projects. This presentation
gives both method and our result. We hope this will
provide insight for the Open Source community in
what is a proven open standard for the company.
Tekst endres i Topp- og Bunntekst 07.05.2010s.3 Tekst endres i Topp- og Bunntekst 07.05.2010s.3
The BBS lecturer
• Head architect/BIS – IT-løsninger og Drift/BIS (Basis infrastruktur og drift)
E-post: [email protected]
Tlf: +47 22 89 85 06/Mob: +47 920 66 633
• My production
– Published
• 5 books on Open Source/Linux
• 140 articles on Open Source/Linux
• GPL (GNU General Public License) version of the book ”The Linux
book” (www.linuxbok.no)
• Beta site for Red Hat Linux
• Adviser for students (Bachelor/Master degree in Open Source)
• Positions
– Abeo (Acando, Leader of Open Source department)
– CIBER (Ecsoft, Leader of Open Integration department)
Tekst endres i Topp- og Bunntekst 07.05.2010s.4 Tekst endres i Topp- og Bunntekst 07.05.2010s.4
Agenda
Open Source (internal and external)
Who are using OSS (Open Source
Software)?
Well known OSS?
Our arguments for using OSS
Where do BBS use OSS?
Our use of Open Source
Our Java environment (customer solutions)
Our use of Java
Some of our restrictions
The use of Java libraries and applications
Internal code, external Open Source code
and external closed source code
OSS in our business
Conclusion
Tekst endres i Topp- og Bunntekst 07.05.2010s.5 Tekst endres i Topp- og Bunntekst 07.05.2010s.5
Who are using open source?
Everyone
Tekst endres i Topp- og Bunntekst 07.05.2010s.6 Tekst endres i Topp- og Bunntekst 07.05.2010s.6
Who are using open source?
• World's largest organizations:
– Including Google, NASA, Sabre Holdings, MS (Z-lib, Hotmail e-mail
service, *), Sun/Oracle and Cox Communications are realizing
significant cost savings by using open business-critical
enterprise applications source products to power web sites, and
packaged software.
• Well known Norwegian companies using Open Source inn
critical applications:
– BBS, Telenor, EDB, A-pressen (Zett), Oslo University etc.
– Also a well known example is the Norwegian “Forbrukerportalen”
with their website. It is interesting to note that this government
institution also is promoting open source software.
• SSB (Statistics Norway) show that over 50% of all Norwegian
software manufacturers are now using the free OSS
components in their system solutions.
(*) Contributed with Open Source code to the projects PHP and Apache
Tekst endres i Topp- og Bunntekst 07.05.2010s.7 Tekst endres i Topp- og Bunntekst 07.05.2010s.7
OSS solutions?
All types of
applications
Tekst endres i Topp- og Bunntekst 07.05.2010s.8 Tekst endres i Topp- og Bunntekst 07.05.2010s.8
Open Source in practice
• Well known user applications
– FireFox, Thunderbird, OpenOffice
• Well known server applications
– TCP/IP (DNS, NTP etc), NFS, SAMBA, Apache
– Tomcat, Jboss
• Development tools
– Gcc, Perl, Java, Eclipse, NetBeans
• Test tools
– JUnit and Fitnesse
• Operating system
– Linux, Open Solaris, BSD, “Symbian” etc
• Products started in Norway
– QT (Trolltech, Nokia)
– Varnish http cache (Linpro)
– Documentation: “Boken om Linux” (http://www.linuxbok.no/node/5)
Tekst endres i Topp- og Bunntekst 07.05.2010s.9 Tekst endres i Topp- og Bunntekst 07.05.2010s.9
Why BBS is using Open Source?
• Open Source software is an alternative to commercial software,
which has always been popular in some areas of use and is
gaining more and more visibility. For BBS it has shown to
give low cost of ownership and has generally better level
of security and interoperability. It offers a possible solution to
some fundamental problems that have vexed commercial
software like Microsoft Office, IBM WebSphere Application
Server (WAS) and Oracle with their specific license politics.
• BBS has used Open Source in many years. Over the years we
have seen that Open Source software is more stable and
easier to check than closed code. Especially when we have
technically problems its must easier to find error and fix the
error before this creates problems for our customer. This
argument has been more important than saving money on
different software license programs.
Tekst endres i Topp- og Bunntekst 07.05.2010s.10 Tekst endres i Topp- og Bunntekst 07.05.2010s.10
Our arguments for using Open Source
• Deliver faster and better service for BBS’s customer
– Controlling
• the business code and all the dependencies
– Easier to
• share internally
• improve quality for BBS
– Reduce amount of
• special knowledge needed internally
• documentation needed
• Free from
– the high cost and inflexible software
– vendor lock-in risks of traditional enterprise
software (read: reduce software cost)
• Free to outsource
– Most outsourcing partners use Open Source
– Easier for outsourcing partners to implement Open Source solutions
Tekst endres i Topp- og Bunntekst 07.05.2010s.11 Tekst endres i Topp- og Bunntekst 07.05.2010s.11
Buying Software and your restrictions
• If you have no access to the source code
– want to add a feature? No.
– want to fix a bug? No.
– want to do a security audit? No.
– want to give copies to other projects (or friends)? You can't, legally.
• You get slow deployment/implementation
• For fixes/improvements, you have to wait for the “upgrade”
• New bugs, more money, runs slower (needs new computer)
• Why do I want the source code? I can't program?
– Sure, you can't. but that dork down the hall in IT/dev can.
• Million typewriters (dev., test, doc.)."Given a large enough beta-tester and
co-developer base, almost every problem will be characterized quickly and
the fix will be obvious to someone." The rule was formulated and named by
Eric S. Raymond in his essay "The Cathedral and the Bazaar".
• Somebody will find that obscure bug or security hole
Tekst endres i Topp- og Bunntekst 07.05.2010s.12 Tekst endres i Topp- og Bunntekst 07.05.2010s.12
Requirements for success for using Open Source?
One of Open Source’s most touted benefits is its price. Download the
software, install it? And don’t pay a penny?
• The Open Source success in BBS is believed to be a result of:
– Developer with high competence in java
– Developer/sysadmin with high competence Open Source
products
– Developers/sysadmin willing to learn (self learn) new products
– BBS developer has the possibility to allocate 10% of work time to
private Open Source activities
• We are self-reliant with in-house expertise on our basic needs.
• Important to have guidelines for use of Open Source
– Choose products that will live on ….
• Time and Money Code Library
– timeandmoney-v0_5_1.jar (2006)
free beer,
free download, etc
Tekst endres i Topp- og Bunntekst 07.05.2010s.13 Tekst endres i Topp- og Bunntekst 07.05.2010s.13
Where do BBS use Open Source?
• The use of Open Source has over the years has grown. Today
open source is vital part of the business logic of BBS. In
nearly every division you will find use of Open Source including
development, deployment, test and production.
• Today BBS has a IBM Mainframe and HP Nonstop
environment and a traditional UNIX environment with about 720
servers distributed on 200 Linux, 400 Solaris hosts. BBS
has also a traditional Windows server environment with about
100 Windows servers, but less than 10% of all new business
code is developed on .net architecture.
Tekst endres i Topp- og Bunntekst 07.05.2010s.14 Tekst endres i Topp- og Bunntekst 07.05.2010s.14
Our use of Open Source utilities I/II
• Technical architecture (web = Linux, application= Linux,
database=Solaris)
Server tools Description Users
Linux
kernel/Solaris +
GNU utilities
Basic server
utilities
Used by all
NTP, DNS, Apache Basic server
utilities
Used by all
Syslog-ng Log Used by operation
NFS Fileserver Production
Used by nearly all projects in the
development phase (“BBS software
factory”). Used by operation developers.
Postfix/smtp Mail server Production
Basically used in the projects B2B, B2C,
fakturaprint, Nordea Brukerstedsportalen
and brukerstedsportalen (DNBNOR).
Lpr Lpr server Production
Basically used in the projects B2B, B2C,
fakturaprint, Nordea Brukerstedsportalen,
brukerstedsportalen and Randsborg.
Tekst endres i Topp- og Bunntekst 07.05.2010s.15 Tekst endres i Topp- og Bunntekst 07.05.2010s.15
Our use of Open Source utilities II/II
• Well known basic utilities used in many projects are listed in the
table below:
Tools Description Users
Bash, ksh, sh Shell (scripts) Used by all projects in
development phase
Ruby Development
tool
Used by some projects for
deploy.
Vi, emacs, xemacs Editor Used by all projects in
development phase
Sed, awk, cut, perl Text tool Used by some project by
operation developers
Gcc Development
tool
Some projects also need gcc for
recompiling C and C++ utilities
and applications.
Ssh, scp, wget
(and standard
Linux commands)
Batch tools Used by operation developers
Tekst endres i Topp- og Bunntekst 07.05.2010s.16 Tekst endres i Topp- og Bunntekst 07.05.2010s.16
Our use of Java …
• BBS first java project started around 1999 but Java was first deeply rooted
when the Stay project started. In 2004 BBS started the STAY program which
main objective was to develop applications mainly written in COBOL, running
on mainframe and DB2, to java applications running on PC/Intel Linux with
Oracle as the preferred database.
• Since the first java project in BBS the Java language has undergone many
changes. In addition to the language changes, much more dramatic changes
have been made to the Java class library over the years. Many of the original
JDK 1.0 classes and methods have been deprecated. A consequence of this is
that BBS does not support lower versions of Java than JDK 1.4. A Linux
application server will therefore support different versions of Java from JDK 1.4
to 1.x.
Tekst endres i Topp- og Bunntekst 07.05.2010s.17 Tekst endres i Topp- og Bunntekst 07.05.2010s.17
Restrictions using Java …
• Negative experience with JAVA EE-application server like IBM WebSphere
Application Server and its ESB implementation (Enterprise Service Bus). JEE
has traditionally been a path to vendor lock-in even though specifications are
free and open.
– This has led us to a server solution based on the open source
servlet container jetty and tomcat.
– No message queue infrastructure will be based JMS and no message queue
infrastructure will be based on SIBus. All message queue should be based on a
revised implementation of meldingspumpe (1).
• Use of Open Source Java libraries
– Small products (less than 10.000 lines) with APL, MIT, BSD
licenses can be used at team’s discretion
– Products using GPL and LGPL must be formally evaluated
(1) Virgin and Vocalink
Tekst endres i Topp- og Bunntekst 07.05.2010s.18 Tekst endres i Topp- og Bunntekst 07.05.2010s.18
The use of Java libraries and applications
The table lists
important open source
products/libraries in
use for java projects at
BBS.
Library group About Used in
Java standard
library
The java platform All projects
Springframework Enterprise java
platform covers
most of the stack
All projects
Apache-commons Large collection of
utility libraries
covering most
areas
All projects
Hibernate ORM framework Most projects
Jetty Web application
server
Most projects, Nettbank,
Kundeportalen, BW
Tomcat (1) Web application
server
Some projects
c3po Database
Connection
pooling
Most projects
Junit Unit test
framework
All projects
Log4j Logging
framework
Most projects
Jdom XML data Most projects
Fitnesse (1) Functional testing
tool
Many projects
Maven (1) Build tool Most projects
Eclipse (1) Ide Most developers
Hudson (1) Build server Most projects
Subversion (1) Source control Sentralized, most projects
Nexus (1) Artifact repository
manager
Sentralized, most projects
(1) Defined as application
Tekst endres i Topp- og Bunntekst 07.05.2010s.19 Tekst endres i Topp- og Bunntekst 07.05.2010s.19
Conclusion (I/III)
• Our statistics on our application code (java):
• The external closed code is reduced day by day as we convert our
code from WAS to Jetty.
Internal code (%)
18 %
External open-source
code (%)75 %
External closed
code (%)7 %
Code in use
Tekst endres i Topp- og Bunntekst 07.05.2010s.20 Tekst endres i Topp- og Bunntekst 07.05.2010s.20
Conclusion (II/III)
• The open-source success in BBS is believed to be a result of our
internal high competence in java Open Source products.
• Continuous investment in this competency is a success factor for
future Open Source strategy.
• A key to our development process is Maven. Manage a project's build
with control of external dependencies
– Reporting and documentation; (project.xml - build ).
– Manages (and downloads) any third party jars.
– Gives freedom when it comes to IDE (Integrated development
environment), test frameworks, build-servers, environment and deployment
strategy.
• We have established a best practice for obtaining and use of Open
Source libraries
Tekst endres i Topp- og Bunntekst 07.05.2010s.21 Tekst endres i Topp- og Bunntekst 07.05.2010s.21
Conclusion (III/III)
• From our statistical material you will find that most of our
projects are based on:
– Linux on web and applications servers
– The development environment is based on Java (JDK)
– Different GNU tools (development, deployment, test and
production)
– Subversion as version control
– Hudson as build server
– The test environment is based on Junit, Fitnesse and Selenium
– Jetty as web application server
Tekst endres i Topp- og Bunntekst 07.05.2010s.22 Tekst endres i Topp- og Bunntekst 07.05.2010s.22
Contribution to this presentation
• The following persons have made a contribution
– Bjørn Nordlund
– Jan Helge Salvesen
– Inge F.S. Johnsen
– Leif John Korshavn
– Stian Grenborgen
– Truls Thirud
• Internal quality control:
– Arild Endresen
– Reier Pytte
– Andreas Sollund
– Roar Kløften
– Stian Blomquist
– Michael Sundt