LinkRest is an active project commissioned and open sourced by NHL under Apache 2.0 license. It was conceived specifically as the server-side counterpart to Ext JS, so it natively supports Ext JS rest proxy, including CRUD, grouping, sorting, filtering, and more. In this session, we'll review Ext JS protocol support. You'll also see extensions that allow the client to safely query the server for specific data and shape the response. We'll cover advanced features, including security, constraints, idempotent methods, and metadata service. We'll show demos and try to allow time for Q&A.
23. LinkRest
What it is not?
• . . .not a comprehensive application framework (not Spring or Rails)
• . . .not a complete application server
• . . .not an immediate replacement for any of your existing frameworks
26. LinkRest
Factoids
• LinkRest is a project commissioned and open sourced by NHL under Apache 2.0
license
• It was conceived specifically as the server-side counterpart to ExtJS
• First released on May 15, 2014
• Hosted on github.com/nhl/link-rest
• Current version is 2.2
• 60+ apps in production
27. Compatibility
Cayenne ORM, JDBC
• DBs supported by Cayenne
- DB2, Derby, FireBird, FrontBase, HSQLDB,
H2, Ingres, MySQL, Oracle (10i, 8, 8i, 9i),
PostgreSQL (7.4, 8.*), SQLite 3.*,
SQLServer, Sybase
• Alternative ORMs possible
• ORM-free is also supported (POJO)
- transient objects, e.g. session, status, etc.
LinkRestLinkRest
ORM
Cayenne, POJO, more..
ORM
Cayenne, POJO, more..
Data Storage
JDBC, NoSQL, more..
Data Storage
JDBC, NoSQL, more..
29. # Create a model (or a batch)
POST http://localhost/senchacon/rest/team
# Update a model
PUT http://localhost/senchacon/rest/team/42
# Delete a model
DELETE http://localhost/senchacon/rest/team/42
# Get a single model
GET http://localhost/senchacon/rest/team/42
# Get a collection of models
GET http://localhost/senchacon/rest/team
# Get a sorted collection of models
GET http://localhost/senchacon/rest/team?sort=abbrev
Ext.data.proxy.Rest
Support
• CRUD
• batchActions:true supported
• Paging (start/limit)
• Sorting
• Autocomplete (combo query)
• Filtering (operator, disabled)