eclipseworld 2006 sep 6-8, 2006 session 405 eclipse workgroup collaboration scott lewis ecf project...

28
EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project Lead Compuware Corporation

Post on 18-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

EclipseWorld 2006

Sep 6-8, 2006

Session 405

Eclipse Workgroup Collaboration

Scott LewisECF Project Lead

Composent, Inc.

Dennis O’FlynnCorona Project Lead

Compuware Corporation

Page 2: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

2

Agenda

• Market for collaboration tools• Workbench interoperability• Workgroup interoperability• Demo• Eclipse collaboration projects

– Corona – Tools Services Framework– ECF – Eclipse Communication Framework

• Questions & Answer

Page 3: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

3

IT Business Challenges

• Deliver and maintain increasingly complex IT solutions– Multi-tier (distributed applications)– Multi-language (Java, XML, HTML, SQL, C#, etc.)– Multi-platform (hybrid applications as a result of application integration

and legacy modernization)• Increasingly complex IT organizations (project teams)

– Involvement of business stakeholders– Multi-sourcing – combining in-house development with outsourcing and

off-shoring in a single project– Team members in different geographic locations, in different time zones– Team member using different tools across the application life cycle

• The business wants IT to deliver more, faster and cheaper

Page 4: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

4

Flow of Information

ExecutiveExecutive

ManagerManager

PractitionerPractitioner

ITGovernance

Executive Dashboards

Management Dashboards

Project Application Infrastructure

Develop Quality Delivery

Application Development

Quality Assurance Testing

Application Service Management

Integrated Application Life Cycle Solutions

Visibility and Control• Optimize resources• Measure ROI

Best Practices• Process maturity• Expertise• Reduced complexity

Best Products• Award-winning tools• Life-cycle integration• Across multiple platforms

Portfolio Management

► Requirements ► Build ► Test ► Deploy ► Manage ► Support ►

Page 5: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

5

CommunicationA key component of collaboration

• Communication at many different levels– Amongst developers that work on

the same application– Amongst practitioners across the

life cycle, business analysts, architects, developers, testers, project managers and operations

– Amongst practitioners and managers

• Communication about many different subjects– Content – technology, business

domain– Project – timelines, tasks,

resources– Process – sequences,

dependencies– Organization – responsibilities

Page 6: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

6

Workgroup Collaboration

• A Workgroup is a group of people working together on a common set of tasks

• Workgroup Collaboration is the use of technologies that enable the workgroup’s members to work as if they were co-located– Improve communications– Common context– Sharing of information– Event notification

New

Page 7: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

7

Workgroup Collaboration Real or Hype?

• Microsoft– Team Foundation Server –

Backend server for collaborationof information and rules

– Visual Studio Team System – Utilizes information to create a tightly integrated tool environment

• IBM– Jazz, collaboration across the

development environment• Other Companies

– Developing their own proprietary solutions for integration and collaboration

Page 8: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

8

What the market needsAn open collaboration solution

• Current solutions fall short– Meetings, conference calls/video, groupware, wiki’s, slashdot’s,

etc.– IBM and Microsoft will build specific solutions to enhance their

platforms – which tool do you use when your organization uses Microsoft on the front-end and J2EE on the back-end?

• Needed: Open Workgroup Collaboration– In context of a project, a workbench, a team, etc.– Only relevant information– Open solution owned, created and enhanced by the community– Flexible, customizable, extensible– Interoperability– Integration

Page 9: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

9

Eclipse Foundation Collaboration Projects

• ECF (data collaboration)– Framework for building Integrated, Interoperable

communications applications• Corona (tool collaboration)

– Framework for building contextual collaboration solutions, include server-side deployment

• ALF (process collaboration)– ALF Events, Provider Services, and ALF Service

Flows • Mylar (task collaboration)

– Task focused UI for Eclipse that integrates task repositories such as Bugzilla, Trac, and JIRA.

Page 10: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

10

Workbench Interoperability

• The Eclipse Workbench is a Rich Client Platform

• Foundation for application plug-ins

• Common constructs such as Project

• Shared resources such as folders and files

• Resource change events• OSGi runtime (Equinox)

Equinox

Frameworks

Workbench

Plug-in Plug-in Plug-in

`

Page 11: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

11

OSGi Runtime: Equinox

• OSGi – Specification for services platform– Bundle Life Cycle

• Installed, Resolved (Starting, Active, Stopping), Uninstalled

– Services• Service Registration (org.osgi.framework.ServiceRegistration )

• Service Tracker (org.osgi.util.tracker.ServiceTracker )

• Event Service (org.eclipse.equinox.event)

• HTTP Service (org.eclipse.equinox.http)

– Events• Bundle, Framework, Log, etc…

• Implemented by Equinox• All Eclipse plug-ins are actually OSGi bundles

Page 12: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

12

Workgroup Interoperability

• A Workgroup is comprised of multiple Workbenches sharing the same context

• Corona– Provide Eclipse server-side plug-in

deployment– Framework for collaboration context (i.e.

Project)– Distributed collaboration event model.

ECF provides peer-to-peer communication framework

• ECF– APIs for peer-to-peer communications– Adapters and Extension Points for

presence, data, discovery, etc…– Set of common collaboration tools

Collaboration Server

``

``

Page 13: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

13

Use Case: Team Collaboration

Collaboration Server

``

`

`

`

Page 14: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

14

Demo

` `

Collaboration Server

Workbench ‘A’ Workbench ‘B’

•Workbench ‘A’ and ‘B’ belong to the same Workgroup, sharing the same Project context

•Workbench ‘A’ updates Project artifacts. Resource change events are published to Workgroup

•Workbench ‘B’ receives events and Chats with ‘A’ to discuss recent changes

•Workbench ‘A’ commits changes, ‘B’ receives events and synchronizes with CVS

Page 15: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

15

Corona Frameworks

Core Framework•Server-side platform•Consistent Eclipse paradigm

•Equinox – OSGi runtime•Common Eclipse frameworks

•Familiar programming model

Collaboration Framework•Contextual collaboration•Distributed container context•Workgroup communications•Shared common constructs

•projects, resources, etc…•Collaboration events

SOA Framework•OSGi bundles

•Lifecycle•Services, Events, etc…

•Web service enablement•Management via WSDM

Semantic Framework•Collaboration persistence

•History, Relationships•Extensibility•RDF / OWL

Page 16: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

16

Corona Server Technologies

`

Equinox

Frameworks

Corona

Plug-inSOA

Component

SOAFramework

CollaborationFramework

SemanticFramework

ProjectFramework

Plug-inSOA

Component

CoronaProject

Collaboration

CoronaProjectAdmin

Plug-inSOA

Component

Plug-inSOA

Component

clie

nts

Ser

ver

(Cor

ona)

Collaboration Events

Non Eclipse

Web Services

Eclipse Workstation

Non-Eclipse Workstation

Page 17: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

17

Context Containers

• Containers are used to store stuff• Reference Repositories

– Items and information that provide context for collaborating on a theme

• May be related and can be composited to create a larger contexts

• Extensible to assume specific context

– i.e. ProjectContextContainers assume TeamMembers repository are part of the context

New

Page 18: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

18

Corona Extensibility

• Eclipse Extension Point(s)– RepositoryAdapter

• Adapt existing repositories to the ContextContainer– RepositoryAdapterFactory

• Creates RepositoryAdapters from extension points

• OSGi Service(s)– ContainerEventAdmin

• Validates container events• Forwards events to OSGi event admin service

– ContainerEventRouter• Routes container events to remote containers

– ContextContainerManager• Manages all context containers for the local environment• Proxy to access remote ContextContainerManagers

New

Page 19: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

19

ProjectContextContainer(exemplary implementation)

• Eclipse Extension Point(s)– ProjectContainerExplorer– ProjectContainerView– ProjectContainerViewPage– ProjectContainerBuilder

• OSGi Service(s)– ProjectContainerEventFactory

• Creates ProjectEvents for specific ProjectContextContainer

New

Project

Page 20: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

21

Corona: Server-Side Eclipse• Corona requires server-side

components to support distributed collaboration– Provides a non-UI Eclipse environment

for the deployment of Eclipse plug-ins and OSGi bundles

– Remote manageability via WSDM• Apache Muse

– Improved component deployment via SCA

• Apache Tuscany

CoronaTuscany

ApacheMuse

TPTP

TuscanyCorona

See session 605: SOA the SCA Way With Corona

Friday, Sept 8, 10:45 AM – 12:15 PM

New

Page 21: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

22

ECF Project Goals

• Support Development of distributed applications– Easier/Quicker– Extensible, Reliable, Open

• Interoperability– Support multi-protocol clients– No protocol lock-in: Choose your service provider

and client• Integration

– Cleanly separate applications from protocol details– Enable communication components: ECF Extension

APIs

Page 22: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

23

ECF Extension APIs

• Presence– IM and Chat

• Datashare– Channels for asynch data delivery

• Discovery– LAN and WAN-based service discovery

• File Sharing– Protocols for sending/retrieving files

• Shared Object – Dynamic replication of object state

Page 23: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

24

ECF Extension APIs (cont.)

• Call API– VOIP call signalling and media transport

• Publish/Subscribe– Group distribution and synchronization of data

structures

• Bulletin Board– RSS/Atom

• Others (i.e. yours)...all open source/community designed/developed

Page 24: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

27

ALM Tool Collaboration

• Corona provides a collaboration framework that enables a context for collaboration• ALM tools can collaborate with one another based upon a shared context• Collaboration events can be shared with tools residing in multiple ALM stages• ECF provides communication APIs to enable peer-to-peer tool integration• Tools, such as chat and shared editors, are provided by ECF that can enhance the

collaboration experience• The result is a richer context of integration for tools participating in ALM

`

Requirements

`

Design

`

Build

`

Test

`

Manage

`

Support

Page 25: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

28

Commercial Business Opportunities?

• Customizable and flexible (control your our destiny)

• Eclipse RCP provides workbench interoperability• Eclipse collaboration projects (Corona, ECF,

etc.) provides workgroup interoperability– Your product becomes part of a solution for business

analysts, architects, developers, testers, project managers, operations

– Workgroup and Enterprise• Eclipse provides open framework that allow your

applications to participate in a larger solution

Page 26: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

29

Next Steps

• Corona– Milestone 0.4.0 (remote accessibility)

• ECF– Release 1.0 is getting closer (v0.9.0)

• Corona / ECF– Align concepts of collaboration container

• Community involvement– Open source only works when the community is

involved.

New

Page 27: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

30

Resources

• Corona– Dennis O’Flynn, Project Lead

[email protected]– www.eclipse.org/corona

• ECF– Scott Lewis, Project Lead

[email protected] – www.eclipse.org/ecf

• EclipseWorld– Session 605: SOA the SCA Way with Corona

• Friday, Sept 8, 10:45 AM – 12:15 PM– Session 805: Developing Collaborative Tools

• Friday, Sept 8, 3:45 PM – 5:15 PM

Page 28: EclipseWorld 2006 Sep 6-8, 2006 Session 405 Eclipse Workgroup Collaboration Scott Lewis ECF Project Lead Composent, Inc. Dennis O’Flynn Corona Project

Eclipse Workgroup Collaboration | © 2006 by Scott Lewis, Dennis O’Flynn; made available under the EPL v1.0

31

Questions