Franks aktueller IT-Werkzeugkasten

Hier zeige ich den aktuellen Inhalt meines gut geordneten und gefüllten IT-Werkzeugkasten für Softwarearchitekten. Umfangreiche freiberufliche Erfahrung als IT-Berater bedeutet immer auch eine Sammlung von professionellen Wissen und somit auch einen gut gefüllten IT-Werkzeugkasten.

Grundsätzlich präferiere ich immer Open Source Lösungen.

Alle diese Werkzeuge, Bibliotheken, Komponenten bzw. Technologien setze ich zur Zeit ein 🙂

Werkzeuge

Entwicklungswerkzeuge
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
BetriebssystemUbuntuKubuntu, openSUSE, *AIX, *z/OS, *Windows
ProgrammierspracheTypeScript, RustJava (SE), Kotlin, ECMAScript (JavaScript)Scala, Groovy, Java (EE), C/C++
EntwicklungsumgebungEclipse CheJetBrains IntelliJ IDEA, Eclipse IDE mit Spring IDEAtom, Sublime Text 3, Eclipse/Spring Tools, *RAD, *WSAD, VisualAge for Java
Build ManagementGradleApache MavenApache Ant
VersionsverwaltungGitLab mit GitHost (Hosting), Gogs – Go Git Service, git-flowGit mit GitHub (Hosting)Apache Subversion, *Serena Dimensions CM, CVS, *PVCS Version Manager
Continuous IntegrationTravis CI (Hosting), *Jenkins CIBuildHive (Hosting), *Hudson CI
Statische Code Analyse (Metriken)jQAssistant, Coveralls (Hosting), *SonarQubePMD, JDepend, FindBugs, Checkstyle

Werkzeuge zur Zusammenarbeit
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Bugtracker, Projektverfolgung, OrganisationGitLab mit GitHost (Hosting), Gogs – Go Git ServiceTrello (Hosting), GitHub (Hosting), *Atlassian JIRA (Bitbucket, Hosting)*Serena Business Manager, *PVCS Tracker
Kollaboration, Webkonferenzsipgate (*), G Suite (Google Apps for Work)TeamViewer, Skype
Review SystemGerrit

Dokumentation von Anwendungen und deren Architekturen
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
UML ModellierunggliffyEnterprise Architect*Rational Software Architect, *Rational Rose, *Together, *EclipseUML, StarUML, Umbrello, ArgoUML, OEW: *Object Engineering Workbench
Architekturdokumentationarc42
WerkzeugeAsciidoctor mit AsciiDoc, *Atlassian Confluence

Analysen, Fehlersuche und Bewertungen von Anwendungen
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
ProfilingJProfiler, Eclipse Memory AnalyzerIBM Thread and Monitor Dump Analyzer, IBM HeapAnalyzer, *Jinsight, *JProbe
Statische Code AnalysejQAssistant, Coveralls (Hosting), *SonarQubePMD, JDepend, FindBugs, Checkstyle
NetzwerkanalyseWireshark, Fiddler, Apache Directory Studio (LDAP Client)
LasttestGatlingApache JMeter

Testwerkzeuge
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Testabdeckung (Test Coverage bzw. Code Coverage)JaCoCoCobertura
LasttestGatlingApache JMeter
Webservice TestsoapUI
Webtest FrameworkSelenium
AkzeptanztestJBehave*Robot Framework

Virtualisierung
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Virtuelle Maschinen (VM)Oracle VM VirtualBox*VMware
Virtualisierung des BetriebssystemsKVM: Kernel-based Virtual Machinedocker

Bibliotheken

Allgemeine und wichtige Bibliotheken
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Application FrameworkSpring Framework, Spring BootApache Turbine
Java Boilerplate CodeProject Lombok, The AspectJ Project, Hibernate Metamodel Generator
Logging (API)SLF4JJCL: Apache Commons Logging, JUL: Java Logging API, JBoss Logging
Logging FrameworkApache Log4j 2LOGBackApache Log4j 1
Datum und ZeitJava SE 8 Date and Time API (JSR 310)Joda-Time
Stapel- bzw. BatchverarbeitungSpring Batch
Validation (JSR 303)Hibernate ValidatorApache BVal
Metriken FrameworkDropwizard Metrics (Coda Hale)
Sonstige wichtige BibliothekenApache Commons Lang, Apache Commons Collections, Apache Commons BeanUtils, JMapper FrameworkGoogle Guava, MapStruct-Mapper, ModelMapper, Orika-Mapper, Dozer-Mapper

Bibliotheken für die Oberfläche
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Template EngineThymeleaf mit Extras Thymeleaf + Spring Security, Thymeleaf Layout DialectGWT: Google Web Toolkit, Apache Velocity, JSP: JavaServer Pages
Web Application FrameworkSpring WebFluxSpring MVCSpring Web Flow, Vaadin, Apache Struts, Apache Turbine
CSS FrameworkBootstrap von Twitter, Sass: Syntactically Awesome Style Sheetsless: Leaner CSS
TypeScript oder JavaScript (ECMAScript) FrameworkReact, AngularjQuery, jQuery UI, DataTables for jQueryAngularJS, Dojo Toolkit, script.aculo.us
JavaScript Online Testen und TeilenJSFiddle
XML, XSL(T), JAXPJAXP: Java API for XML ProcessingApache Xerces Parser, Apache Xalan XSL Transformer, JDOM, dom4j

Java EE Komponenten
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Java EE Web ProfileApache Tomcat EmbedApache Tomcat, Apache TomEE, Pivotal tc Server, Jetty
Java EE AnwendungsserverJava EE kommt zu Gunsten von Microservices bzw. Self-contained Systems (SCS) nicht mehr zu Einsatz!WildFly, *Red Hat JBoss EAP, Apache Geronimo, *WebSphere AS

Datenhaltung
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Datenbankzugriff (API)JPA: Java Persistence APIJDBC: Java Database Connectivity, ODBC: Open Database Connectivity
Persistenz FrameworkHibernate Envers mit Spring Data Envers, Spring Data RESTHibernate, Spring Data insbesondere Spring Data JPA
Spring ORM, MyBatis, Apache OpenJPA, Apache iBATIS, Apache Torque
Datenbank (SQL, Relational DBMS)PostgreSQL, H2, MariaDBMySQL, HyperSQL (HSQL), *Oracle, *DB2, Apache Derby
In Memory Datenbank (IMDB)Redis (Key-Value Store), Hazelcast (Key-Value Store)H2 (Relational DBMS), Ehcache (Key-Value Store)HyperSQL (Relational DBMS), Apache Derby (Relational DBMS)
Datenbank (NoSQL)Graphite (Time-Series DBMS), InfluxDB (Time-Series DBMS), MongoDB (Document Store), Redis (Key-Value Store), Hazelcast (Key-Value Store), Event Store (Event Store)Neo4j (Graph DBMS), Ehcache (Key-Value Store)POET (Object oriented DBMS) jetzt Versant Object Database
SuchmaschinenApache Solr mit Apache FlumeElasticsearch mit Logstash*Splunk
SQL Online Testen und TeilenSQL Fiddle

Transaktionssysteme
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Transaktion (API)JTA: Java Transaction API
Transaktion FrameworkSpring TX
TransaktionsmanagerAtomikos, Narayana (JBoss)

Test-Frameworks
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Test FrameworkJUnit mit Hamcrest, AssertJ, JSONassert, XmlUnitApache Jakarta Cactus
Mocking Frameworkmockito mit PowerMockEasyMock, Mock Objects

Austausch von Informationen
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
I/O FunktionenApache Commons IO, Apache Commons Net, Apache HttpComponents ClientApache Commons HttpClient
Serialisierungen, KonvertierungenXOMJAXB: Java Architecture for XML Binding, XStream, Apache Commons Codec, Jackson (JSON), Spring OXMJettison (JSON StAX), JDOM, dom4j, Hessian
Kommunikation (API)JMS: Java Message Service, JAX-WS: Java API for XML Web Services, JAX-RS: Java API for RESTful Web Services,
Webservice Engine (SOAP, REST)Apache CXF, Spring HATEOASSpring Web Services, XFire, Apache Axis
Webservice TestsoapUI
Enterprise IntegrationApache Camel, Apache MINASpring Intergation, Spring JMSMule ESB
Mainframe Integration (CICS, IMS)LegStarLegStar for Mule ESB, *J2C mit Rational Application Developer, *IBM Enterprise Application Builder
Message Oriented Middleware (MOM)Apache ActiveMQ*WebSphere MQ

Informationssicherheit
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Crypto (API)The Legion of the Bouncy Castle, JCE: Java Cryptography Extension
Security StandardsJWT: JSON Web Token (RFC 7519), SAML: Open SAML 2 Java, WSS: Apache WSS4J, Apache XML Security for Java
Security FrameworkJava Simplified EncryptionSpring Security

Unterstützungen von Geschäftsfunktionen
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Mathematische und statistische FunktionenJavaMoney (JSR 354, Moneta), Joda-Money, JavaMoney Financial LibrarayApache Commons Math
Business Rule Engine (JSR 94)Drools
Business Process Engine, WorkflowActiviti, jBPM, camunda BPM

Sonstiges
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Scheduler FrameworkFoo-CommonJQuartz Scheduler
Erzeugen und Bearbeiten von DokumentenApache ODF Toolkit, Apache PDFBoxApache POI*iText, Apache FOP
Regulärer Ausdrücke (RegEx) Online Testen und TeilenOnline regex tester and debuger

Cloud Computing

Cloud Plattformen
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Online-DiensteGoogle Cloud Platform, Microsoft AzureAWS: Amazon Web Services
Infrastructure as a Service (IaaS)OpenStack, Amazon S3: Amazon Simple Storage Service, Boxfuse, Google Compute Engine, Microsoft Virtual Machines (Azure)Amazon EC2: Amazon Elastic Compute Cloud
Platform as a Service (PaaS)Google App Engine, Amazon Web Services: AWS Elastic Beanstalk, Microsoft App Service (Azure)

Virtualisierung
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Virtuelle Maschinen (VM)Oracle VM VirtualBox*VMware
Virtualisierung des BetriebssystemsKVM: Kernel-based Virtual Machinedocker

Werkzeuge für Cloud Computing oder Verteilung
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Service Discovery und Konfigurationsmanagement

Service Discovery und KonfigurationsmanagementNetflix ZuulHAProxy

Blogger, Solopreneur

Werkzeuge für Solopreneure (Unternehmerische Einzelkämpfer)
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
SelbstorganisationTrello (Hosting)
Automatisierungen, WorkflowsZapier (Hosting)IFTTT (Hosting)
Online-TerminverwaltungDoodle
Kollaboration, Webkonferenzsipgate (*), G Suite (Google Apps for Work)TeamViewer, Skype
InformationsmanagementDropbox (*)Evernote
FinanzenOnline Rechnungen, easybill.de, FastBill, Easyscm

Werkzeuge für Blogger
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Weblog SoftwareWordPressDrupal, Joomla!, phpwcms
Web-HostingALL-INKL.COMHost Europe (*)
Research und AnalysePiwikGoogle Trends, Google Analytics, GTmetrix, Google PageSpeed Insights, RankTank, HyperSuggest, Keyword Tool, Twitter AnalyticsGoogle Keyword Planer
BildbearbeitungCanva (Hosting)
Lizenzfreie Bilder bzw. BilderdatenbankenEs werden nur noch selbst erstellte Bilder verwendet. Das Berücksichtigen der Nutzungsrechte in allen Teilbereichen bzw. Medien ist definitiv zu kompliziert.pixabay, Fotolia, Pixelio, iStock
ZahlungsabwicklungDigiStore24 (*), MyCommerce
MembershipDigiMember (*)
E-Mail MarketingMailChimp, CleverReach, GetResponse, AWeber, ActiveCampaignNewsletter2Go (*)Klick-Tipp (*)
Social Media ManagementBuffer, CoSchedule, everypost, Sendible, MeetEdgar, PromoRepublic, PostPlanner, SocialPilotHootsuite, Social Networks Auto Poster {SNAP} (WordPress-Plugin)

Werkzeuge für Autoren
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
SchreibprogrammPapyrus AutorScrivener

Werkzeuge für Video & Streaming
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
Videoaufzeichnung und Live-StreamingOBS: Open Broadcaster Software
Webinareedudip

Werkzeuge für Audio
Mögliche KandidatenZur Zeit eingesetztNicht mehr eingesetzt
AudiorekorderAudacity
Audioeditor (Postproduktion)Auphonic Productions (Online-Dienst), Audacity
Podcast ToolsPodlove Podcast Publisher (WordPress-Plugin)

*) Diese Werkzeuge (teilweise kommerziell) wurden ausschließlich in Kundenprojekten eingesetzt.

Frank Rahn

Frank Rahn ist Softwarearchitekt. Er unterstützt bei der Konzeption von Softwarearchitekturen mit Java-Technologie. Folge Sie ihm auf Facebook, Twitter oder Google+.

Benötigen Sie Unterstützung? Kontaktieren Sie ihn.

Hat Ihnen dieser Beitrag gefallen? Wir würden uns über Ihren Kommentar freuen! Bitte verwenden Sie Ihren bürgerlichen Namen und eine E-Mail-Adresse mit Gravatar.

Letzte Artikel von Frank Rahn (Alle anzeigen)

2 Kommentare

Dein Kommentar

Want to join the discussion?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.