Applikationsserver

Das Backend benötigt einen JEE6 kompatiblen Applikationsserver wie beispielweise Glassfish.

Anforderungen an den Applikationsserver

Applikationsservices sind als EJBs realisiert. Applikationsserver mit Full Profile enthalten bereits einen Container für Enterprise Java Beans. Soll der Backend-Service auf einen Web-Profile Server deployt werden ist es notwendig einen EJB Container (z.B. Open EJB) zu installieren.

Darüber hinaus geht der Backendservice davon aus, dass der Applikationsserver eine sichere Verbindung herstellt, den Nutzer authentisiert und der Anwendung entsprechende Rollen bereitstellt.

web.xml

<login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>hso</realm-name>
</login-config>

<security-role>
        <role-name>student</role-name>
</security-role>

<security-role>
        <role-name>lecturer</role-name>
</security-role>

<security-role>
        <role-name>employee</role-name>
</security-role>

<security-role>
        <role-name>professor</role-name>
</security-role>

Der Service erwartet ein Security Realm mit dem Namen hso, sowie die Rollen „student“, „lecturer“, „employee“ und „professor“. Die entsprechende Zuordnung zu LDAP Gruppen ist Glassfish spezifisch definiert:

glassfish-web.xml

<security-role-mapping>
        <role-name>student</role-name>
        <group-name>Studenten</group-name>
</security-role-mapping>

<security-role-mapping>
        <role-name>lecturer</role-name>
        <group-name>Lehrbeauftragte</group-name>
</security-role-mapping>

<security-role-mapping>
        <role-name>employee</role-name>
        <group-name>Mitarbeiter</group-name>
</security-role-mapping>

<security-role-mapping>
        <role-name>professor</role-name>
        <group-name>Professoren</group-name>
</security-role-mapping>

Darüber hinaus muss eine persistence-unit mit dem Namen „hso-webservicepersistence- unit“ bereitgestellt werden.

persistence.xml

<persistence-unit name="hso-webservice-persistence-unit" transaction-type="JTA">
        <jta-data-source>jdbc/webservice</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
</persistence-unit>