Nosql at Work with JCR and Apache Jackrabbit

Total Page:16

File Type:pdf, Size:1020Kb

Nosql at Work with JCR and Apache Jackrabbit NoSQL at work with JCR and Apache Jackrabbit Carsten Ziegeler, Adobe [email protected], Nov 2011 Vancouver About • Member of the ASF – Sling, Felix, Portals, Incubator – PMC: Felix, Portals, Incubator, Sling (Chair) ‏ • RnD Team at Adobe Research Switzerland • Arcle/Book Author • Technical Reviewer • JSR 286 Spec Group (Portlet API 2.0) 2 Movaon • Tried and trusted NoSQL soluon • Standard Java API – First spec released in May 2005 – Various implementaons, products, and soluons – Open Source implementaon since 2006 • Think about your data use cases / problems – JCR might help! 3 Consider JCR • Data structure • Supporng the web • ACID • Security • Addional features 4 The Structure of Data • A data storage should be flexible and • Allow to model app data in the “right” way – Opmal way of dealing with the data in the app 5 The Structure of Data • A data storage should be flexible and • Allow to model data in the “right” way • What is the “right” way? – Tables? – Key‐Value‐Pairs? – Schema based? – Semi structured or even unstructured? – Flat, hierarchical or graph? 6 The Structure of Data • The right way depends on the applicaon: – Tables – Key‐Value‐Pairs – Schema based – Semi structured and unstructured – Flat, hierarchical, and graph – … • An app might have more than one “right” way • But: A lot of data can be modeled in a hierarchy 7 Sample: Product Catalog Books DVDs English English Ficon IT SF Douglas Adams Databases 2001 2010 A Hitch.. Apache Jackrabbit 8 Java Content Repository • Hierarchical content – Nodes with properes – (Table is a special tree) • Structured – Nodetypes with typed properes • And/or semi structured and unstructured • Fine and coarse‐grained • Single repository for all content! 9 Sample: Product Catalog Databases Apache Jackrabbit tle authors ISBN cover 10 Sample: Product Catalog Databases Apache Jackrabbit tle authors ISBN cover Defined by node type 11 Sample: Product Catalog Databases Apache Jackrabbit tle authors ISBN cover User Images Defined by node type img1 img2 12 JSR 170 / JSR 283: Content Repository for JavaTM technology API • (Java) Standard – Version 1.0 and 2.0 – Supported by many vendors – Used by many products and projects – Several open source soluons • Data model and features • Connecng to a CR • Working / Interacon with a CR 13 14 Apache Jackrabbit – JSR 170 and 283 reference implementation – Apache TLP since 2006 – Vital community – Frequent Releases • 1.6.5 (JSR 170 based, EOL) • 2.2.9 (JSR 283) • (dev branch 2.3.2) – Components • Commons, API • RMI, WebDAV, WebApp, JCA • OCM http://jackrabbit.apache.org/ • And more... 14 Data and the Web? • The web is hierarchical by nature • Web applicaons provide data in different ways – HTML – JSON • Provide your data in a RESTful way – hp://…/products/books/english/it/databases/apachejackrabbit.(html|json) • Avoid mapping/conversion – hp://…/products.jsp?id=5643564 15 Resource Oriented Architecture I • Every piece of informaon is a resource – News entry, book, book tle, book cover image – Descripve URI • Stateless web architecture (REST) – Request contains all relevant informaon – Targets the resource • Leverage HTTP – GET for rendering, POST for operaons 16 Resource Oriented Architecture II • JCR and Apache Jackrabbit are a perfect match – Hierarchical – From a single piece of informaon to binaries • Elegant way to bring data to the web • Apache Sling is (the|one) web framework 17 Sample Applicaon: Slingshot • Digital Asset Management – Hierarchical storage of pictures – Upload Poor man's flickr... – Tagging – Searching – Automac thumbnail generaon • Sample applicaon from Apache Sling 18 Slingshot Content Structure Travel Family Europe Weddings Amsterdam Basel 1997 2007 City Photo Photo Photo Photo 19 Facts About Slingshot • Java web applicaon • Uses Apache Sling as web framework • Content repository managed by Apache Jackrabbit • Interacon through the JCR API 20 Authencaon and Access Control • Apache Jackrabbit supports JAAS – Custom login modules possible • Deny / Allow of privileges on a node – Like read, write, add, delete – Inheritance from parent • Tree allows structuring based on access rights • Access control is done in the data er! 21 Slingshot Content Structure johndoe janedoe public private public private Basel Amsterdam Weddings Photo Photo 1997 Read for everyone, write for owner Write for owner Photo Photo 22 Content Modeling • Create a content hierarchy – Based on how the data is used – Access rights • Node type – Defines the structure of a node (schema) – Leverage exisng types – Start unstructured – Use mixin node types where appropriate (semi structure) 23 Leverage Exisng Node Types nt:hierarchyNode mix:tle nt:folder mix:created nt:file mix:lastModified nt:linkedFile nt:unstructured 24 Modeling: Node Types and Mixins mix:tle mixin - jcr:descripon (string) - jcr:tle(date) slingshot:photo > mix:tle mixin nt:file - slingshot:locaon (string) - slingshot:tags (string[]) slingshot:album > mix:tle mixin nt:folder - slingshot:date (date) sling:Folder slingshot:tag > mix:tle nt:base 25 Namespaces • Namespaces can be used for – Node types – Node and property names • Single namespace per company or app • Reasonably unique namespace prefix • Prefixed names for – Node types (always!) – Structured content • No namespace for unstructured content 26 Content Modeling: Words of Advice • Use an applicaon root node – /my:content or /slingshot – Good for searching, backup, and migraon • Avoid flat hierarchies – User interface complexity • Content‐driven design – Design your content before your applicaon 27 Content Modeling: Words of Advice • Embrace change • Look at exisng node types (JSR 2.0) • Start unstructured • Semi structure through mixin node types • Checkout Apache Jackrabbit wiki and mailing lists – "Davids Model" 28 (Nearly) Everthing is Content • Applicaon domain specific content • Presentaon support (HTML, CSS, JavaScript, Images) • Documentaon, translaons • Server side scripts • Applicaon code • … 29 Content Silos without JCR • Structured content – Usually schema based • Unstructured content • Large data (images, movies etc.) • Different storage for each use case 30 Content Repository: Combined Features • Features of a RDBMS – Structure, integrity, transacons – Queries • Features of a file system – Hierarchy, binaries – Access control, locking • And more good stuff – Observaon, versioning – Unstructured, mul values, sort order 31 Content Repository: Combined Features • Features of a RDBMS – Structure, integrity, transacons – Queries No • Features of a file system content – Hierarchy, binaries silos – Access control, locking • And more good stuff – Observaon, versioning – Unstructured, mul values, sort order 32 The Repository Model • Repository: one (or more) workspaces • Workspace contains a tree of nodes • Node have properes • Nodes provide the content structure – May have children • Actual data is stored as values of properes • Types and namespaces! Implementation of JCR 33 Sample: Product Catalog Databases Apache Jackrabbit tle authors ISBN cover 34 Connecng to the Repository • JCR 2.0 provides RepositoryFactory • Uses Service Provider Mechanism • META‐INF/services/javax.jcr.RepositoryFactory • Just use • RepositoryFactory.getRepository(null) • Or specify connecon parameters • RepositoryFactory.getRepository(Map) • With Apache Sling: OSGi service! 35 Working with the Repository • Interacon is session based – Assemble credenals – Login into workspace Credentials myCredentials = new SimpleCredentials("USERID", "PASSWORD".toCharArray()); Session mySession = repository.login(myCredentials, "WORKSPACE"); 36 Traversing the Content • Traverse the repository – From the root or any node Node rootNode = mySession.getRootNode(); Node albumNode = rootNode.getNode("slingshot/albums/travel"); Node europeNode = albumNode.getNode("Europe"); 37 Retrieve a Property • Various ways to get a property – Different methods for each type – Automac type conversion if possible Property prop = albumNode.getProperty(jcr:description"); Value value = prop.getValue(); String desc = value.getString(); value.getBoolean(); value.getStream(); value.getLong(); value.getDate(); value.getDouble(); 38 Changing Content • Change everything you want – Add/Remove nodes – Add/Remove/Change properes – Transient space – Then save // change albumNode.addNode("newAlbum"); europeNode.setProperty(“jcr:description", "something"); // save... mySession.save(); // ... or revert all changes mySession.refresh(false); 39 Interacon Summary • Get the repository • Login to a workspace – Provides a session • Use the session to – Access nodes and their properes – Navigaon/traversal or query – CRUD and save changes • Close the session 40 Advanced Development • Apache Sling – REST based web framework – Powered by OSGi – Scripng Inside • Apache Jackrabbit OCM – Map content to Java objects and vice versa – Similar to database ORMs 41 Observaon • Enables applicaons to register interest in changes • Monitor changes • Act on changes API: ObservaonManager: addEventListener(EventListener listener, int eventTypes, java.lang.String absPath, boolean isDeep, java.lang.String[] uuid, java.lang.String[] nodeTypeName, boolean noLocal) Advanced JCR Features 42 Event Types • Six different events – Node added – Node removed – Node moved – Property added – Property changed – Property removed Advanced JCR Features 43 Event Listeners • Registered with a session • Registraon with oponal filters – Like node types, paths, event types • Receive events for every change – Set of changes API: public void onEvent(EventIterator events);
Recommended publications
  • Study of the Utility of Text Classification Based Software
    Study of the Utility of Text Classification Based Software Architecture Recovery Method RELAX for Maintenance Daniel Link Kamonphop Srisopha Barry Boehm University of Southern California University of Southern California University of Southern California Los Angeles, California, USA Los Angeles, California, USA Los Angeles, California, USA [email protected] [email protected] [email protected] ABSTRACT ACM Reference Format: Background. The software architecture recovery method RELAX Daniel Link, Kamonphop Srisopha, and Barry Boehm. 2021. Study of the Utility of Text Classification Based Software Architecture Recovery Method produces a concern-based architectural view of a software sys- RELAX for Maintenance. In ACM / IEEE International Symposium on Em- tem graphically and textually from that system’s source code. The pirical Software Engineering and Measurement (ESEM) (ESEM ’21), Octo- method has been implemented in software which can recover the ber 11–15, 2021, Bari, Italy. ACM, New York, NY, USA, 6 pages. https: architecture of systems whose source code is written in Java. //doi.org/10.1145/3475716.3484194 Aims. Our aim was to find out whether the availability of archi- tectural views produced by RELAX can help maintainers who are 1 INTRODUCTION new to a project in becoming productive with development tasks While several definitions of what a software architecture is exist sooner, and how they felt about working in such an environment. [11], e.g., the set of design decisions about a software system [13], Method. We conducted a user study with nine participants. They they all refer to the structure of a software system and the reasoning were subjected to a controlled experiment in which maintenance process that led to that structure.
    [Show full text]
  • Bae Systems Information and Electronic Systems Integration Inc
    BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC. GEOSPATIAL EXPLOITATION PRODUCTS® PLATFORM SOFTWARE LICENSE AGREEMENT THIS SOFTWARE LICENSE AGREEMENT (“AGREEMENT”) APPLIES TO ANY SOFTWARE PRODUCT(S) THAT MAY BE PROVIDED BY BAE SYSTEMS INFORMATION AND ELECTRONIC SYSTEMS INTEGRATION INC. (“LICENSOR”) TO YOU (“LICENSEE”), INCLUDING BUT NOT LIMITED TO GXP XPLORER®, SOCET GXP®, SOCET SET®, GXP WEBVIEW®, GXP INMOTION™, GXP INMOTION™ SERVER, GXP JPIP SERVER, GXP OPSVIEW™ AND IF APPLICABLE (AS SPECIFICALLY IDENTIFIED IN THE APPLICABLE ORDERING DOCUMENT OR CONTRACT) THE GXP XPLORER SERVER TO DIB CONNECTOR (EACH SEPARATELY REFERRED TO BELOW AS “GXP SOFTWARE”). READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY BEFORE (1) OPENING THE PACKAGE OR DOWNLOADING THE FILE CONTAINING THE GXP SOFTWARE, OR (2) CLICKING THE “I ACCEPT” BUTTON. THE GXP SOFTWARE AND THE ACCOMPANYING USER DOCUMENTATION (EACH REFERRED TO AS THE “PROGRAM”) ARE COPYRIGHTED AND LICENSED - NOT SOLD. BY OPENING THE SOFTWARE PACKAGE, OR CLICKING “I ACCEPT”, YOU ARE ACCEPTING AND AGREEING TO THE TERMS OF THIS AGREEMENT. IF YOU DO NOT ACCEPT THE TERMS AND CONDITIONS OF THIS AGREEMENT PROMPTLY RETURN THE UNOPENED PACKAGE TO THE PARTY FROM WHOM IT WAS ACQUIRED, CANCEL THE DOWNLOAD OR CANCEL THE INSTALLATION. IF YOU ARE A UNITED STATES (“U.S”) GOVERNMENT CUSTOMER, ACCEPTANCE OF THESE TERMS ARE EFFECTUATED BY ACCEPTANCE OF A PROPOSAL, QUOTE, OR OTHER ORDERING DOCUMENT OR CONTRACT INCORPORATING THIS AGREEMENT BY REFERENCE OR OTHERWISE OR BY CONTRACTING OFFICER EXECUTION OF THIS AGREEMENT. THIS AGREEMENT REPRESENTS THE ENTIRE AGREEMENT CONCERNING THE LICENSING OF THE PROGRAM BETWEEN LICENSEE AND LICENSOR, AND IT SUPERSEDES AND REPLACES IN ITS ENTIRETY ANY PRIOR PROPOSAL, REPRESENTATION, OR UNDERSTANDING BETWEEN THE PARTIES.
    [Show full text]
  • Full-Graph-Limited-Mvn-Deps.Pdf
    org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version}
    [Show full text]
  • Effective Web Application Development with Apache Sling
    Effective Web Application Development with Apache Sling Effective Web Application Development with Apache Sling Robert Munteanu ApacheCon Core Europe 2015 http://robert.muntea.nu @rombert Who I am DA!"#$ (OSS A%obe Experience Apache Sling Manager Mantis$* Apache Sling M+l+n Connector for Apache Jackrabbit Mantis$* Apache Feli& M+l+n Connector for Review $oar% Speaker.currentSpeaker().interrupt(); http://robert.muntea.nu @rombert Agenda ● Quick facts and figures ● Conceptual ,oundation) ● Building block) ● Building Sling application) http://robert.muntea.nu @rombert Quick fact" and figure" Quick facts and figures http://robert.muntea.nu @rombert Quick fact" and !igure" 200& 200. 200/ 2012 1re-Apache incubation *01 3ersion 7 http://robert.muntea.nu @rombert High-level View o! the Code Source: OpenHub http://robert.muntea.nu @rombert 'evel of activit( Source5 OpenHub Source: statu)7apache7org http://robert.muntea.nu @rombert Community involvement Source: Mar'mail http://robert.muntea.nu @rombert &onceptual foundation" Conceptual ,oundations http://robert.muntea.nu @rombert &onceptual foundation" RES*-based #SGi-powere% Content4%riven Apache Scripting in)ide http://robert.muntea.nu @rombert Apache Open Source Project 1. 2 1 . (eli& Arie) ServiceMi& Commons 9 : 1 2 Geronimo "ackrabbit Derb+ *i'a http://robert.muntea.nu @rombert ,ES--ba"ed ;blog;<0=7html Blog3iewController ;blog; BlogLi)tController ; HomeController ; SlingMainServlet ;blog ;blog;hello-worl% http://robert.muntea.nu @rombert &ontent$driven blog hello-world jcr:content
    [Show full text]
  • A Java Content Repository Backed by the Native XML Database System XTC JSR 170 Compliant Implementation
    Technische Universit¨atKaiserslautern Fachbereich Informatik AG Datenbanken und Informationssysteme Prof. Dr.-Ing. Dr. h. c. Theo H¨arder A Java Content Repository backed by the native XML Database System XTC JSR 170 compliant implementation Diploma Thesis submitted by Sebastian Prehn Betreuer: Prof. Dr.-Ing. Dr. h. c. Theo H¨arder Dipl.-Inf. Karsten Schmidt Day of issue: 21. Feb. 2008 Day of delivery: 31. Jul. 2008 Ich versichere hiermit, dass ich die vorliegende Diplomarbeit mit dem Thema “A Java Content Repository backed by the native XML Database System XTC” selbstst¨andig verfasst und keine anderen als die angegebe- nen Hilfsmittel benutzt habe. Die Stellen, die anderen Werken dem Wortlaut oder dem Sinn nach entnommen wurden, habe ich durch die Angabe der Quelle, auch der benutzten Sekund¨arliteratur, als Entlehnung kenntlich gemacht. Hereby I declare that I have self-dependently composed the Diploma Thesis at hand. The sources and additives used have been marked in the text and are exhaustively given in the bibliography. Kaiserslautern, 31. Jul. 2008 Sebastian Prehn Abstract JSR 170 spezifiziert die Java Content Repository (JCR) Schnittstelle. Diese Schnittstelle wird als Standard im Bereich Web-Anwendungen und Content Management akzeptiert. Sie gliedert sich in Level 1 (lesender Zugriff) and Level 2 (Lese- und Schreibzugriff) und beschreibt dar¨uber hinaus vier weit- ere optionale Funktionen. Das in JSR 170 beschriebene hierarchische Daten- modell weist starke Analogie zu XML auf. Jedoch verwenden die meisten JCR-Implementierungen relationale Datenbanken. Durch native XML Daten- banken, wie XTC, k¨onnen XML-Daten effizient verwaltet werden. Diese Arbeit beschreibt das Design und die Implementierung eines Level 2 JCRs, welches alle Anforderungen an die Persistenz mit Hilfe von DOM und XQuery Operationen auf XML-Dokumenten in XTC erf¨ullt.
    [Show full text]
  • Praca Dyplomowa Inżynierska Michał Breiter
    Rok akademicki 2014/2015 Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Informatyki PRACA DYPLOMOWA INŻYNIERSKA Michał Bogusław Breiter Aplikacja do przeglądania i edycji Java Content Repository z wykorzystaniem platformy NetBeans Opiekun pracy dr inż. Łukasz Skonieczny Ocena: ..................................................... ................................................................. Podpis Przewodniczącego Komisji Egzaminu Dyplomowego 1 Kierunek: Informatyka Specjalność: Inżynieria Systemów Informatycznych Data urodzenia: 1991.04.09 Data rozpoczęcia studiów: 2010.10.01 Życiorys Urodziłem się 9 kwietnia 1991 roku w Warszawie. W 2010 roku ukończyłem Liceum Ogólnokształcące nr LI im. T. Kościuszki. W październiku 2010 roku rozpocząłem studia na Wydziale Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W trakcie studiów wybrałem specjalizację Inżynieria Systemów Informatycznych prowadzoną przez Instytut Informatyki. ....................................................... Podpis studenta EGZAMIN DYPLOMOWY Złożył egzamin dyplomowy w dniu ..................................................................................2015 r z wynikiem ................................................................................................................................... Ogólny wynik studiów: ................................................................................................................ Dodatkowe wnioski i uwagi Komisji: .........................................................................................
    [Show full text]
  • Open Source Third Party Disclosure Document
    ACTICO Rules - Team Server Open Source Third Party Disclosure Document Version 6.8.3 ACTICO GmbH www.actico.com Open Source Third Party Disclosure Document Copyright © ACTICO GmbH © 2018 ACTICO GmbH. All rights reserved, also regarding any disposal, exploitation, reproduction, editing, distribution, as well as in the event of applications for industrial property rights. Open Source Third Party Disclosure Document Table of Contents 1. Acknowledgments .............................................................................................................. 1 2. Third Party Licenses and Components ......................................................................... 2 A. Apache-2.0 ................................................................................................................................ 13 B. BSD-3-Clause ............................................................................................................................. 16 C. CDDL-1.0 ................................................................................................................................... 17 D. CDDL-1.1 ................................................................................................................................... 21 E. CONCURRENT-PUBLIC-DOMAIN ...................................................................................................... 25 F. DAY .......................................................................................................................................... 26 G. EPL-1.0
    [Show full text]
  • Jackrabbit Filevault Validation Konrad Windszus, Netcentric About Me
    EUROPE'S LEADING AEM DEVELOPER CONFERENCE 28th – 30th SEPTEMBER 2020 Jackrabbit FileVault Validation Konrad Windszus, Netcentric About Me § Passionate about Open Source § Apache Sling PMC member § Apache Jackrabbit PMC member § ACS AEM Commons Committer § Working at Netcentric 2 About Jackrabbit FileVault § Default packaging format for JCR § Enhanced serialization compared to JCR 2.0 § Became Open Source in 2013 § Apache Maven Plugin contributed in 2017 § Lacks contributors 3 Recent Changes in FileVault § Performance improvements in Maven Plugin § Migration to Git § Documentation improvements § and Validation capabilities 4 FileVault Validation - Why § Packages are complex § Uncovered nodes have unexpected default behaviour § Serialization Format JCR (Enhanced) Document View XML is hard to read § Package types introduced further restrictions § Installation order sometimes important (ancestor nodes first) 5 Example 1: ACS AEM Commons § Invalid filter.xml § <include pattern="/etc/acs-commons/qr- code/jcr:content/clientlib-author" mode="merge"/> § Relying on ancestor node’s type § https://github.com/Adobe-Consulting- Services/acs-aem-commons/issues/2044 6 Example 2: Can you spot the issue? Repository + /content [sling:Folder] + /test [nt:unstructured] before import - myProperty = “foo” filter.xml <filter root=“/content” mode=“merge” /> Package’s + /content/test <jcr:root xmlns … jcr_root - .content.xml jcr:primaryNode=“nt:unstructured” myProperty2=“bar” /> Repository + /content [nt:folder] + /test https://issues.apache.org/jira/ after import
    [Show full text]
  • Vorwort Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin
    Vorwort Stefan Edlich, Achim Friedland, Jens Hampe, Benjamin Brauer, Markus Brückner NoSQL Einstieg in die Welt nichtrelationaler Web 2.0 Datenbanken ISBN: 978-3-446-42753-2 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42753-2 sowie im Buchhandel. © Carl Hanser Verlag, München Geleitwort Im Internetzeitalter werden Begriffe auf unkonventionelle Weise „definiert“. So etablierte Tim O’Reilly den Begriff Web 2.0 durch Beispiele. Diese Vorgehensweise lässt in unserer schnelllebigen, marketingorientierten Welt Spielräume, um Begriffe bei Bedarf „umzude­ finieren“ und zu erweitern. Ähnlich verhält es sich mit „NoSQL“. Dieser Begriff wird zu­ nächst durch das definiert, was er nicht ist, also kein SQL. Natürlich sind Negativdefini­ tionen nicht zielführend – insbesondere nicht, um aktuelle Trends auszudrücken, denn natürlich sind alle Datenbanksysteme von IMS über hierarchische Systeme und sogar einige relationale Systeme NoSQL­Datenbanken im Sinne dieser Definition. Allerdings ist das nicht von den NoSQL­Protagonisten beabsichtigt. NoSQL hat nichts mit der strukturierten Anfragesprache SQL zu tun, sondern ist nur als provokative Phrase zu verstehen, um Auf­ merksamkeit zu erregen. Dies zeigt sich auch daran, dass heutzutage Teile der Commu­ nity NoSQL als „not only SQL“ auffassen und somit die strikte Abgrenzung von SQL auf­ weichen. Worum geht es der NoSQL­Community also wirklich? NoSQL will neue Alternativen zum allgegenwärtigen relationalen Datenmodell und zu üblichen Datenbanktechnologien wie Transaktionsmanagement herausstellen, die für bestimmte Anwendungsklassen hinsicht­ lich der Betriebskosten, Anwendungsentwicklung oder Skalierbarkeit der eierlegenden Wollmilchsau „relationales Datenbanksystem“ überlegen sind. Dabei spielt die Demokra­ tisierung der Softwareentwicklung durch die Open Source­Community eine große Rolle für NoSQL. Heutzutage werden Standards wie z.B.
    [Show full text]
  • Third-Party Software Usage and Licenses Version 11.1 • July 2014
    Oracle Commerce Guided Search Third-Party Software Usage and Licenses Version 11.1 • July 2014 Contents Copyright and disclaimer..........................................................................................................5 About this guide.........................................................................................................................7 Who should use this guide.........................................................................................................................................7 Conventions used in this guide..................................................................................................................................7 Contacting Oracle Support.........................................................................................................................................7 Chapter 1: Third-Party Software Usage and Licenses.....................................9 Commercial Packages and Terms.............................................................................................................................9 Open Source Packages and Terms.........................................................................................................................10 Libraries....................................................................................................................................................................25 Other Third-party Dependencies..............................................................................................................................28
    [Show full text]
  • Open Source Web Content Management in Java
    Open Source Web Content Management in Java Release 1.0 February 2008 Open Source Web Content Management Options in Java Seth Gottlieb Version 1.0, Workgroup License Copyright © 2007 Content Here, Inc. License Agreement and Disclaimer Workgroup License This report is licensed under a "Workgroup License" that allows your company to make this report available to up to ten (10) staff members. It may not be shared with customers or copied, reproduced, altered, or re-transmitted in any form or by any means without prior written consent. Any rankings or scoring information may not be used in promotional materials. Disclaimer This report is intended to be an overview of the technologies described and not a recommendation or endorsement of a specific platform or technology strategy. The most appropriate platform for your use depends on the unique requirements, legacy architecture, and technical capabilities of your organization. Content Here, Inc., cannot ensure the accuracy of this information since projects, vendors, and market conditions change rapidly. Content Here, Inc., disclaims all warranties as to the accuracy or completeness of the information in this report and shall have no liability for errors, omissions, or inadequacies in the information presented. All Rights Reserved. Not for Redistribution. Copyright 2007 Content Here, Inc. Version 1.0, Workgroup License Page 2 All Rights Reserved. Not for Redistribution. Copyright 2007 Content Here, Inc. Version 1.0, Workgroup License Page 3 All Rights Reserved. Not for Redistribution. Acknowledgements Thanks to the following people for reviewing sections of this report for accuracy • Elie Auvray (Jahia) • Kevin Cochrane (Alfresco) • Arjé Cahn • Alexander Kandzior (OpenCms) • Boris Kraft (Magnolia) • Steven Noels (Daisy) Jennifer Gottlieb provided copyedit services and general encouragement to help me complete this report.
    [Show full text]
  • Third Party Notices and Information
    Third Party Notices and Information This page contains information regarding any third party code included with your SAS software, including applicable third party software notices and/or additional terms and conditions. SAS Visual Analytics 8.3 Component Applicable License(s) @openui5/sap.f 1.52.10 Apache License 2.0 @openui5/sap.m 1.52.10 Apache License 2.0 @openui5/sap.m 1.56.0 Apache License 2.0 @openui5/sap.tnt 1.52.10 Apache License 2.0 @openui5/sap.ui.commons 1.52.5 Apache License 2.0 @openui5/sap.ui.core 1.52.5 Apache License 2.0 @openui5/sap.ui.demokit 1.52.10 Apache License 2.0 @openui5/sap.ui.documentation 1.52.10 Apache License 2.0 @openui5/sap.ui.fl 1.52.11 Apache License 2.0 @openui5/sap.ui.layout 1.52.10 Apache License 2.0 @openui5/sap.ui.suite 1.52.10 Apache License 2.0 @openui5/sap.ui.support 1.52.10 Apache License 2.0 @openui5/sap.ui.table 1.52.10 Apache License 2.0 @openui5/sap.ui.ux3 1.52.10 Apache License 2.0 @openui5/sap.uxap 1.52.5 Apache License 2.0 @paulwib/event-source-polyfill 0.0.13 MIT License @rokt33r/ace-builds 1.1.9 BSD 3-clause "New" or "Revised" License @spalger/filesaver 1.0.0 MIT License abego TreeLayout Core 1.0.1 BSD 3-clause "New" or "Revised" License ACE - Ajax.org Cloud9 Editor 1.2.3 BSD 3-clause "New" or "Revised" License ace-builds 1.1.9 BSD 3-clause "New" or "Revised" License ace-builds 1.2.0 BSD 3-clause "New" or "Revised" License ace-builds v1.2.6 BSD 3-clause "New" or "Revised" License acota-utils 0.3.7 Apache License 2.0 adobe-source-sans-pro-fonts 1.050 SIL Open Font License 1.1 Animal Sniffer
    [Show full text]