+ All Categories
Home > Documents > Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments...

Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments...

Date post: 23-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
50
13 June 2017 © COPYRIGHT MARKLOGIC CORPORATION. ALL RIGHTS RESERVED. Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic
Transcript
Page 1: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

13 June 2017© COPYRIGHT MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Maximizing Your MarkLogic and Java InvestmentsScott A. Stafford, Principal Sales Engineer, MarkLogic

Page 2: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 2 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Photo attributed to smittenkitchen.com

Page 3: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 3 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Photo attributed to smittenkitchen.com

Page 4: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 4 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Photo attributed to disgruntled husband who had to clean oven

Page 5: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 5 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

MarkLogic Java Recipes§ Build and Deploy

§ Run automated testing

§ Load data from a relational database

§ Demo

BAM!

Page 6: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 6 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Page 7: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 7 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

REST API

Page 8: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 8 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

REST API

JAVA CLIENT API

Page 9: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Build and Deploy

Page 10: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 10 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Roxy v1.0 v1.5 v1.75

2 0 1 71 2 0 1 0 2 2 0 1 1 3 2 0 1 2 4 2 0 1 3 5 2 0 1 4 6 2 0 1 5 7 2 0 1 6 8 2 0 1 7

Mgmt API 1.0(Read)

MarkLogic

ClientAPI 1.0

Mgmt API 2.0(Read/Write)

Mgmt API 2.0(Read/Write)

v4.1 v5 v6 v7 v8 v9

Java Client API v1.0 v2.0 v3.0 v4.0

Mgmt API 2.0(Read/Write)

Content Pump v1.0 v7 v8 v9

CORB v2.0 v2.2 v2.3.2

v2.6v1.0

v1.0

v2.6v1.0

ml-app-deployer

ml-gradlle

Page 11: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 11 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

HTTP Wrapper

Management REST API

Page 12: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 12 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

HTTP Wrapper

Configuration Coordinator

Management REST API

Page 13: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 13 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

#!/bin/bash

Management REST API

Page 14: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 14 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

MarkLogic Python API

Management REST API

Page 15: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 15 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

ml-app-deployer<java>

Configuration Coordinator

Management REST API

Page 16: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 16 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

ml-app-deployer<java>

Management REST API

Page 17: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 17 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

ml-app-deployer

Management REST API

ml-gradlejava application maven

Page 18: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Run automated testing

Page 19: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 19 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Single Deploy Configuration

cookbook-content

cookbook:8200

cookbook-modules

Page 20: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front
Page 21: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 21 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Single Deploy Configuration

cookbook-content

cookbook:8200

cookbook-modulesXML

Page 22: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 22 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Single Deploy Configuration

cookbook-content

cookbook:8200

cookbook-modulesXML XML

Page 23: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 23 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Multiple Deploy Configuration

cookbook-content

cookbook:8200

cookbook-modules

cookbook-test-content

cookbook-test:8201

TESTDELETEREPEAT

Local Deploy CI Deploy

Page 24: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 24 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Use Spring to inject DatabaseClient

Remove documents from database before test

execution

Page 25: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Load data from a relational database

Page 26: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 26 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

CONTENT PUMP

Page 27: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 27 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Page 28: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 28 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Performance FailoverStatus Reliable

Page 29: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 29 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Basic Job Life-Cycle

DataMovement-Based Java Application MarkLogic Cluster

Listeners

Job ThreadsCreate, Configure, Start

Batcher

Listeners-sepcificaction

Work

Respose

ML Host

ML Host

ML HostNotifications

Work

ResponseBatcher

Page 30: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 30 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Page 31: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Demo Time!

Page 32: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 32 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

RECAP – MarkLogic Java Recipes§ Build and Deploy

§ Run automated testing

§ Load data from a relational database

Page 33: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 33 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

https://github.com/[email protected]

Scott Stafford

Page 34: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Backup/Brainstorm

Page 35: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 35 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

MarkLogic Architectures§ Three Tier

- Spring Boot Powered – Front End, Spring MVC, MarkLogic

§ Orchestration Framework – ingestion/streaming

- MarkLogic Spring Batch

§ Microservices

- Apache Kafka + MarkLogic

Page 36: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 36 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Continuous InnovationROADMAP

Cerisent XQE Server 1 § ACID transactions§ Text-based search§ Linux support§ Web-based protocols§ HTTP and XDBC § XQuery§ XDBC support§ Role-based security

2003

2004

2005

2006 2010

2011

2012

2008 2013

2015

MarkLogic 2§ Clustering§ Document collections§ Enhanced search

(stemming, thesaurus, wildcard)

§ WebDAV support§ Document locking§ Backup and restore

MarkLogic 3§ Advanced Search§ Content Processing

(including PDF, Word, Excel, PPT)

§ HTTP calls§ Support for Linux,

Windows Server, .NET§ Facets, co-occur., value

lexicons, bucketing§ Failover

MarkLogic 3.1§ Wildcard queries§ Directories§ Forward compatibility§ XML Contentbase

Connector (XCC)

MarkLogic 4§ Alerting§ Entity enrichment§ Geospatial§ Modular documents§ Security auditing§ HA: forest-level

failover

MarkLogic 4.1-2§ Replication§ Failover§ Database Rollback§ Compartment Security§ Search Optimizations§ Search API§ REST capabilities§ SSL support§ Schema Validation§ Japanese added

MarkLogic 5§ Database Replication§ Multi-statement and

distributed transactions§ Point-in-time recovery§ Search API enhanced§ Monitoring

API/Dashboard§ Hadoop Integration

MarkLogic 6§ Accessibility§ SQL/BI§ Java/REST/JSON§ UDFs/Analytics§ mlcp§ Hadoop updates

MarkLogic 8§ JSON storage§ Server-side JavaScript§ Semantics§ Bitemporal§ Samplestack§ Java Client API§ Node.js Client API§ Management API§ Incremental backup§ Flexible replication§ Enhanced HTTP

Server

MarkLogic 7§ Semantics foundation§ Next-gen infrastructure

support § Elasticity§ Tiered storage§ Run on HDFS

Page 37: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 37 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

CI Process1. Deploy container with fresh MarkLogic install

2. Run gradle commands for MarkLogic initialization (mlInit, mlInstallAdmin)

3. Load application system data (taxonomies, lookups, system data)

4. Deploy container with middle tier (i.e. Spring Boot, nginx, nodejs)

5. Run tests (gradle test)

6. Run user interface tests

Page 38: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front
Page 39: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

One HTTP request per document to a

single host

Page 40: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

DMSDKDMSDK

Page 41: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Application Context

Processor

Writer

Reader

Application Context

Page 42: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

INITIALIZATION

POST PROCSESING

READER

PROCESSOR

WRITER

Page 43: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 43 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Page 44: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

[“hip”, “hip”]

Page 45: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 45 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Page 46: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

SLIDE: 46 © COPYRIGHT 2017 MARKLOGIC CORPORATION. ALL RIGHTS RESERVED.

Get a gallon of milk

If (eggs == true) {

null;

}

Get a dozen

Page 47: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Some people, when confronted with a problem, think, 'I know, I'll use threads' - and then two they

hav erpoblesms.

Page 48: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Immutability changes everything

Page 49: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

Knock knock.Race condition.Who's there?

Page 50: Maximizing Your MarkLogic and Java Investments · Maximizing Your MarkLogic and Java Investments Scott A. Stafford, Principal Sales Engineer, MarkLogic ... -Spring Boot Powered –Front

There are only two hard problems in distributed systems:

2. Exactly-once delivery 1. Guaranteed order of messages

2. Exactly-once delivery


Recommended