software development trends 2010-2011

54
SOFTWARE DEVELOPMENT TRENDS 2010

Upload: charalampos-arapidis

Post on 22-Jan-2015

1.531 views

Category:

Documents


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Software Development Trends 2010-2011

SOFTWARE DEVELOPMENT

TRENDS 2010

Page 2: Software Development Trends 2010-2011

Contact Details

• Charalampos Arapidis• [email protected]• OTS S.A. Employee• Senior Software Developer

Page 3: Software Development Trends 2010-2011

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

Page 4: Software Development Trends 2010-2011

Trends in 2010

• Agile Project Management + OSS• eGif eGovernment Interoperability

Framework• Web Applications – HTML 5

Page 5: Software Development Trends 2010-2011

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

Page 6: Software Development Trends 2010-2011

Agile Project Management

Page 7: Software Development Trends 2010-2011

Open Source Software

Page 8: Software Development Trends 2010-2011

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

Page 9: Software Development Trends 2010-2011

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

Page 10: Software Development Trends 2010-2011

The Agile Process

Page 11: Software Development Trends 2010-2011

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

Page 12: Software Development Trends 2010-2011

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

Page 13: Software Development Trends 2010-2011

AN AGILE TEAM IN A NON-AGILE ENVIRONMENT WILL

NOT SURVIVE

Page 14: Software Development Trends 2010-2011

Conclusion

• Agile: a misunderstood methodology• Companies ready to give up Command-

and-Control for Agile teams• Flexible OSS makes easier to follow Agile

practices

Page 15: Software Development Trends 2010-2011

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 

Page 16: Software Development Trends 2010-2011

eGovernment Interoperability Framework

• What is eGif• Basic principles and standards of the

framework• Modeling government’s infrastructure• O.T.S. Case Study

Page 17: Software Development Trends 2010-2011

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

Page 18: Software Development Trends 2010-2011

Standards of the eGif

• XML Signature XML-Dsig & Encryption• Public Key Infrastructure ( PKI )• BPEL• UML 2.0• XSD XML XSLT – W3C• WSDL + SOAP

Page 19: Software Development Trends 2010-2011

Modeling the real world

Page 20: Software Development Trends 2010-2011

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 )

Page 21: Software Development Trends 2010-2011

How the components connect and relate to the xsd and xml schemas.

Page 22: Software Development Trends 2010-2011

Core Components & Business Information Entitiesexample

Page 23: Software Development Trends 2010-2011

The Citizen Entity

Page 24: Software Development Trends 2010-2011

Qualified Datatype extension

Page 25: Software Development Trends 2010-2011

Qualified Datatype base

Page 26: Software Development Trends 2010-2011

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>

Page 27: Software Development Trends 2010-2011

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.

Page 28: Software Development Trends 2010-2011

Coverletter: root of the xsd schema

Page 29: Software Development Trends 2010-2011

Coverletter: xsd definitions

Page 30: Software Development Trends 2010-2011

The ServicesThe services communicate using SOAP messages. The XML data of the messages validate against the xsd schemas to ensure data integrity and validity.

Page 31: Software Development Trends 2010-2011

Conclusion

• eGif – a complete global framework• A Paradigm for reusability and

standardization• Not for eGovernment services only• Provides a solid ground for any project

Page 32: Software Development Trends 2010-2011

HTML 5.0

• Aim of the new spec. Is it necessary?• What happened in 2009?• Participants and Supporters• Features and Components

Page 33: Software Development Trends 2010-2011

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

Page 34: Software Development Trends 2010-2011

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.

Page 35: Software Development Trends 2010-2011

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

Page 36: Software Development Trends 2010-2011

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

Page 37: Software Development Trends 2010-2011

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

Page 38: Software Development Trends 2010-2011

Google’s VP states: "we're betting big on HTML 5."

Page 39: Software Development Trends 2010-2011

Current Browser Supportimplemented or emulated

Page 40: Software Development Trends 2010-2011

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.

Page 41: Software Development Trends 2010-2011

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

Page 42: Software Development Trends 2010-2011

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.

Page 43: Software Development Trends 2010-2011

The canvas elementit is not an image, it is a vector

Page 44: Software Development Trends 2010-2011

Progress element<progress value="250"max="1000">

Page 45: Software Development Trends 2010-2011

• 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

Page 46: Software Development Trends 2010-2011

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..

Page 47: Software Development Trends 2010-2011

Experimental Appliances

• Youtube built entirely in HTML 5 – ( no flash )

• Offline Gmail in mobile browser

Page 48: Software Development Trends 2010-2011

HTML 5 : Good news for the developer

Page 49: Software Development Trends 2010-2011

JSF – HTML

• Date selector• Autocomplete input field

Page 50: Software Development Trends 2010-2011

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

Page 51: Software Development Trends 2010-2011

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

Page 52: Software Development Trends 2010-2011

Conclusion

• Designed with Web Apps in mind• Backed up by major software companies• Not another abstract W3C spec• Holy Grail of Web Authoring?

Page 53: Software Development Trends 2010-2011

Other trends

• jQuery: write less do more• JSF 2: ajax enabled, components composition• J2EE6: Bean Validation, CDI, Servlet 3

Page 54: Software Development Trends 2010-2011

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