Software Development Trends 2010-2011


Published on

Presentation as a guest at City College of upcoming Software Development trends in 2010-2011 at 24/01/2010.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Development Trends 2010-2011

  2. 2. Contact Details <ul><ul><li>Charalampos Arapidis </li></ul></ul><ul><ul><li>[email_address] </li></ul></ul><ul><ul><li>OTS S.A. Employee </li></ul></ul><ul><ul><li>Senior Software Developer </li></ul></ul>
  3. 3. Past Trends that failed to pick up <ul><ul><li>Java FX – epic fail </li></ul></ul><ul><ul><li>Sun’s software platform for creating RIAs </li></ul></ul><ul><ul><li>OOXML – global fail </li></ul></ul><ul><ul><li>Office Open XML file format </li></ul></ul>
  4. 4. Trends in 2010 <ul><ul><li>Agile Project Management + OSS </li></ul></ul><ul><ul><li>eGif eGovernment Interoperability Framework </li></ul></ul><ul><ul><li>Web Applications – HTML 5 </li></ul></ul>
  5. 5. Agile and OSS <ul><ul><li>Is Agile a trend? </li></ul></ul><ul><ul><li>Open Source Software: maturity and stability </li></ul></ul><ul><ul><li>Agile principles, benefits, adoption rate increase </li></ul></ul><ul><ul><li>Flexible OSS enables better agile implementation </li></ul></ul>
  6. 6. Agile Project Management
  7. 7. Open Source Software
  8. 8. Characteristics of the Agile Methodology <ul><ul><li>Based on iterative development </li></ul></ul><ul><ul><li>Emphasizes on building releasable software in short time periods </li></ul></ul><ul><ul><li>The project undergoes frequent inspection and adaptation </li></ul></ul><ul><ul><li>Customer collaboration – requirements’ changes are expected and welcomed. </li></ul></ul><ul><ul><li>Continuous delivery of working software </li></ul></ul><ul><ul><li>Constant communication between members of a self-organized team </li></ul></ul><ul><ul><li>Regular adaptation to changing circumstances </li></ul></ul>
  9. 9. Agile Manifesto The Four Values of Agile <ul><ul><li>Individuals and interactions over processes and tools </li></ul></ul><ul><ul><li>Working software over comprehensive documentation </li></ul></ul><ul><ul><li>Customer collaboration over contract negotiation </li></ul></ul><ul><ul><li>Responding to change over following a plan </li></ul></ul>
  10. 10. The Agile Process
  11. 11. Why Agile <ul><ul><li>Delivers Business value early – stakeholders are happy </li></ul></ul><ul><ul><li>Reactive and adaptive to changes in requirements </li></ul></ul><ul><ul><li>Responsiveness to changing needs and understanding </li></ul></ul><ul><ul><li>Predictable reliable results </li></ul></ul><ul><ul><li>Greater communication and interaction among team members improves skill building </li></ul></ul><ul><ul><li>Mature and open source Project Management Tools </li></ul></ul>
  12. 12. 6 Dimensions of Economic & Organizational ROI ( these SHOULD be Measured ) <ul><ul><li>Improved Efficiency due to optimized process </li></ul></ul><ul><ul><li>Higher Productivity due to improved morale </li></ul></ul><ul><ul><li>Cost Control due to Superior On-Time Performance </li></ul></ul><ul><ul><li>Higher Quality due to improved Defect Removal </li></ul></ul><ul><ul><li>Benefit Improvement due to Integral Customer Feedback </li></ul></ul><ul><ul><li>Benefit Acceleration due to Incremental Delivery </li></ul></ul>
  14. 14. Conclusion <ul><ul><li>Agile: a misunderstood methodology </li></ul></ul><ul><ul><li>Companies ready to give up Command-and-Control for Agile teams </li></ul></ul><ul><ul><li>Flexible OSS makes easier to follow Agile practices </li></ul></ul>
  15. 15. eG overnment I nteroperability F ramework <ul><ul><li>Today’s Information Age offers the possibility of communication across borders. </li></ul></ul><ul><ul><li>The need to standardise and allow for interoperability is growing. </li></ul></ul><ul><ul><li>IDABC stands for  I nteroperable  D elivery of European eGovernment Services to public  Administrations , Businesses  and  Citizens . </li></ul></ul><ul><ul><li>The European Interoperability Framework supports the European Union's strategy of providing user-centred eGovernment services by facilitating, at a pan-European level, the interoperability of services and systems  </li></ul></ul>
  16. 16. eG overnment I nteroperability F ramework <ul><ul><li>What is eGif </li></ul></ul><ul><ul><li>Basic principles and standards of the framework </li></ul></ul><ul><ul><li>Modeling government’s infrastructure </li></ul></ul><ul><ul><li>O.T.S. Case Study </li></ul></ul>
  17. 17. eGif A common platform for developing services <ul><li>An effort to standardize the way e-Services are implemented in order to enable interoperability and communication. </li></ul><ul><li>Semantic representation of the Government’s Authorities at service and data level. </li></ul><ul><li>Basic Principles </li></ul><ul><ul><li>Reusablity </li></ul></ul><ul><ul><li>Flexibility </li></ul></ul><ul><ul><li>Standards </li></ul></ul><ul><ul><li>Security </li></ul></ul>
  18. 18. Standards of the eGif <ul><ul><li>XML Signature XML-Dsig & Encryption </li></ul></ul><ul><ul><li>Public Key Infrastructure ( PKI ) </li></ul></ul><ul><ul><li>BPEL </li></ul></ul><ul><ul><li>UML 2.0 </li></ul></ul><ul><ul><li>XSD XML XSLT – W3C </li></ul></ul><ul><ul><li>WSDL + SOAP </li></ul></ul>
  19. 19. Modeling the real world
  20. 20. Modeling produces Common Language <ul><ul><li>Each European state registers by priority physical services and forms exposed to the Citizen. </li></ul></ul><ul><li>The real world interaction between the Citizen and the Government’s Organizations translates to : </li></ul><ul><ul><li>Business Objects ( Business Information Entities ) </li></ul></ul><ul><ul><li>Activity Diagrams </li></ul></ul><ul><ul><li>Data Models ( xsd schemas ) </li></ul></ul><ul><ul><li>Metadata ( approved Data Types and Codelists ) </li></ul></ul>
  21. 21. How the components connect and relate to the xsd and xml schemas.
  22. 22. Core Components & Business Information Entities example
  23. 23. The Citizen Entity
  24. 24. Qualified Datatype extension
  25. 25. Qualified Datatype base
  26. 26. Marital status Codelist <xs:simpleType name=&quot;MaritalConditionCodeContentType&quot;> <xs:restriction base=&quot;xs:token&quot;> <xs:enumeration value=&quot;1&quot;> <xs:annotation> <xs:documentation xml:lang=&quot;eng&quot;> <ccts:Name>Single</ccts:Name> </xs:documentation> <xs:documentation xml:lang=&quot;ell&quot;> <ccts:Name>Άγαμος, Ανύπανδρος</ccts:Name> </xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value=&quot;2&quot;> <xs:annotation> <xs:documentation xml:lang=&quot;eng&quot;> <ccts:Name>Married</ccts:Name> </xs:documentation> <xs:documentation xml:lang=&quot;ell&quot;> <ccts:Name>Έγγαμος, Παντρεμένος</ccts:Name> </xs:documentation> </xs:annotation> </xs:enumeration> .. </xs:simpleType>
  27. 27. Real use case: The Coverletter The cover letter communicated between two (or more) public authorities regarding an issue of common interest or that mutually affects them.
  28. 28. Coverletter : root of the xsd schema
  29. 29. Coverletter : xsd definitions
  30. 30. The Services The services communicate using SOAP messages. The XML data of the messages validate against the xsd schemas to ensure data integrity and validity.
  31. 31. Conclusion <ul><ul><li>eGif – a complete global framework </li></ul></ul><ul><ul><li>A Paradigm for reusability and standardization </li></ul></ul><ul><ul><li>Not for eGovernment services only </li></ul></ul><ul><ul><li>Provides a solid ground for any project </li></ul></ul>
  32. 32. HTML 5.0 <ul><ul><li>Aim of the new spec. Is it necessary? </li></ul></ul><ul><ul><li>What happened in 2009? </li></ul></ul><ul><ul><li>Participants and Supporters </li></ul></ul><ul><ul><li>Features and Components </li></ul></ul>
  33. 33. What happened in 2009 <ul><ul><li>Google gears up for HTML 5 </li></ul></ul><ul><ul><li>Mozilla Firefox 3.5 has been released with HTML 5 support </li></ul></ul><ul><ul><li>Microsoft joins HTML 5 standard </li></ul></ul>
  34. 34. HTML 5.0 the proposed next standard for HTML 4.01, XHTML 1.0 <ul><li>HTML5 aims to </li></ul><ul><ul><li>reduce the need for proprietary plug-in-based rich Internet application (RIA) technologies such as Adobe Flash , Microsoft Silverlight , and Sun JavaFX . </li></ul></ul>
  35. 35. WHATWG : Web Hypertext Application Technology Working Group <ul><ul><li>The specification is an ongoing work </li></ul></ul><ul><ul><li>The specification’s draft became final as of October 2009 </li></ul></ul><ul><ul><li>Incorporates Web Forms 2.0 spec </li></ul></ul><ul><ul><li>Main editors of the spec: Google & Apple </li></ul></ul>
  36. 36. How it all started <ul><ul><li>Need for complex and rich interfaces </li></ul></ul><ul><ul><li>Presentational elements deprecated </li></ul></ul><ul><ul><li>Emphasis on the importance of DOM Scripting in Web Behavior </li></ul></ul><ul><ul><li>Introduction of new elements – semantic replacements for generic and meaningless tags </li></ul></ul>
  37. 37. Some of the new features <ul><ul><li>Offline Storage – cookies at a whole new level </li></ul></ul><ul><ul><li>Document – region editing </li></ul></ul><ul><ul><li>Management of the browser history – the Back button was always a big problem. </li></ul></ul><ul><ul><li>Elements: drag’n’drop, calendar, progress, section, header etc </li></ul></ul>
  38. 38. Google’s VP states: &quot;we're betting big on HTML 5.&quot;
  39. 39. Current Browser Support implemented or emulated
  40. 40. Advanced features <ul><ul><li>Application caches: the developer can declare which resources the browser to cache – better control over caching, less bandwidth “wasted” – ability to “save” application locally and run offline. </li></ul></ul><ul><ul><li>Client-side Javascript database support : easy to build offline apps 10mb local storage </li></ul></ul><ul><ul><li>Web Workers: Background Threading mechanisms available to the browser – 10x faster execution. </li></ul></ul>
  41. 41. Features <ul><ul><li>Real apps in the browser . APIs for in-browser editing, drag and drop, back button “waypoints,” and other graphical user interface abilities – calendar, progressbar etc. </li></ul></ul><ul><ul><li>Content presentation tags will be phased out , we have CSS for this </li></ul></ul><ul><ul><li>Rich animations without plug-ins. The canvas element gives the browser the ability to draw vector graphics . This means configurable, automatic graphs and illustrations right in the browser without Flash or Silverlight. Some support for canvas is already in all the latest browsers except for IE </li></ul></ul>
  42. 42. Features <ul><ul><li>Localized databases . This feature, when implemented, automatically embeds a local SQL database websites can read and write to, speeding up interactive searching , cacheing and indexing functions, or for offline use of web apps that rely on data requests. </li></ul></ul><ul><ul><li>A new, sensible tagging strategy. Instead of bundling all multimedia into object or embed tags, video goes in video tags . Audio goes in audio tags, and so on. </li></ul></ul>
  43. 43. The canvas element it is not an image, it is a vector
  44. 44. Progress element <progress value=&quot;250&quot;max=&quot;1000&quot;>
  45. 45. <ul><ul><li>Creates an autocomplete input field! </li></ul></ul><ul><li><input type=&quot;text&quot; name=&quot;favCharacter&quot; list=&quot;characters&quot;> </li></ul><ul><li><datalist id=&quot;characters&quot;> </li></ul><ul><li><option value=&quot;Homer Simpson&quot;> </li></ul><ul><li><option value=&quot;Bart&quot;> </li></ul><ul><li><option value=&quot;Fred Flinstone&quot;> </li></ul><ul><li></datalist> </li></ul><ul><li></input> </li></ul>Datalist
  46. 46. Datagrid <ul><ul><li>In a datagrid, data is structured as a set of rows representing a tree, each row being split into a number of columns. </li></ul></ul><ul><ul><li>Enables row selection and selection model e.g. multiple=&quot;multiple&quot; means user can select multiple rows </li></ul></ul><ul><ul><li>And supports all global HTML 5 attributes such as </li></ul></ul><ul><ul><li>contetneditable </li></ul></ul><ul><ul><li>contextmenu </li></ul></ul><ul><ul><li>draggable </li></ul></ul><ul><ul><li>etc.. </li></ul></ul>
  47. 47. Experimental Appliances <ul><ul><li>Youtube built entirely in HTML 5 – ( no flash ) </li></ul></ul><ul><ul><li>Offline Gmail in mobile browser </li></ul></ul>
  48. 48. HTML 5 : Good news for the developer
  49. 49. JSF – HTML <ul><ul><li>Date selector </li></ul></ul><ul><ul><li>Autocomplete input field </li></ul></ul>
  50. 50. Date Selector <ul><li>JSF </li></ul><ul><ul><li>The component is not implemented </li></ul></ul><ul><ul><li>Extend UIInput </li></ul></ul><ul><ul><li>Create new tag and taghandler </li></ul></ul><ul><ul><li>Implement the renderer and the encode-decode methods – ( localization ) </li></ul></ul><ul><ul><li>Inject and cache necessary javascript and css files – ( bandwidth ) </li></ul></ul><ul><ul><li>Test test test </li></ul></ul><ul><li>HTML </li></ul><ul><ul><li>The component is built in the browser </li></ul></ul><ul><ul><li>UI is implemented by the browser following the spec </li></ul></ul><ul><ul><li>Automatic locale detection or </li></ul></ul><ul><ul><li>Retrieve from the offline storage </li></ul></ul><ul><ul><li>No bandwidth loss </li></ul></ul>
  51. 51. Autocomplete input field <ul><ul><li>Autocomplete + much data = bad user experience </li></ul></ul><ul><ul><li>No need for arcane javascript and weird css, </li></ul></ul><ul><ul><li>It is the browser’s responsibility to create the UI </li></ul></ul><ul><ul><li>Suggestion values can be stored offline and observed </li></ul></ul><ul><ul><li>Reduce / nullify application server and DB hits </li></ul></ul>
  52. 52. Conclusion <ul><ul><li>Designed with Web Apps in mind </li></ul></ul><ul><ul><li>Backed up by major software companies </li></ul></ul><ul><ul><li>Not another abstract W3C spec </li></ul></ul><ul><ul><li>Holy Grail of Web Authoring? </li></ul></ul>
  53. 53. Other trends <ul><ul><li>jQuery: write less do more </li></ul></ul><ul><ul><li>JSF 2: ajax enabled, components composition </li></ul></ul><ul><ul><li>J2EE6: Bean Validation, CDI, Servlet 3 </li></ul></ul>
  54. 54. EOF <ul><ul><li>More companies adopt Agile, use OSS to apply best practices </li></ul></ul><ul><ul><li>Promotion to establish the concept of interoperable systems at pan-European level </li></ul></ul><ul><ul><li>HTML 5 spec targets Web Applications with user experience and ease of development being top priorities </li></ul></ul>