Liferay in Action – wie kann ich fancy AngularJS Apps mit meiner bestehenden B2X-Portal-Infrastruktur verbinden?

22.07.2015

© maciek905 - Fotolia.com - AngularJS

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:

  1. Weltweites Unternehmen
  2. Bestehende B2X-Infrastruktur/bestehende Zuliefersysteme
  3. 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:

Abbildung 1: JSON WebService API von Liferay. Nach Auswahl des DS-Demo-portlet werden dessen angeboten Service Methoden dargestellt. - AngularJS
Abbildung 1: JSON WebService API von Liferay. Nach Auswahl des DS-Demo-portlet werden dessen angeboten Service Methoden dargestellt.
Abbildung 2: Liferay bietet die Möglichkeit die Methoden direkt im Browser zu testen und bietet bereits einCode Beispiel an. - AngularJS
Abbildung 2: Liferay bietet die Möglichkeit die Methoden direkt im Browser zu testen und bietet bereits einCode Beispiel an.

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

 

doubleSlash-Teaser-Blog_Programmierung

Zurück zur Übersicht

Kommentar verfassen

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

*Pflichtfelder

*