Main Page

From sselab

Revision as of 18:21, 25 February 2012 by Rumpe (Talk | contribs)
Jump to: navigation, search

The sselab offers easy configurable, integrated storage, version control and most of all service supply for projects of all kinds (but best for software development projects).

The SSElab stands for quality in service. And the RWTH-installation maintained by the RZ (Center for Computing and Communication) and the SE group ensure this quality, privacy and reliability. You may check the privacy policy of the SSElab.

The SSElab services are currently open to

  • all current and former students of the Informatics / CS courses at RWTH
  • all staff of the Informatics Department at RWTH
  • friends and collaborators of the the SE group @ RWTH
  • Dagstuhl seminar groups
    • ... and we expect to open up our services to others soon.

You have been invited to a project and don't know what to do: Read the simple starter.

Contents

SSELab

The SSELab is a growing set of internet-based services for project organisation. While main focus is the team-based development of software, it also assists projects like paper and book writing, teaching up to marriage organisation.

A variety of tools, frameworks and technologies for typical project tasks can be used for increasing efficiency, memorizing tasks, knowledge, etc. In particular setup of new projects is simplified a lot and the available extra services help to keep track of the project.

Starting a project is as simple as giving it a name and selecting a set of desired services (once you have an account). You can always add new services later. And you can also invite people as long as desired.

Why do we do this? It is our interest to help developers get their software more efficiently and more easily done, resulting in better quality. We are interested in providing tools and services and also welcome feedback to our website as well as suggestions for additional services the SSELab can provide.

Available services

We do provide a number of services. Check out, which ones you might be interested to use:

  • Subversion -- a must have for developers
  • Trac -- feature and issue tracking system combined with svn, manages milestones, bugs, enhancements etc.
  • MediaWiki (internal) -- only for project members
  • MediaWiki (external) -- everybody can read: including customers
  • Storage (WebDAV) -- no versioning, but easier to use than Subversion
  • Mailing List
  • Git -- distributed version control system
  • Feedback Service -- cool stuff for developers getting easy feedback from users
  • OSTP-Service -- instead of local installations... use server-based and therefore uniform services, e.g. for code generation
  • MontiCore -- a development framework for modelling languages/DSLs (only for advanced users)
  • MontiArc -- gode generation from MontiArc models
  • WikiBot -- API for the above mentioned wikis to automate things
  • XML Schema Generator -- ever been interested to reconstruct the Schema from a set of XML files? (works quite good)

Possible scenarios

Each project is different. Depending on project context, individual likes etc. you should select your services appropriately. Here are some suggestions for typical kinds of projects:

Architecture and Technologies

The SSELab consists of several subsystems that offer different types of software engineering tools as services. A centralized enterprise application enables the efficient and integrated administration of users, projects, and services. Examples include tools for version control and tools for task, project and knowledge management. Those tools are well known in the development community and quite reliable.

A second enterprise application, and related client applications provide generation and transformation services useful for softwar edevelopment. This includes:

  1. code generators for UML
  2. and domain-specific languages (DSLs)
  3. generating and transforming of documentation
  4. handling of files in various formats

A third subsystem realizes a flexible continuous integration environment. It covers areas of

  1. quality assurance,
  2. testing and
  3. metrics.

An essential aspect of all infrastructure components is the expansion of services offered at run time through the use of plug-in systems. We do provide services on server-side instead of IDE extensions, because we find many problems:

  • Developers in several projects always have problems with IDE'components to be available in different versions
  • Upgrade of a tool, such as a generator becomes much easier
  • Ramp-up time for a new project becomes considerable less
  • Complex analyses are more efficient on a powerful serverside
  • Agile projects greatly benefit from an integrated availability of services

The SSELab uses modern and industry-relevant technologies and frameworks for the development of server-based applications. Some examples are:

  • Languages and Frameworks:
    • Java Enterprise Edition (Java EE) 5:
      • JBoss Rich Faces
      • Java Server Faces (JSF)
      • Enterprise Java Beans (EJB) 3
      • Java Persistence API (JPA)
    • OSGi
  • Test Frameworks:
    • JUnit
    • DBUnit
  • Server:
    • Apache
    • Glassfish
    • JBoss Application Server
  • Database Systems:
    • PostgreSQL
    • MySQL
    • SQLite

Within the research project "Glose" (Global Software Engineering) in cooperation with the TU Clausthal, Leibniz University of Hanover, Munich Technical University and various industrial partners the SSELab expands to meet the specific needs of globally distributed development.