72
Copyright 2011 @CULT. All rights reserved National Széchényi Library of Hungary Monday, June 15, 2015 Architecture and main characteristics

Oseegenius & Olisuite - Technicalities

Embed Size (px)

Citation preview

Page 1: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

National Széchényi Library of HungaryMonday, June 15, 2015

Architecture and main characteristics

Page 2: Oseegenius & Olisuite - Technicalities

Copyright 2009-2010 @CULT. All rights reserved

Andrea GazzariniSoftware Architect, @Cult

National Széchényi Library of HungaryMonday, June 15, 2015

http://www.atcult.it [email protected]

http://people.apache.org/map.html?person=agazzarini

https://twitter.com/agazzarini

https://www.linkedin.com/in/andreagazzarini

http://andreagazzarini.blogspot.it

https://github.com/agazzarini

http://www.slideshare.net/AndreaGazzarini

https://www.packtpub.com/big-data-and-business-intelligence/apache-solr-essentials

Page 3: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius? (1/2)

What is ?

A search platformCompletely written in Java using *only* open source components.

An extensible search frameworkEvery module or component has been implemented with extensibility in mind. As consequence of that, the platform provides a lot of extension points for plugging / implementing / enabling custom features.

Search Service Oriented Architecture (SSOA)Search services are requestor-unaware. For instance, they can serve an OPAC, a Library Management System or whatever application that needs search capabilities.

Page 4: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius? (2/2)

What is ?

CohesiveResponsibilites are clearly defined within each module. That means a high decoupled system where indexing, searching and visualization aremanaged by focused, distinct and decoupled modules.

And last but not least...an OPAC! The Online Public Access Catalog, from a framework perspective, is just a concrete implementation instance of the underlying framework, specifically an instance that manages bibliographic records.

Page 5: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 5

The OseeGenius Family (1/2)

-I

-S

-Z

-W

(ndexer): The module that holds the indexing logic.

(earcher): The module that exposes search services.

(3950): BATH profile compliant Z3950 proxy / adapter

(eb): End-user front-end application & REST services.

Page 6: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 6

The OseeGenius Family (2/2)

-I--I-Data

-S--S-

-W--W- -Z--Z-

1

Data is indexed in

2 Then it is synchronized in

3

Then it is exposed by means of

4

Offline Index is continuously updated

5

Changes are periodically synchronized within the online index

HTML / HTTP XML / HTTP

CLIENT Z3950

Z3950 / TCP

LMSLMS

The natural evolution of the platform is the integration of the search services (-I- and -S-) with the Library Management System

Page 7: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

OseeGenius: Search Services Domain

Search Services Domain

Page 8: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius -I- ? (1/2)

What is -I ?

The “indexer”The module that manages the underlying persistent storage.It is mainly responsible to manipulate (i.e. add, remove or update) thedata that will be later available for search.

Apache Solr basedThe indexer module is built on top of Apache Solr, the popular IR platform. We added some extension for enhancing indexing capabilities in terms of supported formats like:

- MARC record indexing (file or stream based)- Digital record indexing (e.g. Microsoft Office or LibreOffice docs, PDF)- RDF indexing

Page 9: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 9

What is OseeGenius -I- ? (2/2)

Standard pluggable architectureOseeGenius enhances Solr with its own extensions by exclusively means of Solr provided extension points: that means the running Solr is exactly the same you can download from its website.

Page 10: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 10

Supported formats

MARC: bibliographic records can be manipulated by means of a declarative pre-processing meta-language (e.g. subfields concatenation, trailing punctuation removal);

Rich documents: by means of a dedicated declarative meta-language for manipulating digital documents (e.g. metadata extraction, keyword indexing, fulltext indexing)

Text documents (e.g. XML, HTML, CSV, FLAT files)

RDF: RDF/XML, N-TRIPLES, TRIG, N3, N-QUADS, TURTLE

Database records: RDBMS, OODBMS and NoSQL

Web sites (crawling)

Other content (e.g. Emails, RSS)

Page 11: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 11

Indexing MARC records

The following are just three examples: OseeGenius -I- includes at the moment about 150 extraction functions.

topic = alpha(650:653:654)

“Create a topic attribute on OseeGenius by extracting, from the current MARC record, all the alphabetical subfields of tags 650, 653 and 654.”

“Create a topic attribute on OseeGenius by extracting, from the current MARC record, all the alphabetical subfields of tags 650, 653 and 654.”

topical_subject = value(650a)

“Create a topical_subject attribute on OseeGenius by extracting the raw value of tag 650, subfield a”

“Create a topical_subject attribute on OseeGenius by extracting the raw value of tag 650, subfield a”

title = removeTrailingPunctuation(value(245a))

“Extracts the value of 245$a then remove any trailing punctuation”“Extracts the value of 245$a then remove any trailing punctuation”

Page 12: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius -S- ? (1/2)

What is -S ?

The “Searcher”The module that exposes search services. It has a “read-only” view of the underlying data, periodically or near-real-timesynchronized with the changes applied by the indexer module.

Apache Solr...OseeGenius -S- is also built on top of Apache Solr. Here, differently from the indexer module, the extensions we added are exclusively related with the search domain. ...again with some extensionFor example, there's a plugin for adding real-time holdings data about a givenset of search results

Page 13: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 13

What is OseeGenius -S- ? (2/2)

Standard pluggable architectureOseeGenius enhances Solr with its own extensions by exclusively means of Solr provided extension points: that means the running Solr is exactly the same you can download from its website.

Page 14: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 14

(Some) Search features

• Simple (google-like) and advanced search• Holdings data• Faceted search• More like this• Spellchecking• Highlighting• Autocompletion• Translation• Geospatial search• Controlled query expansion• MARCXML Output Response Writer

Page 15: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Search Services Sample Scenarios

Sample usage scenarios of search services

Page 16: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #1: OPAC Search Engine (1/2)

Example usage scenarios of search services

Scenario #1: OPAC (OseeGenius -W-)

Page 17: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #1: OPAC Search Engine (2/2)

In this scenario:

Data is indexed using OseeGenius -I-

Data becomes searchable by means of OseeGenius -S-

Data becomes accessible to end users or client applications by means of OseeGenius -W- or OseeGenius -Z-

Typical usages

OPAC or in general search and discovery front-end applications

OPAC-to-OPAC integration

Mobile or custom client applications

Page 18: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #2: Bibliographic Search Engine (1/5)

Example usage scenarios of search services

Scenario #2: Search Engine

Page 19: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 19

Scenario #2: Bibliographic Search Engine (2/5)

INDEX

(245a=History AND 1XX=Potter) OR (260b=Addison Wesley)(245a=History AND 1XX=Potter) OR (260b=Addison Wesley)

SEARCH

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

000 00694nam a2200241 i 4500008 971205s1997 it j 000 0 ita c020 a 880921191X082 1 a 853.8100 1 a Collodi, Carlo.245 13 a Le avventure di Pinocchio / c C. Collodi ; illustrazioni di A. Mussino260 a Firenze : b Giunti, c 1997.440 0 a Collana favolosa / [Giunti]521 a Letteratura per ragazzi700 1 a Mussino, Attilio.

MARC RECORDS

Page 20: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 20

MARC Query Language (MQL)

(245a=History AND 1XX=Potter) OR (260b=A??is*n Wesle*)(245a=History AND 1XX=Potter) OR (260b=A??is*n Wesle*)

245a=* AND 245c=Potter AND 260b=G?unt?245a=* AND 245c=Potter AND 260b=G?unt?

001=(27892 27290 29900 246923)001=(27892 27290 29900 246923)

001=(27892 OR 27290 OR 29900 OR 246923)001=(27892 OR 27290 OR 29900 OR 246923)

005=[1995 TO 199502231]005=[1995 TO 199502231]

100a=Morgan AND 100e=(interviewer OR collector)100a=Morgan AND 100e=(interviewer OR collector)

Page 21: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 21

Marc Query Language results (example)

Search metadata

Search result (first record)

Page 22: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #2: Bibliographic Search Engine (5/5)

In this scenario:

Data is indexed using OseeGenius -I-

Data becomes searchable by means of OseeGenius -S-

Data becomes accessible to REST clients

Typical usages

Deep integration with Library Management Systems

Rich client applications

Mobile applications

Page 23: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #3: Integrated System (1/3)

Example usage scenarios of search services

Scenario #3: Deeply Integrated System

Page 24: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 24

Scenario #3: Integrated System (2/3)

-I--I-

-S--S-

-W--W- -Z--Z-3 Then it is consumed here

HTML / HTTP XML / HTTP

CLIENT Z3950

Z3950 / TCP

LMSLMS

Cataloguing data is indexed here

1

2 Then it is exposed here

Page 25: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Scenario #3: Integrated System (3/3)

In this scenario:

The LMS acts both as data supplier and consumer

Data is available in near-real-time

Some kind of “publication policies” are needed

Page 26: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Search Services Deployment Scenarios

Search Services Deployment Scenarios

Page 27: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 27

Scenario #1: Master / Slave

MASTERMASTER

INDEX 1I

S

Data

Index

Read

SLAVE #1SLAVE #1 SLAVE #2SLAVE #2 SLAVE #3SLAVE #3

Synchronize Synchronize

Search Search

Round-robin

INDEX 1 INDEX 1 INDEX 1

Useful for small / medium organizations Periodical (e.g. daily) updates No Near-Real-Time

Page 28: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 28

Scenario #2: Cloud Mode

CLUSTER

NODE #1NODE #1

SHARD1

SHARD2

I S

L

SHARD3

NODE #2NODE #2

SHARD1

SHARD2 L

SHARD3

NODE #3NODE #3

SHARD1

SHARD2

SHARD3 L

R

R

R

RR

R

ZOOKEEPERENSEMBLE

ZK #1ZK #1

ZK #2ZK #2

ZK #nZK #n

Discover search & index endpoints

High volumes Near real-time Sharding Replication

Page 29: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

OseeGenius Frontend Modules

Frontend modules

Page 30: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius -W- ? (1/3)

What is -W ?

A Web Graphical User InterfaceAt some point, an end-user needs some kind of graphical user interface tointeract with all things we described earlier

A REST-like interfaceAll services that are accessible in the graphical interfaces are also exposedas REST services. REST services are likely to be the optimal way to integrateOseeGenius with mobile or thirdy-party applications.

Page 31: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 31

What is OseeGenius -W- ? (2/3)

A pure Java applicationThat means NO restrictions about the hosting operating system. Any OS where Java (6 or later) can be installed is good.

A fully compliant JEE Web ApplicationIt can be deployed on whatever Application Server or Servlet Engine conforming to JEE (4-5) specs. At the moment it has been deployed on:

- JBoss Application Server 5.x / 6.x- Tomcat 6.x – 8.x - Jetty 6.x – 8.x

Page 32: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 32

What is OseeGenius -W- ? (2/3)

A pluggable frameworkAlthough it is a web application, it is structured as an extensible framework, meaning with that it provides a lot of extension points, allowing us to plug in your specific search & business logic.Features, in OseeGenius -W- can be activated and deactived by system administrator simply changing configuration. Some examples:

• Holdings data viewer• More Like This viewer• Cover providers chain• Third party extensions (e.g. Syndetics)• Account management• Circulation (loans, holds, fines) • Browsing (plain indexes and authorities)• Community (e.g. Tags, reviews, bibliography)

Page 33: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 33

Skins

Page 34: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 34

Simple Search

The most immediate kind of search: just type something in a text field...

...and get the corresponding results...

Page 35: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 35

Advanced Search

Page 36: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 36

Holdings data

Page 37: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 37

Cover Provider Chain

Internal Cover Provider

Syndetics

OpenLibrary

Google Books

Not Available Provider

Find the cover locally

I have a Syndetics subscription, give me the cover

OpenLibrary, could you give me this cover?

Google, I need this cover, please...

Not found?

Not found?

Not found?

Not found?

Display a “Not available” image...

Page 38: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 38

Highlighting (1/2)

Page 39: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 39

Highlighting (2/2)

Page 40: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 40

Autocompletion

Context-sensitive Suggested voices / headings depend on the selected index. For instance if you're looking for authors, OseeGenius will propose only names that match / start with / contain the user entered terms

“Starts with” or “contains” The matching algorithm is fully customizable

Page 41: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 41

Tabbed Search (1/3)

What is it?A feature inherited from all most popular internet browsers like Firefox, Chrome and Internet Explorer. It allows users to maintain several searches by opening different tabs.

Local or FederatedOseeGenius tabs can hold local or federated search results;

Open, close and reopen laterYou can have unlimited tabs in a given session; they can be closed and reopened later;

Dedicated contextEach tab wraps a search context with its specific capabilities (e.g. RSS feeds, social share, faceting, navigation, federated browsing, export, print, send by email)

Page 42: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 42

Tabbed Search (2/3)

Page 43: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 43

Tabbed Search (3/3)

Page 44: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 44

Faceted Search (1/3)

Faceted search improves the user search experience by enabling aggregation on top of search results. That allows users to have an immediate view about things like:

• How many books are written in Italian?• What are the most 10 popular geographical subjects in my catalog?• What are the most relevant publication date ranges in my catalog?

Page 45: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 45

Faceted Search (2/3)

Page 46: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 46

Faceted Search (3/3)

Page 47: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 47

Federated Search

What is it?The federated search add-on enables OseeGenius to search across external search engines, get and merge the incoming results. External resources are always accessed within the OseeGenius -W- interface, delivering to the end users a common layout and graphical user interfaces to work with.

How?OseeGenius -W- includes a proxy towards PazPar2 by IndexData, the most popular open-source and web-oriented metasearching middleware. User can create search tabs and fill them with results coming from a predefined (at installation and configuration time) set of external catalogs.

What kind of catalogs can be integrated?Targets can be theoretically everything. Pazpar2 allows you to plug-in standard Z39.50, SRU and SRW endpoints but also non standard resources by using a sophisticated screen-scraping approach (this specific feature requires a subscription)

Page 48: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 48

Third party content

What is it? Allows document information enrichment from third party vendors (e.g. Syndetics). Note that usually those additional content is not free of charge so a valid subscription is required in those cases;

Where?Additional data is usually inserted in each document detail, but it can be theoretically put everywhere

Asynchronous loadingAdditional content is loaded (where possible) asynchronously. That's because users, typically, don't like to wait too much in front of a blank page;

Integration is a matter of compromiseAdditional content services are different from vendor to vendor, so the specific integration needs to be discussed as it is strictly dependent from the vendor API and customer requirements.

Page 49: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 49

Classification Browsing (1/4)

What is it?A navigation component that helps in browsing an arbitrary classification system. By default OseeGenius comes with a Dewey Decimal Classification browser; other decimal classifications (e.g Library of Congress Call Number) can be easily plugged-in;

How does it look like?It is (usually) represented by a tree component where each node is a Dewey class. Labels on nodes are internazionalizable.

What does the tree contain?It contains only valid classes: that means there are no empty nodes. At tree building time, classes that don't have any document associated are removed;

Standard or custom classification systems Custom classification systems can be also plugged-in but require a customisation

Page 50: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 50

Classification Browsing (2/4)

Page 51: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 51

Classification Browsing (3/4)

Page 52: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 52

Classification Browsing (4/4)

Page 53: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 53

View Perspectives

What is it?The same result lists can be see under different perspectives:

Short:few attributes per record Long: many attributes per record Grouped: similar records are grouped MARC: the underlying record MARC is shown

Page 54: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 54

Export, download or send

What is it?Bibliographic records (i.e. search results) in the user interface can be selected, exported or downloaded.

Exported?Selected records can be exported to services like RefWorks or EndNote;

Downloaded?Selected records can be downloaded in several formats like: MARC (binary or XML), Excel, PDF. As additional feature, records can be also sent by email

...and instead of downloading a bunch of records... OseeGenius -W- interface is completely stateless; it offers a REST-like interface so any page you see is uniquely identified by a URL. If you type that URL whenever and wherever you want, you will get back always the same page.

Page 55: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 55

Internationalization

i18nAll labels in OseeGenius are internationalized;

Italian and EnglishTwo languages (italian and english) are built-in;

New languagesLanguages can be plugged-in easily; just a matter of translation;

Which language?When users open their browser with OseeGenius, the selected language will be determined by their locale; after that, using the i18n widget toolbar each user can choose and change his preferred language;

Page 56: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 56

OseeGenius -W- Plugins

Plugins are an important part of the OseeGenius -W- architecture. They can be considered as its extension points, letting us to implement and extends the application with new features.

The plugin architecture separates between interface and implementations so the first declares and abstract behaviour while an implementor wraps the concrete logic for doing a certain task.

The following pages show a showcase example of the Account plugin, which is the plugin that enables users login, logout, private area and so on.

Page 57: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 57

User Area: Login

Page 58: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 58

User Area: Workspace

Page 59: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 59

User Area: Reviews

Page 60: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved 60

User Area: Wish Lists

Page 61: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

What is OseeGenius -Z- ?

What is -Z ?

Z39.50It is the Z39.50 interface of OseeGenius. It is a module that acts as a Z39.50 endpoint fully compliant with BATH 2.0 specification, extending Osee Genius -S- connectivity by providing that additional protocol so popular among library systems.

Pure Java standalone serverOseeGenius -Z- is completely written in Java so doesn't require any native component. It can be started on any OS / Platform where Java can run.

...just a maskThis module is just an adapter so It doesn't have any search capability. Search logic is completely hold in OseeGenius -S-

Page 62: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Olisuite: Technical Overview

Technical Overview

Page 63: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Fully compliant JEE applicationThe Java EE technology is the de-facto standard for delivering secure, robust, scalable multi-platform applications and services.

Three-tiered In Olisuite the presentation, application processing, and data management layers are physically and logically separated. That allows a high level of cohesion and decoupling of the overall system.

Leverage of JEE containers for non functional requirementsNon functional requirements are a crucial concern of every context, regardless the owning institution is a small, medium or a big enterprise. Instead of dealing with those requirements, Olisuite delegates them to the hosting JEE container. JEE technology greatly addresses concerns such as transaction management, scalability, high availability, load balancing and security.

Olisuite: technical overview (1/2)

Page 64: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Proven open source technologies: Enterprise Java Beans Java Server Faces (JSF) Apache Struts Apache Solr Various Apache frameworks (e.g. Hibernate, Logging)

Three-tiered Every module or component has been implemented with extensibility in mind. As consequence of that, the platform provides a lot of extension points for plugging / implementing / enabling custom features

Tested in production with 2 different JEE ServersAlthough Olisuite can be deployed in any JEE 5 compliant Application Server, we already tested two production deployments using JBoss 5.x /6.x Application Server and Oracle Weblogic 10.3.x

Olisuite: technical overview (2/2)

Page 65: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Logic LayerLogic Layer

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model

Presentation LayerPresentation Layer

RDBMS

RMI / IIOP

HTTP

Self-check stationSelf-check station

3M

JDBC

SOAP

WS ClientWS Client

Olisuite: context diagram

Page 66: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Deployment Scenario #1: single machine

Olisuite Deployment Scenarios

Scenario #1: single machine

Page 67: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model

Presentation LayerPresentation Layer

RDBMS

RMI / IIOP

HTTP

Self-check stationSelf-check station

3M

JDBC

SOAP

WS ClientWS Client

Deployment Scenario #1: single machine

Page 68: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Deployment Scenario #2: clustered logic layer

Olisuite Deployment Scenarios

Scenario #2: clustered logic layer

Page 69: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

LOGIC LAYER CLUSTER

Node #1Node #1

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model

Presentation LayerPresentation Layer

RMI / IIOP

HTTP

Self-check stationSelf-check station

3M

SOAP

WS ClientWS Client

Node #2Node #2

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model

Node #nNode #n

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model...

Deployment Scenario #2: clustered logic layer

Page 70: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

Deployment Scenario #3: clustered service

Olisuite Deployment Scenarios

Scenario #2: clustered service

Page 71: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

LOGIC LAYER CLUSTER

Node #1Node #1

Services LayerServices Layer

Integration LayerIntegration Layer

Domain ModelDomain Model

RMI / IIOP

Self-check stationSelf-check station

3M

SOAP

WS ClientWS Client

...

Node #2Node #2

Integration LayerIntegration Layer

Domain ModelDomain Model

Services LayerServices Layer

Node #2Node #2

Integration LayerIntegration Layer

Domain ModelDomain Model

Services LayerServices Layer

PRESENTATION LAYER CLUSTER

Node #1Node #1 Node #2Node #2 Node #nNode #n...

LOAD BALANCER

HTTP

Deployment Scenario #3: clustered service

Page 72: Oseegenius & Olisuite - Technicalities

Copyright 2011 @CULT. All rights reserved

National Széchényi Library of HungaryMonday, June 15, 2015

Architecture and main characteristics

Thank you!