際際滷shows by User: michid / http://www.slideshare.net/images/logo.gif 際際滷shows by User: michid / Tue, 29 Sep 2015 09:33:59 GMT 際際滷Share feed for 際際滷shows by User: michid Avoiding and dealing with conflicting updates in Oak /slideshow/avoiding-and-dealing-with-conflicting-updates-in-oak/53315946 conflictsinoak-150929093359-lva1-app6891
Apache Jackrabbit Oak offers better horizontal scalability and concurrency than its predecessor, Apache Jackrabbit 2. The downside of which is increased chances of conflicts between concurrent updates. In this session I demonstrate how to deal with such conflicts by taking advantage of Oak's underlying consistency model. I will show how to build functionality like counting, voting, rating, negotiating, bidding, etc. common to collaborative applications. Such functionality traditionally requires some form of global consensus (e.g. locking, atomic commit protocols, ...). I will show how with Oak it is often possible to avoid conflicts all together by choosing the right content model. For cases where this is not possible I will discuss the mechanisms that Oak provides to deal with conflicts while they occur and after the fact. ]]>

Apache Jackrabbit Oak offers better horizontal scalability and concurrency than its predecessor, Apache Jackrabbit 2. The downside of which is increased chances of conflicts between concurrent updates. In this session I demonstrate how to deal with such conflicts by taking advantage of Oak's underlying consistency model. I will show how to build functionality like counting, voting, rating, negotiating, bidding, etc. common to collaborative applications. Such functionality traditionally requires some form of global consensus (e.g. locking, atomic commit protocols, ...). I will show how with Oak it is often possible to avoid conflicts all together by choosing the right content model. For cases where this is not possible I will discuss the mechanisms that Oak provides to deal with conflicts while they occur and after the fact. ]]>
Tue, 29 Sep 2015 09:33:59 GMT /slideshow/avoiding-and-dealing-with-conflicting-updates-in-oak/53315946 michid@slideshare.net(michid) Avoiding and dealing with conflicting updates in Oak michid Apache Jackrabbit Oak offers better horizontal scalability and concurrency than its predecessor, Apache Jackrabbit 2. The downside of which is increased chances of conflicts between concurrent updates. In this session I demonstrate how to deal with such conflicts by taking advantage of Oak's underlying consistency model. I will show how to build functionality like counting, voting, rating, negotiating, bidding, etc. common to collaborative applications. Such functionality traditionally requires some form of global consensus (e.g. locking, atomic commit protocols, ...). I will show how with Oak it is often possible to avoid conflicts all together by choosing the right content model. For cases where this is not possible I will discuss the mechanisms that Oak provides to deal with conflicts while they occur and after the fact. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/conflictsinoak-150929093359-lva1-app6891-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Apache Jackrabbit Oak offers better horizontal scalability and concurrency than its predecessor, Apache Jackrabbit 2. The downside of which is increased chances of conflicts between concurrent updates. In this session I demonstrate how to deal with such conflicts by taking advantage of Oak&#39;s underlying consistency model. I will show how to build functionality like counting, voting, rating, negotiating, bidding, etc. common to collaborative applications. Such functionality traditionally requires some form of global consensus (e.g. locking, atomic commit protocols, ...). I will show how with Oak it is often possible to avoid conflicts all together by choosing the right content model. For cases where this is not possible I will discuss the mechanisms that Oak provides to deal with conflicts while they occur and after the fact.
Avoiding and dealing with conflicting updates in Oak from michid
]]>
499 4 https://cdn.slidesharecdn.com/ss_thumbnails/conflictsinoak-150929093359-lva1-app6891-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Adapt to2012 oak - the new repository /slideshow/adapt-to2012-oak-the-new-repository-16361317/16361317 adaptto2012oak-thenewrepository-130205083822-phpapp02
Jackrabbit Oak is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. The Oak effort is a part of the Apache Jackrabbit project. Jackrabbit is a project of the Apache Software Foundation.]]>

Jackrabbit Oak is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. The Oak effort is a part of the Apache Jackrabbit project. Jackrabbit is a project of the Apache Software Foundation.]]>
Tue, 05 Feb 2013 08:38:22 GMT /slideshow/adapt-to2012-oak-the-new-repository-16361317/16361317 michid@slideshare.net(michid) Adapt to2012 oak - the new repository michid Jackrabbit Oak is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. The Oak effort is a part of the Apache Jackrabbit project. Jackrabbit is a project of the Apache Software Foundation. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/adaptto2012oak-thenewrepository-130205083822-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Jackrabbit Oak is an effort to implement a scalable and performant hierarchical content repository for use as the foundation of modern world-class web sites and other demanding content applications. The Oak effort is a part of the Apache Jackrabbit project. Jackrabbit is a project of the Apache Software Foundation.
Adapt to2012 oak - the new repository from michid
]]>
2095 2 https://cdn.slidesharecdn.com/ss_thumbnails/adaptto2012oak-thenewrepository-130205083822-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation White http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Scala & sling /slideshow/scala-sling/5920987 scalasling-101126064555-phpapp01
Apache Sling is a web application framework which eases development of content centric applications. Sling is based on REST principles and uses a JCR content repository (JSR-170/JSR-283) for storage. Based on the JSR 223 specification (Scripting for the Java Platform) it integrates various scripting languages as OSGi bundles. Scala is a scalable programming language for the JVM which is fully interoperable with Java. It is designed to express common programming patterns in a concise, elegant, and type safe way. Scala smoothly bridges the gap between object oriented and functional paradigms. Despite being strongly typed, Scala has the touch and feel of a genuine scripting language. It has the ability to infer types of expressions rather than relying on the programmer to explicitly declare them. Scala thus combines the best of the two worlds: flexible scripting and strong tool support e.g. documentation, safe refactoring and fail fast compilation. Its flexible syntax lets programmers easily define their own internal DSLs, effectively extending the language without leaving it. ]]>

Apache Sling is a web application framework which eases development of content centric applications. Sling is based on REST principles and uses a JCR content repository (JSR-170/JSR-283) for storage. Based on the JSR 223 specification (Scripting for the Java Platform) it integrates various scripting languages as OSGi bundles. Scala is a scalable programming language for the JVM which is fully interoperable with Java. It is designed to express common programming patterns in a concise, elegant, and type safe way. Scala smoothly bridges the gap between object oriented and functional paradigms. Despite being strongly typed, Scala has the touch and feel of a genuine scripting language. It has the ability to infer types of expressions rather than relying on the programmer to explicitly declare them. Scala thus combines the best of the two worlds: flexible scripting and strong tool support e.g. documentation, safe refactoring and fail fast compilation. Its flexible syntax lets programmers easily define their own internal DSLs, effectively extending the language without leaving it. ]]>
Fri, 26 Nov 2010 06:45:13 GMT /slideshow/scala-sling/5920987 michid@slideshare.net(michid) Scala & sling michid Apache Sling is a web application framework which eases development of content centric applications. Sling is based on REST principles and uses a JCR content repository (JSR-170/JSR-283) for storage. Based on the JSR 223 specification (Scripting for the Java Platform) it integrates various scripting languages as OSGi bundles. Scala is a scalable programming language for the JVM which is fully interoperable with Java. It is designed to express common programming patterns in a concise, elegant, and type safe way. Scala smoothly bridges the gap between object oriented and functional paradigms. Despite being strongly typed, Scala has the touch and feel of a genuine scripting language. It has the ability to infer types of expressions rather than relying on the programmer to explicitly declare them. Scala thus combines the best of the two worlds: flexible scripting and strong tool support e.g. documentation, safe refactoring and fail fast compilation. Its flexible syntax lets programmers easily define their own internal DSLs, effectively extending the language without leaving it. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/scalasling-101126064555-phpapp01-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Apache Sling is a web application framework which eases development of content centric applications. Sling is based on REST principles and uses a JCR content repository (JSR-170/JSR-283) for storage. Based on the JSR 223 specification (Scripting for the Java Platform) it integrates various scripting languages as OSGi bundles. Scala is a scalable programming language for the JVM which is fully interoperable with Java. It is designed to express common programming patterns in a concise, elegant, and type safe way. Scala smoothly bridges the gap between object oriented and functional paradigms. Despite being strongly typed, Scala has the touch and feel of a genuine scripting language. It has the ability to infer types of expressions rather than relying on the programmer to explicitly declare them. Scala thus combines the best of the two worlds: flexible scripting and strong tool support e.g. documentation, safe refactoring and fail fast compilation. Its flexible syntax lets programmers easily define their own internal DSLs, effectively extending the language without leaving it.
Scala & sling from michid
]]>
1454 1 https://cdn.slidesharecdn.com/ss_thumbnails/scalasling-101126064555-phpapp01-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
Scala for scripting /slideshow/scala-for-scriptinh/3902521 scala4scripting1-100429094836-phpapp02
Its conciseness, versatility and DSL capabilities makes Scala desirable for scripting. In this report we show how we implemented a JSR223 compliant script engine for Scala which runs inside OSGi environments. While the Scala compiler needs a class path to load class files, OSGi only provides class loaders. To overcome this we implemented a file system abstraction on top of OSGi bundles effectively providing a class path. Furthermore, JSR223's dynamic approach for passing arguments does not play well with Scala's static types. We need to make all types of arguments visible to scripts. Our implementation generates a preamble of adequate implicit conversions which allows scripts to use statically typed variables in a manner resembling dynamic types. Finally performance constraints require caching of pre-compiled scripts. Apache Sling, an OSGi based web application framework with a scriptable application layer, uses our implementation for type safe templating via Scala's XML support. ]]>

Its conciseness, versatility and DSL capabilities makes Scala desirable for scripting. In this report we show how we implemented a JSR223 compliant script engine for Scala which runs inside OSGi environments. While the Scala compiler needs a class path to load class files, OSGi only provides class loaders. To overcome this we implemented a file system abstraction on top of OSGi bundles effectively providing a class path. Furthermore, JSR223's dynamic approach for passing arguments does not play well with Scala's static types. We need to make all types of arguments visible to scripts. Our implementation generates a preamble of adequate implicit conversions which allows scripts to use statically typed variables in a manner resembling dynamic types. Finally performance constraints require caching of pre-compiled scripts. Apache Sling, an OSGi based web application framework with a scriptable application layer, uses our implementation for type safe templating via Scala's XML support. ]]>
Thu, 29 Apr 2010 09:48:28 GMT /slideshow/scala-for-scriptinh/3902521 michid@slideshare.net(michid) Scala for scripting michid Its conciseness, versatility and DSL capabilities makes Scala desirable for scripting. In this report we show how we implemented a JSR223 compliant script engine for Scala which runs inside OSGi environments. While the Scala compiler needs a class path to load class files, OSGi only provides class loaders. To overcome this we implemented a file system abstraction on top of OSGi bundles effectively providing a class path. Furthermore, JSR223's dynamic approach for passing arguments does not play well with Scala's static types. We need to make all types of arguments visible to scripts. Our implementation generates a preamble of adequate implicit conversions which allows scripts to use statically typed variables in a manner resembling dynamic types. Finally performance constraints require caching of pre-compiled scripts. Apache Sling, an OSGi based web application framework with a scriptable application layer, uses our implementation for type safe templating via Scala's XML support. <img style="border:1px solid #C3E6D8;float:right;" alt="" src="https://cdn.slidesharecdn.com/ss_thumbnails/scala4scripting1-100429094836-phpapp02-thumbnail.jpg?width=120&amp;height=120&amp;fit=bounds" /><br> Its conciseness, versatility and DSL capabilities makes Scala desirable for scripting. In this report we show how we implemented a JSR223 compliant script engine for Scala which runs inside OSGi environments. While the Scala compiler needs a class path to load class files, OSGi only provides class loaders. To overcome this we implemented a file system abstraction on top of OSGi bundles effectively providing a class path. Furthermore, JSR223&#39;s dynamic approach for passing arguments does not play well with Scala&#39;s static types. We need to make all types of arguments visible to scripts. Our implementation generates a preamble of adequate implicit conversions which allows scripts to use statically typed variables in a manner resembling dynamic types. Finally performance constraints require caching of pre-compiled scripts. Apache Sling, an OSGi based web application framework with a scriptable application layer, uses our implementation for type safe templating via Scala&#39;s XML support.
Scala for scripting from michid
]]>
2306 5 https://cdn.slidesharecdn.com/ss_thumbnails/scala4scripting1-100429094836-phpapp02-thumbnail.jpg?width=120&height=120&fit=bounds presentation Black http://activitystrea.ms/schema/1.0/post http://activitystrea.ms/schema/1.0/posted 0
https://public.slidesharecdn.com/v2/images/profile-picture.png https://cdn.slidesharecdn.com/ss_thumbnails/conflictsinoak-150929093359-lva1-app6891-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/avoiding-and-dealing-with-conflicting-updates-in-oak/53315946 Avoiding and dealing w... https://cdn.slidesharecdn.com/ss_thumbnails/adaptto2012oak-thenewrepository-130205083822-phpapp02-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/adapt-to2012-oak-the-new-repository-16361317/16361317 Adapt to2012 oak - th... https://cdn.slidesharecdn.com/ss_thumbnails/scalasling-101126064555-phpapp01-thumbnail.jpg?width=320&height=320&fit=bounds slideshow/scala-sling/5920987 Scala &amp; sling