Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Building Content-Rich Java Apps in theCloud with the Alfresco APIJeff PottsChief Community OfficerApache Chemistry cmislib...
Agenda• What is Alfresco?• Why You Shouldn’t Roll Your Own Repo• Getting Started with the API (Demos)  – Signing up for an...
What is Alfresco?    enterprise content management platform    across cloud, on-premise or both    API for content apps th...
2,200 enterprise customers66 countries6.6 million users3.3 billion documents managed
BenefitsFor users: Accesscontent on any device,with any content tool, anywhereFor organizations: Manage and control compan...
How do we deliver?Open Sourcefree access to source code for developersOpen StandardsWebDAV, CIFS, SharePoint Protocol, CMI...
A Few Random Examples• Contract negotiation, creation, & review• Press request/fulfillment• Board room/B2B collaboration• ...
Document-Related Pain                        Source: eqqman
Not so fast,Ryan Gosling!
DIY: Relational May Not Cut It• Relational is good at text and numbers.  Binary data? YMMV• Size limits• Random seek (stre...
And what about…• Security framework        •   Versioning• Search                    •   Check-in/Check-out• Business     ...
Source: gobucks2What Have We Done?
Alfresco Content Platform• Our Apps, Your Apps,  Third-Party Apps• Any device• One API                Alfresco API• On-Pre...
Repository• Hierarchical collection of typed nodes  – Folders, Documents, Contracts, Resumes• Nodes may have content assoc...
Services•   Embedded workflow (Activiti)•   Transformations•   Rules•   Versioning•   Many more
Alfresco APIAPI Options• Alfresco’s “foundation” API is Java• Server-side JavaScript is also an option• Remote APIs  – CMI...
Alfresco API & SDK• What are we announcing?  – New public API for Alfresco in the Cloud    • Based on CMIS (AtomPub) and A...
Alfresco API Launch Partners
LET’S SEE HOW THIS WORKS!
Alfresco Cloud UI
Alfresco Mobile
Developer Portal   http://developer.alfresco.com                   http://youtu.be/TdAFYy0QttU
How OAuth2 Authentication Works   Application          Alfresco          End-User    Sign up for an    Assigns you a      ...
Example: Hitting the REST API                 http://youtu.be/5QS0CNsPJEY
Alfresco REST API• Sites    – Members    – Favorites•   Networks        List will expand•   People          over time•   C...
So what is CMIS, anyway?
What is CMIS?• Content Management Interoperability  Services• Language-independent, vendor-neutral API  for content manage...
The Beauty of CMIS Presentation     Tier                 REST   SOAP                               ?   Content Services Ti...
• Open Source implementations of CMIS• Apache Chemistry is the umbrella project  for all CMIS related projects within the ...
CMIS & Apache Chemistry inAction• Everything you need  to know about CMIS  1.0 & 1.1• Lots of Groovy and  Java examples• A...
Example: Create, Find andComment on a Document withJava         Screenshot, TBD                           http://youtu.be/...
Things to Consider• Rate limits    – 5 requests/second, 10,000 requests/day (Dev)    – 50 requests/second, 100,000 request...
Where to Get Help• Alfresco API forum• #alfresco on freenode IRC• Alfresco Technical Discussion Google Group• http://code....
RECAP
Alfresco as a Content Platform• Alfresco is an open source ECM platform  – Repository + Services + API• Choice throughout ...
Your Next StepsCloud Account           Register App            ParticipateSign up for a           Become a Registered     ...
Berlin, Germany   San Jose, CaliforniaNovember 6 & 7     November 14 & 15http://www.alfresco.com/devcon
http://wiki.alfresco.com/wiki/LocJoin Our Community   al_Communities
For More Information…• Alfresco Developer Portal  – http://developer.alfresco.com• Alfresco Forums  – http://forums.alfres...
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Upcoming SlideShare
Loading in …5
×

Building Content-Rich Java Apps in the Cloud with the Alfresco API

9,813 views

Published on

This presentation, originally delivered at JavaOne on October 2, 2012, talks about why you should use Alfresco instead of rolling your own content repository and discusses the new public Alfresco API for writing content apps that persist content to Alfresco in the Cloud.

Published in: Technology
  • Be the first to comment

Building Content-Rich Java Apps in the Cloud with the Alfresco API

  1. 1. Building Content-Rich Java Apps in theCloud with the Alfresco APIJeff PottsChief Community OfficerApache Chemistry cmislib lead
  2. 2. Agenda• What is Alfresco?• Why You Shouldn’t Roll Your Own Repo• Getting Started with the API (Demos) – Signing up for an API key – Hitting the API with a REST client – Doing something simple but useful with Java• Brief Intro to CMIS• Guidelines/Tips• Re-cap and What You Should Do Next
  3. 3. What is Alfresco? enterprise content management platform across cloud, on-premise or both API for content apps that can run in the cloud, on-premise or both content hub for your enterprise tablets cloud on-premise hybrid cloud sync
  4. 4. 2,200 enterprise customers66 countries6.6 million users3.3 billion documents managed
  5. 5. BenefitsFor users: Accesscontent on any device,with any content tool, anywhereFor organizations: Manage and control companycontent, with whatever level of security,customization, integration or workflow isrequiredFor developers: Target 1 standards-based API
  6. 6. How do we deliver?Open Sourcefree access to source code for developersOpen StandardsWebDAV, CIFS, SharePoint Protocol, CMISChoiceuse any tool, any device, deploy in cloud, on-premise or bothFlexibilitycustomizable, extensible, easily integrated
  7. 7. A Few Random Examples• Contract negotiation, creation, & review• Press request/fulfillment• Board room/B2B collaboration• Field sales collateral creation & communication• Customer file sharing• University course guide authoring/publishing
  8. 8. Document-Related Pain Source: eqqman
  9. 9. Not so fast,Ryan Gosling!
  10. 10. DIY: Relational May Not Cut It• Relational is good at text and numbers. Binary data? YMMV• Size limits• Random seek (streaming)• Search: Some relational databases can index into blobs, but not all
  11. 11. And what about…• Security framework • Versioning• Search • Check-in/Check-out• Business • Remote API Process/Workflow • Replication Engine • Social features• Transforms/Extractions/ • Mobile access Renditions • Custom code to• Scheduled jobs integrate all of these• WebDAV, CIFS, FTP or subsystems other authoring integrations
  12. 12. Source: gobucks2What Have We Done?
  13. 13. Alfresco Content Platform• Our Apps, Your Apps, Third-Party Apps• Any device• One API Alfresco API• On-Premise, in the Cloud, or Both• Open Source (LGPLv3) Sync Repository + Services
  14. 14. Repository• Hierarchical collection of typed nodes – Folders, Documents, Contracts, Resumes• Nodes may have content associated with them• Metadata• Secured• Searchable
  15. 15. Services• Embedded workflow (Activiti)• Transformations• Rules• Versioning• Many more
  16. 16. Alfresco APIAPI Options• Alfresco’s “foundation” API is Java• Server-side JavaScript is also an option• Remote APIs – CMIS - Atom REST or SOAP – HTTP REST Webscripts - Java or JavaScript• Alfresco Cloud API – Launched October 2! Source: 96dpi
  17. 17. Alfresco API & SDK• What are we announcing? – New public API for Alfresco in the Cloud • Based on CMIS (AtomPub) and Alfresco REST (JSON) – Alfresco Mobile SDK • iOS and Android client SDKs • Wrap the new Cloud API and the existing on- premise API • Coming soon!
  18. 18. Alfresco API Launch Partners
  19. 19. LET’S SEE HOW THIS WORKS!
  20. 20. Alfresco Cloud UI
  21. 21. Alfresco Mobile
  22. 22. Developer Portal http://developer.alfresco.com http://youtu.be/TdAFYy0QttU
  23. 23. How OAuth2 Authentication Works Application Alfresco End-User Sign up for an Assigns you a API key consumer key and secret Invokes the Authorize URL Asks the user for permission User grants access Redirects to your Grabs the app’s callback returned code URL Exchanges the code for an access token Returns an access token and expiration Adds the token to Not shown: Refresh Authorization header after access token expiration
  24. 24. Example: Hitting the REST API http://youtu.be/5QS0CNsPJEY
  25. 25. Alfresco REST API• Sites – Members – Favorites• Networks List will expand• People over time• Containers• Activities• Ratings• Comments• Tags
  26. 26. So what is CMIS, anyway?
  27. 27. What is CMIS?• Content Management Interoperability Services• Language-independent, vendor-neutral API for content management – CRUD functions for nodes – Check-in/check-out – Associations – Permissions (Access Control Lists) – Policies – Queries – Repository traversal
  28. 28. The Beauty of CMIS Presentation Tier REST SOAP ? Content Services Tier Enterprise Apps Tier ?
  29. 29. • Open Source implementations of CMIS• Apache Chemistry is the umbrella project for all CMIS related projects within the ASF – OpenCMIS (Java, client and server) – cmislib (Python, client) – phpclient (PHP, client) – DotCMIS (.NET, client)
  30. 30. CMIS & Apache Chemistry inAction• Everything you need to know about CMIS 1.0 & 1.1• Lots of Groovy and Java examples• Also covers Python, Android, & iOS• Now on MEAP!• 37%-off: 12cmisal
  31. 31. Example: Create, Find andComment on a Document withJava Screenshot, TBD http://youtu.be/1ZtmoPdCKJI
  32. 32. Things to Consider• Rate limits – 5 requests/second, 10,000 requests/day (Dev) – 50 requests/second, 100,000 requests/day (Prod)• No limit on # of applications• Alfresco Cloud users own their content• OpenCMIS 0.8.0-SNAPSHOT• cmislib 0.5.1dev
  33. 33. Where to Get Help• Alfresco API forum• #alfresco on freenode IRC• Alfresco Technical Discussion Google Group• http://code.google.com/p/alfresco-api-java- examples• http://code.google.com/p/alfresco-api-python- examples• Come by the booth!
  34. 34. RECAP
  35. 35. Alfresco as a Content Platform• Alfresco is an open source ECM platform – Repository + Services + API• Choice throughout the stack• Flexibility in deployment options• Standards-based API – CMIS AtomPub + Alfresco REST• Register your application at developer.alfresco.com
  36. 36. Your Next StepsCloud Account Register App ParticipateSign up for a Become a Registered Join our community offree 10GB Alfresco Developer at developers atnetwork in the cloud. developer.alfresco.co forums.alfresco.com, m in IRC, and on Twitter Grab your app key and secret
  37. 37. Berlin, Germany San Jose, CaliforniaNovember 6 & 7 November 14 & 15http://www.alfresco.com/devcon
  38. 38. http://wiki.alfresco.com/wiki/LocJoin Our Community al_Communities
  39. 39. For More Information…• Alfresco Developer Portal – http://developer.alfresco.com• Alfresco Forums – http://forums.alfresco.com My Contact Info…• Alfresco Wiki Jeff Potts – http://wiki.alfresco.com Email:• Alfresco Blogroll jeff.potts@alfresco.c om – http://blogs.alfresco.com• ECM Architect Blog Twitter/Skype: jeffpotts01 – http://ecmarchitect.com

×