Apache Sling - The whys and the hows
-
Upload
robert-munteanu -
Category
Technology
-
view
2.237 -
download
5
description
Transcript of Apache Sling - The whys and the hows
[email protected] @rombert
Apache Sling - The whys and the hows
Apache Sling – The whys and the howsOSGi, JCR, REST, BCP
Robert Munteanu@rombert [email protected]
[email protected] @rombert
Who I am
$DAYJOB Adobe CQ
− Apache Sling− Apache Jackrabbit− Apache Felix
FOSS MantisBT Mylyn Connector
for MantisBT Mylyn Connector
for Review Board
[email protected] @rombert
Why Sling (2)
Non-mainstream technology choices
Standard nonetheless Coherent Opinionated (TM?)
[email protected] @rombert
Why Sling (3)
Content first approach RESTful access to resources Polyglot request handling
Java Javascript JSP Ruby
Access control management Logging ( slf4j )
[email protected] @rombert
Why Sling (4)
Apache Top-level project High-profile Sling adopters
Sakai Project ( sakaiproject.org ) Adobe CQ ( adobe.com/products/cq.html) Idium Web ( idium.no/web/ )
[email protected] @rombert
Why Felix
Sling is a set of OSGi bundles Builds on support from Apache Felix
– Dependency Injection
– Eventing
– Configuration Admin
– Modularity
[email protected] @rombert
Sling use cases
Blogs, news , bug trackers
Digital asset management
Wikis
[email protected] @rombert
OSGi component
@Component
@Service(ChaosMonkey.class)
public class DrunkChaosMonkey implements ChaosMonkey {
@Reference SlingRepository repo;
void doWhateverAChaosMonkeyDoes() { … }
}
[email protected] @rombert
Eventing
@Component
@Service(EventHandler.class)
@Property(name=”event.topics”, value=”some/event/queue”)
class LazyHandler implements EventHandler {
public void handleEvent(Event event) {…}
}
[email protected] @rombert
Think in content, not in tables
/content/myblog/posts/iphone_shipping/attachments/front.jpg
[Blog]
- blogId
- author
[Post]
- postId
- blogId
- title
- text
- date
[Attachment]
- attachmentId
- postId
- filename
+ resource (nt:resource)
In-depth discussion at http://wiki.apache.org/jackrabbit/DavidsModel
[email protected] @rombert
Resources
Apache Sling – http://sling.apache.org Apache Felix – http://felix.apache.org Apache Jackrabbit –
http://jackrabbit.apache.org @rombert{,w}