Beratung in SOA / Webservices / Microservices
Ziel einer Service Orientierten Architektur (SOA) ist es, Anwendungsfunktionalitäten, die bisher nur einzelnen Systemen bzw. Nutzern vorbehalten waren, anderen Systemen und Anwendungen als Dienst zur Verfügung zu stellen und somit einen Mehrwert für das gesamte Unternehmen zu bieten.
Anwendungen werden meist für einzelne Aufgaben und Abteilungen einer Unternehmung angeschafft oder erstellt. Geschäftsprozesse erstrecken sich oft über größere Teile des Unternehmens und sollten Daten und Funktionalität mehrerer Systeme vereinen. Nur integrierte Systeme sind in der Lage, eine entsprechende Sicht auf die Unternehmensdaten ohne manuelle Aufwände bereitzustellen.
Durch den Einsatz einer Service Orientierten Architektur (SOA) in der Implementierung der Einzelanwendungen kann eine prozess- und anwendungsübergreifende Integration unterstützt werden. Die technische Basis unserer Umsetzungen einer SOA bilden Toolkits und Frameworks auf der Java Plattform. Da SOA Lösungen keine starren Gebilde sein dürfen, sondern mit Ihren Anforderungen mitwachsen müssen, bevorzugen wir quelloffene SOA-Plattformen wie z.B.
Anbei ein Auszug aus unseren Beratungs- und Entwicklungs-Leistungen im Bereich SOA / Webservices / Microservices
Wir unterstützen Sie bei der Analyse ihrer jetzigen Software-Landschaft und erarbeiten gemeinsam mit Ihnen ein SOA/WebServices-Konzept. Unsere Berater, Entwickler und Architekten unterstützen Sie bei der Umsetzung, dem Testmanagement, der Produktivsetzung und dem Support. Folgender Technologiestack verwenden wir unter anderem:- Apache Axis 2, Apache CXF
- Jax-WS
- JBossWS
- SpringWS
Beginnen Sie Ihre SOA-Strategie mit Java und Open Source Tools doch ohne strategische Lizenzkostenentscheidung. Auf Basis in der Praxis ausgereifter Standards wie JAX-WS und WS-Interoperability Profile sowie deren robusten, durch Community und Indutrie getriebenen Implementierungen, droht Ihnen dabei kein Verzicht auf Sicherheit, Stabilität oder Performance.
Microservices
Bei Microservices-Projekte setzen wir meistens mit SpringBoot und dem Spring Ökosystem um, da es folgende für uns wichtigen Merkmale vereint:
- direktes Einbetten von Webserver-/Container-Anwendungen wie Apache Tomcat oder Jetty möglich, wodurch kein Einsatz von WAR-Dateien (Web Application Archive) erforderlich ist
- Spring Boot erzeugt eine ausführbare JAR-Datei, die überall gestartet werden kann, wo es eine JAVA-Runtime gibt. Ein eigener Application-Server muss nicht mehr installiert und die Applikation muss nicht mehr eigens auf diesem Server ausgeliefert werden.
- Mit Hilfe des Spring Initializr kann ein Projektvorlage erstellt werden
- als Sprachen kann man Java,Kotlin oder Groovy verwenden
- Bereitstellung nichtfunktionaler Features wie Metriken oder ausgelagerter Konfigurationen
- Einfaches deployen in eine Cloud, unter anderem mittels Docker-Container
- sehr gute Integration in DevOps-Prozesse
- mkit Hilfe von leichtgewichtigen Jvascript-Frameworks (Angular, Vue.js, Ember können hochskalierbare Anwendungen erstellt werden
- Single-Responsibility-Prinzip
- sprachneutrales und maschinenlesbares Format
- definiert in JSON oder YAML
- ermöglicht Contract-/API-First- sowie Code-First-Entwicklun
Unterstützt wird dies durch grundlegendes Tooling in Form einer Kernbibliothek (swagger-core), einer Oberfläche für Visualisierung und Testaufrufe (Swagger UI), eines Codegenerators (Swagger Codegen) sowie eines Editors (Swagger Editor).
Jahrzehntelange Erfahrung unserer Entwickler und Architekten ermöglichen es uns, Ihnen eine leistungsfähige, skalierbare und zukunftssichere und gut dokumentierte Software zu entwickeln.