Brendon Schwartzbschwartz@devcowsoftware.comhttp://blogs.sharepointguys.com/brendonSenior Software EngineerTelligent
Brendon SchwartzSenior Software Engineer, TelligentExperience:   SharePoint Server Microsoft MVP and ASP.NET MVP   Archi...
 Create Entities based on domain   Examples:      Company      Order      Users Entities usually have data access me...
 Have base classes   Page Class in web   Stream class for input/output Design your system by determining   Interfaces...
 Different options   Manually   Automated   Generated Many tools   CodeSmith   OR Mappings   Microsoft ADO.NET Ent...
 Only if it makes sense Common pattern books   Fowler, Martin (2002). Patterns of Enterprise Application    Architectur...
Located @ http://jobs.devcow.com
 Usually are built around interaction   Blogs   Wikis   Comments   RSS   Mashups
 XML format of data Most common in blogs Use with any list of data   Events   Announcements   Lists Pull data and f...
 Tag Content to make it more relevant Display tags per item or collectively Helps discover similar data Provides metad...
 Assemble multiple sources together Mashups are built with  many blocks Blocks provide   Input   Output No differenc...
Visit @ http://www.codeplex.com/mashup
 REpresentational State Transfer   Architectural style for distributed hypermedia systems,    introduced by Roy Fielding...
 Resources (nouns)   Identified by a URI, For example:    http://yousite/users/admin Uniform interface (verbs)   Small...
 CRUD methods map to web requests   Create POST/ PUT   Read GET   Update PUT   Delete DELETE Send data in an XML pay...
 Blog Collection   /bloggroup/ - container for blog   /bloggroup/{id}/blog - 1 blog   /bloggroup/{id}/blog/posts URI ...
 A good rest client API is a set of wrappers Usually built with Javascript or scripting languages Authentication with A...
http://api.meetup.com/groups1.xml2/?zip=11211&topic=moms3&order=me  mbers4&key=ABDE12456AB23244455    groups -- the metho...
View @ http://www.codeplex.com/meetup
http://reports.communityserver.com/demo/
 Integration to Community Server via web parts in  SharePoint Features include:   Activity streams – tracks discussions...
Brendon Schwartzbschwartz@devcowsoftware.comhttp://blogs.sharepointguys.com/brendonSenior Software EngineerTelligent
Building social and RESTful frameworks
Building social and RESTful frameworks
Building social and RESTful frameworks
Upcoming SlideShare
Loading in …5
×

Building social and RESTful frameworks

238 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
238
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Building social and RESTful frameworks

  1. 1. Brendon Schwartzbschwartz@devcowsoftware.comhttp://blogs.sharepointguys.com/brendonSenior Software EngineerTelligent
  2. 2. Brendon SchwartzSenior Software Engineer, TelligentExperience: SharePoint Server Microsoft MVP and ASP.NET MVP Architect for applications at AJC, AT&T, AutoTrader.com, Coca-Cola Enterprises Co-founder, Atlanta .NET Regular Guys www.devcow.com Past Vice President of Technology, INETA Author of books and magazines
  3. 3.  Create Entities based on domain  Examples:  Company  Order  Users Entities usually have data access method Lazy load any large objects
  4. 4.  Have base classes  Page Class in web  Stream class for input/output Design your system by determining  Interfaces  Abstract classes  Base class implementations
  5. 5.  Different options  Manually  Automated  Generated Many tools  CodeSmith  OR Mappings  Microsoft ADO.NET Entity Framework  LINQ  ASP.NET MVC
  6. 6.  Only if it makes sense Common pattern books  Fowler, Martin (2002). Patterns of Enterprise Application Architecture  Gang of Four (1995). Design Patterns: Elements of Reusable Object-Oriented Software New patterns always coming out so stay on top of it  http://martinfowler.com/bliki/FluentInterface.html
  7. 7. Located @ http://jobs.devcow.com
  8. 8.  Usually are built around interaction  Blogs  Wikis  Comments  RSS  Mashups
  9. 9.  XML format of data Most common in blogs Use with any list of data  Events  Announcements  Lists Pull data and format in RSS standard Good integration point for other apps to consume
  10. 10.  Tag Content to make it more relevant Display tags per item or collectively Helps discover similar data Provides metadata for organization and discovery Allows author to describe content Tag Clouds are the most common display
  11. 11.  Assemble multiple sources together Mashups are built with many blocks Blocks provide  Input  Output No difference between display and data provider Connect to LOB systems
  12. 12. Visit @ http://www.codeplex.com/mashup
  13. 13.  REpresentational State Transfer  Architectural style for distributed hypermedia systems, introduced by Roy Fielding (2000)  Client-Server  Stateless communication  Cacheable  Uniform interface for resources  Layered
  14. 14.  Resources (nouns)  Identified by a URI, For example: http://yousite/users/admin Uniform interface (verbs)  Small fixed set: Create, Read, Update, Delete State Representations  data and state transferred between client and server Transferred through web options  XML, JSON, Atom, XHTML, ...
  15. 15.  CRUD methods map to web requests  Create POST/ PUT  Read GET  Update PUT  Delete DELETE Send data in an XML payload Set the HTTP Header properties
  16. 16.  Blog Collection  /bloggroup/ - container for blog  /bloggroup/{id}/blog - 1 blog  /bloggroup/{id}/blog/posts URI Templates are URIs with variables within the URI syntax. Records can be returned in any standard web format
  17. 17.  A good rest client API is a set of wrappers Usually built with Javascript or scripting languages Authentication with API key Parameters are passed in URI/URL
  18. 18. http://api.meetup.com/groups1.xml2/?zip=11211&topic=moms3&order=me mbers4&key=ABDE12456AB23244455  groups -- the method youre calling, in this case a request for groups  xml -- the format of the response. Each method has a list of supported formats  args -- zip & topic limit the results by geography and area of interest  order -- how to order the results, in this case by # of members. To reverse the sorting order, you include the parameter "desc=desc" or "desc=true".  key -- your unique API key• Formats  JSON JavaScript Object Notation  XML A simple XML format with the exact same fields as the json response.  KML Keyhole markup language  RSS RSS 2.0  ATOM
  19. 19. View @ http://www.codeplex.com/meetup
  20. 20. http://reports.communityserver.com/demo/
  21. 21.  Integration to Community Server via web parts in SharePoint Features include:  Activity streams – tracks discussions, documents, and blogs  Blogs & forums – work inside of SharePoint, Community Server, or Email
  22. 22. Brendon Schwartzbschwartz@devcowsoftware.comhttp://blogs.sharepointguys.com/brendonSenior Software EngineerTelligent

×