際際滷

際際滷Share a Scribd company logo
S OFTWARE  D EVELOPMENT  T RENDS  2010
Contact Details Charalampos Arapidis [email_address] OTS S.A. Employee Senior Software Developer
Past Trends that failed to pick up Java FX  epic fail Suns software platform for creating RIAs OOXML  global fail Office Open XML file format
Trends in 2010 Agile Project Management + OSS eGif eGovernment Interoperability Framework Web Applications  HTML 5
Agile and OSS Is Agile a trend? Open Source Software: maturity and stability Agile principles, benefits, adoption rate increase Flexible OSS enables better agile implementation
Agile Project Management
Open Source Software
Characteristics of the Agile Methodology Based on iterative development Emphasizes on building releasable software in short time periods  The project undergoes frequent inspection and adaptation Customer collaboration  requirements changes are expected and welcomed. Continuous delivery of working software Constant communication between members of a self-organized team Regular adaptation to changing circumstances
Agile Manifesto The Four Values of Agile Individuals and interactions  over processes and tools  Working software  over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan
The Agile Process
Why Agile Delivers Business value early  stakeholders are happy Reactive and adaptive to changes in requirements Responsiveness to changing needs and understanding Predictable reliable results Greater communication and interaction among team members improves skill building Mature and open source Project Management Tools
6 Dimensions of Economic & Organizational ROI ( these SHOULD be Measured ) Improved Efficiency   due to optimized process Higher Productivity  due to improved morale Cost Control  due to Superior On-Time Performance Higher Quality  due to improved Defect Removal Benefit Improvement  due to Integral Customer Feedback Benefit Acceleration  due to Incremental Delivery
AN  AGILE  TEAM IN A  NON-AGILE   ENVIRONMENT  WILL  NOT  SURVIVE
Conclusion Agile: a misunderstood methodology Companies ready to give up Command-and-Control for Agile teams Flexible OSS makes easier to follow Agile practices
eG overnment  I nteroperability  F ramework Todays Information Age offers the possibility of communication across borders.  The need to standardise and allow for interoperability is growing.  IDABC stands for I nteroperable D elivery of European eGovernment Services to public Administrations , Businesses and Citizens .  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
eG overnment  I nteroperability  F ramework What is eGif Basic principles and standards of the framework Modeling governments infrastructure O.T.S. Case Study
eGif A common platform for developing services An effort to standardize the way e-Services are implemented in order to  enable interoperability  and communication. Semantic representation of the Governments Authorities at service and data level.   Basic Principles Reusablity Flexibility Standards Security
Standards of the eGif XML Signature XML-Dsig & Encryption Public Key Infrastructure ( PKI ) BPEL UML 2.0 XSD XML XSLT  W3C WSDL + SOAP
Modeling the real world
Modeling produces  Common Language Each European state registers by priority physical services and forms exposed to the Citizen. The real world interaction between the Citizen and the Governments Organizations translates to : Business Objects  ( Business Information Entities ) Activity Diagrams  Data Models  ( xsd schemas ) Metadata  ( approved Data Types and Codelists )
How the components  connect  and  relate  to the xsd and xml schemas.
Core Components & Business Information Entities example
The Citizen Entity
Qualified Datatype extension
Qualified Datatype base
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>
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.
Coverletter : root of the xsd schema
Coverletter : xsd definitions
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.
Conclusion eGif  a complete global framework A Paradigm for reusability and standardization Not for eGovernment services only Provides a solid ground for any project
HTML 5.0 Aim of the new spec. Is it necessary? What happened in 2009? Participants and Supporters Features and Components
What happened in 2009 Google gears up for HTML 5 Mozilla Firefox 3.5 has been released with HTML 5 support Microsoft joins HTML 5 standard
HTML 5.0 the proposed next standard for HTML 4.01, XHTML 1.0   HTML5 aims to  reduce the need for proprietary  plug-in-based   rich Internet application  (RIA) technologies such as  Adobe Flash ,  Microsoft Silverlight , and Sun  JavaFX .
WHATWG  :  Web Hypertext Application Technology Working Group   The specification is an ongoing work The specifications draft became final as of October 2009  Incorporates Web Forms 2.0 spec Main editors of the spec:  Google  &  Apple
How it all started Need for complex and rich interfaces Presentational elements deprecated Emphasis on the importance of DOM Scripting in Web Behavior Introduction of new elements  semantic replacements for generic and meaningless tags
Some of the new features Offline Storage  cookies at a whole new level Document  region editing Management of the browser history  the Back button was always a  big problem. Elements:  dragndrop, calendar, progress, section, header etc
Googles  VP states:  &quot;we're betting big on HTML 5.&quot;
Current Browser Support implemented or emulated
Advanced features 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. Client-side Javascript database support :   easy to build offline apps 10mb local storage Web Workers:  Background   Threading mechanisms available to the browser  10x faster execution.
Features 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.  Content  presentation tags  will be phased  out , we have  CSS  for this 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
Features 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.  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.
The canvas element it is not an image, it is a  vector
Progress element <progress value=&quot;250&quot;max=&quot;1000&quot;>
Creates an autocomplete input field! <input type=&quot;text&quot; name=&quot;favCharacter&quot; list=&quot;characters&quot;> <datalist id=&quot;characters&quot;> <option value=&quot;Homer Simpson&quot;> <option value=&quot;Bart&quot;> <option value=&quot;Fred Flinstone&quot;> </datalist> </input> Datalist
Datagrid In a datagrid, data is structured as a set of rows representing a tree, each row being split into a number of columns.  Enables row selection and selection model e.g.  multiple=&quot;multiple&quot;  means user can select multiple rows And supports all global HTML 5 attributes such as contetneditable contextmenu draggable etc..
Experimental Appliances Youtube built entirely in HTML 5  ( no flash ) Offline Gmail in mobile browser
HTML 5  :  Good  news  for  the  developer
JSF  HTML Date selector Autocomplete input field
Date Selector JSF The component is not implemented Extend UIInput Create new tag and taghandler Implement the  renderer  and the encode-decode methods  ( localization ) Inject and  cache  necessary javascript and css files  ( bandwidth ) Test test test  HTML The component is built in the browser UI is implemented by the browser following the spec Automatic locale detection or Retrieve from the offline storage No bandwidth loss
Autocomplete input field Autocomplete + much data = bad user experience No need for arcane javascript and weird css, It is the browsers responsibility to create the UI Suggestion values can be stored offline and observed Reduce / nullify application server and DB hits
Conclusion Designed with Web Apps in mind Backed up by major software companies Not another abstract W3C spec Holy Grail of Web Authoring?
Other trends jQuery: write less do more JSF 2: ajax enabled, components composition J2EE6: Bean Validation, CDI, Servlet 3
EOF More companies adopt Agile, use OSS to apply best practices Promotion to establish the concept of interoperable systems at pan-European level HTML 5 spec targets Web Applications with user experience and ease of development being top priorities

More Related Content

Software Development Trends 2010-2011

  • 1. S OFTWARE D EVELOPMENT T RENDS 2010
  • 2. Contact Details Charalampos Arapidis [email_address] OTS S.A. Employee Senior Software Developer
  • 3. Past Trends that failed to pick up Java FX epic fail Suns software platform for creating RIAs OOXML global fail Office Open XML file format
  • 4. Trends in 2010 Agile Project Management + OSS eGif eGovernment Interoperability Framework Web Applications HTML 5
  • 5. Agile and OSS Is Agile a trend? Open Source Software: maturity and stability Agile principles, benefits, adoption rate increase Flexible OSS enables better agile implementation
  • 8. Characteristics of the Agile Methodology Based on iterative development Emphasizes on building releasable software in short time periods The project undergoes frequent inspection and adaptation Customer collaboration requirements changes are expected and welcomed. Continuous delivery of working software Constant communication between members of a self-organized team Regular adaptation to changing circumstances
  • 9. Agile Manifesto The Four Values of Agile Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 11. Why Agile Delivers Business value early stakeholders are happy Reactive and adaptive to changes in requirements Responsiveness to changing needs and understanding Predictable reliable results Greater communication and interaction among team members improves skill building Mature and open source Project Management Tools
  • 12. 6 Dimensions of Economic & Organizational ROI ( these SHOULD be Measured ) Improved Efficiency due to optimized process Higher Productivity due to improved morale Cost Control due to Superior On-Time Performance Higher Quality due to improved Defect Removal Benefit Improvement due to Integral Customer Feedback Benefit Acceleration due to Incremental Delivery
  • 13. AN AGILE TEAM IN A NON-AGILE ENVIRONMENT WILL NOT SURVIVE
  • 14. Conclusion Agile: a misunderstood methodology Companies ready to give up Command-and-Control for Agile teams Flexible OSS makes easier to follow Agile practices
  • 15. eG overnment I nteroperability F ramework Todays Information Age offers the possibility of communication across borders. The need to standardise and allow for interoperability is growing. IDABC stands for I nteroperable D elivery of European eGovernment Services to public Administrations , Businesses and Citizens . 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
  • 16. eG overnment I nteroperability F ramework What is eGif Basic principles and standards of the framework Modeling governments infrastructure O.T.S. Case Study
  • 17. eGif A common platform for developing services An effort to standardize the way e-Services are implemented in order to enable interoperability and communication. Semantic representation of the Governments Authorities at service and data level. Basic Principles Reusablity Flexibility Standards Security
  • 18. Standards of the eGif XML Signature XML-Dsig & Encryption Public Key Infrastructure ( PKI ) BPEL UML 2.0 XSD XML XSLT W3C WSDL + SOAP
  • 20. Modeling produces Common Language Each European state registers by priority physical services and forms exposed to the Citizen. The real world interaction between the Citizen and the Governments Organizations translates to : Business Objects ( Business Information Entities ) Activity Diagrams Data Models ( xsd schemas ) Metadata ( approved Data Types and Codelists )
  • 21. How the components connect and relate to the xsd and xml schemas.
  • 22. Core Components & Business Information Entities example
  • 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. 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. Coverletter : root of the xsd schema
  • 29. Coverletter : xsd definitions
  • 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. Conclusion eGif a complete global framework A Paradigm for reusability and standardization Not for eGovernment services only Provides a solid ground for any project
  • 32. HTML 5.0 Aim of the new spec. Is it necessary? What happened in 2009? Participants and Supporters Features and Components
  • 33. What happened in 2009 Google gears up for HTML 5 Mozilla Firefox 3.5 has been released with HTML 5 support Microsoft joins HTML 5 standard
  • 34. HTML 5.0 the proposed next standard for HTML 4.01, XHTML 1.0 HTML5 aims to reduce the need for proprietary plug-in-based rich Internet application (RIA) technologies such as Adobe Flash , Microsoft Silverlight , and Sun JavaFX .
  • 35. WHATWG : Web Hypertext Application Technology Working Group The specification is an ongoing work The specifications draft became final as of October 2009 Incorporates Web Forms 2.0 spec Main editors of the spec: Google & Apple
  • 36. How it all started Need for complex and rich interfaces Presentational elements deprecated Emphasis on the importance of DOM Scripting in Web Behavior Introduction of new elements semantic replacements for generic and meaningless tags
  • 37. Some of the new features Offline Storage cookies at a whole new level Document region editing Management of the browser history the Back button was always a big problem. Elements: dragndrop, calendar, progress, section, header etc
  • 38. Googles VP states: &quot;we're betting big on HTML 5.&quot;
  • 39. Current Browser Support implemented or emulated
  • 40. Advanced features 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. Client-side Javascript database support : easy to build offline apps 10mb local storage Web Workers: Background Threading mechanisms available to the browser 10x faster execution.
  • 41. Features 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. Content presentation tags will be phased out , we have CSS for this 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
  • 42. Features 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. 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.
  • 43. The canvas element it is not an image, it is a vector
  • 44. Progress element <progress value=&quot;250&quot;max=&quot;1000&quot;>
  • 45. Creates an autocomplete input field! <input type=&quot;text&quot; name=&quot;favCharacter&quot; list=&quot;characters&quot;> <datalist id=&quot;characters&quot;> <option value=&quot;Homer Simpson&quot;> <option value=&quot;Bart&quot;> <option value=&quot;Fred Flinstone&quot;> </datalist> </input> Datalist
  • 46. Datagrid In a datagrid, data is structured as a set of rows representing a tree, each row being split into a number of columns. Enables row selection and selection model e.g. multiple=&quot;multiple&quot; means user can select multiple rows And supports all global HTML 5 attributes such as contetneditable contextmenu draggable etc..
  • 47. Experimental Appliances Youtube built entirely in HTML 5 ( no flash ) Offline Gmail in mobile browser
  • 48. HTML 5 : Good news for the developer
  • 49. JSF HTML Date selector Autocomplete input field
  • 50. Date Selector JSF The component is not implemented Extend UIInput Create new tag and taghandler Implement the renderer and the encode-decode methods ( localization ) Inject and cache necessary javascript and css files ( bandwidth ) Test test test HTML The component is built in the browser UI is implemented by the browser following the spec Automatic locale detection or Retrieve from the offline storage No bandwidth loss
  • 51. Autocomplete input field Autocomplete + much data = bad user experience No need for arcane javascript and weird css, It is the browsers responsibility to create the UI Suggestion values can be stored offline and observed Reduce / nullify application server and DB hits
  • 52. Conclusion Designed with Web Apps in mind Backed up by major software companies Not another abstract W3C spec Holy Grail of Web Authoring?
  • 53. Other trends jQuery: write less do more JSF 2: ajax enabled, components composition J2EE6: Bean Validation, CDI, Servlet 3
  • 54. EOF More companies adopt Agile, use OSS to apply best practices Promotion to establish the concept of interoperable systems at pan-European level HTML 5 spec targets Web Applications with user experience and ease of development being top priorities