20

IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

  • Upload
    others

  • View
    27

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction
Page 2: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

IBM Lotus Symphony Technical IBM Lotus Symphony Technical OverviewOverview

Ma Yong LinMa Yong Lin

IBMIBM

Page 3: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

3

Agenda

IBM Lotus® Symphony™ Overview Architecture of Symphony Integration of OpenOffice.org and Expeditor Programmability Performance Improvement Reference

Page 4: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

4

IBM Lotus® Symphony™ Overview

A set of office productivity applications

– Create, edit, share documents, spreadsheets, and presentations

– Based on OpenOffice.org and Eclipse

– Support OpenDocument Format (ODF)

– Support Microsoft® Office and other formats

Available at no charge to anyone and everyone

– www.ibm.com/software/lotus/symphony

– Web-based support and community forums

Page 5: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

5

Architecture of Symphony

Operating System (Windows/Linux/Mac OS X)

Expeditor Portfolio 6.2 for Symphony

Symphony Toolkit API

J2SE 5.0

Core Functions(OpenOffice.Org based)View Management

Symphony UI Items (Menu/Toolbars/Status

Bar)

Preference Management

Maile Merge

Spell Check

Core Services

Native View

Security Service

Content Recognizer

Enterprise / ISV Applications

Page 6: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

6

Common foundation for Lotus client-side products

IBM adds a comprehensive set of services for building business applications. e.g. composite applications, component intercommunication, local web container, local relational database, enhanced user interface widgets, etc.

Lotus Notes 8, IBM Lotus Sametime® 8, IBM Lotus Symphony® use a subset of the full Lotus Expeditor platform

Lotus Expeditor platform

Lotus Expeditor stand-alone product Lotus Notes 8 Lotus Sametime 8

Connect

What is Expeditor?

Page 7: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

7

Expeditor Portfolio for Symphony

Lotus Expeditor soffice.exe

■ Reduced footprint

■ May extend platforms with additional Lotus Expeditor features

Symphony

Page 8: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

8

Window Reparenting

Page 9: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

9

Architecture of Symphony

Operating System (Windows/Linux/Mac OS X)

Expeditor Portfolio 6.2 for Symphony

Symphony Toolkit API

J2SE 5.0

Core Functions(OpenOffice.Org based)View Management

Symphony UI Items (Menu/Toolbars/Status

Bar)

Preference Management

Maile Merge

Spell Check

Core Services

Native View

Security Service

Content Recognizer

Enterprise / ISV Applications

Page 10: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

10

Core function improvement

OS / GUI

STL RTL OSL

VOS TOOLS VCL

...

UNO UCB SBL SO

SFX SVX

Ope

nOffi

ce.o

rg A

PI

SW SD SC SCH SM Application Layer

Framework Layer

Infrastructure Layer

System Abstraction Layer

Page 11: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

11

Improvement on C++ part

Accessibility Build I18N and Bidi Support Interoperability Improvement ODF Support Performance Improvement SmartSuite Filters Stability Improvement Usability Improvement

Page 12: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

12

OpenOffice.org in Symphony UI

Page 13: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

13

Integration of OpenOffice.org and Expeditor

Java Part

Java UNO Runtime

C++ Part

C++ Uno Components

C++ UNO Runtime

Toolkit API

UNO Services

Menu/Toolbars

Views

Rdb files

Page 14: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

14

Deadlock Problems: Example one

Work Thead Work Thead

……………… ………………

CalladdStatusListener Get a Job

Acquiretransaction lock

CalladdStatusListener

Wait for call returnAcquire

ReadWrite lock

Main Thead

Handle user event

AcquireReadWrite lock

Acquiretransaction lock

AcquireSolarMutex

callFrame::Close

……………… ………………

Readwritelock

Frame

……………… ………………

Transactionlock

Global SolarMutex

lock

Java Part C++ Part

Page 15: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

15

Deadlock Problems: Example two

Main Thead Work Thead

……………… ………………

Get a JobCall

loadDocument

CallloadDocument

Wait for call return

AcquireSolarMutex

Main Thead

AcquireSolarMutex

Handle user event

callDialog.Execute()

……………… ……………………………… ………………

Global SolarMutex

lock

Send Window Message to top Widow

Java Part C++ Part

Page 16: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

16

Symphony on Mac OS X – Single Process

Launch soffice(desktop.dylib)

Create Desktop

App::Execute Java Event loop

soffice

App:Main

Java Plugin

jni_launchSoffice

initVcl

Page 17: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

17

Programmability

Extend Symphony functions Provides customer the capability to extend Symphony for a

particular customer solution– Java API Support

– VBA Support

– Lotus Script Support

Page 18: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

18

Performance Improvement

Asynchronous Document Loading

Library Merge

Quick Save

Preload or Quick Start

Page 19: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

19

Reference: Symphony Sessions

Lotus Symphony extension model

Accessibility in Symphony

Symphony performance improvement best practices

Introduction of SMIL Animation and Implementation in IBM Lotus Symphony

Properties Sidebar, make editing much easier

Learn more about office users - Feature usage study by document element statistics

Visualize Writer Document Structure for Productive Development

Page 20: IBM Lotus Symphony Technical Overvie · Reference: Symphony Sessions Lotus Symphony extension model Accessibility in Symphony Symphony performance improvement best practices Introduction

20