Would Mr. Spok  choose Open Source? Ing. Jan Vlčinský GIS Ostrava 2009: 28.1.2009 Lessons learned from 8 years of field ex...
Jan Vlčinský and Open Source <ul><li>Running own SW development company since 1992 </li></ul><ul><li>Last 8 years  </li></...
Your and mine wishes <ul><ul><li>Be expert in new technologies </li></ul></ul><ul><ul><li>Investigate new posibilities </l...
Who are we? <ul><li>Student </li></ul><ul><li>Researcher </li></ul><ul><li>SW developer </li></ul><ul><li>Enterpreneur </l...
<ul><li>Today topic:  How to fulfill our real mission </li></ul><ul><li>Using Open Source, how to: </li></ul><ul><li>Safel...
Now serious topics <ul><li>Overview of </li></ul><ul><ul><li>Our projects </li></ul></ul><ul><ul><li>Technologies used </l...
 
Time, projects and technologies <ul><li>PHP+Firebird </li></ul><ul><ul><li>2001-2003 </li></ul></ul><ul><li>Java (+Tomcat+...
Application types <ul><li>User interaction </li></ul><ul><ul><li>Up to 720 users </li></ul></ul><ul><li>Using digital maps...
Languages and platform <ul><li>PHP + Java </li></ul><ul><li>Firebird + PostgreSQL+PostGIS </li></ul><ul><li>Tomcat+Turbine...
<ul><li>Business reqs and prefs for Commercial web application </li></ul><ul><li>Licencing </li></ul><ul><ul><li>Prefer op...
Programmer and overall Productivity <ul><ul><li>Keep set of technologies  minimal and simple . </li></ul></ul><ul><ul><li>...
Technical reqs and prefs Areas <ul><li>General Requirements </li></ul><ul><li>Environment </li></ul><ul><li>Map related </...
General Technical  Requirements <ul><li>Web application </li></ul><ul><li>Pure web browser (no add-ins) </li></ul><ul><li>...
Environment Requirements <ul><li>Integrate with client Identity system </li></ul><ul><li>Run in isolated Intranet </li></u...
Map related requirements <ul><li>Show  interactive  maps. </li></ul><ul><li>Show  custom  maps </li></ul><ul><li>Full text...
User friendly interface <ul><li>Provide Rich web UI </li></ul><ul><ul><li>Nice </li></ul></ul><ul><ul><li>Responsive (AJAX...
Performace requirements <ul><li>Handle 50 concurrent users on today HW </li></ul><ul><li>Failover capability </li></ul><ul...
Manageability requirements <ul><li>Easy license management </li></ul><ul><li>Allow monitoring parameters </li></ul><ul><li...
Summary of (quite numerous) Technical requirements <ul><li>General technical </li></ul><ul><ul><li>Web application </li></...
Galery of our projects <ul><li>DIZAS and DIS </li></ul><ul><li>Traffic News v1 </li></ul><ul><li>National Traffic Informat...
DIZAS and DIS <ul><li>Collect, process and distribute traffic information </li></ul><ul><li>No maps yet. </li></ul><ul><ul...
Traffic News v1 <ul><li>Show traffic information to end users. </li></ul><ul><li>No maps yet. </li></ul><ul><li>PHP + Fire...
(NTIC) National Traffic Information Center <ul><li>Allow entering and viewing traffic information to 250 institutions and ...
Prokop (RDS TMC) <ul><li>Broadcast traffic information for navigation systems using RDS TMC technology. </li></ul><ul><ul>...
eRDIS <ul><li>Collect, process and distribute traffic information </li></ul><ul><li>Digital maps used. </li></ul><ul><ul><...
Traffic News v2 <ul><li>Show traffic information to end users. </li></ul><ul><li>Using digital maps. </li></ul><ul><li>Ado...
CDI2 and CDI3 <ul><li>Collect, export, distribute, import and utilize traffic information at Czech police. </li></ul><ul><...
Featured  Open Source projects <ul><li>There are too many, see conference proceedings </li></ul><ul><li>Operating system, ...
Lessons Learned <ul><li>Real meaning of Open Source </li></ul><ul><li>Balancing offerings and needs </li></ul><ul><li>Anti...
Real meaning of Open Source <ul><li>Open Source platform works </li></ul><ul><ul><li>Gallery of our projects is a proof </...
Balancing  Offerings and needs <ul><li>There are  many open source components  available </li></ul><ul><ul><li>See referen...
Anticipating the future <ul><li>Expect your solutions to grow </li></ul><ul><ul><li>Example Firebird </li></ul></ul><ul><u...
Consider less upgrades <ul><li>Preffer creating solution for client  over being at the bleeding edge with technology. </li...
Lessons Learned: Summary <ul><li>Open Source works </li></ul><ul><li>Be business-like  regardles of Open/Closed source pla...
Would Mr. Spok  choose Open Source? Better question: How  would Mr. Spok  adopt  Open Source platform? YES!
What to do next? <ul><li>See my paper in conference proceedings </li></ul><ul><ul><li>26 pages </li></ul></ul><ul><ul><li>...
Throw here your  Questions
Thank you <ul><li>Ing. Jan Vlčinský </li></ul><ul><li>www.cad-programs.com </li></ul><ul><li>[email_address] </li></ul><ul...
Upcoming SlideShare
Loading in …5
×

Would Mr. Spok choose Open Source

489 views

Published on

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

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
489
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Would Mr. Spok choose Open Source

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

×