Autor Beitrag
beRemote
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 08.01.15 09:24 
Hallo an alle Interessenten,

Bevor wir auf nähere Details eingehen, möchten wir euch erst einmal einen schnellen groben Überblick geben, um was es in diesem Projekt geht. Dies haben wir einmal in kurzen Stichpunkten zusammengefasst bevor der tiefere Einblick in unserer Projekt folgt.

Wer sind wir?
Wir sind ein Team aus drei Programmierern, welche in Elmshorn (bei Hamburg), Attendorn (bei Köln) und Berlin deutschlandweit verteilt in unserer Freizeit an dem Projekt beRemote arbeiten und dieses verwirklichen.
Hauptberuflich sind wir alle als Programmierer oder Systembetreuer in der IT tätig, sodass wir unser Wissen in dieses Projekt einbringen können.

Wen suchen wir?
Einen oder mehrere Programmierer mit mindestens vorhandenen Grundkenntnissen in C#, welche uns bei der Entwicklung unterstützen

Was ist zu tun?
Plugins und Module (von klein bis groß)
Erweiterung der Grundfunktion
Optimierung der grafischen Oberfläche in WPF

Sprache?
C# /.Net 4.5 inkl. WPF (MVVM)
Die Software und der Quellcode sind in Englisch verfasst.

Wofür entwickeln wir?
Windows Vista bis Windows 8.1 (und deren Server-Derivate)

Womit?
Visual Studio (2010 oder höher) sowie SVN für die Sourcecodeverwaltung.

Wo?
www.beremote.net

Seit wann?
Seit April 2012

Lizenz?
Mixed. Der Core von beRemote ist derzeit Closed-Source. Die Plugins und einiges drum herum ist OpenSource, sofern genutzte 3rd-Party-Module dies zulassen. Sofern ein ihr ein neues Plugin entwickelt, ist euch die Lizenz prinzipiell frei überlassen.

Publishing?
Freeware über unsere Homepage

Zielgruppe?
Server- und Netzwerkadministratoren sowie Poweruser


So, nachdem Ihr nun einmal im Groben wisst worum es geht, nun einige Details zu beRemote:
Einführung:
Wir sind derzeit ein Team aus drei Programmierern, die das Remotemanagement-Programm beRemote entwickeln. beRemote kann, ähnlich wie in einem Browser die Tabs, mehrere Remoteverbindungen und Remoteverwaltungstools in einem Programm verwalten. Der Kern ist dabei das Remotedesktopmanagement. Hier ist das Protokoll mit dem diese Verbindungen aufgebaut werden in der praktischen Anwendung ehr Nebensache um die sich der Benutzer nach der Einrichtung nicht weiter kümmern muss. Derzeit unterstützen wir RDP, VNC, Telnet, SSH sowie zwei Browserengines (Chromium und Trident/IE) und in Kürze auch HyperV und weitere. Die gesamte Programmierung erfolgt in unserer Freizeit, wodurch wir viel von dieser opfern um beRemote zu entwickeln. Es steht aber jedem frei wie viel Zeit er investieren möchte.

Intention:
Unsere Intention beRemote zu entwickeln entstand ursprünglich daraus, dass das Programm "mRemote" in der täglichen Arbeit genutzt wurde. Dies wird aber seit einigen Jahren nicht mehr weiterentwickelt und der Folk "mRemoteNG" erfüllt auch nicht unsere Erwartungen einer Weiterentwicklung. Der Entwickler von "mRemote" ist zum Entwicklerteam des kommerziellen Produktes "RoyalTS" hinzugestoßen. Nachdem "mRemote" nach der Einführung von NLA (Network Level Authentication) im RDP-Protokoll keine Verbindungen mehr zu NLA aktivieren Servern aufbauen konnte, fiel die Entscheidung selbst eine Art "mRemote" zu programmieren. Um die eigentliche Funktionalität der Remoteverbindungen sollte aber noch einiges drumherum entwickelt werden sowie ein Pluginsystem geschaffen werden, welches es ermöglicht weitere Protokolle und Plugins durch jeden Entwickler hinzuzufügen und zentral Verbindungen für alle User verwalten zu können. Die Grundidee von beRemote war geboren. Hieraus entwickelte sich dann innerhalb weniger Monate das Grundgerüst von beRemote mit einem ersten funktionierenden Client. Auf diesem aufbauend haben wir bis heute beRemote Stück für Stück erweitert.

Umfang:
Rund um diese Basisfunktionalitäten werden für Systemadministratoren und Poweruser hilfreiche Tools hinzukommen. Um kleinere Beispiele zu nennen, wären dort IP- und Portscanner, DNS Lookup, TraceRoute Prüfung, IP Localisator, uvm.. Alles kleine Helferlein, die einem bei Problemanalysen unterstützen und die tägliche Arbeit erleichtern. Zusätzlich zu diesen kleinen Funktionen, werden aber auch größere Plugins bzw. Module hinzukommen. Hier denken wir derzeit in erster Linie an Monitoring-Funktionalitäten, die zu Managed Services ausgebaut werden sollen. Hinzu sollen aber auch Dinge wie Kennwortverwaltung, Dokumentationsablage, Ticketingsystem oder Lizenzverwaltung kommen. All dies kann über Berechtigungsstufen für Benutzer gesteuert werden, sodass jeder Benutzer nur das sieht und machen kann, was er darf.

Datenbank:
Gespeichert werden hier alle Daten in einer zentralen Datenbank, welche durch den Endanwender anhand bestehender Schnittstellen ausgesucht werden kann. Derzeit arbeiten wir mit einer SQLite-Datenbank für eine Standalone- und Portable-Version, aber die Schnittstelle für unser Storage-Modul ist flexibel, sodass auch jede andere Datenbank hierfür genutzt werden kann, nachdem das Interface implementiert wurde. Auf unserer Roadmap stehen hier als nächstes MySQL und MSSQL an.
Für Unternehmen wird beRemote dann noch interessanter. Die Verbindungen, die in beRemote hinterlegt sind, können dann von allen, einigen oder nur einem Benutzer verwendet werden. Dies wird durch das integrierte Rechtemanagement ermöglicht.

Organisation:
Wir organisieren uns über verschiedene Wege. Für die tägliche Kommunikation nutzen wir Skype oder bei größeren "Besprechungen" oder Ausführungen auch mal die klassische E-Mail oder unser Forum. Zudem haben wir unsere Homepage (www.beremote.net), wo wir einen auf Redmine basierenden Tracker hosten (tracker.beremote.net) sowie ein Forum betreiben (www.beremote.net/forum). Außerdem haben wir einen SVN-Server, welcher das Codemangement übernimmt und an den ein Build-System angeschlossen ist. Dieses baut nach jedem Checkin ein Live-Build ("Snapshot"), welches auch bei uns auf der Homepage heruntergeladen werden kann.
Für externe Kommunikation zum Thema beRemote haben wir zudem jeder eine E-Mail-Adresse mit der Endung @beremote.net und eine zentrale-Adresse für allgemeine Anfragen (support@...).

Entwicklungsstand:
Der derzeitige Entwicklungstand ist soweit fortgeschritten, dass beRemote bei unserer täglichen regulären Arbeit zum Einsatz kommt. Die aktuelle Version ist ein Release Preview, welches wir unter der Version 0.0.2.2 führen. Hier sind die Basisfunktionalitäten größtenteils bereits vorhanden und Fehler werden nach und nach behoben. Die größeren Basisfunktionalitäten, welche noch geschaffen werden müssen sind das Rechtesystem sowie die Möglichkeit für die Multi-Language-Funktionalität, welches sich derzeit in der Umsetzung befindet. Zudem, wie bereits erwähnt, viele kleinere und größere Plugins. Eine Orientierung was wir zum nächsten Stable-Release planen gibt es auch auf unserer Homepage unter "Roadmap" beremote.net/roadmap/

Deine Aufgabe(n):
Prinzipiell gibt es zwei Bereiche, in denen wir deine Unterstützung brauchen.
Pluginentwicklung
Der erste Bereich ist die Pluginentwicklung. Wir stellen uns deine Aufgabe so vor, dass du weitere Plugins für beRemote entwickelst um so den Funktionsumfang von beRemote zu erweitern. Dies stellt in der Praxis viele kleine "Programme" da, die ggf. auch eigenständig Laufen könnten und in beRemote unter dem Reiter "Tools & Features" zu finden sein werden. Wer also vor großen Projekten zurückschreckt oder sich nicht in fremden Code einarbeiten möchte, für den ist dies genau das Richtige. Auch Anfänger mit vorhandenen Basis-Kenntnissen könnten so Ihr Wissen anhand von diesen kleinen Projekten erweitern.
Auch Programmierer, die gerne große und längerfristige Aufgaben übernehmen sind natürlich willkommen. Es gibt diverse größere Baustellen, die in Angriff genommen werden müssen. Hier gibt es u.a. die bereits erwähnten größeren Plugins, welche als eigener Reiter in der Ribbonbar auftauchen werden.
Natürlich sind wir auch offen für neue Ideen und diesen nicht abgeneigt.
Basiserweiterung
Es gibt Funktionalitäten, welche derzeit nicht über Plugins gelöst werden können und so direkt in beRemote implementiert werden. Als Beispiel ist hier die Unterstützung von VPN-Verbindungen zu nennen, bei denen vor und nach dem Auf- oder Abbau einer Verbindung eine VPN-Verbindung auf- oder abgebaut wird.

Screenshots:
Damit Ihr euch einen Eindruck von beRemote machen könnt, könnte ihr unter beremote.net/screenshots/ einige Screenshots von beRemote ansehen.

Ich möchte dabei sein!
Wer also Interesse hat Plugins (oder auch Programme) rund um das Thema Systemadministration zu schreiben oder uns bei anderen Dingen helfen möchte, kann uns gerne kontaktieren. Auf Grund der Flexibilität unseres Plugin-Systems wäre es auch möglich bereits bestehende Programme ohne viel Aufwand in beRemote zu integrieren.
Ihr erreicht uns am Besten per Mail unter support -bei- beremote.net oder via Skype (Benutzername: xo-mate).
Auch auf Twitter kann man die Entwicklung von beRemote verfolgen. Hier werden auch Neuerungen in den Latest Snapshots verkündet, welche der Anwender bereits benutzen kann: twitter.com/beRemoteTeam