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)?
- Simple Object Access Protocol
- Has 3 characteristics
- Extensible
- Neutrality
- Independence
- Exposes operations
What is REST (+JSON)
- Representational state transfer
- Exposes resources
- Uses HTTP
- Verbs
- Caching
- Exceptions
Why would I use SOAP?
- WS-Security
- Identity through intermediaries
- WS-AtomicTransaction
- Fully ACID compliant
- WS-ReliableMessaging
- Built-in success/retry
- Language tools
- Support for multiple transport protocols
Why would I use REST?
- Simpler due to contrains
- HTTP Verbs
- HTTP Responses
- REST supports multiple data formats
- XML
- JSON
- Better for browsers
- Responses can be cached
- It is THE standard for the web
What should I use?
REST + JSON!
JSON is better supported for the web
But...
- I have a special use case
- 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
- MS SQL Server
- PostgreSQL (via PostGIS)
- CouchDB (via Geocouch)
- MongoDB
- MySQL
- Oracle
What would I use?
- PostGIS
- MongoDB
References
- https://en.wikipedia.org/wiki/Spatial_Database
GIT
GIT Transition
GAS/PSS, R3, SharePoint
- Fairly successful
- Aligned with
- SourceTree
- TortoiseMerge
- Basic operations
- Push, Pull, Fetch, Commit
What aren't we doing?
- Branching
- SharePoint and R3 are doing some
- Git Flow
- Stashing
- Pull-Requests
Branching
- Branch on story/bug
- Use Git Flow
- Official Guidance
- commit (locally)
- fetch
- pull
- (merge)
- push
Stashing
- 'Saving' local changes
- Why?
- Hotfix
- Change in direction
- Merge other branch
Pull Request
- Branching into a new repository
- Allows you to work more isolated
- Provides a clear construct for code review
- Provides a feedback loop
- Github, Stash, Bitbucket features not a git feature
Dev TEM: Q&A
By Ryan Hirsch
Dev TEM: Q&A
- 731