Studienarbeit-Nr Verwaltung von Benutzerprofilen mit Enterprise Java Beans. Clemens Dorda

Size: px
Start display at page:

Download "Studienarbeit-Nr. 1799. Verwaltung von Benutzerprofilen mit Enterprise Java Beans. Clemens Dorda"

Transcription

1 Prüfer: Prof. Dr.-Ing. habil. Bernhard Mitschang Betreuer: Dr. Jürgen Sellentin Beginn am: 01. November 2000 Beendet am: 28. Februar 2001 CR-Nummer: D.3.3, H.3.4, H.3.5 Studienarbeit-Nr Verwaltung von Benutzerprofilen mit Enterprise Java Beans Clemens Dorda

2 Seite 2 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Inhaltsverzeichnis 1. EINLEITUNG EINFÜHRUNG IN ENTERPRISE JAVA BEANS TYPEN VON ENTERPRISE JAVA BEANS SESSION BEANS Stateless Session EJB Stateful Session EJB ENTITY BEANS Container-Managed Persistence (CMP) Entity EJB Bean-Managed Persistence (BMP) Entity EJB EJB SCHNITTSTELLEN UND KLASSEN Home-Interface Session Beans Remote-Interface Bean-Objekt Klasse Home-Interface Entity Beans ENTWICKLUNG VON ENTERPRISE JAVA BEANS ANFORDERUNGSANALYSE ENTWURF IMPLEMENTIERUNG CMP/BMP ENTITY BEAN ANSATZ FACADING ANSATZ STATEFUL SESSION BEAN ANSATZ STATELESS SESSION BEAN ANSATZ IMPLEMENTIERUNG DES BENCHMARKS AUSWERTUNG DER ERGEBNISSE KONFIGURATION ABLAUF DER MESSUNGEN AUSWERTUNG DER MESSERGEBNISSSE GEGENÜBERSTELLUNG DER ERGEBNISSE ABSCHLIEßENDE BEWERTUNG AUSBLICK ANHANG A PROGRAMMCODE DER ERSTELLTEN ENTITY BEANS UserAccountsHome.java (Home-Interface des BMP Entity Beans UserAccounts)...38 UserAccounts.java (Remote-Interface des BMP Entity Beans UserAccounts)... 38

3 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 3 UserAccountsBean.java (Bean-Klasse des BMP Entity Beans UserAccounts) UserAccountsKey.java (Primärschlüsselklasse des BMP Entity Beans UserAccounts) ApplicationsHome.java (Home-Interface des BMP Entity Beans Applications) Applications.java (Remote-Interface des BMP Entity Beans Applications) ApplicationsBean.java (Bean-Klasse des BMP Entity Beans Applications) ApplicationsKey.java (Primärschlüsselklasse des BMP Entity Beans Applications) UsersHome.java (Home-Interface des CMP Entity Beans Users) Users.java (Remote-Interface des CMP Entity Beans Users) UsersBeanFinderHelper.java (FinderHelper-Interface des CMP Entity Beans Users) Users2appsHome.java (Home-Interface des CMP Entity Beans Users2apps) Users2apps.java (Remote-Interface des CMP Entity Beans Users2apps) AppsHome.java (Home-Interface des CMP Entity Beans Apps) Apps.java (Remote-Interface des CMP Entity Beans Apps) AppsBeanFinderHelper.java (FinderHelper-Interface des CMP Entity Beans Apps) PROGRAMMCODE DER ERSTELLTEN SESSION BEANS DA_SFHome.java (Home-Interface des Stateful Session Beans DA_SF) DA_SF.java (Remote-Interface des Stateful Session Beans DA_SF) DA_SFBean.java (Bean-Klasse des Stateful Session Beans DA_SF) DA_SLHome.java (Home-Interface des Stateless Session Beans DA_SL) DA_SL.java (Remote-Interface des Stateless Session Beans DA_SL) DA_SLBean.java (Bean-Klasse des Stateless Session Beans DA_SL) Facade2CmpEntityHome.java (Home-Interface des Stateful Session Beans Facade2CmpEntity) Facade2CmpEntity.java (Remote-Interface des Stateful Session Beans Facade2CmpEntity) Facade2CmpEntityBean.java (Bean-Klasse des Stateful Session Beans Facade2CmpEntity) PROGRAMMCODE DER ERSTELLTEN BENCHMARK-SERVLETS BenchmarkEntityBeansServlet.java BenchmarkSessionBeansServlet.java PROGRAMMCODE ZUSÄTZLICHER HILFSKLASSEN BenchmarkResultSet.java Ergebnisklasse für die Benchmark-Servlets LogfileWriter.java Klasse, die Logging-Funktionen zum Debuggen zur Verfügung stellt ResultSetApps.java Ergebnisklasse für die Session Beans ResultSetUsers.java Ergebnisklasse für die Session Beans ResultSetUsers2Apps Ergebnisklasse für die Session Beans ResultSetUserAccounts2Applications Ergebnisklasse für die BMP Entity Beans ANHANG B KONFIGURATION WEBSPHERE OHNE KLONE KONFIGURATION WEBSPHERE MIT DREI KLONEN LITERATURVERZEICHNIS ERKLÄRUNG

4 Seite 4 1. Einleitung Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Innerhalb des Teams Integrationsarchitekturen im Labor IT for Engineering des DaimlerChrysler Forschungszentrums Ulm wurde innerhalb der letzten Jahre der neue Architekturansatz AIDA (Architecture for the Integration of Data and Applications) entwickelt. Mit Hilfe generischer Middleware-Konzepte wird eine sog. virtuelle Integration existierender Systeme erreicht, die einen einheitlichen Zugriff auf alle beteiligten Systeme ermöglicht. Für den Anwender entsteht dabei der Eindruck eines einzigen Systems, obwohl nach wie vor die existierende Funktionalität der alten Systeme aufgerufen wird. Mittlerweile gibt es durch die Einführung von Enterprise Java Beans (EJB) und der Java 2 Enterprise Edition (J2EE) sogenannte Application Server, die einen Systemaufbau ähnlich dem AIDA Architekturansatz auf der Basis von Java ermöglichen. Im Rahmen dieser Studienarbeit soll nun der in Kapitel 3 beschriebene Aspekt genauer untersucht werden.

5 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 5 2. Einführung in Enterprise Java Beans Enterprise Java Beans (nachfolgend EJB genannt) sind in Java erstellte Softwarekomponenten, mit deren Hilfe verteilte, dreischichtige Anwendungen entwickelt werden können. Die EJB-Spezifikation legt Schnittstellen und Klassen fest, mit deren Hilfe Softwareentwickler auf relativ einfache Art und Weise Anwendungen für geschäftskritische Vorgänge realisieren können, ohne sich um die genauen Implementierungsdetails wie transaktionskonsistente Ausführung oder Synchronisierung von Prozessen (bei verteilter Ausführung) etc. zu kümmern. Außerdem sind die erstellten EJBs plattformunabhängig und müssen deswegen im Idealfall nicht umgeschrieben oder neu kompiliert werden, wenn sie auf einer anderen Plattform als der ursprünglichen Zielplattform eingesetzt werden sollen. Abbildung I - Architektur Wie Abbildung I zeigt, werden Enterprise Java Beans in der Middleware (Geschäftslogikschicht) eingesetzt und laufen dort nicht eigenständig ab sie können nur zusammen mit einem sogenannten EJB-Server eingesetzt werden, wie z.b. Oracle Application Server oder IBM WebSphere Application Server. Dort laufen sie als eine Art Plugin ab und bilden die Schnittstelle zwischen dem EJB-Client in der Präsentationsschicht und den Datenressourcen. Der EJB-Server stellt einen oder mehrere Container zur Verfügung. Diese sind verantwortlich z.b. für die Persistenz der Daten oder die sichere Ausführung der einzelnen Threads.

6 Seite 6 Typen von Enterprise Java Beans Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Abbildung II EJB-Typen (Quelle: [11]) Wie Abbildung II zeigt, unterscheidet man grob zwischen zwei Arten von EJBs: Session Beans und Entity Beans. Session Beans Eine Instanz eines Session Beans tritt prinzipiell während seiner gesamten Lebensdauer nur mit einem Client-Rechner in Kontakt. Bricht die Verbindung vom Client ab, wird die Instanz des Beans entfernt. Die Art und Weise, wie die während der Verbindung zum Client-Rechner anfallenden Daten verwaltet werden, unterscheidet sich von der Art des Session Beans. Stateless Session EJB Hier werden sitzungsbezogene Daten des Clients nicht methodenübergreifend gehalten, sondern nur lokal bei jedem Methodenaufruf gespeichert und nach Abarbeitung des Aufrufs gelöscht somit können Stateless Session Beans auch keine Zustandsdaten des Clients halten. Diese Eigenschaft wird bei manchen Application Servern dahingegen ausgenutzt, dass Stateless Session Beans nach Beendigung der Clientverbindung nicht sofort entfernt werden, sondern bei einer Anfrage durch einen anderen Client wiederverwendet werden. Stateful Session EJB Im Gegensatz zu Stateless Session EJBs halten Stateful Session Beans sitzungsbezogene Daten des Clients (z.b. Logininformationen) während ihrer gesamten Lebensdauer, wodurch sämtliche Aktionen einer Bean-Instanz auf diese Daten zugreifen können. Damit ist es mit Stateful Session Beans möglich, z.b. den Zustand eines Client-Rechners im System zu halten

7 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 7 und auszuwerten. Die Lebensdauer einer Stateful Session Bean-Instanz endet, sobald die Sitzung mit dem verknüpften Client beendet wird. Stateful Session Beans und Stateless Session Beans bieten jeweils von sich aus keine Vorkehrungen gegen jegliche Art von Systemfehlern das System hält ihre Daten in der Regel nicht persistent vor, deswegen gehen alle Sitzungsdaten bei einem Systemausfall verloren, sofern der Entwickler nicht explizit entsprechende Vorkehrungen trifft. Entity Beans Entity Beans repräsentieren für den Client eine objektorientierte Sicht auf einen Datensatz, z.b. eine Zeile in einer Datenbank. Sie erlauben im Gegensatz zu Session Beans auch Mehrbenutzerbetrieb, das heißt, dass auf eine Instanz eines Entity Beans gleichzeitig mehrere Benutzer zugreifen können. Der Container, in den Entity Beans während der gesamten Lebensdauer eingebettet sind, stellt dazu entsprechende Mechanismen bereit, um z.b. Sicherheit, Transaktionskonsistenz und Parallelität sicherzustellen. Für den Client ist der Container transparent, so dass keine zusätzlichen Schnittstellen existieren, die eine Manipulation des Containers ermöglichen würden. Da Entity Beans nicht an einen einzelnen Client gebunden sind, endet ihre Lebensdauer nicht nach dem Beenden einer Client-Verbindung im Gegensatz zu Session Beans können bzw. müssen sie sogar nach einem Systemausfall automatisch wiederhergestellt werden, da in der Regel ihre Existenz an die Existenz der mit ihnen verbundenen Daten gebunden ist. Das heißt, die Erstellung einer Instanz eines Entity Beans erzeugt z.b. automatisch eine neue Zeile in einer Datenbank und fügt die bei der Erstellung mit übergebenen Daten des erstellten Datensatzes der Datenbank hinzu wird die Instanz entfernt, wird automatisch der mit dieser Instanz verbundene Datensatz aus der Datenbank gelöscht. Je nachdem, zu welchem Zweck Entity Beans entwickelt worden sind, unterscheidet man auch bei ihnen zwischen zwei verschiedenen Arten. Container-Managed Persistence (CMP) Entity EJB Bei CMP EJBs wird die Persistenz der repräsentierten Daten von dem Container, in den das EJB eingebettet ist, garantiert. Der Entwickler braucht sich bei der Erstellung dieser Art von Entity Beans also nicht darum zu kümmern, wie die Daten des Entity Beans gesichert werden der Container kann z.b. zum lesenden und schreibenden Zugriff auf eine relationale Datenbank eigenständig SQL-Code generieren und ausführen.

8 Seite 8 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Der Entwickler muss somit also nur festlegen, welche Daten er von den anzusprechenden Datenbanken im Entity Bean repräsentieren möchte und verknüpft diese dann mit der Bean- Klasse. Bean-Managed Persistence (BMP) Entity EJB Bei dieser Art von Entity Bean ist es Aufgabe des Entwicklers, sich um die Art und Weise zu kümmern, wie die Daten des Entity Beans gesichert werden. Dies mag auf den ersten Blick ein Nachteil sein, in der Praxis können aber Situationen auftauchen, z.b. bei einer Datenbankanfrage mittels Join, in denen man mit BMP EJBs durch handoptimierte SQL-Statements eventuell Leistungsverbesserungen erzielen kann. Joins über mehrere Datenbanken mit mehreren Tabellen sind mit CMP EJBs gar nicht oder nur schwer realisierbar, weswegen man auch hier meist BMP EJBs verwendet. Letztendlich kann der Entwickler bei BMP Entity Beans auch das Objektmodell freier gestalten, er ist hier nicht so sehr an das Datenbankschema gebunden wie bei CMP Entity Beans. EJB Schnittstellen und Klassen Da Enterprise Java Beans gekapselt in einem EJB-Container ablaufen, kommunizieren sie mit Anwendungen und anderen Beans ausschließlich über Schnittstellen: das Home-Interface und das Remote-Interface. Die Implementierungen der Methoden in beiden Schnittstellen erfolgen in der Bean-Klasse. Um mit einem Bean zu kommunizieren, wird zuerst das Home-Interface angesprochen, da damit die eigentlichen Bean-Instanzen kreiert werden. Dazu muss die Anwendung eine Instanz des Home-Interfaces des zu erstellenden Beans anlegen und die von dem Home- Interface angebotenen Erstellungsmethoden (create()) aufrufen. Da das Home-Interface von Session Beans weniger Methodenaufrufe anbietet als das Home-Interface von Entity Beans, soll hier zunächst auf das Home-Interface von Session Beans eingegangen werden.

9 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 9 Home-Interface Session Beans package com.daimlerchrysler.ft3ek.ejb.srp.dorda.sessionbeans; Home interface für Session Bean DA_SF public interface DA_SFHome extends javax.ejb.ejbhome user pwd java.rmi.remoteexception com.daimlerchrysler.ft3ek.ejb.srp.dorda.sessionbeans.da_sf create(java.lang.string user, java.lang.string pwd) throws j avax.ejb.createexception, java.rmi.remoteexception; Dieses Codebeispiel zeigt das Home-Interface eines Stateful Session Beans. Es erbt von dem Interface javax.ejb.ejbhome, das zu den Java-Grundklassen der Java Enterprise Edition gehört. Wie im Beispiel oben muss das Home-Interface für Session Beans mindestens eine create()-methode anbieten, mit der das Bean instanziiert werden kann. Bei Stateful Session Beans dürfen auch Parameter übergeben werden, die das Bean und somit den Anfangszustand initialisieren bei Stateless Session Beans wird kein Zustand gehalten, deswegen dürfen sie nur eine create()-methode und diese ohne Parameter implementieren. Bei beiden Session Bean-Typen gibt die create()-methode eine Schnittstelle zurück, über die mit dem Bean im Container kommuniziert werden kann. Diese Schnittstelle wird Remote- Interface genannt.

10 Seite 10 Remote-Interface Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans package com.daimlerchrysler.ft3ek.ejb.srp.dorda.sessionbeans; Enterprise Java Bean Remote Interface public interface DA_SF extends javax.ejb.ejbobject { [...] java.lang.string getpassword() throws java.rmi.remoteexception java.lang.string getusername() throws newpassword java.rmi.remoteexception void setpassword(java.lang.string newpassword) throws newusername java.rmi.remoteexception void setusername(java.lang.string newusername) throws java.rmi.remoteexception; java.rmi.remoteexception java.util.enumeration getauthorizedapps() throws java.rmi.remoteexception int getid_number() throws java.rmi.remoteexception; Das Remote-Interface erbt von dem Interface javax.ejb.ejbobject, das ebenfalls ein Standardinterface der Java Enterprise Edition von Sun ist. Das Remote-Interface stellt diejenigen Methodenaufrufe zur Verfügung, die in der Bean- Klasse die eigentliche Funktionalität des Beans implementieren.

11 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 11 Bean-Objekt Klasse package com.daimlerchrysler.ft3ek.ejb.srp.dorda.sessionbeans; // alle benötigten Importe import java.rmi.remoteexception; [...] import com.daimlerchrysler.ft3ek.ejb.srp.dorda.util.; public class DA_SFBean implements SessionBean { // Deklaration der verwendeten internen Variablen & Konstanten private javax.ejb.sessioncontext mysessionctx = null; final static long serialversionuid = L; [...] private java.lang.string username; private java.lang.string password; [...] ejbactivate einer der Methoden, die nur vom Container aufgerufen wird (nach einer java.rmi.remoteexception public void ejbactivate() throws java.rmi.remoteexception { [...] ejbcreate Implementiert die Home-Interface Methode create(string user, String pwd), die das Bean erzeugt; die Implementierung in der Bean-Klasse gibt nur den Primärschlüssel des Beans java.rmi.remoteexception public void ejbcreate(string user, String pwd) throws javax.ejb.createexception, java.rmi.remoteexception { [...] [...] // Beispiel einer Methode, die einen Methodenaufruf im Remote-Interface implementiert public Enumeration getauthorizedapps() throws java.rmi.remoteexception { [...] [...] Alle Methoden, die mit ejbxxx anfangen (ejbcreate, ejbactivate) sind Methoden, die die Methodenaufrufe des Home-Interfaces implementieren, alle anderen Methoden implementieren die Methodenaufrufe des Remote-Interfaces oder werden intern im Bean verwendet. Nachdem man die obigen Schnittstellen/Klassen (Home-Interface, Remote- Interface und Bean-Klasse) geschrieben hat, kann man ein Session Bean generieren. Dazu muss der Code deployed werden, das heißt, dass die Entwicklungsumgebung aus obigen Schnittstellen/Klassen zusätzliche Schnittstellen und Klassen generiert, mit denen ein lauffähiges Session Bean entsteht. Dieses Bean muss nun in den EJB-Server (= Application Server) eingebunden werden, um von den Client-Rechnern angesprochen werden zu können. Den Lifecycle eines Session Beans im EJB-Server verdeutlicht die nächste Abbildung. Abbildung III Zugriff auf Session Beans

12 Seite 12 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Abbildung IV Lifecycle eines Session Beans (Quelle: [1]) Home-Interface Entity Beans Das Home-Interface von Entity Beans unterscheidet sich von dem Home-Interface von Session Beans. Es muss neben der auch bei Session Beans vorhandenen create()-methode zusätzlich sogenannte Finder-Methoden zur Verfügung stellen, die das zu suchende Entity Bean im Container aufspüren und zurückgeben. Da Entity Beans in der Regel direkt an Daten z.b. aus einer Datenbank gebunden sind, bedeutet der Aufruf von create() die Erzeugung eines Datenbankeintrages mit den übergebenen Parametern, der Aufruf von remove() aus dem Remote-Interface bedeutet dagegen das Entfernen eines Datensatzes aus der Datenbank. Entity Beans, die an schon bestehende Einträge geknüpft sind, findet man mit obengenannten Finder-Methoden. Jedes Entity Bean muss dazu im Home-Interface mindestens eine Methode findbyprimarykey() anbieten, die ein Entity Bean über dessen eindeutigen Primärschlüssel identifiziert und zurückgibt. Bei CMP Entity Beans können weitere Finder-Methoden vom Entwickler mit Hilfe der FinderHelper- Schnittstelle erstellt werden, bei BMP Entity Beans muss der Entwickler die Finder-Methoden vollständig selbst implementieren.

13 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 13 package com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans; Home interface für ein Entity Bean public interface UsersHome extends javax.ejb.ejbhome { create Methode für ein CMP entity argid_number java.rmi.remoteexception com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.users create(int argid_number) throws javax.ejb.createexception, java.rmi.remoteexception; findbyprimarykey key javax.ejb.finderexception com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.users findbyprimarykey(com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.userskey key) throws java.rmi.remoteexception, name javax.ejb.finderexception com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.users findbyusername(string name, String pwd) throws java.rmi.remoteexception, javax.ejb.finderexception; Dieses Codebeispiel zeigt das Home-Interface eines CMP Entity Beans namens Users (analog zur Tabelle Users der für diese Studienarbeit angelegten DB2-Datenbank Bench ). Die Methode findbyusername wird nicht in der Bean-Klasse implementiert, sondern mit Hilfe der FinderHelper-Schnittstelle. Hier können SQL-Statements für Datenbankanfragen mit Prepared Statements 1 definiert werden. 1 JDBC stellt eine Schnittstelle java.sql.preparedstatement bereit siehe

14 Seite 14 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans package com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans; For each finder method, other than findbyprimarykey and the finder methods generated for supporting assocations, which is defined in the home interface, an SQL query string or a method declaration must be defined in this interface. For example, the home interface may contain the method: public java.util.enumeration findgreaterthan(int threshold) throws java.rmi.remoteexception, javax.ejb.finderexception; The user may provide one of the following three forms in this interface: SELECT Custom Finder: Note: For compatibility with old code. Do not use this form for new development. public static final String findgreaterthanquerystring = "SELECT FROM MYTABLE T1 WHERE T1.VALUE >?"; WHERE Custom Finder: public static final String findgreaterthanwhereclause = "T1.VALUE >?"; In case that there is no where clause in the SQL statement such as "SELECT FROM MYTABLE", use a query string that always evaluates to true. For example, public static final String findallwhereclause = "1 = 1"; Method Custom Finder: public java.sql.preparedstatement findgreaterthan(int threshold) throws Exception; An implementation of this method must be provided in a class that follows these rules: 1. The name of the class is either <beanclassname>finderobject or the name of the class is specified in the environment properties of the enterprise bean. The name of the property must be CustomFinderClassName. The value of the property must be the fully qualified class name (including the package name). 2. The class must be in the same package as the deployed code for the bean. 3. The class must extend com.ibm.vap.finders.vapejsjdbcfinderobject and must implement this finder helper interface. This implementation will be referenced by the persister class generated when deployed code is generated. If you will be exporting to Component Broker (CB), then you may provide one of the following four fields. Each field's value needs to be written in OO SQL syntax. Please refer to the CB documentation for the exact syntax to be used. Note, if one of these fields does not exist, a stub method will be generated on the finder helper class. Allowable CB Custom Finder Statements: 1. findgreaterthancbwhereclause - generates finder method using evaluate(...) or singleevaluate(...) 2. findgreaterthancbquerystring - generates finder method using extendedevaluate(...) or extendedsingleevaluate(...) 3. findgreaterthancblazywhereclause - generates finder method using lazyevaluate(...) 4. findgreaterthancblazyquerystring - generates finder method using extendedlazyevaluate(...) Example: public static final String findgreaterthancbwhereclause = "value_ >?"; public interface UsersBeanFinderHelper { // folgende Konstante beinhaltet den Where-Teil der SQL-Anfrage für die // FinderHelper-Methode findbyusername im Home-Interface des Beans. // Wichtig ist die Namensgebung <Methodenname>WhereClause, sonst findet der // FinderHelper die Anfrage nicht final static String findbyusernamew hereclause = "T1.NAME =? AND T1.PWD =?"; Dieses Codebeispiel zeigt die FinderHelper-Schnittstelle des CMP Entity Beans Users. Die SQL-Query für die Methode findbyusername im Home-Interface wurde hier in der Konstante findbyusernamewhereclause festgelegt der Name der Konstante muss nach der Regel <Name der benutzerdefinierten Finder-Methode im Home-Interface>WhereClause

15 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 15 vergeben werden (siehe WHERE Custom Finder ), außerdem wird nur der WHERE -Teil der SQL-Query angepasst man kann auch vollständige SQL-Statements definieren, allerdings wird diese Vorgehensweise nur noch aus Kompatibilitätsgründen mit älteren Java-SDKs unterstützt und sollte deswegen nicht mehr verwendet werden (siehe SELECT Custom Finder ). Die Anzahl und Reihenfolge der Parameter? muss genau mit der Anzahl und Reihenfolge der Parameter der Methode im Home-Interface übereinstimmen. Bei BMP Entity Beans gelten für das Home-Interface genau dieselben Regeln wie für CMP Entity Beans. Sämtliche Methoden in Home- und Remote-Interface müssen allerdings vom Entwickler ausprogrammiert werden. package com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans; This is a Home interface for the Entity Bean public interface UserAccountsHome extends javax.ejb.ejbhome username pwd String The exception String The exception description. com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.useraccounts create(java.lang.string username, java.lang.string pwd) throws javax.ejb.createexception, primarykey String The exception String The exception description. com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.useraccounts findbyprimarykey(com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.useraccountskey primarykey) throws java.rmi.remoteexception, username pwd String The exception String The exception description. com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans.useraccounts findbyusername(java.lang.string username, java.lang.string pwd) throws java.rmi.remoteexception, javax.ejb.finderexception; Das Home-Interface des BMP Entity Beans UserAccounts bietet offensichtlich prinzipiell die gleichen Methoden an wie das Home-Interface des soeben betrachteten CMP Entity Beans Users. Die Implementierung der Methoden unterscheidet sich aber erheblich, wie folgendes (gekürztes) Codebeispiel zeigt:

16 Seite 16 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans package com.daimlerchrysler.ft3ek.ejb.srp.dorda.entitybeans; import java.rmi.remoteexception; [...] public class UserAccountsBean implements EntityBean { private javax.ejb.entitycontext entitycontext = null; final static long serialversionuid = L; private UserAccountsKey primarykey; private java.lang.string name; private java.lang.string password; [...] private final static java.lang.string searchuserbyuseridsql = "SELECT FROM DORDA.USERS WHERE ID_NUMBER =?"; [...] public UserAccountsKey ejbfindbyprimarykey(useraccountskey primarykey) throws java.rmi.remoteexception, javax.ejb.finderexception { Connection conn = null; PreparedStatement stmt = null; ResultSet result = null; conn = getconnection(); stmt = conn.preparestatement(searchuserbyuseridsql); stmt.setstring(1, pri marykey.tostring()); result = stmt.executequery(); if (result.next()) { return primarykey; else { throw new FinderException("Couldn't find bean for primary key '" + primarykey.tostring() + "'!"); throw new RemoteException(sqlEx.toString()); finally { if (result!= null) result.close(); if (stmt!= null) stmt.close(); if (conn!= null) conn.close(); [...] Analog zu obigem Beispiel müssen auch alle anderen Methoden des Home- und Remote- Interfaces implementiert werden. Dadurch wird die Entwicklung von BMP Entity Beans sehr aufwendig, dafür kann man SQL-Anfragen so formulieren, dass die Möglichkeiten der anzusprechenden Datenbank optimal ausgenutzt werden. Außerdem kann man so auch sehr komplexe Datenmodellierungen, z.b. mehrere verschachtelte Joins, realisieren, die mit CMP Entity Beans nicht oder nur umständlich realisierbar wären. Der Lifecycle von Session Beans unterscheidet sich durch die andere Semantik deutlich vom Lifecycle eines Session Beans, wie Abbildung V zeigt:

17 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 17 Abbildung V Lifecycle eines Entity Beans (Quelle: [1]) Entwicklung von Enterprise Java Beans Schon in der Spezifikation von Enterprise Java Beans [1] wird darauf hingewiesen, dass eine effiziente Entwicklung von Enterprise Java Beans nur mit Hilfe von Entwicklungswerkzeugen möglich ist. Tatsächlich ist es so, dass dem Systementwickler durch die Verwendung geeigneter Werkzeuge viele Schritte erleichtert werden. Das für diese Studienarbeit eingesetzte IBM VisualAge ermöglicht zum Beispiel bei Verwendung einer IBM DB2 Datenbank die automatische Generierung von CMP Entity Beans aus einem bestehenden Datenbankschema. Nach der Generierung müssen diese dann in der Regel nur noch an wenigen Stellen an die speziellen Bedürfnisse des Entwickler angepasst werden. Allerdings sei hierzu auch angemerkt, dass das obengenannte Beispiel auch schnell die Grenzen der automatischen Generierung aufzeigt, da nicht alle Konstellationen unterstützt werden. Beispielsweise machte im Rahmen dieser Arbeit die automatische Generierung von Primärschlüsseln durch die Datenbank Probleme der CMP-Bean Generator unterstützt dies offensichtlich nicht, da er CMP- Beans erzeugte, die den Primärschlüssel beim Erzeugen eines Datenbankeintrags selber in die Datenbank eintragen wollten, was zu einem Datenbankfehler führte. Allerdings ermöglicht VisualAge auch den umgekehrten Weg, man kann zuerst CMP Entity Beans erstellen und daraus dann ein Datenbankschema generieren lassen, mit dem man dann eine Datenbank aufsetzen kann.

18 Seite 18 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Sobald die Enterprise Beans und die dazugehörigen Web-Applikationen (z.b. realisiert durch Java Servlets) erstellt sind, müssen sie in den Anwendungs-Server, der den EJB-Container zur Verfügung stellt, eingebunden werden. Abbildung VI WebSphere Administrationskonsole Abbildung VII - Detailansicht StudienarbeitBenchmarks Anwendungs-Server

19 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans Seite 19 SrpEjbContainer : bildet hier den EJB-Container für die Entity und Session Beans (hier nur Session Beans) SrpServletEngine bildet die Laufzeitumgebung für die Java Servlets, die bei einer HTTP-Anfrage über den HTTP-Server gestartet werden und die Beans verwenden. Datenquelle bildet den Verbindungspool für Zugriffe auf die Datenbank. Sie legt den Knoten fest, über den die Datenbank angesprochen wird und stellt die Anbindung an den JDBC-Treiber zur Verfügung, über den die Datenbank angesprochen wird. Die Enterprise Beans können sich über diesen Verbindungspool Verbindungen zur Datenbank holen. Dies reduziert die Anzahl der notwendigen Datenbankverbindungen im Vergleich zu der Vorgehensweise, dass Entity Beans die Datenbank direkt über den JDBC-Treiber ansprechen, da der Verbindungspool nicht mehr benötigte Datenbankverbindungen bei der nächsten Anfrage wiederverwenden kann. Sobald ein Bean im Anwendungs-Server eingebunden ist, kann man es beispielsweise mit einem Servlet ansprechen. Das Home-Interface des Stateful Session Beans DA_SF wird z.b. mit da_sfhome = (DA_SFHome) javax.rmi.portableremoteobject.narrow( initialcontext.lookup("com/daimlerchrysler/ft3ek/ejb/srp/d orda/sessionbeans/da_sf"), DA_SFHome.class); instanziiert. Das dazugehörige Bean DA_SF erhält man beispielsweise über DA_SF da_sfbean = da_sfhome.create( dorda, mypassword );

20 Seite 20 Studienarbeit Verwaltung von Benutzerprofilen mit Enterprise Java Beans 3. Anforderungsanalyse Für alle Benutzer des Systems müssen verschiedene Benutzerdaten gepflegt werden wie beispielsweise Benutzername und Passwort. Außerdem werden häufig benutzerbezogene Anwendungsdaten gepflegt, etwa der Zustand der Benutzeroberfläche bei der letzten Abmeldung oder lokale Benutzernamen für eine bestimmte Anwendung. Da diese in einem heterogenen Anwendungsfeld nicht mehr zentral gespeichert werden können, muss ein verteilter Zugriff auf verschiedene heterogene Datenbanken möglich sein. Durch den Einsatz von Enterprise Java Beans ist es möglich, diesen Zugriff über ein einziges Bean zu steuern. Aufgabe dieser Arbeit ist es, die verschiedenen Arten von Entity Beans und Session Beans auf ihre Eignung für diesen Anwendungsfall zu untersuchen. Ggf. sollen auch Möglichkeiten untersucht werden, die Daten auf andere Art und Weise zusammenzuführen, beispielsweise über IBM Data- Joiner. Anhand von praktischen Messungen soll als Ergebnis dieser Arbeit eine Übersicht von möglichen Anforderungen entwickelt werden, für die geeignete Lösungen auf der Basis von Enterprise Java Beans angegeben werden.

Search Engines Chapter 2 Architecture. 14.4.2011 Felix Naumann

Search Engines Chapter 2 Architecture. 14.4.2011 Felix Naumann Search Engines Chapter 2 Architecture 14.4.2011 Felix Naumann Overview 2 Basic Building Blocks Indexing Text Acquisition Text Transformation Index Creation Querying User Interaction Ranking Evaluation

More information

Open Text Social Media. Actual Status, Strategy and Roadmap

Open Text Social Media. Actual Status, Strategy and Roadmap Open Text Social Media Actual Status, Strategy and Roadmap Lars Onasch (Product Marketing) Bernfried Howe (Product Management) Martin Schwanke (Global Service) February 23, 2010 Slide 1 Copyright Open

More information

Dokumentation über die Übernahme von. "GS-R-3" (The Management System for Facilities and Activities) "Sicherheitskriterien für Kernkraftwerke"

Dokumentation über die Übernahme von. GS-R-3 (The Management System for Facilities and Activities) Sicherheitskriterien für Kernkraftwerke Dokumentation über die Übernahme von "GS-R-3" () in die "Sicherheitskriterien für Kernkraftwerke" REVISION D APRIL 2009 1. INTRODUCTION BACKGROUND 1.1 This Safety Requirements publication defines the requirements

More information

SPICE auf der Überholspur. Vergleich von ISO (TR) 15504 und Automotive SPICE

SPICE auf der Überholspur. Vergleich von ISO (TR) 15504 und Automotive SPICE SPICE auf der Überholspur Vergleich von ISO (TR) 15504 und Automotive SPICE Historie Software Process Improvement and Capability determination 1994 1995 ISO 15504 Draft SPICE wird als Projekt der ISO zur

More information

Mit einem Auge auf den mathema/schen Horizont: Was der Lehrer braucht für die Zukun= seiner Schüler

Mit einem Auge auf den mathema/schen Horizont: Was der Lehrer braucht für die Zukun= seiner Schüler Mit einem Auge auf den mathema/schen Horizont: Was der Lehrer braucht für die Zukun= seiner Schüler Deborah Löwenberg Ball und Hyman Bass University of Michigan U.S.A. 43. Jahrestagung für DidakEk der

More information

J2EE-Application Server

J2EE-Application Server J2EE-Application Server (inkl windows-8) Installation-Guide F:\_Daten\Hochschule Zurich\Web-Technologie\ApplicationServerSetUp.docx Last Update: 19.3.2014, Walter Rothlin Seite 1 Table of Contents Java

More information

Information Systems 2

Information Systems 2 Information Systems 2 Prof. Dr. Dr. L. Schmidt-Thieme MSc. André Busche Übung 9 0. Allerlei 1. Übung 2. Hands on some things 2.1 Saxon 2.2 Corba 28.06.10 2/ 0. Allerlei 1. Übung 2. Hands on some things

More information

The Changing Global Egg Industry

The Changing Global Egg Industry Vol. 46 (2), Oct. 2011, Page 3 The Changing Global Egg Industry - The new role of less developed and threshold countries in global egg production and trade 1 - Hans-Wilhelm Windhorst, Vechta, Germany Introduction

More information

SAP Sourcing/CLM Webcast Query & User/Contact Maintenance Web Service

SAP Sourcing/CLM Webcast Query & User/Contact Maintenance Web Service SAP Sourcing/CLM Webcast Query & User/Contact Maintenance Web Service Vikram Shanmugasundaram / SAP Sourcing/CLM Center of Excellence Ed Dunne / SAP Sourcing/CLM Product Management November 2015 SAP Sourcing

More information

Building an Architecture Model 1. 1. Entwerfen Sie mit AxiomSys ein Kontextdiagramm, das folgendermaßen aussieht:

Building an Architecture Model 1. 1. Entwerfen Sie mit AxiomSys ein Kontextdiagramm, das folgendermaßen aussieht: Building an Architecture Model 1 1. Entwerfen Sie mit AxiomSys ein Kontextdiagramm, das folgendermaßen aussieht: Wie Ihnen aus der vergangenen Lehrveranstaltung bekannt ist, bedeuten Sterne neben den Bezeichnungen,

More information

TIn 1: Lecture 3: Lernziele. Lecture 3 The Belly of the Architect. Basic internal components of the 8086. Pointers and data storage in memory

TIn 1: Lecture 3: Lernziele. Lecture 3 The Belly of the Architect. Basic internal components of the 8086. Pointers and data storage in memory Mitglied der Zürcher Fachhochschule TIn 1: Lecture 3 The Belly of the Architect. Lecture 3: Lernziele Basic internal components of the 8086 Pointers and data storage in memory Architektur 8086 Besteht

More information

Vergleich der Versionen von Kapitel 1 des EU-GMP-Leitfaden (Oktober 2012) 01 July 2008 18 November 2009 31 Januar 2013 Kommentar Maas & Peither

Vergleich der Versionen von Kapitel 1 des EU-GMP-Leitfaden (Oktober 2012) 01 July 2008 18 November 2009 31 Januar 2013 Kommentar Maas & Peither Chapter 1 Quality Management Chapter 1 Quality Management System Chapter 1 Pharmaceutical Quality System Principle The holder of a Manufacturing Authorisation must manufacture medicinal products so as

More information

Marc Grote. OCSP / CRL Schlüssel Archivierung CA-Konsole Certutil PKI Health

Marc Grote. OCSP / CRL Schlüssel Archivierung CA-Konsole Certutil PKI Health IT-Symposium 2008 04.06.2008 Marc Grote www.it-symposium2008.de 1 Bestandteile einer PKI CA-Hierarchien Windows 2008 PKI CA-Arten Funktionen Zertifikatvorlagen OCSP / CRL Schlüssel Archivierung CA-Konsole

More information

Erste Schritte mit mysql. Der Umgang mit einer relationalen Datenbank

Erste Schritte mit mysql. Der Umgang mit einer relationalen Datenbank Erste Schritte mit mysql Der Umgang mit einer relationalen Datenbank Relationale Datenbanken Prinzip: Daten sind in Tabellen gespeichert Tabellen können verknüpft sein alter Name: RDBMS - Relational Database

More information

Implementing Data Models and Reports with Microsoft SQL Server

Implementing Data Models and Reports with Microsoft SQL Server Implementing Data Models and Reports with Microsoft SQL Server Dauer: 5 Tage Kursnummer: M20466 Überblick: Business Intelligence (BI) wird für Unternehmen von verschiedenen Größen aufgrund des dadurch

More information

Service Data and Notifications

Service Data and Notifications Service Data and Notifications Steffen Pingel Fakultät für Elektrotechnik und Informatik Universität Stuttgart Hauptseminar Grid Computing 16.12.2003 Überlick Service Data Notifications Fazit Service Data

More information

1Copyright 2013, Oracle and/or its affiliates. All rights reserved.

1Copyright 2013, Oracle and/or its affiliates. All rights reserved. 1Copyright 2013, Oracle and/or its affiliates. All rights reserved. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

SAP NetWeaver Composite Application Framework (CAF)

SAP NetWeaver Composite Application Framework (CAF) SAP NetWeaver Composite Application Framework (CAF) Disclaimer This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not

More information

Run SAP Implementation Partner Program Guide 2009 ADOPTING THE RUN METHODOLOGY INTO YOUR SAP IMPLEMENTATIONS

Run SAP Implementation Partner Program Guide 2009 ADOPTING THE RUN METHODOLOGY INTO YOUR SAP IMPLEMENTATIONS Run SAP Implementation Partner Program Guide 2009 ADOPTING THE RUN METHODOLOGY INTO YOUR SAP IMPLEMENTATIONS Executive Summary The foundation for business process availability is laid in the technical

More information

1. Wenn der Spieler/die Spielerin noch keine IPIN hat, bitte auf den Button Register drücken

1. Wenn der Spieler/die Spielerin noch keine IPIN hat, bitte auf den Button Register drücken Welcome to IPIN The ipin (International Player Identification Number) is brought to you by the International Tennis Federation, the world governing body of tennis. All players who wish to compete in ITF

More information

IAC-BOX Network Integration. IAC-BOX Network Integration IACBOX.COM. Version 2.0.1 English 24.07.2014

IAC-BOX Network Integration. IAC-BOX Network Integration IACBOX.COM. Version 2.0.1 English 24.07.2014 IAC-BOX Network Integration Version 2.0.1 English 24.07.2014 In this HOWTO the basic network infrastructure of the IAC-BOX is described. IAC-BOX Network Integration TITLE Contents Contents... 1 1. Hints...

More information

Das GEx Client Application Interface (API)

Das GEx Client Application Interface (API) Das GEx Client Application Interface (API) solostec 31. Oktober 2009 Zur Entwicklung von Client-Komponenten, die auf dem IP-T Protokoll nach E DIN 43863-4 basieren, stellt die solostec gmbh eine Programmbibliothek

More information

Quick Start Guide UTM 110/120

Quick Start Guide UTM 110/120 Quick Start Guide UTM 110/120 Sophos Access Points Sophos Access Points 1. Preparation Before you begin, please confirm that you have a working Internet connection & make sure you have the following items

More information

WebSphere Application Server for z/os

WebSphere Application Server for z/os Martina Schmidt martina.schmidt@de.ibm.com for z/os for z/os Application Serving: the Basics What is an application server? An application server is middleware designed as a fully functioning deployment

More information

Lösungsvorschläge zum Übungsblatt 13: Fortgeschrittene Aspekte objektorientierter Programmierung (WS 2005/06)

Lösungsvorschläge zum Übungsblatt 13: Fortgeschrittene Aspekte objektorientierter Programmierung (WS 2005/06) Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. N. Rauch Technische Universität Kaiserslautern Fachbereich Informatik AG Softwaretechnik http://softech.informatik.uni-kl.de/fasoop Lösungsvorschläge zum Übungsblatt

More information

APPLICATION SETUP DOCUMENT

APPLICATION SETUP DOCUMENT APPLICATION SETUP DOCUMENT HeiTek Software Development GmbH Add-Ons Oracle Application Change Layout in Receiving Personalisation Example Ref Prepared by HeiTek Software Development GmbH Author: : Georg

More information

SAP Solution Manager Change Request Management. SAP Solution Manager Product Management SAP AG

SAP Solution Manager Change Request Management. SAP Solution Manager Product Management SAP AG SAP Solution Manager Change Request Management SAP Solution Manager Product Management SAP AG Change Request Management Maintenance Activities Project Activities Administration Activities SAP Solution

More information

Update to V10. Automic Support: Best Practices Josef Scharl. Please ask your questions here http://innovate.automic.com/q&a Event code 6262

Update to V10. Automic Support: Best Practices Josef Scharl. Please ask your questions here http://innovate.automic.com/q&a Event code 6262 Update to V10 Automic Support: Best Practices Josef Scharl Please ask your questions here http://innovate.automic.com/q&a Event code 6262 Agenda Update to Automation Engine Version 10 Innovations in Version

More information

Testen mit Produktionsdaten Fluch oder Segen?

Testen mit Produktionsdaten Fluch oder Segen? Testen mit Produktionsdaten Fluch oder Segen? Thomas Baumann Die Mobiliar ISACA After Hours Seminar Dienstag, 30.Oktober 2012 2 Agenda PART I: Copy from Production to Test Requirements Solutions and experiences

More information

SAP CRM 2007. Detailed View SAP CRM 2007. Web Service Tool

SAP CRM 2007. Detailed View SAP CRM 2007. Web Service Tool SAP CRM 2007 Detailed View SAP CRM 2007 Web Service Tool Disclaimer This Presentation is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains

More information

ausführliche Dokumentation, Stand: 26.11.00

ausführliche Dokumentation, Stand: 26.11.00 ausführliche Dokumentation, Stand: 26.11.00 Class Name: Person Category: Logical View abstrakte Klasse, die allgemeine Attribute für Personenverwaltung enthält Export Control: Public Cardinality: n Hierarchy:

More information

Microsoft Certified IT Professional (MCITP) MCTS: Windows 7, Configuration (070-680)

Microsoft Certified IT Professional (MCITP) MCTS: Windows 7, Configuration (070-680) Microsoft Office Specialist Office 2010 Specialist Expert Master Eines dieser Examen/One of these exams: Eines dieser Examen/One of these exams: Pflichtexamen/Compulsory exam: Word Core (Exam 077-881)

More information

Upgrading Your Skills to MCSA Windows Server 2012 MOC 20417

Upgrading Your Skills to MCSA Windows Server 2012 MOC 20417 Upgrading Your Skills to MCSA Windows Server 2012 MOC 20417 In dieser Schulung lernen Sie neue Features und Funktionalitäten in Windows Server 2012 in Bezug auf das Management, die Netzwerkinfrastruktur,

More information

DB2 Version 10 Kapitel DBA

DB2 Version 10 Kapitel DBA (*) IBM DB2 for z/os DB2 Version 10 Kapitel DBA (11_DB2V10_dba.pptx) (*) ist eingetragenes Warenzeichen der IBM International Business Machines Inc. 1 DB2 10 for z/os Im Einsatz, wo andere längst aufgeben...

More information

FRAUNHOFER INSTITUTe For MATERIAL FLow and LOGISTIcs IML MARKETSTUDY: aided by:

FRAUNHOFER INSTITUTe For MATERIAL FLow and LOGISTIcs IML MARKETSTUDY: aided by: FRAUNHOFER INSTITUTe For MATERIAL FLow and LOGISTIcs IML MARKETSTUDY:»Cloud Computing for LogistiCS«ACCEPTANCE OF THE LOGISTICS MALL by the users aided by: Innovation cluster «Logistics Mall Cloud Computing

More information

Produktfamilienentwicklung

Produktfamilienentwicklung Produktfamilienentwicklung Bericht über die ITEA-Projekte ESAPS, CAFÉ und Families Günter Böckle Siemens CT SE 3 Motivation Drei große ITEA Projekte über Produktfamilien- Engineering: ESAPS (1.7.99 30.6.01),

More information

Quick Start Guide UTM 220/320/425/525/625

Quick Start Guide UTM 220/320/425/525/625 Quick Start Guide UTM 220/320/425/525/625 Sophos Access Points Sophos Access Points Before you begin, please confirm that you have a working Internet connection and make sure you have the following items

More information

Heterogeneous ABAP System Copy Technical Overview

Heterogeneous ABAP System Copy Technical Overview Heterogeneous ABAP System Copy Technical Overview Boris Zarske SAP Product Management December 2015 Public Goal of this presentation Even if heterogeneous system copies must only be performed by certified

More information

Data Warehousing Metadata Management

Data Warehousing Metadata Management Data Warehousing Metadata Management Spring Term 2014 Dr. Andreas Geppert Credit Suisse geppert@acm.org Spring 2014 Slide 1 Outline of the Course Introduction DWH Architecture DWH-Design and multi-dimensional

More information

Data Warehousing Metadata Management

Data Warehousing Metadata Management Data Warehousing Metadata Management Spring Term 2014 Dr. Andreas Geppert Credit Suisse geppert@acm.org Spring 2014 Slide 1 Outline of the Course Introduction DWH Architecture DWH-Design and multi-dimensional

More information

Successful Collaboration in Agile Software Development Teams

Successful Collaboration in Agile Software Development Teams Successful Collaboration in Agile Software Development Teams Martin Kropp, Magdalena Mateescu University of Applied Sciences Northwestern Switzerland School of Engineering & School of Applied Psychology

More information

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Liste der Work Products aus der Norm

I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011. Liste der Work Products aus der Norm I-Q SCHACHT & KOLLEGEN QUALITÄTSKONSTRUKTION GMBH ISO 26262:2011 Liste der Work Products aus der Norm 1. Work Products in der ISO 26262:2011 1.1 Liste ISO-26262:2011, part 1 - Vocabulary no relevant work

More information

Modellierungswerkzeug für die Personalisierung von Bank- und PKI Smartcards

Modellierungswerkzeug für die Personalisierung von Bank- und PKI Smartcards Modellierungswerkzeug für die Personalisierung von Bank- und PKI Smartcards Diplomarbeit Von Sami Saadaoui Betreuer: Prof. Dr. Jacques Calmet Institut für Algorithmen und Kognitive Systeme SS 2004 2 Einführung

More information

(51) Int Cl.: G06Q 30/00 (2006.01)

(51) Int Cl.: G06Q 30/00 (2006.01) (19) (11) EP 1 016 997 B1 (12) EUROPEAN PATENT SPECIFICATION (4) Date of publication and mention of the grant of the patent: 22.07.09 Bulletin 09/ (1) Int Cl.: G06Q /00 (06.01) (21) Application number:

More information

SAP Solution Manager for Customizing Synchronization

SAP Solution Manager for Customizing Synchronization SAP Solution Manager for Customizing Synchronization Product Management SAP Solution Manager SAP AG Learning Objectives As a result of this presentation, you will be able to: Describe major challenges

More information

Safe Harbor Statement

Safe Harbor Statement Logging & Debugging von M(obile)AF Applikationen Jürgen Menge Sales Consultant Oracle Deutschland B.V. & Co. KG Safe Harbor Statement The following is intended to outline our general product direction.

More information

Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna)

Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna) Elena Chiocchetti & Natascia Ralli (EURAC) Tanja Wissik & Vesna Lušicky (University of Vienna) VII Conference on Legal Translation, Court Interpreting and Comparative Legilinguistics Poznań, 28-30.06.2013

More information

2010 Users Symposium Berlin

2010 Users Symposium Berlin Amer Kakish Slide 1 Barrierefreiheit Mobilität Skalierbarkeit Übersetzbarkeit Benutzerfreundlichkeit Auto Erkennung Auto Größenanpassung Slide 2 Einbettung in Social-Networking Platformen In Wikis, Blogs

More information

Certificate SAP INTEGRATION CERTIFICATION

Certificate SAP INTEGRATION CERTIFICATION Certificate SAP INTEGRATION CERTIFICATION SAP SE hereby confirms that the interface software MCC SR2015 for the product MCC SR2015 of the MEIERHOFER AG. has been certified for integration with SAP ECC

More information

SAP Perfect Plant Manufacturing Solution. SAP Taiwan Allen Lin 林 信 宇 2010.09.14

SAP Perfect Plant Manufacturing Solution. SAP Taiwan Allen Lin 林 信 宇 2010.09.14 SAP Perfect Plant Manufacturing Solution SAP Taiwan Allen Lin 林 信 宇 2010.09.14 生 產 製 造 的 世 界 趨 勢 協 同 製 造 的 環 境 客 戶 導 向 的 創 新 符 合 法 規 的 規 範 應 用 資 訊 的 輔 助 Cost savings Focus on core competencies Closeness

More information

Entwicklung von Integrationslösungen aus einem Guss mit AIA Foundation Pack 11g

Entwicklung von Integrationslösungen aus einem Guss mit AIA Foundation Pack 11g Entwicklung von Integrationslösungen aus einem Guss mit AIA Foundation Pack 11g Gregor Bublitz Director gregor.bublitz@ec4u.de Gerhard Drasch Solution Architect, Oracle FMW A-Team

More information

Kapitel 2 Unternehmensarchitektur III

Kapitel 2 Unternehmensarchitektur III Kapitel 2 Unternehmensarchitektur III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch IT Strategie Entwicklung "Foundation for Execution" "Because experts

More information

SAP Product Road Map SAP Mobile Documents

SAP Product Road Map SAP Mobile Documents SAP Product Road Map SAP Mobile Documents Legal disclaimer The information in this presentation is confidential and proprietary to SAP and may not be disclosed without the permission of SAP. This presentation

More information

Customer Surveys with SAP Contact Center

Customer Surveys with SAP Contact Center Customer Surveys with SAP Contact Center SAP Contact Center software version 7 SAP Contact Center Product Management 2014 Public Agenda Automated post-call survey Agent-driven surveys / information collection

More information

SAP Solution Manager. SAP Consulting Service Offerings. v4, Spring 2009

SAP Solution Manager. SAP Consulting Service Offerings. v4, Spring 2009 SAP Solution Manager SAP Consulting Offerings v4, Spring 2009 Installation / Upgrade of SAP Solution Manager System Administration One SAP Solution Manager system is either installed from scratch or upgraded

More information

Deployment-Optionen für den optimierten Desktop. Hans.Schermer@citrix.com Senior Systems Engineer, Citrix Systems

Deployment-Optionen für den optimierten Desktop. Hans.Schermer@citrix.com Senior Systems Engineer, Citrix Systems Deployment-Optionen für den optimierten Desktop Hans.Schermer@citrix.com Senior Systems Engineer, Systems V-Alliance & Microsoft = V-Alliance Zusammenarbeit in allen Bereichen der Server-, Anwendungs -

More information

Timebox Planning View der agile Ansatz für die visuelle Planung von System Engineering Projekt Portfolios

Timebox Planning View der agile Ansatz für die visuelle Planung von System Engineering Projekt Portfolios Agile Leadership Day 2015 Markus Giacomuzzi - Siemens Building Technologies Headquarters Zug Timebox Planning View der agile Ansatz für die visuelle Planung von System Engineering Projekt Portfolios structure

More information

Die Versant-DB ist ein wesentlicher Bestandteil von CADISON.

Die Versant-DB ist ein wesentlicher Bestandteil von CADISON. Die Versant-DB Die Versant-DB ist ein wesentlicher Bestandteil von CADISON. Die Software wurde von einem in den USA gegründeten Unternehmen mit Niederlassung in Hamburg entwickelt. Die Versant Datenbank

More information

Management and Monitoring of a J2EE Server and Applications Using JMX. Reinhold Kautzleben, Gregor Frey Speaker Title, SAP AG

Management and Monitoring of a J2EE Server and Applications Using JMX. Reinhold Kautzleben, Gregor Frey Speaker Title, SAP AG Management and Monitoring of a J2EE Server and Applications Using JMX Reinhold Kautzleben, Gregor Frey Speaker Title, SAP AG How much JMX is required to be in J2EE? JMX 1.2 belongs to the list of required

More information

Gurkensalat statt Spaghetticode. Stuttgarter Testtage 2013

Gurkensalat statt Spaghetticode. Stuttgarter Testtage 2013 Gurkensalat statt Spaghetticode Stuttgarter Testtage 2013 1.Motivation für BDD 2.Einführung in BDD 3.Cucumber für Java 4.Lessons Learned Motivation für BDD 3 Requirements 4 ... ein wenig Excel 5 dazu noch

More information

Diese Liste wird präsentiert von. Netheweb.de

Diese Liste wird präsentiert von. Netheweb.de Diese Liste wird präsentiert von Netheweb.de Die Liste enthält 1000 Do-Follow Blogs, die zum Linkbuilding genutzt werden können, es kann sein, dass verkürzte URL s nicht korrekt weiter geleitet werden.

More information

SAP CRM 7.0 Detailed View

SAP CRM 7.0 Detailed View SAP CRM 7.0 Detailed View SAP CRM 7.0 Marketing Campaign Management 1 Content 1. Overview 2. Campaign Planning 3. Campaign Development 4. Campaign Optimization 5. Campaign Execution 6. Campaign Analysis

More information

SAP Solution Manager Value Proposition. Walldorf, April 2007

SAP Solution Manager Value Proposition. Walldorf, April 2007 SAP Solution Manager Value Proposition Walldorf, April 2007 Agenda Application management challenges Implementation / Upgrade Operations Optimization Application management lifecycle Routes to success

More information

Software / FileMaker / Plug-Ins Mailit 6 for FileMaker 10-13

Software / FileMaker / Plug-Ins Mailit 6 for FileMaker 10-13 Software / FileMaker / Plug-Ins Mailit 6 for FileMaker 10-13 Seite 1 / 5 Mailit 6 for FileMaker 10-13 The Ultimate Email Plug-In Integrate full email capability into your FileMaker 10-13 solutions with

More information

Herausforderungen des SAM Ist doch eigentlich ganz einfach

Herausforderungen des SAM Ist doch eigentlich ganz einfach Herausforderungen des SAM Ist doch eigentlich ganz einfach Flexera Software Solutions Entitlement and Compliance Installation Entitlement & Compliance Management Enterprise License Optimization Installation

More information

TBarCode.NET Barcodes in MS SQL Reporting Services

TBarCode.NET Barcodes in MS SQL Reporting Services TBarCode.NET Barcodes in MS SQL Reporting Services Version 1.0.1 Printing Barcodes with MS SQL Reporting Services 29 January 2013 TEC-IT Datenverarbeitung GmbH Hans-W agner-str. 6 A-4400 Steyr, Austria

More information

The Collaborative Information Portal and NASA s Mars Rover Mission

The Collaborative Information Portal and NASA s Mars Rover Mission The Collaborative Information Portal and NASA s Mars Rover Mission Bildquelle: Ronald Mak, University of California, Santa Cruz Joan Walton, NASA Ames Research Center Qualitative Anfoderungen Message-Service

More information

Developments in the Austrian Surveying Education

Developments in the Austrian Surveying Education Gert STEINKELLNER, Austria Key words: University Curriculum, Advanced Technical College, Civil Engineer, Assistant Surveyor. ABSTRACT In Austria was a substantial change of surveying education during the

More information

Voraussetzungen/ Prerequisites *for English see below*

Voraussetzungen/ Prerequisites *for English see below* English Programme im akademischen Jahr 2013/2014 English Programme in the Academic Year 2013/2014 *for English see below* Im akademischen Jahr 2013/2014 freuen wir uns Ihnen erneut ein Programm mit englischsprachigen

More information

Traceability Management for SAP Solution Manager. Product Management SAP Solution Manager

Traceability Management for SAP Solution Manager. Product Management SAP Solution Manager Traceability Management for SAP Solution Manager Product Management SAP Solution Manager Agenda Run SAP Standards Roadmap Trainings & Certification Services SAP Solution Manager 1. Traceability in SAP

More information

Joseph Beuys. Selection of 30 prints from three large suites Suite Schwurhand (1980) Suite Zirkulationszeit (1982) Suite Tränen (1985)

Joseph Beuys. Selection of 30 prints from three large suites Suite Schwurhand (1980) Suite Zirkulationszeit (1982) Suite Tränen (1985) Selection of 30 prints from three large suites Suite Schwurhand (1980) Suite Zirkulationszeit () Suite Tränen (1985) etchings and lithographs on paper from 1980 until 1985 varying sizes each with handwritten

More information

WIE PUBLISHER MIT RTA GEWINNEN

WIE PUBLISHER MIT RTA GEWINNEN WIE PUBLISHER MIT RTA GEWINNEN Torben Heimann Managing Director DACH, Improve Digital cjruslan - Fotolia.com Wie Publisher mit RTA gewinnen Topic Timing Market Insights Erfahrungen & Empfehlungen Fragen

More information

SAP Governance, Risk & Compliance Access Control 5.3. Post-Installation Enterprise Role Management Part I: Configuration

SAP Governance, Risk & Compliance Access Control 5.3. Post-Installation Enterprise Role Management Part I: Configuration SAP Governance, Risk & Compliance Access Control 5.3 Post-Installation Enterprise Role Management Part I: Configuration Authors SAP GRC RIG Team Frank Rambo, SAP GRC RIG, EMEA Region Frank Bannert, SAP

More information

AnyWeb AG 2008 www.anyweb.ch

AnyWeb AG 2008 www.anyweb.ch HP SiteScope (End-to-End Monitoring, System Availability) Christof Madöry AnyWeb AG ITSM Practice Circle September 2008 Agenda Management Technology Agentless monitoring SiteScope in HP BTO SiteScope look

More information

Jetzt können Sie den Befehl 'nsradmin' auch für diverse Check-Operationen verwenden!

Jetzt können Sie den Befehl 'nsradmin' auch für diverse Check-Operationen verwenden! NetWorker - Allgemein Tip 642, Seite 1/6 Jetzt können Sie den Befehl 'nsradmin' auch für diverse Check-Operationen verwenden! Seit einiger Zeit (NetWorker 8.2.0?) können Sie mit dem Befehl nsradmin -C

More information

SAP NetWeaver Developer Studio and Java Development Infrastructure. Karl Kessler Product Manager, SAP AG

SAP NetWeaver Developer Studio and Java Development Infrastructure. Karl Kessler Product Manager, SAP AG SAP NetWeaver Developer Studio and Java Development Infrastructure Karl Kessler Product Manager, SAP AG Agenda SAP NetWeaver Developer Studio! Mission Statement! Eclipse! Java Dictionary, J2EE Tool Set,

More information

Programmieren von Schnittstellen für LiveCycle ES2-Modulen (November 2009)

Programmieren von Schnittstellen für LiveCycle ES2-Modulen (November 2009) Programmieren von Schnittstellen für LiveCycle ES2-Modulen (November 2009) In diesem Dokument werden die Programmierschnittstellen aufgeführt, mit deren Hilfe Entwickler Anwendungen unter Verwendung von

More information

Embedded Software Development and Test in 2011 using a mini- HIL approach

Embedded Software Development and Test in 2011 using a mini- HIL approach Primoz Alic, isystem, Slovenia Erol Simsek, isystem, Munich Embedded Software Development and Test in 2011 using a mini- HIL approach Kurzfassung Dieser Artikel beschreibt den grundsätzlichen Aufbau des

More information

Microsoft Nano Server «Tuva» Rinon Belegu

Microsoft Nano Server «Tuva» Rinon Belegu 1 Microsoft Nano Server «Tuva» Rinon Belegu Partner: 2 Agenda Begrüssung Vorstellung Referent Content F&A Weiterführende Kurse 3 Vorstellung Referent Rinon Belegu Microsoft Certified Trainer (AWS Technical

More information

INTEGRATION MANAGEMENT

INTEGRATION MANAGEMENT INTEGRATION MANAGEMENT A Virtualization Architecture for Adapter Technologies Von der Fakultät Informatik, Elektrotechnik und Informationstechnik der Universität Stuttgart zur Erlangung der Würde eines

More information

SAP Enterprise Portal 6.0 KM Platform Delta Features

SAP Enterprise Portal 6.0 KM Platform Delta Features SAP Enterprise Portal 6.0 KM Platform Delta Features Please see also the KM Platform feature list in http://service.sap.com/ep Product Management Operations Status: January 20th, 2004 Note: This presentation

More information

(51) Int Cl.: G06F 11/14 (2006.01) G06F 12/08 (2006.01)

(51) Int Cl.: G06F 11/14 (2006.01) G06F 12/08 (2006.01) (19) TEPZZ 488949B_T (11) EP 2 488 949 B1 (12) EUROPEAN PATENT SPECIFICATION (4) Date of publication and mention of the grant of the patent: 07.0.14 Bulletin 14/19 (21) Application number: 76367.4 (22)

More information

SAP GLOBAL DIVERSITY POLICY

SAP GLOBAL DIVERSITY POLICY SAP GLOBAL DIVERSITY POLICY Date 29.8.2006 1 TABLE OF CONTENTS Cover Sheet... 2 PREFACE... 3 1 DEFINITION... 4 2 OBJECTIVES AND SCOPE... 4 2.1 KEY TARGETS FOR DIVERSITY AT SAP... 5 2.2 COMPLIANCE/SANCTIONS...

More information

GPFS Management und Monitoring mit dem IBM Platform Cluster Manager (PCM) Standard Edition

GPFS Management und Monitoring mit dem IBM Platform Cluster Manager (PCM) Standard Edition GPFS Management und Monitoring mit dem IBM Platform Cluster Manager (PCM) Standard Edition 1 Agenda Platform Cluster Manager SE Wo? Wann? Warum? Im Detail Architektur und Support PCM und GPFS Deployment:

More information

Exemplar for Internal Assessment Resource German Level 1. Resource title: Planning a School Exchange

Exemplar for Internal Assessment Resource German Level 1. Resource title: Planning a School Exchange Exemplar for internal assessment resource German 1.5A for Achievement Standard 90887! Exemplar for Internal Assessment Resource German Level 1 Resource title: Planning a School Exchange This exemplar supports

More information

Windows Server 2008- und Windows Vista-Gruppenrichtlinien

Windows Server 2008- und Windows Vista-Gruppenrichtlinien Windows Server 2008- und Windows Vista-Gruppenrichtlinien Download: Windows Server 2008- und Windows Vista-Gruppenrichtlinien PDF ebook Windows Server 2008- und Windows Vista-Gruppenrichtlinien PDF - Are

More information

Aufgaben für eine mündliche Klassenarbeit in Klasse 8 Niveau A2/A2+ 1. Teil: Monologisches Sprechen Zusammenhängendes Sprechen (warm-up)

Aufgaben für eine mündliche Klassenarbeit in Klasse 8 Niveau A2/A2+ 1. Teil: Monologisches Sprechen Zusammenhängendes Sprechen (warm-up) Aufgaben für eine mündliche Klassenarbeit in Klasse 8 Niveau A2/A2+ Die Aufgaben sind Beispiele. Sie können jederzeit variiert werden. Auch kann eine stärkere Anlehnung an die Inhalte des Lehrbuches erfolgen.

More information

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13 1 Dynamische Benutzerworkflows mit der Oracle BPM Suite arne.bruening@oracle.com Leitender Systemberater Middleware 2 Agenda Oracle Human Workflow Beispiel Kundenprojekt Lösungsansätze 3 Überblick Human

More information

Rainer Stropek software architects gmbh. Entwicklung modularer Anwendungen mit C# und dem Managed Extensibility Framework (MEF)

Rainer Stropek software architects gmbh. Entwicklung modularer Anwendungen mit C# und dem Managed Extensibility Framework (MEF) Rainer Stropek software architects gmbh Entwicklung modularer Anwendungen mit C# und dem Managed Extensibility Framework (MEF) Abstract (German) Größere Softwareprojekte werden heute üblicherweise in Teams

More information

BPMN. Flow Objects (Events, Activities, Gateways) Connecting Objects (Sequence Flow, Message Flow, Association) Swimlanes (Pool, Lane)

BPMN. Flow Objects (Events, Activities, Gateways) Connecting Objects (Sequence Flow, Message Flow, Association) Swimlanes (Pool, Lane) BPMN The Business Process Modeling Notation (BPMN) is a standardised graphical notation for drawing business processes in a workflow. It is being maintained by the Object Management Group (OMG). The primary

More information

AC500. Application Example. Scalable PLC for Individual Automation. Webserver Login Application Example With PM564-ETH. abb

AC500. Application Example. Scalable PLC for Individual Automation. Webserver Login Application Example With PM564-ETH. abb Application Example AC500 Scalable PLC for Individual Automation Webserver Login Application Example With PM564-ETH abb Content 1 Disclaimer... 2 1.1 For customers domiciled outside Germany/ Für Kunden

More information

Making SAP s User Experience Strategy Reality Nis Boy Naeve, Andreas Hauser SAP SE SESSION CODE: UX204

Making SAP s User Experience Strategy Reality Nis Boy Naeve, Andreas Hauser SAP SE SESSION CODE: UX204 Making SAP s User Experience Strategy Reality Nis Boy Naeve, Andreas Hauser SAP SE SESSION CODE: UX204 Disclaimer This presentation outlines our general product direction and should not be relied on in

More information

Aufgabenstellung. Aufgabenstellung

Aufgabenstellung. Aufgabenstellung Aufgabenstellung Konto: Kontonummer, Inhaber, PIN, Guthaben, Zinssatz, Kreditrahmen Funktionsumfang: 1. Bankangestellte: - Einrichten neuer Konten - Änderung Kreditrahmen und Verzinsung für ein Konto Aufgabenstellung

More information

Communication Motivation

Communication Motivation Communication Motivation Synchronization and Communication Interprocess Communcation (IPC) typically comprises synchronization as well as communication issues! Synchronization A waits until a specific

More information

Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below*

Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below* Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below* Im akademischen Jahr 2015/2016 freuen wir uns Ihnen erneut

More information

ETK Technical Workshop 17.11.2011 User Centric vs. Device Centric

ETK Technical Workshop 17.11.2011 User Centric vs. Device Centric ETK Technical Workshop 17.11.2011 User Centric vs. Device Centric René Princz-Schelter Head of PreSales Alcatel-Lucent Enterprise Germany emphasized Member of EMEA Marketing Team 1 2 Dynamic Enterprise

More information

It is also possible to combine courses from the English and the German programme, which is of course available for everyone!

It is also possible to combine courses from the English and the German programme, which is of course available for everyone! English Programme im akademischen Jahr 2015/2016 English Programme in the Academic Year 2015/2016 *for English see below* Im akademischen Jahr 2015/2016 freuen wir uns Ihnen erneut ein Programm mit englischsprachigen

More information

Enterprise User Security

Enterprise User Security Enterprise Security Eine Einführung DOAG Regionaltreffen München 18. September 2014 Agenda o Vorstellung o Benutzerverwaltung Problemstellung o Lösung: Enterprise Security o Implementierung o Use-Cases

More information

Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below*

Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below* Vorläufiges English Programme im akademischen Jahr 2015/2016 Preliminary English Programme in the Academic Year 2015/2016 *for English see below* Im akademischen Jahr 2015/2016 freuen wir uns Ihnen erneut

More information

QAS DEBUG - User und Computer

QAS DEBUG - User und Computer QAS DEBUG - User und Computer Inhalt Computer Status vastool status Benutzer Login vastool list user vastool nss getpwnam vastool user checkaccess kinit su

More information