Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370518 - OSEE Collaboration Opportunities
Summary: OSEE Collaboration Opportunities
Status: NEW
Alias: None
Product: OSEE
Classification: Technology
Component: OSEE Application Framework (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 0.9.9   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-03 00:58 EST by Ryan Brooks CLA
Modified: 2012-02-03 11:25 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Brooks CLA 2012-02-03 00:58:09 EST
Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.  The Eclipse platform is widely used in industry to build powerful integrated tools that are used to solve great engineering challenges, including how to engineer mission critical systems.  The Open System Engineering Environment (OSEE) provides a tightly integrated environment supporting lean principles across a product's full life-cycle in the context of an overall systems engineering approach.  OSEE is an open source project hosted by the Eclipse Foundation and provides an excellent opportunity to gain real world software development experience working with an agile software team.

The OSEE project has a number of established mechanisms to facility successful collaboration.  Git, an open source, distributed version control system, is used to host the source code repository.  Bugzilla, also open source, is used for change management.  There is a developer mailing list for the project.  OSEE can be developed and run using all major platforms.  OSEE committers are open to your ideas for collaboration.  The following are some possibilities:

Visualization of advanced parallel development
	Since OSEE is used for development of mission critical systems such as Boeing’s AH-64D Apache combat helicopter, dozens of interconnected baselines must be managed in the face of parallel, non-linear, development of those baselines.  OSEE currently can be configured to support such cases.  However, currently the is no graphical visualization to aid users in understanding how changes will need to flow between baselines.  This could be provided leveraging existing open source libraries to create a visualization similar to a Gantt chart showing the time sequencing and interconnections of the baselines.

Pluggable NoSQL persistence layer
	OSEE currently has support for utilizing any standards-compliant SQL DB for its underlying data store.  In order to leverage the latest advancements in databases, we would like to add pluggable support for a NoSQL database such as MongoDB.  MongoDB is a scalable, high-performance, open source NoSQL database that supports replication, high availability, and employs Map/reduce for batch processing of data and aggregation operations.  OSEE’s layered architecture would allow for the existing object oriented data model to be stored using a NoSQL database without having to make changes at the application level.  Only the persistence layer would need to be updated.

Distributed Branching
	OSEE has a set of powerful features for working with engineering data: it is object-oriented, version-controlled, and its advanced branch management capabilities, including change reports and automated merging, make it possible to manage a complex set of interconnected variants of a project.  However, the OSEE client currently needs to be connected to a central database. Our users have requested the ability to work offline with OSEE by creating a local branch (in a local database) that would later be merged back into the central database.
Comment 1 Donald Dunne CLA 2012-02-03 11:25:05 EST
Here are some additional opportunities for collaboration:

---------------

Advanced Launcher / Installer

Problem: The current method of launching OSEE is via the shared network drives to ensure that all users are running the latest release.  This is problematic due to network speed issues and permissions issues.  The preferred method to use OSEE is an installation on the Windows machine the user is running.  The problem with a local installation is the need to keep the release up-to-date and not require the users to have to continually re-install. 
Solution: We need an advanced launcher / installer that will:
1) Check for latest releases
2) Update release if necessary
3) Cleanup old releases
4) Launch OSEE
5) Be smart enough to only download / install what is necessary for update so user is not waiting long when updates are necessary
6) Since OSEE is based on Eclipse which is built on OSGI, the solution may involve the use of that technology to install and update
7) Would need configuration option that would force an update whether necessary or not

---------------

Action Tracking System (ATS) Advanced Configuration Editor

Background: ATS is a fully customizable problem/change request system.  It allows product changes to be tracked at any level; tracking to be broken apart by teams that do the work; split into versions/builds; and contains a powerful state machine that allows each team to move throw their own “workflow” independent of other teams.

Problem: Configuration of ATS is complex and different options require different types of user interfaces to configure.  In addition, it requires a heavy client to perform the configuration.

Solution: A single web-based user interface would be desired that allows the users to easily understand all the options available, set these options and persist these changes into the production environment.  This web-based interface should be available via an external browser or an integrated browser in the OSEE client.  All information retrieval and configuration changes would be implemented in a restful manner through an ATS server.

---------------

OSEE Enterprise Manager 

Problem: OSEE http://www.eclipse.org/osee is a full Engineering Environment that handles Requirements Management, Configuration Management, Peer Reviews and many other features.  We are migrating much of the functionality to the server to make the installed clients smaller and provide more user-friendly web-interfaces.  In order to provide quick and efficient user support and admin support, tasks have to be run from a text based server console, a locally installed client, SQL Developer and Oracle Enterprise Manager.  It is difficult for the team supporting OSEE to learn and keep up with all the different ways of configuring and retrieving information necessary to perform their tasks.

Solution:  Develop a single OSEE Enterprise Manager, much like Oracle Enterprise Manager, that would provide a dashboard to configure and query the OSEE Server.  Included would be the ability to 
1)	start/stop servers
2)	clear/reload caches
3)	re-index the database for searching
4)	purge branches
5)	communicate via popup to running clients
6)	request session information from all running clients
7)	shutdown all running clients
8)	request error log information from running clients
9)	create/configure user accounts
10)	set/update access control permissions 
11)	perform periodic health checks against database
12)	perform periodic cleanup operations against database
13)	provide for extensibility for future needs