Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GoOpen 2010: David Elboth

  • Login to see the comments

  • Be the first to like this

GoOpen 2010: David Elboth

  1. 1. Use of Open Source in critical business applications BBS use of Open Source David Elboth Version 1.10 Date: 20.04.10
  2. 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.2010 s.2
  3. 3. The BBS lecturer • Head architect/BIS – IT-løsninger og Drift/BIS (Basis infrastruktur og drift) E-post: 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” ( • 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) s.3 Tekst endres i Topp- og Bunntekst 07.05.2010
  4. 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 s.4 Tekst endres i Topp- og Bunntekst 07.05.2010
  5. 5. Who are using open source? Everyone s.5 Tekst endres i Topp- og Bunntekst 07.05.2010
  6. 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 s.6 Tekst endres i Topp- og Bunntekst 07.05.2010
  7. 7. OSS solutions? All types of applications s.7 Tekst endres i Topp- og Bunntekst 07.05.2010
  8. 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” ( s.8 Tekst endres i Topp- og Bunntekst 07.05.2010
  9. 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. s.9 Tekst endres i Topp- og Bunntekst 07.05.2010
  10. 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 s.10 Tekst endres i Topp- og Bunntekst 07.05.2010
  11. 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 s.11 Tekst endres i Topp- og Bunntekst 07.05.2010
  12. 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? free beer, free download, etc • 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) s.12 Tekst endres i Topp- og Bunntekst 07.05.2010
  13. 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. s.13 Tekst endres i Topp- og Bunntekst 07.05.2010
  14. 14. Our use of Open Source utilities I/II • Technical architecture (web = Linux, application= Linux, database=Solaris) Server tools Description Users Linux Basic server Used by all kernel/Solaris + utilities GNU utilities NTP, DNS, Apache Basic server Used by all utilities 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. s.14 Tekst endres i Topp- og Bunntekst 07.05.2010
  15. 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 Used by some projects for tool 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 Some projects also need gcc for tool recompiling C and C++ utilities and applications. Ssh, scp, wget Batch tools Used by operation developers (and standard Linux commands) s.15 Tekst endres i Topp- og Bunntekst 07.05.2010
  16. 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. s.16 Tekst endres i Topp- og Bunntekst 07.05.2010
  17. 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 s.17 Tekst endres i Topp- og Bunntekst 07.05.2010
  18. 18. The use of Java libraries and applications Library group About Used in Java standard The java platform All projects library Springframework Enterprise java All projects platform covers most of the stack Apache-commons Large collection of All projects utility libraries The table lists covering most areas important open source Hibernate ORM framework Most projects Jetty Web application Most projects, Nettbank, products/libraries in server Kundeportalen, BW Tomcat (1) Web application Some projects use for java projects at server c3po Database Most projects BBS. Connection pooling Junit Unit test All projects framework Log4j Logging Most projects framework Jdom XML data Most projects Fitnesse (1) Functional testing Many projects tool 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 Sentralized, most projects manager (1) Defined as application s.18 Tekst endres i Topp- og Bunntekst 07.05.2010
  19. 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. External closed Code in use Internal code (%) code (%) 7% 18 % External open- source code (%) 75 % s.19 Tekst endres i Topp- og Bunntekst 07.05.2010
  20. 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 s.20 Tekst endres i Topp- og Bunntekst 07.05.2010
  21. 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 s.21 Tekst endres i Topp- og Bunntekst 07.05.2010
  22. 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 s.22 Tekst endres i Topp- og Bunntekst 07.05.2010