software development trends 2010-2011
DESCRIPTION
Presentation as a guest at City College of upcoming Software Development trends in 2010-2011 at 24/01/2010.TRANSCRIPT
SOFTWARE DEVELOPMENT
TRENDS 2010
Contact Details
• Charalampos Arapidis• [email protected]• OTS S.A. Employee• Senior Software Developer
Past Trends that failed to pick up
• Java FX – epic fail• Sun’s 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 ManifestoThe 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
eGovernment Interoperability Framework• Today’s Information Age offers the possibility of
communication across borders. • The need to standardise and allow for interoperability is
growing. • IDABC stands for Interoperable Delivery 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
eGovernment Interoperability Framework
• What is eGif• Basic principles and standards of the
framework• Modeling government’s infrastructure• O.T.S. Case Study
eGifA 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 Government’s 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
Government’s 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 Entitiesexample
The Citizen Entity
Qualified Datatype extension
Qualified Datatype base
Marital status Codelist<xs:simpleType name="MaritalConditionCodeContentType"><xs:restriction base="xs:token"><xs:enumeration value="1"><xs:annotation><xs:documentation xml:lang="eng"><ccts:Name>Single</ccts:Name></xs:documentation><xs:documentation xml:lang="ell"><ccts:Name>Άγαμος, Ανύπανδρος</ccts:Name></xs:documentation></xs:annotation></xs:enumeration><xs:enumeration value="2"><xs:annotation><xs:documentation xml:lang="eng"><ccts:Name>Married</ccts:Name></xs:documentation><xs:documentation xml:lang="ell"><ccts:Name>Έγγαμος, Παντρεμένος</ccts:Name></xs:documentation></xs:annotation></xs:enumeration>..</xs:simpleType>
Real use case: The CoverletterThe 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 ServicesThe 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.0the 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 specification’s 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: drag’n’drop, calendar,
progress, section, header etc
Google’s VP states: "we're betting big on HTML 5."
Current Browser Supportimplemented 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 elementit is not an image, it is a vector
Progress element<progress value="250"max="1000">
• Creates an autocomplete input field!
<input type="text" name="favCharacter" list="characters"><datalist id="characters"><option value="Homer Simpson"><option value="Bart"><option value="Fred Flinstone"></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="multiple" 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 SelectorJSF• 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 browser’s 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