Liferay in Action – wie kann ich fancy AngularJS Apps mit meiner bestehenden B2X-Portal-Infrastruktur verbinden?
AngularJS ist derzeit in aller Munde: jede Webentwicklerzeitschrift berichtet über den Einsatz des JavaScript Frameworks. Der Google-Trend schießt durch die Decke – die Software & Support Media Group bietet sogar eigene AngularJS-Trainings, die sogenannten http://angularjs-days.de an. Doch trägt das Framework und ist es für den Unternehmenseinsatz geeignet? Genau diese Frage hat sich ein Kunde von doubleSlash gestellt.
Die Ausgangspunkte unseres Kunden:
- Weltweites Unternehmen
- Bestehende B2X-Infrastruktur/bestehende Zuliefersysteme
- Intranetanwendungen sollen erweitert und als mobile Website bzw. als App bereitgestellt werden
Die Frage: Wie ist es möglich, eine AngularJS-Anwendung in die bestehenden Compliance-Vorgaben eines derartigen Unternehmens nachhaltig zu integrieren? Nach ausgedehnten Evaluierungen fiel die Entscheidung auf eine AngularJS-Anwendung, die mittels Liferay-REST-Services auf die Unternehmensdaten zugreift.
Hierbei wurde ein Service mittels Liferay-Webservices erstellt und dokumentiert:
Die AngularJS-Anwendung konsumiert nun den Liferay-Webservice mit all seinen Vorteilen, die das Enterprise-Portal bereits mitbringt.
Wie erstellt man einen Liferay-Webservice?
Um einen Liferay-Webservice erstellen zu können, benötigt man die aktuelle Liferay IDE und erstellt ein neues Liferay-Plug-in auf Basis von Maven. Hierfür fügt man im Ordner WEB-INF eine Datei mit dem Name service.xml mit bspw. folgendem Inhalt hinzu:
< !DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
Demo
Mittels des Liferay Targets „build-service“ wird der Service erstellt. Als nächstes müssen die benötigten Service-Methoden in den Klassen ausimplementiert werden, in unserem Beispiel die Klasse „DemoServiceImpl“. Anschließend muss nochmals das Liferay Target „build-service“ via Maven ausgeführt werden. Zum Schluss wird der Service mittels des Maven Targets „deploy“ in Liferay installiert und kann über http://yourdomain.de/api/json/ ausgewählt werden.
Hier der Sourcecode des beschriebenen Beispielprojekts zum Download: DS-Demo