The CMS java-based web informational system - JINR

streakconvertingSoftware and s/w Development

Dec 13, 2013 (3 years and 9 months ago)

52 views

September 14th, 2005

NEC 2005 Symposium

The Information System of

CMS

Concepts, Technology and
Architecture

Zhechka Toteva

Sofia University/CERN


Dirk Samyn, Nick J. Sinanis

CERN

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Introduction


Web content serving for the CMS collaboration


Agendas, Documentation, Dynamic Mailing Lists, People &
Institutes


Sub
-
detector and Project Pages


Data samples, Software Distribution and Event Catalogues


Provide an integrated environment for all Collaboration
generated knowledge


Some numbers


> 2’000 people, spread around the world


Availability around the clock!


> 90 GBytes/day of file transfers


> 18 kHits/hour


Current system dates from the first days of WWW


Mostly static content


Few dynamic content, often leading to unmanaged pages


“One size fits it all”

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

iCMS


What is it?


A modern web information system to replace the legacy
CMSDOC



User perspective


handles the processing of different classes of CMS
-
specific
information


Agendas, Announcements, Documentation, Mailing lists,
Meetings, News, Notes, People & Institutes, Requests


Built on experience from the last 12 years running CMSDOC


Federated content management


Offers personalization


Functions/Roles in the experiment


Interests and working fields



System Perspective


Industrial standard technologies and techniques


Java, EJB, Web services


Scalable during the lifetime of the experiment


Multi
-
Tier architecture


High
-
performance


Content Separation

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Web Architectures


Classic architecture is a
monolithic server


Simple


but scales poorly


Content access


Bottlenecks


Synchronization





Architecture evolution is
to be expected at the
server side tiers

`
`
`
Web Clients
Data Tier

DB
Files
Files
Presentation Tier

Web Server

HTML

Simple Dynamic Content

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Building N
-
Tier Architectures

Presentation Tier

Apache

JSP

HTML

Data Tier

RDBMS

File System

Business Tier

Tomcat

Java Beans (EJB), RDF/RSS

Work Flow Engine

Data Access Tier

Tomcat

Axis Web Services

Hibernate

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

iCMS 4
-
Tier Architecture

RSS
RDF
RDF
RDF

Data Access

T
ier

Data

T
ier
News
Cmspe
ople
Ml
Meet
Ann
.
Notes
Reqst
Events
IT CDS
Agenda
Web
services
AXIS
Hibernate
/
JDBC
Hibernate
/
Informa
/
JDBC
SQL
/
JDBC
XML
WF
engine
for
BPEL
4
WS
WS
Connec
tivity
JSP
WEB
COM
PON
ENT
SQL
/
JDBC
rws
rws
rws
rws
Java
beans
creation
iCMS
JSP
,
HTML
JSP
WEB
COM
PON
ENT

Business

T
ier

Presentation
tier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Presentation Tier

notesTypeslList.jsp


<%@ page language="java" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
taglib" prefix="iw" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
WS
-
taglib“ prefix="iws" %>

<%@ taglib uri="http://jakarta.apache.org/taglibs/taglibs
-
jstl" prefix="c" %>


<
iw:Form

bean="types">

<
iws:Notes

action="
getNoteType
" var="types"/>

<
iw:Info

title="Notes Categories" show="true" hidable="false">

<c:forEach var="chitem" items="${types.items}">


<
iw:InfoItem

title="${chitem.id}" value="${chitem.typedescription}" />

</c:forEach>

<
/iw:Info
>

<
/iw:Form
>

Visualization of Web Components

iCMS
JSP
,
HTML
JSP
WEB
COM
PON
ENT

Presentation
tier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Prese
n
tation Tier

notesTypeslList.jsp


<%@ page language="java" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
taglib" prefix="iw" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
WS
-
taglib“ prefix="iws" %>

<%@ taglib uri="http://jakarta.apache.org/taglibs/taglibs
-
jstl" prefix="c" %>


<
iw:Form

bean="types">

<
iws:Notes

action="
getNoteType
" var="types"/>

<
iw:Info

title="Notes Categories" show="true" hidable="false">

<c:forEach var="chitem" items="${types.items}">


<
iw:InfoItem

title="${chitem.id}" value="${chitem.typedescription}" />

</c:forEach>

<
/iw:Info
>

<
/iw:Form
>

Visualization of Web Components

Communicating with

Business Tier

iCMS
JSP
,
HTML
JSP
WEB
COM
PON
ENT

Presentation
tier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Prese
n
tation Tier

notesTypeslList.jsp


<%@ page language="java" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
taglib" prefix="iw" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
WS
-
taglib“ prefix="iws" %>

<%@ taglib uri="http://jakarta.apache.org/taglibs/taglibs
-
jstl" prefix="c" %>


<
iw:Form

bean="types">

<
iws:Notes

action="
getNoteType
" var="types"/>

<
iw:Info

title="Notes Categories" show="true" hidable="false">

<
c:forEach

var="chitem" items="${types.items}">


<
iw:InfoItem

title="${chitem.id}" value="${chitem.typedescription}" />

<
/c:forEach
>

<
/iw:Info
>

<
/iw:Form
>

Visualization of Web Components

Communicating with

Business Tier

Procedural Logic

iCMS
JSP
,
HTML
JSP
WEB
COM
PON
ENT

Presentation
tier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Prese
n
tation Tier


Advantages of JSP Web Components


High Level of Tags Reuse


Adding New Pages


Modularity


Trivial Functionality Grouping


Development based on page components rather than
HTML tags


Coherence


It’s enough to modify a tag at a single place in order to
propagate everywhere


Portability


Standardized versions

notesTypeslList.jsp


<%@ page language="java" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
taglib" prefix="iw" %>

<%@ taglib uri="http://iCMS.cern.ch/tomcat/iCMS
-
WS
-
taglib“ prefix="iws" %>

<%@ taglib uri="http://jakarta.apache.org/taglibs/taglibs
-
jstl" prefix="c" %>


<
iw:Form

bean="types">

<
iws:Notes

action="
getNoteType
" var="types"/>

<
iw:Info

title="Notes Categories" show="true" hidable="false">

<
c:forEach

var="chitem" items="${types.items}">


<
iw:InfoItem

title="${chitem.id}" value="${chitem.typedescription}" />

<
/c:forEach
>

<
/iw:Info
>

<
/iw:Form
>

Visualization of Web Components

Communicating with Business Tier

Procedural Logic

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Business Tier
-

Architecture


Processes the requests from the presentation tier


Implements the business logic of information processing


Workflow engine for documents submission/refereeing
management


Stubs call the axis web services of the data access tier


Processes the RDF/RSS responses from the data access tier


Creates the java beans for the presentation tier

java function
call
remote ws
service call
Data
access tier
RDF
/
RSS
java
collection
java
collection
Presentation
tier
JSP

web
compon
ent
call

Business
tier
J
SP web
component

processing classes
WF engine
client libraries
Web services
connectivity
classes
Java bean
creation
classes
WF engine for
BPEL
4
WS
java
bean
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Business Tier
-

RDF/RSS


Resource Description Framework
(RDF)


W3D standard


Describes documents using constraint
definitions


processed by jenaRDF API



Really Simple Syndication (RSS)


Standard RSS 2.0


Syndicates the updates of frequently
changing information (e.g., CMS news)



Advantages offered by RDF/RSS


Unified interface


Modular


Scalable


Syntax based on XML


Neutral presentation to the client


Universal language understood by
other tools (e.g., news aggregator)

RDF
RDF
RDF
WF
engine
for
BPEL
4
WS
WS
Connec
tivity
JSP
WEB
COM
PON
ENT
rws
RSS
rws
rws
rws
Java
beans
creation

Business

T
ier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Business Tier
-

BPEL4WS


Business Process Execution Language for
Web Services (BPEL4WS)


Orchestration of web services


establishes the communication
protocols


defines the business rules of the web
services interactions



Applications of BPEL4WS


Describe the life cycle of CMS publications


A set of business rules of the
interaction between the submitter,
subeditors and editors (referees)


Twister workflow engine


Implements the business processes


Keeps track of the states of a process
instance (publication)


the communication messages exchanged
between parties participating in the
publication processing


Provides client libraries to integrate with
the business tier


BPEL4WS specification compliance


Extendibility, portability

RDF
RDF
RDF
WF
engine
for
BPEL
4
WS
WS
Connec
tivity
JSP
WEB
COM
PON
ENT
rws
RSS
rws
rws
rws
Java
beans
creation

Business

T
ier
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Data Access Tier
-

Web Services


Web service definition


Efficient serving of data query
results and data manipulation
requests


Standalone service


Data caching


Features


Unification of the
communication interface


jdbc


rdf/rss


Modularity


Portability


web services standard


AXIS from Apache Foundation

RDF
RDF
RDF

Data Access

T
ier
Web
services
AXIS
Hibernate
/
JDBC
Hibernate
/
Informa
/
JDBC
SQL
/
JDBC
XML
rws
RSS
rws
rws
rws
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Data Access Tier
-

ORM


Object
-
relational Mapping (ORM)


Provides a seamless framework for
object/relational persistence and query



Hibernate
ORM


DB data treated as objects


An object property contains list of
related objects


Speeds
-
up processing of
parent
-
child relationships



Extendibility


Supports SQL and JDBC standards


Extends the SQL query features
with objects
-
based search criteria


UML support for advanced object
-
relational modeling


Performance


Frequently used objects caching

RDF
RDF
RDF

Data Access

T
ier
Web
services
AXIS
Hibernate
/
JDBC
Hibernate
/
Informa
/
JDBC
SQL
/
JDBC
XML
rws
RSS
rws
rws
rws
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Data Tier
-

RDBMS & FS Storage


MySQL RDBMS


Persistent storage of data


Ensures data consistency


domain constraints


referential integrity constraints


transactions


Provides multi
-
session data
processing


Transaction isolation levels



File System (FS) storage


File level storage


Meta
-
data related to files are stored
in a database


Data

T
ier
News
Cmspe
ople
Ml
Meet
Ann
.
Notes
Reqst
Events
IT CDS
Agenda
Hibernate
/
JDBC
Hibernate
/
Informa
/
JDBC
SQL
/
JDBC
XML
Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

iCMS Site Presentation

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Summary



iCMS is the new generation information system of CMS


N
-
tier architectures have been studied


A 4
-
tier architecture has been chosen for iCMS


Advanced industrial standard technologies have been
employed in order to provide for


Scalability


Portability


Extendibility



Status


First user experiences already collected


Goes into production in the coming weeks


Plans


CMS shifts management


prototype for Cosmic Challenge in 2006


WIKI


Community forums

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Spare Slides

Zhechka Toteva

CERN
-

CMS Computing

September 14th, 2005

NEC 2005 Symposium

Advantages


Coherent presentation to the end user


jsp web
components


Standard web technologies employed


Web Services


provides the communication with relational databases’ persistent storage


Resource Description Framework (RDF) / Really Simple
Syndication (RSS)


XML
-
based formats to describe the result information


Business Process Execution Language for Web Services
(WPEL4WS)
-

describes the interaction between different web services


Unified interfaces for communication between different
tiers:


JSP web components, Java beans, RDF, Axis remote calls, JDBC


Physically distributed on different servers