280 likes | 370 Vues
Explore market demands, workgroup collaboration, Eclipse projects like Corona and ECF, IT governance practices, and communication strategies. Study workbench and workgroup interoperability for efficient IT management.
E N D
Session 405Eclipse Workgroup Collaboration Dennis O’Flynn Corona Project Lead Compuware Corporation Scott Lewis ECF Project Lead Composent, Inc.
Agenda • Market for collaboration tools • Workbench interoperability • Workgroup interoperability • Demo • Eclipse collaboration projects • Corona – Tools Services Framework • ECF – Eclipse Communication Framework • Questions & Answer
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
►Requirements ► Build►Test►Deploy►Manage►Support ► Flow of Information Executive Visibility and Control IT Governance • Optimize resources • Measure ROI Executive Dashboards Portfolio Management Project Application Infrastructure Best Practices Management Dashboards Manager • Process maturity • Expertise • Reduced complexity Develop Quality Delivery Integrated Application Life Cycle Solutions Practitioner Best Products Application Service Management Application Development Quality Assurance Testing • Award-winning tools • Life-cycle integration • Across multiple platforms
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
New 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
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
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
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.
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) Plug-in Plug-in Plug-in Workbench Frameworks Equinox
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
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
Use Case: Team Collaboration Collaboration Server
Demo Workbench ‘A’ Workbench ‘B’ Collaboration Server • 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
Corona Frameworks • Collaboration Framework • Contextual collaboration • Distributed container context • Workgroup communications • Shared common constructs • projects, resources, etc… • Collaboration events • Core Framework • Server-side platform • Consistent Eclipse paradigm • Equinox – OSGi runtime • Common Eclipse frameworks • Familiar programming model • SOA Framework • OSGi bundles • Lifecycle • Services, Events, etc… • Web service enablement • Management via WSDM • Semantic Framework • Collaboration persistence • History, Relationships • Extensibility • RDF / OWL
Corona Server Technologies Non-Eclipse Workstation Eclipse Workstation Non Eclipse clients Web Services Collaboration Events Plug-in SOA Component Plug-in SOA Component Corona Project Collaboration Corona Project Admin Plug-in SOA Component Plug-in SOA Component Corona Server (Corona) SOA Framework Collaboration Framework Semantic Framework Project Framework Frameworks Equinox
New 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 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 ProjectContextContainer(exemplary implementation) • Eclipse Extension Point(s) • ProjectContainerExplorer • ProjectContainerView • ProjectContainerViewPage • ProjectContainerBuilder • OSGi Service(s) • ProjectContainerEventFactory • Creates ProjectEvents for specific ProjectContextContainer Project
New Corona Tuscany Tuscany Corona Apache Muse TPTP 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 See session 605: SOA the SCA Way With Corona Friday, Sept 8, 10:45 AM – 12:15 PM
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
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
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
Requirements Design Build Test Manage Support 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
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
New 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.
Resources • Corona • Dennis O’Flynn, Project Lead • dennis.oflynn@compuware.com • www.eclipse.org/corona • ECF • Scott Lewis, Project Lead • slewis@composent.com • 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