• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Would Mr. Spok choose Open Source

Would Mr. Spok choose Open Source



Lessons learned from 8 years of field experience with Open Source for commercial web applications.

Lessons learned from 8 years of field experience with Open Source for commercial web applications.



Total Views
Views on SlideShare
Embed Views



2 Embeds 8

http://www.linkedin.com 7
https://www.linkedin.com 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Would Mr. Spok choose Open Source Would Mr. Spok choose Open Source Presentation Transcript

    • Would Mr. Spok choose Open Source? Ing. Jan Vlčinský GIS Ostrava 2009: 28.1.2009 Lessons learned from 8 years of field experience with Open Source platform for commercial web applications ???
    • Jan Vlčinský and Open Source
      • Running own SW development company since 1992
      • Last 8 years
        • Commercial web applications
        • Based on Open Source platform
        • Traffic Information processing
      • Nowadays - single as a freelance analyst
        • Traffic Information IS
        • SW development
    • Your and mine wishes
        • Be expert in new technologies
        • Investigate new posibilities
        • Build "nice-looking" solutions
        • Deliver great functionality
        • Please our clients
        • Complete projects on time and budget
        • Make our living
      • Our wishes are our problem
    • Who are we?
      • Student
      • Researcher
      • SW developer
      • Enterpreneur
      • How are our wishes compatible with our role?
      • Today topic: How to fulfill our real mission
      • Using Open Source, how to:
      • Safely complete the task
      • Take advantages available
      • Prevent distractions
      • Be efficient
      • I will try to answer these questions
    • Now serious topics
      • Overview of
        • Our projects
        • Technologies used
      • Requirements for Commercial web application
        • Technical
        • Business
      • Lessons learned - practical advice
    • Time, projects and technologies
      • PHP+Firebird
        • 2001-2003
      • Java (+Tomcat+JBoss)
        • 2003-2005
      • +GIS (+RichWeb)
        • 2005-2008
    • Application types
      • User interaction
        • Up to 720 users
      • Using digital maps
      • Realtime
      • Import/Export/Distribute
        • import from 3 systems
        • Export to 10 systems
    • Languages and platform
      • PHP + Java
      • Firebird + PostgreSQL+PostGIS
      • Tomcat+Turbine+ JbossAS+JBossESB
      • Business reqs and prefs for Commercial web application
      • Licencing
        • Prefer open source solutions
        • Allow to develop closed source application
        • Strictly follow license agreements
      • Programmer and overall Productivity
        • this is longer story, next page...
    • Programmer and overall Productivity
        • Keep set of technologies minimal and simple .
        • Reliable components
        • Provide enough functional tools
        • Platform must not require too much fine tuning
        • Platform stable in time .
        • Available programmers for given technology
        • Reachable technical support
        • Stick to standards to allow component exchange
    • Technical reqs and prefs Areas
      • General Requirements
      • Environment
      • Map related
      • User friendly interface
      • Performace
      • Manageability
      • Illustrated on - Creating and processing Traffic Information at Czech Police
    • General Technical Requirements
      • Web application
      • Pure web browser (no add-ins)
      • Data persistence
      • simply „commercial web application“
    • Environment Requirements
      • Integrate with client Identity system
      • Run in isolated Intranet
      • Interact with outer systems
      • Run on MS Windows as well as on Linux
    • Map related requirements
      • Show interactive maps.
      • Show custom maps
      • Full text search in maps.
      • Allow updating maps few times a year
    • User friendly interface
      • Provide Rich web UI
        • Nice
        • Responsive (AJAX)
      • Notify user about server events
        • UI automatically changes according to data changed on server: „server push“
    • Performace requirements
      • Handle 50 concurrent users on today HW
      • Failover capability
      • Archive and clean old data
      • Optimize for limited bandwidth
      • Scalability
    • Manageability requirements
      • Easy license management
      • Allow monitoring parameters
      • Provide monitoring system
    • Summary of (quite numerous) Technical requirements
      • General technical
        • Web application
        • No add-ins
        • Data persistence.
      • Environment
        • Integrate with Identity system.
        • Run in isolated Intranet.
        • Interact with outer systems.
        • MS Windows + Linux
      • Map related
        • Interactive maps.
        • Custom maps
        • Full text search
        • Updating maps
      • User friendly interface
        • Provide Rich web UI.
        • Notify user about server events
      • Performace
        • Handle 50 concurrent users on today HW
        • Failover capability.
        • Archive and clean old data
        • Optimize for limited bandwidth.
        • Scalability.
      • Manageability
        • Easy license management.
        • Allow monitoring parameters.
        • Provide monitoring system.
    • Galery of our projects
      • DIZAS and DIS
      • Traffic News v1
      • National Traffic Information Center
      • Prokop (RDS TMC)
      • eRDIS
      • Traffic News v2
      • CDI2 and CDI3
    • DIZAS and DIS
      • Collect, process and distribute traffic information
      • No maps yet.
        • PHP allows building complex solutions, but has limits
        • Firebird  works well to certain scale, with growing number of transactions and records, performance drops
        • Java Applets are tricky
        • Apache web server works betterthen IIS:
        • Linux on server is stable
    • Traffic News v1
      • Show traffic information to end users.
      • No maps yet.
      • PHP + Firebird for “preview simple data” application work nice.
      • Simplicity is nice.
    • (NTIC) National Traffic Information Center
      • Allow entering and viewing traffic information to 250 institutions and 720 users.
      • No maps yet.
      • Java as a language is forcing to code in clean and tidy way. Suitable for longer and bigger projects.
      • Apache Turbine framework was surprisingly very functional.
      • Triactive JDO for object persistence was excellent.
    • Prokop (RDS TMC)
      • Broadcast traffic information for navigation systems using RDS TMC technology.
        • Java and JBoss AS is well suited for real time with messaging.
        • Java and real time works excellently
        • PostgreSQL on MS Windows works
        • JDO pays back in database portability
        • LTS Linux distribution would be better
    • eRDIS
      • Collect, process and distribute traffic information
      • Digital maps used.
        • DWR and AJAX works well.
        • JBoss AS proved suitability for web applications.
        • ActiveMQ and JBossMQ: JMS is worth to trust.
        • Deegree WMS , real performace needs cashed images.
        • Speed of Lucene full text search is astonishing.
        • JGraphT for path finding: very responsive
        • PostgreSQL and PostGIS : Just take it.
    • Traffic News v2
      • Show traffic information to end users.
      • Using digital maps.
      • Adopting EJB3 too early.
      • Apache XMLBeans have simplified many tasks for XML (XML structures, data population, serialization, validation)
    • CDI2 and CDI3
      • Collect, export, distribute, import and utilize traffic information at Czech police.
        • JPA (EJB3 Persistency) already works.
        • JBossESB : works and very promissing. Allows splitting architectire.
        • Smooks : framework for transforming streams of data to various formats. Very prommising, but too early in JBossESB (nowadays probably ok).
        • Quartz is excellent schedulling component.
    • Featured Open Source projects
      • There are too many, see conference proceedings
      • Operating system, Programming Language, Database Systems, Object-relational mapping (ORM), Application Server, Messaging (JMS), Messaging (ESB), AJAX, OGC WMS - Web Map Server, Web map client, Templating, Fulltext, Scheduler, Geo and topo calculations, Monitoring
      • God bless all the originators and authors.
      • Thank you!!!
    • Lessons Learned
      • Real meaning of Open Source
      • Balancing offerings and needs
      • Anticipating future
      • Consider less upgrades
      • Use advantages of Open Source
      • Develop personal discipline
      • Preventing unnecessary troubles
    • Real meaning of Open Source
      • Open Source platform works
        • Gallery of our projects is a proof
      • Choose commercial friendly licence
        • GNU LGPL, Apache 2.0 License, and BSD License.
        • GNU GPL with Linking exception might be used
        • Standalone systems (Nagios, Linux) can go GNU GPL
    • Balancing Offerings and needs
      • There are many open source components available
        • See references.
      • Use complete, but minimal set of technologies
        • Going too wide and wild fails in future.
        • Do not behave as an expert, but as an enterpreneur.
      • Adopting too early is expensive
        • Evaluate carefully and ask others.
        • It might happen sometime.
    • Anticipating the future
      • Expect your solutions to grow
        • Example Firebird
        • Example Scaling JBoss
      • Try to be OS independent
        • Windows is sometime required.
        • Use portable technologies.
    • Consider less upgrades
      • Preffer creating solution for client over being at the bleeding edge with technology.
      • Sometime you are forced to upgrade.
      • Just upgrade conciously .
    • Lessons Learned: Summary
      • Open Source works
      • Be business-like regardles of Open/Closed source platform.
      • Top 3 recommendations
        • Choose complete, but minimal number of technologies
        • Consider less upgrades
        • Do not adopt new technologies too early
      • What would Mr. Spok answer?
    • Would Mr. Spok choose Open Source? Better question: How would Mr. Spok adopt Open Source platform? YES!
    • What to do next?
      • See my paper in conference proceedings
        • 26 pages
        • 58 references
        • 54 terms and abbreviations explained
        • 15 recommendations
      • What can I do for you?
        • As a freelance analyst I offer you my advice, products or partnership.
    • Throw here your Questions
    • Thank you
      • Ing. Jan Vlčinský
      • www.cad-programs.com
      • [email_address]
      • [email_address]