Developer TEM:

Q&A


What is this meeting?


  • Technical Exchange Meeting
    • Designed to look at 'real' projects
    • Venue for discussing project issues
    • Venue for showing off project features
  • Past topics
    • GAS Testing
    • Javascript Standards
    • Weekly Activity Reporting
      • Angular Directives and Semantic HTML



SOAP (+XML)

vs

REST (+JSON)


What is SOAP (+XML)?



  1. Simple Object Access Protocol
  2. Has 3 characteristics
    1. Extensible
    2. Neutrality
    3. Independence
  3. Exposes operations

What is REST (+JSON)


  1. Representational state transfer
  2. Exposes resources
  3. Uses HTTP
    1. Verbs
    2. Caching
    3. Exceptions

Why would I use SOAP?


  1. WS-Security
    1. Identity through intermediaries
  2. WS-AtomicTransaction
    1. Fully ACID compliant
  3. WS-ReliableMessaging
    1. Built-in success/retry
  4. Language tools
  5. Support for multiple transport protocols

Why would I use REST?


  1. Simpler due to contrains
    1. HTTP Verbs
    2. HTTP Responses
  2. REST supports multiple data formats
    1. XML
    2. JSON
  3. Better for browsers
  4. Responses can be cached
  5. It is THE standard for the web

What should I use?


REST + JSON!

JSON is better supported for the web


But...

  1. I have a special use case
    1. Okay then go with SOAP

Resources

  • http://spf13.com/post/soap-vs-rest
  • http://blog.feedly.com/2009/03/03/jsonrest-vs-xmlsoap/
  • http://stackoverflow.com/questions/1237649/json-or-soap-xml
  • http://blog.westmonroepartners.com/mobile-web-services-jsonrest-vs-xmlsoap
  • https://en.wikipedia.org/wiki/SOAP#Advantages
  • https://en.wikipedia.org/wiki/REST



Databases

and

Geospatial Data

Geospatial Support

  1. MS SQL Server
  2. PostgreSQL (via PostGIS)
  3. CouchDB (via Geocouch)
  4. MongoDB
  5. MySQL
  6. Oracle

What would I use?


  1. PostGIS
  2. MongoDB

References

  • https://en.wikipedia.org/wiki/Spatial_Database





GIT

GIT Transition


GAS/PSS, R3, SharePoint

  1. Fairly successful
  2. Aligned with
    1. SourceTree
    2. TortoiseMerge
  3. Basic operations
    1. Push, Pull, Fetch, Commit

What aren't we doing?



  1. Branching
    1. SharePoint and R3 are doing some
    2. Git Flow
  2. Stashing
  3. Pull-Requests

Branching


  1. Branch on story/bug
  2. Use Git Flow
  3. Official Guidance
    1. commit (locally)
    2. fetch
    3. pull
    4. (merge)
    5. push

Stashing


  1. 'Saving' local changes
  2. Why?
    1. Hotfix
    2. Change in direction
    3. Merge other branch

Pull Request


  1. Branching into a new repository
    1. Allows you to work more isolated
    2. Provides a clear construct for code review
    3. Provides a feedback loop
      1. Github, Stash, Bitbucket features not a git feature
Made with Slides.com