https://stackoverflow.com/questions/60127591/apache-karaf-4-2-6-shell-unable-to-install-webconsole
-
Developers Guide: http://servicemix.apache.org/docs/7.x/developers-guide/index.html
-
UserGuide: http://servicemix.apache.org/docs/7.x/users-guide/index.html
-
Feature - zestaw bundli OSGI definiujących aplikację.
-
Bundle - jednostka deploymentu na szynie ESB
Przykład: Definicja URL: http://repo1.maven.org/maven2/org/apache/servicemix/nmr/org.apache.servicemix.nmr.api/1.0.0-m2/org.apache.servicemix.nmr.api-1.0.0-m2.jar Definicja MVN: mvn:org.apache.servicemix.nmr/org.apache.servicemix.nmr.api/1.0.0-m2
-
Bundle 'dependency' Oznaczenie Bundle'a mówiące, ze jest to zależność dla innego. Podobny mechanizm istnieje w featurach (Dependent features) - przydatne w przypadku mechanizmu resolverów, które pobierają listę zależnych bundli.
-
Jaas - Java Authentication and Authorization Service https://docs.huihoo.com/fuse/esb/4.4/esb_security/SecureBroker-JAASOverview.html
-
admin https://servicemix.apache.org/docs/7.x/users-guide/child-instances.html
-
config - umożliwia edytowanie konfiguracji w Runtime
-
log - obsługa loggera
-
deployer - odpowiedzialny za deployment plików konfiguracyjnych: http://servicemix.apache.org/docs/7.x/users-guide/deployer.html
-
Remote access: http://servicemix.apache.org/docs/7.x/users-guide/remote-console.html
-
JAAS - Java Authentication and Authorization Service (JAAS) https://docs.oracle.com/en/java/javase/11/security/java-authentication-and-authorization-service-jaas1.html
https://servicemix.apache.org/docs/7.x/users-guide/security.html http://servicemix.apache.org/docs/7.x/users-guide/failover.html
-
JBI (Java Business Integration). Specyfikacja opisująca sposób łączenia ze sobą komponentów integracji, takich jak np. usługi magistrali ESB, w sposób niezależny od dostawców i zapewniający przenośność.
-
JCA (J2EE Connector Architecture). Specyfikacja definiująca sposób użycia standardowego zestawu kontraktów interfejsów do tworzenia adapterów, które zostaną podłączone do aplikacji korporacyjnych, a ponadto umożliwią interakcję z nimi.
-
JMX (Java Management eXtensions). Specyfikacja zarządzania zdalnego, która definiuje środki umożliwiające aplikacji współpracę z infrastrukturą i konsolami zarządzania.
-
wzorzec VETO (Validate, Enrich, Transform, Operate)
-
SMX -> lack of cloud deployment! https://softjourn.com/blog/article/do-esb-s-still-play-a-role
-
Developer commands: http://servicemix.apache.org/docs/7.x/developers-guide/developer-commands.html
-
How to connect to karaf console? http://servicemix.apache.org/docs/7.x/developers-guide/connect-console.html
-
Custom bundle http://servicemix.apache.org/docs/7.x/developers-guide/creating-bundles.html
-
Fabric 8 http://fabric8.io/
- jre.properties - kalibracja pakietów JRE per wersja Javy - niektóre biblioteki (apache) nadpisują pakiety dostarczane przez w JRE. http://servicemix.apache.org/docs/5.x/users-guide/jre-tuning.html
- keys.properties - konfiguracaja kluczy i ról użytkowników SMX https://access.redhat.com/documentation/en-us/red_hat_jboss_fuse/6.2.1/html-single/configuring_and_running_jboss_fuse/index
- org.apache.activemq.server-default.cfg - konfiguracja serwera amq.
- org.apache.activemq.webconsole.cfg - konfiguracja webconsoli amq.
- org.apache.aries.transaction.cfg - konfiguracja pluginów ariesa dotyczących obsługi transakcji.
- org.apache.karaf.command.acl.feature.cfg - konfiguracja uprawnień dla operacji na featurach per grupa.
- org.apache.karaf.command.acl.jaas.cfg - konfiguracja uprawnień dla jaas per grupa.
- org.apache.karaf.features.cfg - ważny plik zawierający konfigurację repozytoriów z feature filami.
- org.apache.karaf.features.repos.cfg - konfiguracja aliasów na repozytoria.
- org.apache.karaf.jaas.cfg - konfiguracja szyfrowania haseł.
- org.apache.karaf.management.cfg - zarzązanie karafem (między innymi security).
- org.apache.karaf.shell.cfg - ssh shella, welcomeBanner, poziomy logowania.
- org.ops4j.pax.logging.cfg - konfiguracja logowania szyny.
- overrides.properties - plik z konfiguracją nadpisującą starą konfigurację.
- users.properties - definicja użytkowników i ich ról
- activemq.xml - konfiguracja activemq.
- config.properties - ważne zmiany konfiguracyjne SMX.
- custom.properties -> nadpisuje config.properties.
-
ServiceMix dev commands: http://servicemix.apache.org/docs/7.x/commands/dev-restart.html# -> dev:restart
-
Webconsole a) Instalujemy feature webconsoli:
karaf@root> feature:install webconsole
b) Weryfikujemy instalację:
karaf@root> feature:list | grep webconsole
c) Wchodzimy na stronę:
http://localhost:8181/system/console/features
-
Apache Felix Maven Bundle Plugin Apache Felix - Osgi Implementation http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html
-
Apache Geronimo http://geronimo.apache.org/
-
Apache Camel http://servicemix.apache.org/docs/7.x/camel/index.html
-
Apache Karaf
Karaf - moduł, który dostarcza możliości konfiguracji, deploymentu w runtimie frameworków takich jak spring boot, web. Bazuje na featerach, wspiera:
- hot deployment
- dynamiczną konfigurację
- system logowania
- provisioning
- rozszerzoną shell consolę
- zdalny dostep po ssh
- konfigurację Security & ACL na podstawie JAAS z użyciem RBAC
- zarządzanie instancjami
- featury enterprise: JDBC, JPA, JTA, JMS
- REST -> support dla CXFa
- współpraca z zewnętrznymi serwisami (Camel)
Provisioning: https://karaf.apache.org/manual/latest/provisioning Biblioteka: http://karaf.apache.org/ SMX Guide dla Karafa: http://servicemix.apache.org/docs/7.x/users-guide/start-stop.html
-
Activiti http://servicemix.apache.org/docs/7.x/activiti/activiti-camel-example.html
-
Apache CXF
Apache CXF to platforma do tworzenia usług internetowych, której można używać do tworzenia usług sieciowych SOAP i Rest. CXF jest w pełni zgodny ze standardami JAX-RS and JAX-WS.
http://cxf.apache.org/ http://cxf.apache.org/docs/cxf-architecture.html
- ActiveMQ
- Apache Aries
Projekt zawiera pluginy napisanie w Javie uruchamiające model OSGI. http://aries.apache.org/documentation/index.html
- SOAP
(ang. Simple Object Access Protocol)
Istnieją dwa podejścia do tworzenia usług sieciowych SOAP -
- Code first - W tym podejściu WSDL jest generowany z kodu.
- Contract first - W umowie najpierw kod jest generowany z WSDL.
-
Debug mode http://servicemix.apache.org/docs/7.x/developers-guide/debugging.html
-
ACL - Access Contol List - lista kontroli dostępu https://en.wikipedia.org/wiki/Access-control_list
Run Servicemix + create user
Uruchom servicemix z debug mode
Uruchom webconsole (howtio)
- Zapoznaj się z prostymi przykładowymi aplikacjami
- deployment prostej aplikacji springbootowej jako bundle
- osobny plik z logami z naszego pakietu
Zrób własny feature file na bundle i zaprojektuj aplikację, która robi rezerwacje na podstawie 3 źródeł:
- SOAP
- REST
- Podrzucony plik
Aplikacja powinna wykorzystywać activemq do komunikacji. Aplikacja powinna się składać z conajmniej 5 bundli.