clarity technical know-how - ca technologies · pdf fileclarity technical know-how volume one...

33
Clarity Technical Know-How Volume One Michael Hoefer VP & Chief Architect, Clarity PPM

Upload: builien

Post on 06-Mar-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Clarity Technical Know-HowVolume One

Michael Hoefer

VP & Chief Architect, Clarity PPM

Page 2: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Terms of This Presentation

This presentation was based on current information and resource allocations as of October

2009 and is subject to change or withdrawal by CA at any time without notice.

Notwithstanding anything in this presentation to the contrary, this presentation shall not serve

to (i) affect the rights and/or obligations of CA or its licensees under any existing or future

written license agreement or services agreement relating to any CA software product; or (ii)

amend any product documentation or specifications for any CA software product. The

development, release and timing of any features or functionality described in this presentation

remain at CA’s sole discretion. Notwithstanding anything in this presentation to the contrary,

upon the general availability of any future CA product release referenced in this presentation,

CA will make such release available (i) for sale to new licensees of such product; and (ii) to

existing licensees of such product on a when and if-available basis as part of CA maintenance

and support, and in the form of a regularly scheduled major product release. Such releases

may be made available to current licensees of such product who are current subscribers to CA

maintenance and support on a when and if-available basis. In the event of a conflict between

the terms of this paragraph and any other information contained in this presentation, the

terms of this paragraph shall govern.

2 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 3: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

For Informational Purposes Only

Certain information in this presentation may outline CA’s general product direction. All

information in this presentation is for your informational purposes only and may not be

incorporated into any contract. CA assumes no responsibility for the accuracy or completeness

of the information. To the extent permitted by applicable law, CA provides this document “as

is” without warranty of any kind, including without limitation, any implied warranties or

merchantability, fitness for a particular purpose, or non-infringement. In no event will CA be

liable for any loss or damage, direct or indirect, from the use of this document, including,

without limitation, lost profits, lost investment, business interruption, goodwill, or lost data,

even if CA is expressly advised of the possibility of such damages.

3 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 4: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

4 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Abstract

Clarity can be a large system with many moving parts. Have you

ever wondered what goes on under the hood? In NSA? Between

servers in a cluster? Do you wonder what a Beacon is for and what

it talks to, or why multicast is so important? How are jobs

scheduled and executed? How are business processes triggered?

And how does Clarity Studio manipulate the underlying database

schema?

Technical Know How – Volume 1 is designed to explain how Clarity

is built and functions, and includes a Q and A session with the Chief

Architect for CA Clarity.

Page 5: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

5 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Agenda

> Under The Hood

> Messaging

> Report Servers

> LDAP and SSO

> J2EE

> Studio Data Model

> Questions and Answers

Page 6: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Under the Hood

6October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 7: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

System View

Beacons reside on servers,

optionally on some,

broadcasting their existence.

Sys Admin registers and

controls the Beacons.

Beacons control local

services, invoke commands,

retrieve log files and

distribute updated files.

If the Beacon or a required

third-party changes, manual

installation is required on

each node.

7 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

BO Server

ClarityBG

Server

ClarityApp

Server

Clarity Admin Server

Database Server

Beacon

Beacon

Runtime Dependency

Admin Dependency

Beacon

Beacon

Page 8: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Resource Usage

> Traffic

Provided: Stateless failover.

Required: Session affinity.

Sessions persist in database.

> Caches

Read-only populated from

database only.

Broadcast messages to

invalidate entries only.

Transactional data is not

cached.

8 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Clarity App

Load Balancer

Clarity App

Clarity App

Clarity App

Clarity BG

Clarity BG

Clarity BG

Clarity BG

Database & Storage

Page 9: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Thread Usage

Always pooled or singletons.

Guarded usage of ThreadLocal for session management,

transaction management, logging.

> Database Usage

Always pooled, never kept.

Proxool on Tomcat, native pooling on J2EE servers.

CA JDBC Drivers only. (From DataDirect.)

> Network Usage

Unicast to database, report server, mail server, etc.

Multicast from Clarity server to server using JGroups

(www.jgroups.org).

9 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 10: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Memory Usage

Heap space

– Stylesheet and Metadata caches

– Session data

– Transient data per thread

– Varies with usage and number of active users

Permanent space

– Class definitions and constants

– Internal JVM compiled code

– Varies very little with usage

Stack space

– Any data local to methods in the call stack

– Varies very little with usage

10 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 11: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Messaging

11October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 12: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Messaging In System Administration

> Not much

Only for discovery of Beacon clients. The list of servers in

System Admin is populated via multicast.

Control of those servers is TCP unicast.

12 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 13: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Messaging In Application

> Cache Consistency

Any time an instance in the Cache Controller changes, a

message is broadcast to all App and Background servers

to flush that item out of the cache.

To prevent inappropriate session timeouts, a background

thread runs periodically to broadcast active sessions to all

application servers.

– User hits server A and then is sent to server B for longer

than the official session timeout. If the user is sent back to

server A after that, server A must believe the user has

actually been active elsewhere or it will time the session

out.

13 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 14: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Job Scheduling

Simple: the schedulers, one per background server

instance, sleep and wait for either

a) A known start time for a scheduled job, or

b) A broadcast message waking them up to tell them to check

for something newly scheduled.

Whenever a schedule awakes, it runs anything that is

ready (acquiring a lock to synchronise properly).

If no schedulers are running when something is scheduled

(and a broadcast is sent), no problem. The schedulers

catch up when they start up.

14 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 15: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Process Events

More complicated: events are broadcast but also stored in

persistence, with a message timeout.

– Message Time to Live, system administration setting.

Default: 120 minutes.

– Important because different from schedulers, you do not

want an event message to be lost if no process engines are

running.

Events are subscription-based.

– Events are actually created only if a particular process

exists for a particular object (for Create events) or object

instance (for update events).

Broadcast messages are used to keep the process engine

moving “instantly”, and not polling.

15 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 16: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Report Servers

16October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 17: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

About Business Objects XI

> Packaged as CA Business Intelligence (CA BI 2.1)

BO XI R2 SP4

4GB DVD

CA-built installer shared by all CA products

(CA BI 2.0 with Business Objects XI R2 SP3 still supported)

> Supporting intersection of Business Objects XI PAS and

Clarity PAS

Solaris, Windows, AIX, Red Hat, SuSE

No HP-UX (yet)

Tomcat, WebLogic, WebSphere, Oracle, MS SQL

17 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 18: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

CA BI Server Integration

1. User schedules a report

2. BG server is notified

3. Job details are read and

the report is executed in

Business Objects via web

services

4. User clicks the report

output link in Clarity and

is redirected to the BO

web server.

5. Report is retrieved

6. User views the report

18 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

BO XI Server

ClarityBG

Server

BO InfoView

Server

ClarityApp

Server

Web Browser

Database Server

1

2

3

4

6

5

Page 19: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Security and Users in CA BI

1. User schedules a report.

2. BG server is notified.

3. Business Objects peer

user created on demand

with password known only

to Clarity and is

authenticated.

4. InfoView URL opened with

authentication token.

5. Report is retrieved.

6. User views the report.

19 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

BO XI Server

ClarityBG

Server

BO InfoView

Server

ClarityApp

Server

Web Browser

Database Server

1

2

3

4

6

5

Page 20: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Complications

Do not currently prefix or otherwise

modify user names, so names can collide

if using the CA BI server for other

applications.

– abelincoln in Clarity is abelincoln in

Business Objects.

Trying to use your existing Business

Objects server? CA BI license is

unlimited. Yours may not be.

> Benefits

It is actually secure, down to the

individual user.

20 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Cla

rity

Users

Report

Users

Actual internal user accounts created on CA BI Server

Page 21: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

21 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

About Actuate

> Shipped separately

Has its own licensed product DVD, Actuate iServer for CA

Clarity PPM. Must copy the required Actuate files in the

correct location within Clarity.

> Integration is the same as its always been

We had a lousy hiccup in 8.1 SP1 where we changed the

integration to view reports outside of Clarity and

externalised security similar to CA BI. Bad idea.

As of 12.0 SP1 and 8.1 SP3 it is back to normal. Viewer is

embedded in Clarity, security is handled in Clarity.

Page 22: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

LDAP and SSO

22October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 23: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

LDAP and Clarity

> Why?

Users should never have to remember a password specific

to an application, nor keep changing it regularly to keep it

secure.

> Two parallel optional integrations

Authentication

– LDAP server and mapping information is provided.

– Use LDAP flag in system administration is selected.

User synchronisation

– LDAP server and mapping information is provided.

– Run the LDAP synchronisation Clarity jobs.

23 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 24: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

SSO and Clarity

> One step better than LDAP

Users should not have to re-enter the same credentials

when accessing different corporate applications.

> Great Green Book

Configuring CA SiteMinder for Clarity PPM, in progress.

Describes usage of recent enhancement to no longer

require separate application instances for browser vs.

non-browser clients.

24 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 25: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Staying Secure

Clarity with Use SSO flag is

completely unprotected

and must be locked tight

behind the SSO proxy.

Fancier, custom, unofficial

implementations are

possible.

Not hard-coded in any way

to CA SiteMinder

25 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Web S

erv

er

Clarity

Bro

wser

Client

SO

AP C

lient

Schedule

r Client

CA S

iteM

inder

Page 26: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

J2EE

26October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 27: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

J2EE Integration

> Packaging

J2EE requires either web archives (.war) or application

archives (.ear). We choose the latter.

All of the code must be added to a large (~250mb+)

niku.ear. Websphere has a hard time with this.

> Session Management

Clarity manages its own sessions. The same on Tomcat,

WebLogic, WebSphere.

– J2EE HttpSession is not used. WebSphere memory

replication is not used. WebLogic’s equivalent is not used.

Session identified by our sessionid cookie. Not jsessionid.

27 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 28: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Clarity System Administration and J2EE

> Common Misconception

Properties set in System Administration are not stored in

the application niku.ear. The application .ear does not

need to be repackaged and deployed when properties

change.

The same is true for the system admin application nsa.ear.

The nsa.ear does however hard code the path to the local

home directory where it can read and write to the master

properties file.

And yes, an .ear from one environment can be deployed

into a different environment.

28 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 29: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Studio Data Model

29October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 30: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Custom Attributes and Objects

> Horizontal or Vertical Model?

Horizontal: Force.com

– Single underlying table with multiple columns for different

data types.

– Abstraction layer between application code and the

database, including a special query language. Fast,

predictable. No joins.

Vertical: Clarity

– More traditional usage of an RDBMS, with non-traditional

catch: schema is manipulated on the fly.

– The relational database is used as a relational database.

Fast or slow, depends on your queries.

30 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 31: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

> Stock Tables

SRM_RESOURCES, INV_PROJECTS

> Extension Tables

ODF_CA_RESOURCE, ODF_CA_PROJECT

> Simplified with Views

ODF_RESOURCE_V, ODF_PROJECT_V

> Custom Objects

No stock table, just ODF_CA table and views

– ODF_CA_APPLE, ODF_CA_ORANGE

– ODF_APPLE_V, ODF_ORANGE_V

Rights, Pages, Views, Actions & Links

31 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 32: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Questions

32October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA

Page 33: Clarity Technical Know-How - CA Technologies · PDF fileClarity Technical Know-How Volume One ... Proxool on Tomcat, native pooling on J2EE servers. ... 14 October 12th,

Summary

Under The Hood

– System views and resource usage

Messaging

– Where multicast, why multicast

Report Servers

– CA BI server integration

LDAP and SSO

– Staying secure

J2EE

– Properties are not stored in the .ear

Studio Data Model

– What is created where and why

33 October 12th, 2009 Clarity Technical Know-How Volume 1 Copyright © 2009 CA